Assuming a digital machine; i.e. a machine with discrete states...
A general purpose computer is a DigitalLogic machine that:
-- MarkJanssen
Note that DigitalLogic is typical, but not necessary, to make a GeneralPurposeComputer.
Challenge: What is the minimum number of transistors to implement a general-purpose computer? (see also: SimplestTuringMachine)
The first integrated-circuit CPU, the Intel 4004, had approximately 2300 transistors. However, fewer are certainly possible. The University of Manchester created a prototype transistorised computer in 1953 using 92 transistors and 550 diodes, but it used a magnetic drum for memory and tubes (aka valves) to generate the clock signal. What is the minimum number of transistors necessary to implement a recognisably general-purpose computer? Good question.
To be a general purpose computer, a machine needs to be TuringComplete or TuringEquivalent. Add to the above the ability to specify literal values, so you don't always have to obtain user input to make programs that work. You'll also need the ability to conditionally set the program counter (e.g., goto-if-true) -- which allows you to do conditional and unconditional branches and loops -- or, alternatively, implement LambdaCalculus. The simplest form of the latter might be to use EssAndKayCombinators.
Since he was working purely with abstractions, AlanTuring never worked out how those symbols get on or off the tape. So a TuringMachine may not be considered a GeneralPurposeComputer without a way to interact with the RealWorld. I'll argue that all GeneralPurposeComputers are TuringMachines, but not necessarily vice versa.
Yes, this is essentially true. To be a general purpose computer, it is necessary but not sufficient for a machine to be TuringEquivalent.
See also: SimplestTuringMachine