home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
exoten
/
cpuhist.txt
< prev
next >
Wrap
Text File
|
1995-08-20
|
58KB
|
982 lines
I had planned to submit an updated version of the Great Microprocessor
list after I'd completed adding new processors, checked out little bits,
and so on...
That was going to take a while...
But then I got to thinking of all the people stuck with the origional
error-riddled version. All these poor people who'd kept it, or perhaps
placed in in an FTP site, or even - using it for reference??!
In good conscience, I decided I can't leave that erratic old version
lying out there, where people might think it's accurate. So here is an
interim release. There will be more to it later - the 320xx will be
included eventually, for example. But at least this has been debugged
greatly.
Enjoy...
John Bayko.
---
Great Microprocessors of the Past and Present (V 3.2.1)
Section One: Before the Great Dark Cloud.
---------------------------
Part I: The Intel 4004 (1972)
The first single chip CPU was the Intel 4004, a 4-bit processor meant for
a calculator. It processed data in 4 bits, but its instructions were
8 bits long. Internally, it featured four 12 bit(?) registers which acted as
an internal evaluation stack. The Stack Pointer pointed to one of these
registers, not a memory location (only CALL and RET instructions operated on
the Stack Pointer). There were also sixteen 4-bit (or eight 8-bit) general
purpose registers
The 4004 had 46 instructions. Intel created an 8-bit version of this, the
8008 (intended for a terminal controller).
[for additional information, see Appendix B]
Part II: The Intel 4040 and 8080
The 4040 was compatible with the 4004 instruction set - the 4040 had 60
instructions, which included the 46 4004 instructions. The 8080 was similar to
the 4040, except being 8 bits wide.
The 8080 had a 16 bit address bus, and an 8 bit data bus. Internally it
had seven 8 bit registers (six which could also be combined as three 16 bit
registers), a 16 bit stack pointer (the stack was stored in memory, not in an
internal register set), and 16 bit program counter. It also had several I/O
ports - 256 of them, so I/O devices could be hooked up without taking away or
interfering with the addressing space.
Part III: The Zilog Z-80 - End of the 8-bit line (July 1976)
The Z-80 was intended to be an improved 8080 (as was Intel's own 8085),
and it was - vastly improved. It also used 8 bit data and 16 bit addressing,
and could execute all of the 8080 op codes, but included 80 more, instructions
that included 1, 4, 8 and 16 bit operations and even block move and block I/O
instructions. The register set was doubled, with two banks of registers that
could be switched between. This allowed fast operating system or interrupt
context switches. The Z-80 also featured vectored interrupts.
Like many processors (including the 8085), the Z-80 featured many
undocumented op codes. Chip area near the edge was used for added
instructions, but fabrication made the failure of these high. Instructions
that often failed were just not documented, increasing chip yield. Later
fabrication made these more reliable.
But the thing that really made the Z-80 popular was actually the memory
interface - the CPU generated it's own RAM refresh signals, which meant easier
design and lower system cost. That and it's 8080 compatability, and CP/M, the
first standard microprocessor operating system, made it the first choice of
many systems.
Part IV: The 650x, Another Direction (1975-ish)
Shortly after the 8080, Motorola introduced the 6800. Some designers then
started MOS Technologies, which introduced the 650x series, based on 6800
design (not a clone for legal reasons), and including the 6502 used in
Commodores, Apples and Ataris. Steve Wozniak described it as the first chip
you could get for less than a hundred dollars (a quarter of the 6800 price).
Unlike the 8080 and its kind, the 6502 had very few registers. It was an
8 bit processor, with 16 bit address bus. Inside was one 8 bit data register,
and two 8 bit index registers and an 8 bit stack pointer (stack was preset
from address 256 to 511). It used these index and stack registers
effectively, with more addressing modes, including a fast zero-page mode that
accessed memory addresses from address 0 to 255 with an 8-bit address that
speeded operations (it didn't have to fetch a second byte for the address).
The 650x also had undocumented instructions.
As a side point, Apples, which were among the first microcomputers
introduced, are still made, now using the 65816, which is compatable with the
6502, but has been expanded to 16 bits (including index and stack registers,
and a 16-bit direct page register), and a 24-bit address bus. The Apple II
line, which actually includes the Apple I, is the longest existing line of
microcomputers.
Back when the 6502 was introduced, RAM was actually faster than CPUs, so
it made sense to optimize for RAM access rather than increase the number of
registers on a chip.
Part V: The 6809, extending the 650x
The 6800 from Motorola was essentially the same design as the 6502, but
the latter left out one data register and added one index register, a minor
change. But the 6809 was a major advance over both - at least relatively.
The 6809 had two 8 bit accumulators, rather than one in the 6502, and
could combine them into a single 16 bit register. It also featured two index
registers and two stack pointers, which allowed for some very advanced
addressing modes. The 6809 was source compatible with the 6800, even though
the 6800 had 78 instructions and the 6809 only had around 59. Some
instructions were replaced by more general ones which the assembler would
translate, and some were even replaced by addressing modes.
Other features were one of the first multiplication instructions of the
time, 16 bit arithmatic, and a special fast interrupt. But it was also highly
optimized, gaining up to five times the speed of the 6800 series CPU. Like the
6800, it included the undocumented HCF (Halt Catch Fire) bus test instruction.
The 6800 lived on as well, becoming the 6801/3, which included ROM, some
RAM, a serial I/O port, and other goodies on the chip. It was meant for
embedded controllers, where the part count was to be minimized. The 6803 led
to the 68HC11, and that was extended to 16 bits as the 68HC16. But the 6809
was a much faster and more flexible chip, particularly with the addition of
the OS-9 operating system.
Of course, I'm a 6809 fan myself...
As a note, Hitachi produced a version called the 6309. Compatible with the
6809, it added 2 new 8-bit registers that could be added to form a second 16
bit register, and all four 8-bit registers could form a 32 bit register. It
also featured division, and some 32 bit arithmatic, and was generally 30%
faster in native mode. This information, suprisingly, was never published by
Hitachi.
Part VI: Advanced Micro Devices Am2901, a few bits at a time
Bit slice processors were modular processors. Mostly, they consisted of an
ALU of 1, 2, 4, or 8 bits, and control lines (including carry or overflow
signals usually internal to the CPU). Two 4-bit ALUs could be arranged side by
side, with control lines between them, to form an ALU of 8-bits, for example.
A sequencer would execute a program to provide data and control signals.
The Am2901, from Advanced Micro Devices, was a popular 4-bit-slice
processor. It featured sixteen 4-bit registers and a 4-bit ALU, and operation
signals to allow carry/borrow or shift operations and such to operate across
any number of other 2901s. An Am2910 address sequencer could provide control
signals with the use of custom microcode in ROM.
The Am2903 featured hardware multiply support.
Section Two: Forgotten/Innovative Designs before the Great Dark Cloud
--------------------------------------------------------
Part I: RCA 1802, wierdness at its best (1974)
The RCA 1802 was an odd beast, extremely simple and fabricated in CMOS,
which allowed it to run at 6.4 MHz (very