General Software Model of Intel Architecture and Processor Organization
General Software Model of Intel Architecture and Processor Organization
– registers are used during programming and are specified by the instructions
80286 and above contain program-invisible registers to control and operate protected
memory and other features of the microprocessor.
80386 through Core-i series microprocessors contain full 32-bit internal architectures.
8086 through the 80286 are fully upward-compatible to the 80386 through Core-i series.
Figure 1 illustrates the software model of the 8086 through Core-i series microprocessors.
It is including the 64-bit extensions.
The programming model of the 8086 - 80286 contains 8- and 16-bit registers.
The programming model of the 80386 and above contains 8-, 16-, and 32-bit extended
registers as well as two additional 16-bit segment registers: FS and GS.
8-bit registers are AH, AL, BH, BL, CH, CL, DH, and DL.
16-bit registers are AX, BX, CX, DX, SP, BP, DI, and SI.
32-bit extended registers are EAX, EBX, ECX, EDX, ESP, EBP, EDI, and ESI.
64-bit registers in a Pentium 4 with 64-bit extensions are RAX, RBX, RCX, RDX, RSP,
R8 - R15 (additional general-purpose registers) found in the Pentium 4 and Core-i series if
64-bit extensions are enabled.
Most applications will not use these registers until 64-bit processors are common.
– the 8-bit portion is the rightmost 8-bit only
– bits 8 to 15 are not directly addressable as a byte
The segment registers are CS, DS, ES, SS, FS, and GS.
The FS and GS segments are supplemental segment registers available in the 80386–Core-
i series microprocessors to allow two additional memory segments for access by programs.
Windows uses these segments for internal operations, but no definition of their usage is
available.
The length of CS and DS are limited to 64K bytes in the 8088–80286, and 4G bytes in the
80386 and above when these microprocessors operate in the protected mode.
– In the 64-bit mode, RIP contains a 40-bit address at present to address a 1T flat
address space.
All instructions (code) are accessed by the combination of CS (segment address) plus IP or
EIP (offset address).
Data are normally referenced through a combination of the DS (data segment) and either an
offset address or the contents of a register that contains the offset address. The 8086–Core-i
series use BX, DI, and SI as default offset registers for data if 16-bit registers are selected.
The 80386 and above can use the 32-bit registers EAX, EBX, ECX, EDX, EDI, and ESI as
default offset registers for data.
RFLAGS indicate the condition of the microprocessor and control its operation.
Figure 2 shows the flag registers of all versions of the microprocessor.
Flags are upward-compatible from the 8086/8088 through Core-i series.
The rightmost five and the overflow flag are changed by most arithmetic and logic
operations.
The flags never change for any data transfer or program control operation.
Some of the flags are also used to control features found in the microprocessor.
Figure 2 The EFLAG and FLAG register counts for the entire 8086 and Pentium microprocessor
family.
IOPL (Input\Output Privilege Level) used in protected mode operation to select the
privilege level for I/O devices.
NT (Nested Task) flag indicates the current task is nested within another task in protected
mode operation.
RF (Resume Flag) used with debugging to control resumption of execution after the next
instruction.
VM (Virtual Mode) flag bit selects virtual mode operation in a protected mode system.
AC (Alignment Check) flag bit activates if a word or double word is addressed on a non-
word or non-double word boundary.
VIF (Virtual Interrupt Flag) is a copy of the interrupt flag bit available to the Pentium 4.
VIP (Virtual Interrupt Pending) flag provides information about a virtual mode interrupt
for Pentium.
ID (Identification) flag indicates that the Pentium microprocessors support the CPUID
instruction.
• CPUID instruction provides the system with information about the Pentium
microprocessor.
1. Real-mode
Native MS-DOS
2. Protected mode
- (00000000 to FFFFFFFFH).
Each program assigned a memory partition which is protected from other programs.
3. Virtual-8086 mode
It is used to run 8086 compatible programs concurrently with other protected mode
programs (hybrid of protected).
64-bit mode – 64-bit OS accessing 64-bit address space and 64-bit registers.
Instruction Format
Opcode Operand
(a)
(b)
Notice that a large part of this cycle is spent copying data from one location to
another. When a program is initially loaded, the address of the first instruction must be
placed in the PC. The steps in this cycle are listed below. Note that Steps 1 and 2 make
up the fetch phase, Step 3 makes up the decode phase, and Step 4 is the execute phase.
Step 1 Step 2
Step 3 Step 4
Step 5 Step 6
Step 7 Step 8
Step 9 Step 10
Step 11 Step 12
Step 13 Step 14
Step 15 Step 16
Step 17 Step 18
13 |Page Prepared by: Dr. Dunia S.
Computer Organization CoE234
Step 19 Step 20
Step 21 Step 22
Step 23 Step 24
14 |Page Prepared by: Dr. Dunia S.
Computer Organization CoE234
Step 25 Step 26
Step 27