x86 Architecture Programming

Intro to 32/64-bit x86 Architecture eLearning Course

Instructor(s): Joe Winkles
Number of Modules: 4
Subscription Length: 90 days

Course Price


Intro to 32/64-bit x86 Architecture eLearning Course Info

What's Included?

Intro to x86 eLearning modules
(unlimited access for 90 days)
PDF of Course Slides
(yours to keep, does not expire)

Benefits of eLearning:

  • Cost Effective - Get the same information delivered in a live MindShare class at a fraction of the cost
  • Available 24/7 - MindShare eLearning courses are available when and where you need them
  • Learn at Your Pace - MindShare eLearning courses are self-paced, so you can proceed when you're ready
  • Access to the Instructor - Ask questions to the MindShare Instructor that taught the course

You Will Learn:

  • The different groupings of x86 instructions and basic instruction formats
  • The different address spaces available in x86 and how each can be accessed
  • The registers defined in x86 and how they have grown over time
  • All the operating modes that x86-based processors can run in and characteristics of each
  • The concepts of paging and how its base implementation in x86
  • How interrupts and exceptions are handled inside the core
  • What virtualization is and about the hardware extensions that companies like Intel are adding their processors

MindShare's Intro to x86 course provides a great overview of the x86 instruction set architecture. It describes the concepts and implementation of the major architectural elements of x86 (paging, interrupt handling, protection, register set, address spaces, operating modes, virtualization, etc.).

Who Should View?

This course is perfect for anyone new to x86 or someone needing to review the basics of this instruction set architecture. This course contains a few code samples, but is not a programming course. This course describes the architecture and thus is ideal to take prior to attending any x86 programming class. Hardware engineers working on or with x86 processors can also benefit greatly from this course. It should be noted that this course does NOT cover all aspects of the x86 architecture. If that is what you need, please look into our Comprehensive x86 Architecture course.

Course Outline:

  • Intro to the Instruction Set
    - Describes the types of x86 instructions and their formats
  • Intro to the Register Set
    - Covers the GPR, XMM, floating-point, MMX, Control, Debug and Model-Specific registers
  • Intro to the Address Spaces
    - Provides overview of memory (DRAM and MMIO), IO and config address spaces and how each are accessed
  • Intro to the Operating Modes
    - Real Mode, Protected Mode, Long Mode, 64-bit Mode, Compatibility Mode, System Management Mode, Virtual-8086 Mode
  • Intro to Paging
    - Discusses the purpose of paging and the x86 implementation as well as why we have TLBs
  • Intro to Interrupts and Exceptions
    - Defines interrupts vs. exceptions and how each are handled with Interrupt Descriptor Table and interrupt vectors
  • Intro to Virtualization and Intel-VT
    - Defines virtualization and gives an overview of Intel-VT
Course Modules
Module Length
Part 1a: x86 Background and Instruction Set 40 minutes
Part 1b: Register Set and Address Spaces 48 minutes
Part 2a: Overview of the Operating Modes 35 minutes
Part 2b: Paging, Interrupts and Virtualization 58 minutes

x86 Instruction Set Architecture