AMD 32/64-bit x86 Architecture


Let MindShare Bring AMD64 to Life for You

AMD64 is a 64-bit superset of the x86 instruction set architecture. This architecture was designed by AMD and was originally referred to as x86-64. Because the AMD64 instruction set is a superset of the x86 instruction set, all instructions in the x86 instruction set can be executed by CPUs that implement AMD64; therefore those CPUs can natively run programs that run on x86 processors from AMD, Intel and other vendors. Intel adopted this architecture and refers to it as Intel 64 (formerly known as EM64T). This leads to the common use of the names x86-64 or x64 as more vendor-neutral terms to collectively refer to the two nearly identical implementations.

AMD64 and x86-64 should not be confused with the Intel Itanium architecture, also known as IA-64, which is not compatible on the native instruction set level with the x86 or x86-64 architecture.

MindShare Courses On AMD64:

Course Name

Virtual Classroom

Comprehensive AMD 32/64-bit x86 Architecture
3 days

4 days
Notify Me When Available
Fundamentals of AMD 32/64-bit x86 Architecture
1 day

1 day
x86 Architecture Programming
  5 days
Intro to 32/64-bit x86 Architecture    
Show Me

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.

Comprehensive AMD 32/64-bit x86 Architecture Course Info

You Will Learn:

  • What the expected behavior of instructions are based on the current operating mode and enabled features
  • What the differences are between AMD64 and Intel 64
  • How AMD-V (AMD's virtualization technology) alters the behavior of AMD64 to boost the performance of virtualization solutions

Course Length: 3 Days

Course Outline:

  • x86 Instruction Set Background
  • Intro to the Instruction Set
    • General Purpose Instructions
    • Floating Point Instructions
    • Program Flow-related Instructions
    • Hardware-Related Instructions
  • Intro to the Register Set and Address Spaces
    • General Purpose registers (GPRs)
    • XMM registers
    • x87 / MMX registers
    • Debug registers
    • Control registers
    • Model-Specific registers (MSRs)
    • REX prefixes
    • Memory, IO, and Configuration Spaces
  • Operating Modes
    • Real Mode
    • Protected Mode
    • Virtual-8086 Mode
    • System Management Mode
    • Long Mode
      • 64-bit Mode
      • Compatibility Mode
  • Real Mode Operation
  • Introduction to Multitasking
  • Protected Mode (Segmentation)
    • Privilege Levels (Rings)
    • Code and Data Segment Descriptors
    • Global Descriptor Table (GDT)
    • Local Descriptor Table (LDT)
    • Flat Memory model
  • Control Transfers
    • Call Gates
    • Optimized System Calls
    • Automatic Stack Switching
  • Task Management
    • Task State Segments (TSS)
    • Task Gates
    • Hardware and Software task switching
  • Interrupts and Exceptions
    • Vectors
    • Interrupt priorities
    • Exceptions
    • Interrupt Descriptor Table (IDT)
    • Stack behavior
  • Paging Mechanisms
    • Purpose of Paging
    • Paging Basics
    • Physical vs. Virtual (Linear) Address Space
    • TLBs (Translation Lookaside Buffers)
    • Page Size Extensions (PSE)
    • Physical Address Extensions (PAE)
    • IA32e (Long) Mode Paging
    • No Execute functionality
  • Memory Types
    • Intro to Caches
    • Types
      • UC – Uncacheable (and UC-)
      • WC – Write Combining
      • WP – Write Protect
      • WT – Write Through
      • WB – Write Back
    • Assignment Mechanisms
      • Memory Type and Range Registers (MTRRs)
      • Page Attribute Table Register (PAT)
  • Intro to Virtualization Technology (AMD-V)
  • Virtual-8086 Mode

Recommended Prerequisites:

General Familiarity with software concepts.

Supplied Materials:

MindShare’s x86 Instruction Set Architecture Book or eBook.
Author: Tom Shanley
Publisher: MindShare Press
Available through the MindShare Store and major bookstore outlets.

Students will be provided with an electronic version of the slides used in class.

x86 Instruction Set Architecture