Design  | SFC  |  NOS  |  Code |  Diary  | WWW |  Essay |  Cisco | [Home]



[Bill's Home Page]
[ Old page]



Microprocessor basics
Register Renaming. These are additional registers which can be assigned to contain data that would normally be written to the destination register. One of the main uses is with speculative execution of branches (see Page 205), the branch uses renamed registers, which can be renamed back to the original registers if the branch prediction is successful, otherwise the data is discarded. Another application is with out of order execution (see Page 205) where renamed registers can be used to modify the execution of a program by renaming registers to avoid write conflicts.
Segment. This is an area of memory that is accessed through an identifier tag.

Harvard Architecture v. von Neumann

Harvard architecture uses separate program and data spaces. It is also typically defined as architecture which uses separate program and data busses (and usually caches too). This architecture improves speed, though the address spaces are actually shared.
The von Neumann architecture uses a stored program in the same writable memory that data is stored in.

Intel Processors that shook the world:
4004: November 1971, 108kHz, 4-bit data bus, 2,300 transistors, 640B of addressable memory.
8008: April 1972, 200 kHz, 8-bit data bus, 3,500 transistors, 16kB of addressable memory.
8080: April 1974, 2 MHz, 8-bit data bus, 6,000 transistors, 64kB of addressable memory.
8086: June 1978, 5/8/10MHz, 16-bit data bus, 29,000 transistors, 1MB of addressable memory.
8088: June 1979, 5/8 MHz, 8-bit data bus, 29,000 transistors, 1MB of addressable memory.
80286: 1982, 6-25 MHz; upgrade to 8086, with increased memory addressing (16MB).
80386: October 1985, 16/20/25/33MHz, 32-bit data bus, 275,000 transistors, 4GB of addressable memory.
80486: April 1989, 25/33 /50 MHz, 32-bit data bus, 1.2 million transistors, 4GB of addressable memory.
Pentium: March 1993, 60/66 MHz, 64-bit data bus, 3.1 million transistors, 4GB of addressable memory.
Pentium II/III: March 1997, 200MHz and on, 64-bit data bus, 7.5million transistors, 64GB of addressable memory.
Isn't that interesting?



My Top Processors

<< Back


Intel 4000/4040 (Nov 1971). First microprocessor. 46 instructions, with 2,300 transistors within a 16-pin device.


TMS 1000 (1972). First microcontroller, and the first to include RAM.


Intel 8080 (April 1974). 16-bit address bus and an 8-bit data bus, with seven 8-bit registers. Used in Altair 8800.


Zilog Z-80 (July 1976).  Vastly improved version of the 8080.


MOS Technologies 650x (1975). Vastly improved, and much cheaper, version of the 6800.  The 6502 was used in the Apple II.


Motorola 6809. Enhanced version of the 6800. It had two 8-bit accumulators (A and B), which could combine into a single 16-bit register (D). It also had two index registers (X and Y) and two stack pointers (S and U).


AMD Am2901. Popular 4-bit-slice processor, which had sixteen 4-bit registers and a 4-bit ALU. They could be used for a modular design, where several processors could be combined to produce a larger system (for example, two Am2901s could produce an 8-bit system). It also contained the first integrated math coprocessor.


Intel 8051.Classic microcontroller, with data stored on-chip (128 bytes), and code stored off-chip. It was used in thousands of embedded products, and eventually reached sales of one billion.


Microchip Technology PIC 16x/17x (1975). Simple processor with RISC technology, and a large number of registers.


TMS 9900 (1976). First 16-bit microprocessor, and featured a 15-bit address bus.


Zilog Z-8000. Innovative 16-bit microprocessor which failed due to initial bugs and lack of compatibility with the Z-80.


Motorola 68000 (Sept. 1979). 32-bit internal architecture, with an external16-bit data bus, and a 24-bit address bus. It contained 16 32-bit registers (8 for data, and 8 for address) and did not feature segmented addressing.


National Semiconductor 32032. Similar to 68000.


Intel 8086 (1978). Based on 8080/8085, but expanded to cope with 16 bits. It was chosen over the 68000 for the IBM PC (possibly due to the availability of the CP/M operating system).


SPARC (1987). Scalable Processor ARChitecture designed by Sun Microsystems, for use on 68000-based workstations with the UNIX operating system.


AMD 29000 (1987). RISC design, with a large number of registers.


Siemens 80C166. Low-cost embedded 8/16-bit load-store processor.


MIPS R2000 (1986). MIPS (Microprocessor without Interlocked Pipeline Stages) R2000 was probably the first commercial RISC processor.


 HP PA-RISC (1986). Large number of registers with RISC technology, for use in HP workstations.


Motorola 88000 (1988). 32-bit processor, based on true Harvard architecture.


 Fairchild Clipper (1998). Featured Harvard architecture.


TMS 320C30 (1998). Popular DSP device.


Motorola DSP96002. Well-designed DSP device.


Intel 860 (1988). 'Cray-on-a-chip'. Scary!


IBM RS/6000 (1990). RISC processor for IBM workstations.


DEC Alpha (1992). 64-bit architecture, which created no limits to future performance improvements (such as the lack of any special registers).


INMOS T-9000 (1994). Used to create parallel systems with point-to-point links between processors.




Other contenders:  Acorn ARM (1986), Hitachi SuperH (1992), Motorola MCore (1998), Intel 960 (1988), Intel 432 (1980), Linn Rekursiv , MISC M17 (1988), AT&T CRISP (1987). Patriot Scientific ShBloom (1996), Sun picoJava (1997), and of course, AMD Athelon, and Intel Pentium Pro and Pentium II.

Taken from Chapter 1, Advanced PC Architecture, W.Buchanan, Addison-Wesley.

W. Buchanan, 2000