02 - X86 Processor Architecture Flashcards
What is ROM?
Read only memory
What is EPROM
Erasable programmable read-only memory
What is Dynamic RAM (DRAM)
inexpensive; must be refreshed constantly
Static RAM (SRAM)
expensive; used for cache memory; no refresh required
Video RAM (VRAM)
dual ported; optimized for constant video refresh
What are the 3 levels of input-out
Level 3: High-level language function
Level 2: Operating System
Level 1: BIOS
What are the steps taken when an HLL program displays a string of characters
Application Program Level 3
OS Function Level 2
BIOS Function Level 1
Hardware Level 0
At what programming levels can assembly perform input and output
Assembly can perform input and output at each of the 4 levels:
Library
OS function
BIOS Function
Hardware
L3
-
L0
What is responsible for synchronizing CPU operations
The clock
What is the control unit responsible for (CU)
Coordinates sequence of execution steps
What does the ALU do?
Performs arithmetic and bitwise processing
Name some features of the clock
Synchronizes all CPU and BUS operations
Machine (clock) cycle measures time of a single operation
Clock is used to trigger events
Name the steps of the Instruction Execution Cycle
- Fetch Instruction
- Decode
- Fetch operands
- Execute
- Store output
Does memory respond more slowly than the CPU?
Yes
How does reading from memory work
- Place the address of the value you want to read on the address bus
- Assert (changing the value of) the processor’s RD (read) pin
- Wait one clock cycle for the memory chips to respond
- Copy the data from the data bus into the destination operand
What is Cache memory
High-speed expensive static RAM both inside and outside the CPU
Level 1 cache: inside the CPU
Level 2 cache: outside the CPU
What is a cache hit
When data to be read is already in cache memory (good thing)
What is a cache miss
When data to be read is not in cache memory (very expensive thing)
What are some of the Modes of Operation
Protected Mode (Window, Linux, etc.)
Real-address mode (native MS-DOS)
System management mode (power management, system security, diagnostics)
Virtual-8086 mode
hybrid of protected, each program has its own 8086 computer
General purpose registers
Name the 32-bit General-Purpose Registers
EAX - accumulator
EBX - extended frame pointer (stack)
ECX - loop counter
EDX -
EBP - registers
ESP - stack pointer
ESI - extended source index
EDI - extended destination index
Name the 16-bit Segment Registers
CS - Code segment
SS - Stack segment
DS - Data segment
ES - additional segments
FS - additional segments
GS - additional segments
Explain EAX, EBX, ECX, EDX naming and structure
Each 2 letter combination can be further broken down into 2 separate 2 letter combinations. AX (16 bits) becomes AH (8 bit), and AL (8 bit).
Each 2 letter combination has the letter E as a prefix to represent extended, EAX (32 bits). So the hierarchy in size is
AH, AL (8 bit) 8 bit name
AX, (16 bit) 16 bit name
EAX (32 bit) 32 bit name
Which registers have only a 16-bit name for their lower half
32-bit name
ESI
EDI
EBP
ESP
16-bit name
SI
DI
BP
SP
Name the specialized register uses
General Purpose
EAX - accumulator
ECX - loop counter
ESP - stack pointer
ESI, EDI - index registers (source and destination)
EBP - extended frame pointer (stack)
Segment
CS - code segment
DS - data segment
SS - stack segment
ES, FS, GS - additional segments
EIP - instruction pointer
EFLAGS - status and control flags (each flag is a single binary bit)
What are some status flags
Carry - unsigned arithmetic out of range
Overflow - signed arithmetic out of range
Sign - result is negative
Zero - result is zero
Auxiliary Carry - carry from bit 3 to bit 4
Parity - sum of 1 bits is an even number
How many registers are there for 80-bit floating-point data
8, ST(0) … ST(7)
Arranged in a stack
How many registers are there for 64-bit MMX registers
8
How many registers are there for 128-bit XMM registers for single-instruction multiple-data (SIMD) operations
8
How many bits is an address in basic 64-bit execution environment (in practice), and what could it also be
48 bits in practice since this is what processors can currently support , can be 64 bits theoretically
How many registers in the Basic Execution Environment
16 64-bit general purpose registers
What is the instruction pointer called in the Basic Execution Environment and how many bits is it
64 instruction pointer named RIP