home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / exoten / cpuhist.txt < prev    next >
Text File  |  1995-08-20  |  58KB  |  982 lines

  1.     I had planned to submit an updated version of the Great Microprocessor
  2. list after I'd completed adding new processors, checked out little bits,
  3. and so on...
  4.     That was going to take a while...
  5.     But then I got to thinking of all the people stuck with the origional
  6. error-riddled version. All these poor people who'd kept it, or perhaps
  7. placed in in an FTP site, or even - using it for reference??!
  8.     In good conscience, I decided I can't leave that erratic old version
  9. lying out there, where people might think it's accurate. So here is an
  10. interim release. There will be more to it later - the 320xx will be
  11. included eventually, for example. But at least this has been debugged
  12. greatly.
  13.     Enjoy...
  14.  
  15. John Bayko.
  16.  
  17. ---
  18.  
  19. Great Microprocessors of the Past and Present (V 3.2.1)
  20.  
  21.  
  22. Section One: Before the Great Dark Cloud.
  23.              ---------------------------
  24. Part I: The Intel 4004 (1972)
  25.  
  26.     The first single chip CPU was the Intel 4004, a 4-bit processor meant for
  27. a calculator. It processed data in 4 bits, but its instructions were
  28. 8 bits long. Internally, it featured four 12 bit(?) registers which acted as
  29. an internal evaluation stack. The Stack Pointer pointed to one of these
  30. registers, not a memory location (only CALL and RET instructions operated on
  31. the Stack Pointer). There were also sixteen 4-bit (or eight 8-bit) general
  32. purpose registers
  33.     The 4004 had 46 instructions. Intel created an 8-bit version of this, the
  34. 8008 (intended for a terminal controller).
  35. [for additional information, see Appendix B]
  36.  
  37. Part II: The Intel 4040 and 8080
  38.  
  39.     The 4040 was compatible with the 4004 instruction set - the 4040 had 60
  40. instructions, which included the 46 4004 instructions. The 8080 was similar to
  41. the 4040, except being 8 bits wide.
  42.     The 8080 had a 16 bit address bus, and an 8 bit data bus. Internally it
  43. had seven 8 bit registers (six which could also be combined as three 16 bit
  44. registers), a 16 bit stack pointer (the stack was stored in memory, not in an
  45. internal register set), and 16 bit program counter. It also had several I/O
  46. ports - 256 of them, so I/O devices could be hooked up without taking away or
  47. interfering with the addressing space.
  48.  
  49. Part III: The Zilog Z-80 - End of the 8-bit line (July 1976)
  50.  
  51.     The Z-80 was intended to be an improved 8080 (as was Intel's own 8085),
  52. and it was - vastly improved. It also used 8 bit data and 16 bit addressing,
  53. and could execute all of the 8080 op codes, but included 80 more, instructions
  54. that included 1, 4, 8 and 16 bit operations and even block move and block I/O
  55. instructions. The register set was doubled, with two banks of registers that
  56. could be switched between. This allowed fast operating system or interrupt
  57. context switches. The Z-80 also featured vectored interrupts.
  58.     Like many processors (including the 8085), the Z-80 featured many
  59. undocumented op codes. Chip area near the edge was used for added
  60. instructions, but fabrication made the failure of these high. Instructions
  61. that often failed were just not documented, increasing chip yield. Later
  62. fabrication made these more reliable.
  63.     But the thing that really made the Z-80 popular was actually the memory
  64. interface - the CPU generated it's own RAM refresh signals, which meant easier
  65. design and lower system cost. That and it's 8080 compatability, and CP/M, the
  66. first standard microprocessor operating system, made it the first choice of
  67. many systems.
  68.  
  69. Part IV: The 650x, Another Direction (1975-ish)
  70.  
  71.     Shortly after the 8080, Motorola introduced the 6800. Some designers then
  72. started MOS Technologies, which introduced the 650x series, based on 6800
  73. design (not a clone for legal reasons), and including the 6502 used in
  74. Commodores, Apples and Ataris. Steve Wozniak described it as the first chip
  75. you could get for less than a hundred dollars (a quarter of the 6800 price).
  76.     Unlike the 8080 and its kind, the 6502 had very few registers. It was an
  77. 8 bit processor, with 16 bit address bus. Inside was one 8 bit data register,
  78. and two 8 bit index registers and an 8 bit stack pointer (stack was preset
  79. from address 256 to 511). It used these index and stack registers
  80. effectively, with more addressing modes, including a fast zero-page mode that
  81. accessed memory addresses from address 0 to 255 with an 8-bit address that
  82. speeded operations (it didn't have to fetch a second byte for the address).
  83.     The 650x also had undocumented instructions.
  84.     As a side point, Apples, which were among the first microcomputers
  85. introduced, are still made, now using the 65816, which is compatable with the
  86. 6502, but has been expanded to 16 bits (including index and stack registers,
  87. and a 16-bit direct page register), and a 24-bit address bus. The Apple II
  88. line, which actually includes the Apple I, is the longest existing line of
  89. microcomputers.
  90.     Back when the 6502 was introduced, RAM was actually faster than CPUs, so
  91. it made sense to optimize for RAM access rather than increase the number of
  92. registers on a chip.
  93.  
  94. Part V: The 6809, extending the 650x
  95.  
  96.     The 6800 from Motorola was essentially the same design as the 6502, but
  97. the latter left out one data register and added one index register, a minor
  98. change. But the 6809 was a major advance over both - at least relatively.
  99.     The 6809 had two 8 bit accumulators, rather than one in the 6502, and
  100. could combine them into a single 16 bit register. It also featured two index
  101. registers and two stack pointers, which allowed for some very advanced
  102. addressing modes. The 6809 was source compatible with the 6800, even though
  103. the 6800 had 78 instructions and the 6809 only had around 59. Some
  104. instructions were replaced by more general ones which the assembler would
  105. translate, and some were even replaced by addressing modes.
  106.     Other features were one of the first multiplication instructions of the
  107. time, 16 bit arithmatic, and a special fast interrupt. But it was also highly
  108. optimized, gaining up to five times the speed of the 6800 series CPU. Like the
  109. 6800, it included the undocumented HCF (Halt Catch Fire) bus test instruction.
  110.     The 6800 lived on as well, becoming the 6801/3, which included ROM, some
  111. RAM, a serial I/O port, and other goodies on the chip. It was meant for
  112. embedded controllers, where the part count was to be minimized. The 6803 led
  113. to the 68HC11, and that was extended to 16 bits as the 68HC16. But the 6809
  114. was a much faster and more flexible chip, particularly with the addition of
  115. the OS-9 operating system.
  116.     Of course, I'm a 6809 fan myself...
  117.  
  118.     As a note, Hitachi produced a version called the 6309. Compatible with the
  119. 6809, it added 2 new 8-bit registers that could be added to form a second 16
  120. bit register, and all four 8-bit registers could form a 32 bit register. It
  121. also featured division, and some 32 bit arithmatic, and was generally 30%
  122. faster in native mode. This information, suprisingly, was never published by
  123. Hitachi.
  124.  
  125. Part VI: Advanced Micro Devices Am2901, a few bits at a time
  126.  
  127.     Bit slice processors were modular processors. Mostly, they consisted of an
  128. ALU of 1, 2, 4, or 8 bits, and control lines (including carry or overflow
  129. signals usually internal to the CPU). Two 4-bit ALUs could be arranged side by
  130. side, with control lines between them, to form an ALU of 8-bits, for example.
  131. A sequencer would execute a program to provide data and control signals.
  132.     The Am2901, from Advanced Micro Devices, was a popular 4-bit-slice
  133. processor. It featured sixteen 4-bit registers and a 4-bit ALU, and operation
  134. signals to allow carry/borrow or shift operations and such to operate across
  135. any number of other 2901s. An Am2910 address sequencer could provide control
  136. signals with the use of custom microcode in ROM.
  137.     The Am2903 featured hardware multiply support.
  138.  
  139. Section Two: Forgotten/Innovative Designs before the Great Dark Cloud
  140.              --------------------------------------------------------
  141. Part I: RCA 1802, wierdness at its best (1974)
  142.  
  143.     The RCA 1802 was an odd beast, extremely simple and fabricated in CMOS,
  144. which allowed it to run at 6.4 MHz (very