13-03-2012, 04:03 PM
Intel 8086 architecture
06-Intel-8086-architecture.pdf (Size: 705.98 KB / Downloads: 105)
Today we’ll take a look at Intel’s 8086, which is one of the oldest and yet
most prevalent processor architectures around.
We’ll make many comparisons between the MIPS and 8086 architectures,
focusing on registers, instruction operands, memory and addressing
modes, branches, function calls and instruction formats.
This will be a good chance to review the MIPS architecture as well.
An x86 processor timeline
1971: Intel’s 4004 was the first microprocessor—a 4-bit CPU (like the one from CS231) that fit all on one chip.
1978: The 8086 was one of the earliest 16-bit processors.
1981: IBM uses the 8088 in their little PC project.
1989: The 80486 includes a floating-point unit in the same chip as the main
processor, and uses RISC-based implementation ideas like pipelining for greatly increased performance.
1997: The Pentium II is superscalar, supports multiprocessing, and includes
special instructions for multimedia applications.
2002:The Pentium 4 runs at insane clock rates (3.06 GHz), implements
extended multimedia instructions and has a large on-chip cache.
MIPS memory
Memory is byte-addressable—each address stores an 8-bit value.
Addresses can be up to 32 bits long, resulting in up to 4 GB of memory.
The only addressing mode available is indexed addressing.
lw $t0, 20($a0)# $t0 =M[$a0 + 20]
sw $t0, 20($a0)# M[$a0 + 20] =$t0
The lw/sw instructions access one word, or 32 bits of data, at a time.
—Words are stored as four contiguous bytes in memory.
—Words must be aligned, starting at addresses divisible by four.