You are on page 1of 6

6/30/2011

The Intel Microprocessor Architecture


System Overview

Block Diagram of a Complete Computer with Peripheral Devices (Arrows indicate Data Flow)

We learned that memory was needed so that there would be a place fordata & instructions to be stored. Data & programs which can be lost after power is removed are stored in RAM. Data & instructions which must never be lost, even after the power is turned off, are stored in ROM. Remember that ROM is a type of memory which cannot have its contents changed once the ROM chip is manufactured. PROM & EPROM are used in much the same way as ROM but can be reprogrammed after manufactured but require special equipmentto programthem.

6/30/2011

Addressing
Since there are many memory locations (or, addresses), it is necessary to have a means of referring to specific locations. This is done through addressing. Typically, RAM addresses are numbered 0000H (in hex) to the highest addressable memory. For example, using 12 binary digits, how many unique memory locations would be possible?

212 = 4096 unique addresses from


0000 0000 0000 up to 1111 1111 1111 or 0 0 0 hex F F F

P Architecture
Accumulator: one of the most often used parts of a P is the accumulator a register which often has its contents altered in some way. For example, we can add the contents of the accumulator to the contents of a RAM address. Usually, the result of an operation is also placed in the accumulator. Width of Registers: maximum size of bits is generally, 8, 16, 32, or 64

6/30/2011

General-Purpose Registers: are similar to the accumulator, and are temporary storage locations. They differ from accumulator in that operations involving two pieces of data are usually not performed in them with the result going back into the register itself, as the case of the accumulator. Program Counter (PC) or Instruction Pointer (IP): considering the fact that there can be millions of RAM locations, its obvious that the P must keep track of the location from which it will be getting its next instruction. This is the job of the PC or IP.

Status Register: sometimes called condition code register, or flag register, is a special register which keeps track of certain facts about the outcome of arithmetic, logical, & other operations. This register makes it possible for the P to be able to test for certain conditions, & then to perform alternate functions based on those conditions. This is done through the use of flags. Stack Pointer: the structure of a stack is a first-in-lastout (FILO), where unlike main memory, where you can access data item in any order. The stack is designed so that you can only access (through stack pointer) the top of the stock. We can push an item (save operation) onto the stack so that we can later pop them (retrieve operation)

6/30/2011

Intel 8086/8088 P Programming Model


Address RAM
0100 HH HH HH HH HH HH HH

32-bit names
EAX EBX ECX EDX ESP EBP EDI ESI
AH AX AL BH BX BL CH CX CL DH DX DL SP BP DI SI 32 bits 16 bits

Name
Accumulator Base index Count Data Stack pointer Base pointer Destination index Source index

The diagram on the left is a complete programming model of the 8086/8088 Ps in addition to the RAM address available for programmers but only starting at address 0100H

0101 0102 0103 0104 0105 0106 . :

EIP EFlags

IP

Instruction pointer Code segment Data segment Extra segment Stack segment

CS DS ES

: : FFFF HH

SS FS GS

Lesson Check-Up
1. Describe how the 8088/8086 accumulator is labeled. 2. How many 8-bit general-purpose registers does 8088 have? 3. In the 8088 what has the same function as the program counter in 8-bit Ps? 4. If we had 20,00010 memory address lines, what would be the last address line needed to describe an item in hex 2 bytes wide?

6/30/2011

5. In simplest terms, what are generalpurpose registers? 6. A register which helps Ps to work with tables of data? 7. When a flag register is . . . . . . this indicates that the condition which the flag tests has not come true. 8. When a flag register is . . . . . . this indicates that the condition which the flag tests has come true.

9. Refer to Figure shown. If we POP data item #2 (twobytes) from the stack, will the stack pointer (SP) increment or decrement? What hex value will appear in the SP? 10. Refer to the same Figure, if we PUSH three data items onto the stack 1-byte each, will the SP increment or decrement? What hex value will appear in the SP?

6/30/2011

Answers
1. It is named EAX as a 32-bit wide extended accumulator, or named AX & is 16 bits wide with an 8-bit upper half (called AH) and an 8-bit lower-half (called AL). 2. There are eight 8-bit general-purpose registers: AH, AL, BH, BL, CH, CL, DH, & DL 3. The IP (Instruction Pointer)
214 + 211+ 210+ 29 + 25 =16,384+2,048+1,024+512+32

4. 20,000 = 0100 1110 0010 0000 = 4E20 5. Temporary locations which can store a byte or a word of data similar to RAM but which are inside the P.

6. Index register 7. 0 (LOW) or CLEAR/Disabled 8. 1 (HIGH) or SET/Enabled 9. SP will increment to hex 0E 10.SP will decrement the 3-bytes data item to hex 09

You might also like