2.2.2 Basic Execution Environment

  • Address Space
    • 32-bit protected mode allows addressing of 4Gb of memory
    • PAE allows addressing up to 64Gb of memory
    • Real address mode allows addressing of 1Mb of memory
  • Basic Program Execution Registers
    • General Purpose Registers
      • EAX: Automatically used for multiply/divide called “extended accumulator register”
      • ECX: Automatically uses as a loop counter “extended counter register”
      • ESP: Contains of the address of the top of the stack in the current execution context, “extended stack pointer register”
      • EBP: Contains the bottom of the stack for the current execution context, “extended base pointer register”
      • ESI and EDI: Used for high speed memory transfer “extended source/destination index registers”
      • EBX, EDX
      • Segment Registers
        • Real Address Mode: 16 bit memory segments with predefined base addresses
        • Protected Mode: Holds pointers to segment descriptor tables which may contain code (instructions), data (variables), and stack segment for local variables and parameters
      • Instruction Pointer: EIP contains the address of the next instruction
      • EFLAGS Register: Binary bits with flags representing things like carry, interrupts, etc
  • MMX Registers
    • Used to improve the performance of multimedia applications (video/communication)
    • Eight 64 bit registers
    • Support for special SIMD (Single instruciton, multiple data) instructions
    • Allows parallel processing of the data
    • In fact all 8 registers are aliases for the same registers used for FP calculations
  • XMM Registers
    • Eight 128 bit registers
    • Floating Point Units
      • Labeled as ST(0) to ST(7)
      • Capture.PNG

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s