Saturday, September 7, 2013

4.A. ARCHITECTURE OF MICROPROCESSOR





















This figure shows the Intel family of microprocessors bus and memory sizes.The memory size have increased through the various processors and similarly the data bus width and address bus width.



 General purpose registers are:

The top portion of the programming model contains the general purpose registers:EAX, EBX, 
ECX, EDX, EBP, ESI, and EDI
It can carry both Data & Address offsets
Although general in nature, each has a special purpose and name:
EAX – Accumulator   Used also as AX (16 bit),            AH (8 bit), and AL (8 bit)
EBX – Base Index often used to address memory (BX, BH, and BL)
ECX – count, for shifts, rotates, and loops (CX, CH, and CL)
EDX – data, used with multiply and divide (DX, DH, and DL)
EBP – base pointer used to address stack data (BP)
ESI – source index (SI) for memory locations, e.g. with string instructions
EDI – destination index (DI) for memory locations

The special purpose register are:

ESP, EIP, and EFLAGS
  Each has a specific task
–ESP – Stack pointer: Offset to the top of the stack in the stack segment. Used with procedure calls (SP)
–EIP – Instruction Pointer: Offset to the next instruction in a program in the code segment (IP)
–EFLAGS – indicates latest conditions (state) of the microprocessor (FLAGS)

The major EFLAGS are:

•C – Carry/borrow from last operation
•P – the parity flag (little used today)
•A – auxiliary flag Half-carry between bits 3 and 4,
  used with BCD arithmetic
•Z – zero
•S – sign
•O – Overflow
•D – direction - Determines auto increment/decrement direction for SI and DI registers with string instructions
•I – interrupt - Enables (using STI) or disables (using CLI) the processing of hardware interrupts arriving at the INTR input pin of the processor
•T – Trap - Turns trapping interrupt (for program debugging) on/off


The segment registers are:

•The segment registers are:
–CS (code),
–DS (data),
–ES (extra data. used as destination for some string instructions),
–SS (stack),
–FS, and GS: Additional segment registers on 80386 and above
•Segment registers define the start of a section (segment)     of memory for a program. 
•A segment is either:
  - 64K (216) bytes of fixed length (real mode), or
  - Up to 4G (232) bytes of variable length (protected mode).
•All code (programs) reside in a code segment.



0 comments:

Post a Comment