SlideShare a Scribd company logo
Assembly Language for Intel-BasedAssembly Language for Intel-Based
Computers, 5Computers, 5thth
EditionEdition
Chapter 2: IA-32 Processor
Architecture
(c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use,
or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed.
Slides prepared by the author
Revision date: June 4, 2006
Kip Irvine
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 2
Chapter OverviewChapter Overview
• General Concepts
• IA-32 Processor Architecture
• IA-32 Memory Management
• Components of an IA-32 Microcomputer
• Input-Output System
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 3
General ConceptsGeneral Concepts
• Basic microcomputer design
• Instruction execution cycle
• Reading from memory
• How programs run
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 4
Basic Microcomputer DesignBasic Microcomputer Design
• clock synchronizes CPU operations
• control unit (CU) coordinates sequence of execution steps
• ALU performs arithmetic and bitwise processing
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 5
ClockClock
• synchronizes all CPU and BUS operations
• machine (clock) cycle measures time of a single
operation
• clock is used to trigger events
one cycle
1
0
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 6
Instruction Execution CycleInstruction Execution Cycle
• Fetch
• Decode
• Fetch operands
• Execute
• Store output
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 7
Multi-Stage PipelineMulti-Stage Pipeline
• Pipelining makes it possible for processor to execute
instructions in parallel
• Instruction execution divided into discrete stages
Example of a non-
pipelined processor.
Many wasted cycles.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 8
Pipelined ExecutionPipelined Execution
• More efficient use of cycles, greater throughput of instructions:
For k states and n
instructions, the
number of required
cycles is:
k + (n – 1)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 9
Wasted Cycles (pipelined)Wasted Cycles (pipelined)
• When one of the stages requires two or more clock cycles, clock
cycles are again wasted.
For k states and n
instructions, the
number of required
cycles is:
k + (2n – 1)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 10
SuperscalarSuperscalar
A superscalar processor has multiple execution pipelines. In the
following, note that Stage S4 has left and right pipelines (u and v).
For k states and n
instructions, the
number of required
cycles is:
k + n
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 11
Reading from MemoryReading from Memory
• Multiple machine cycles are required when reading from memory,
because it responds much more slowly than the CPU. The steps are:
• address placed on address bus
• Read Line (RD) set low
• CPU waits one cycle for memory to respond
• Read Line (RD) goes to 1, indicating that the data is on the data
bus
Cycle 1 Cycle 2 Cycle 3 Cycle 4
Data
Address
CLK
ADDR
RD
DATA
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 12
Cache MemoryCache Memory
• High-speed expensive static RAM both inside and
outside the CPU.
• Level-1 cache: inside the CPU
• Level-2 cache: outside the CPU
• Cache hit: when data to be read is already in cache
memory
• Cache miss: when data to be read is not in cache
memory.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 13
How a Program RunsHow a Program Runs
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 14
MultitaskingMultitasking
• OS can run multiple programs at the same time.
• Multiple threads of execution within the same
program.
• Scheduler utility assigns a given amount of CPU time
to each running program.
• Rapid switching of tasks
• gives illusion that all programs are running at once
• the processor must support task switching.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 15
What's NextWhat's Next
• General Concepts
• IA-32 Processor Architecture
• IA-32 Memory Management
• Components of an IA-32 Microcomputer
• Input-Output System
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 16
IA-32 Processor ArchitectureIA-32 Processor Architecture
• Modes of operation
• Basic execution environment
• Floating-point unit
• Intel Microprocessor history
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 17
Modes of OperationModes of Operation
• Protected mode
• native mode (Windows, Linux)
• 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
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 18
Basic Execution EnvironmentBasic Execution Environment
• Addressable memory
• General-purpose registers
• Index and base registers
• Specialized register uses
• Status flags
• Floating-point, MMX, XMM registers
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 19
Addressable MemoryAddressable Memory
• Protected mode
• 4 GB
• 32-bit address
• Real-address and Virtual-8086 modes
• 1 MB space
• 20-bit address
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 20
General-Purpose RegistersGeneral-Purpose Registers
CS
SS
DS
ES
EIP
EFLAGS
16-bit Segment Registers
EAX
EBX
ECX
EDX
32-bit General-Purpose Registers
FS
GS
EBP
ESP
ESI
EDI
Named storage locations inside the CPU, optimized for
speed.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 21
Accessing Parts of RegistersAccessing Parts of Registers
• Use 8-bit name, 16-bit name, or 32-bit name
• Applies to EAX, EBX, ECX, and EDX
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 22
Index and Base RegistersIndex and Base Registers
• Some registers have only a 16-bit name for their
lower half:
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 23
Some Specialized Register UsesSome Specialized Register Uses (1 of 2)(1 of 2)
• General-Purpose
• EAX – accumulator
• ECX – loop counter
• ESP – stack pointer
• ESI, EDI – index registers
• EBP – extended frame pointer (stack)
• Segment
• CS – code segment
• DS – data segment
• SS – stack segment
• ES, FS, GS - additional segments
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 24
Some Specialized Register UsesSome Specialized Register Uses (2 of 2)(2 of 2)
• EIP – instruction pointer
• EFLAGS
• status and control flags
• each flag is a single binary bit
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 25
Status FlagsStatus 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
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 26
Floating-Point, MMX, XMM RegistersFloating-Point, MMX, XMM Registers
• Eight 80-bit floating-point data registers
• ST(0), ST(1), . . . , ST(7)
• arranged in a stack
• used for all floating-point
arithmetic
• Eight 64-bit MMX registers
• Eight 128-bit XMM registers for single-
instruction multiple-data (SIMD) operations
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 27
Intel Microprocessor HistoryIntel Microprocessor History
• Intel 8086, 80286
• IA-32 processor family
• P6 processor family
• CISC and RISC
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 28
Early Intel MicroprocessorsEarly Intel Microprocessors
• Intel 8080
• 64K addressable RAM
• 8-bit registers
• CP/M operating system
• S-100 BUS architecture
• 8-inch floppy disks!
• Intel 8086/8088
• IBM-PC Used 8088
• 1 MB addressable RAM
• 16-bit registers
• 16-bit data bus (8-bit for 8088)
• separate floating-point unit (8087)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 29
The IBM-ATThe IBM-AT
• Intel 80286
• 16 MB addressable RAM
• Protected memory
• several times faster than 8086
• introduced IDE bus architecture
• 80287 floating point unit
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 30
Intel IA-32 FamilyIntel IA-32 Family
• Intel386
• 4 GB addressable RAM, 32-bit
registers, paging (virtual memory)
• Intel486
• instruction pipelining
• Pentium
• superscalar, 32-bit address bus, 64-bit
internal data path
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 31
Intel P6 FamilyIntel P6 Family
• Pentium Pro
• advanced optimization techniques in microcode
• Pentium II
• MMX (multimedia) instruction set
• Pentium III
• SIMD (streaming extensions) instructions
• Pentium 4 and Xeon
• Intel NetBurst micro-architecture, tuned for
multimedia
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 32
CISC and RISCCISC and RISC
• CISC – complex instruction set
• large instruction set
• high-level operations
• requires microcode interpreter
• examples: Intel 80x86 family
• RISC – reduced instruction set
• simple, atomic instructions
• small instruction set
• directly executed by hardware
• examples:
• ARM (Advanced RISC Machines)
• DEC Alpha (now Compaq)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 33
What's NextWhat's Next
• General Concepts
• IA-32 Processor Architecture
• IA-32 Memory Management
• Components of an IA-32 Microcomputer
• Input-Output System
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 34
IA-32 Memory ManagementIA-32 Memory Management
• Real-address mode
• Calculating linear addresses
• Protected mode
• Multi-segment model
• Paging
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 35
Real-Address modeReal-Address mode
• 1 MB RAM maximum addressable
• Application programs can access any area
of memory
• Single tasking
• Supported by MS-DOS operating system
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 36
Segmented MemorySegmented Memory
Segmented memory addressing: absolute (linear) address is a
combination of a 16-bit segment value added to a 16-bit offsetlinearaddresses
one segment
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 37
Calculating Linear AddressesCalculating Linear Addresses
• Given a segment address, multiply it by 16 (add a
hexadecimal zero), and add it to the offset
• Example: convert 08F1:0100 to a linear address
Adjusted Segment value: 0 8 F 1 0
Add the offset: 0 1 0 0
Linear address: 0 9 0 1 0
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 38
Your turn . . .Your turn . . .
What linear address corresponds to the segment/offset
address 028F:0030?
028F0 + 0030 = 02920
Always use hexadecimal notation for addresses.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 39
Your turn . . .Your turn . . .
What segment addresses correspond to the linear address
28F30h?
Many different segment-offset addresses can produce the
linear address 28F30h. For example:
28F0:0030, 28F3:0000, 28B0:0430, . . .
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 40
Protected ModeProtected Mode (1 of 2)(1 of 2)
• 4 GB addressable RAM
• (00000000 to FFFFFFFFh)
• Each program assigned a memory partition which
is protected from other programs
• Designed for multitasking
• Supported by Linux & MS-Windows
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 41
Protected modeProtected mode (2 of 2)(2 of 2)
• Segment descriptor tables
• Program structure
• code, data, and stack areas
• CS, DS, SS segment descriptors
• global descriptor table (GDT)
• MASM Programs use the Microsoft flat memory
model
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 42
Flat Segment ModelFlat Segment Model
• Single global descriptor table (GDT).
• All segments mapped to entire 32-bit address space
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 43
Multi-Segment ModelMulti-Segment Model
• Each program has a local descriptor table (LDT)
• holds descriptor for each segment used by the program
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 44
PagingPaging
• Supported directly by the CPU
• Divides each segment into 4096-byte blocks called
pages
• Sum of all programs can be larger than physical
memory
• Part of running program is in memory, part is on disk
• Virtual memory manager (VMM) – OS utility that
manages the loading and unloading of pages
• Page fault – issued by CPU when a page must be
loaded from disk
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 45
What's NextWhat's Next
• General Concepts
• IA-32 Processor Architecture
• IA-32 Memory Management
• Components of an IA-32 Microcomputer
• Input-Output System
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 46
Components of an IA-32 MicrocomputerComponents of an IA-32 Microcomputer
• Motherboard
• Video output
• Memory
• Input-output ports
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 47
MotherboardMotherboard
• CPU socket
• External cache memory slots
• Main memory slots
• BIOS chips
• Sound synthesizer chip (optional)
• Video controller chip (optional)
• IDE, parallel, serial, USB, video, keyboard, joystick,
network, and mouse connectors
• PCI bus connectors (expansion cards)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 48
Intel D850MD MotherboardIntel D850MD Motherboard
dynamic RAM
Pentium 4 socket
Speaker
IDE drive connectors
mouse, keyboard,
parallel, serial, and USB
connectors
AGP slot
Battery
Video
Power connector
memory controller hub
Diskette connector
PCI slots
I/O Controller
Firmware hub
Audio chip
Source: Intel® Desktop Board D850MD/D850MV Technical Product
Specification
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 49
Video OutputVideo Output
• Video controller
• on motherboard, or on expansion card
• AGP (accelerated graphics port technology)*
• Video memory (VRAM)
• Video CRT Display
• uses raster scanning
• horizontal retrace
• vertical retrace
• Direct digital LCD monitors
• no raster scanning required
* This link may change over time.
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 50
Sample Video Controller (ATI Corp.)Sample Video Controller (ATI Corp.)
• 128-bit 3D graphics
performance powered by
RAGE™ 128 PRO
• 3D graphics performance
• Intelligent TV-Tuner with
Digital VCR
• TV-ON-DEMAND™
• Interactive Program Guide
• Still image and MPEG-2 motion
video capture
• Video editing
• Hardware DVD video playback
• Video output to TV or VCR
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 51
MemoryMemory
• ROM
• read-only memory
• EPROM
• erasable programmable read-only memory
• 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
• CMOS RAM
• complimentary metal-oxide semiconductor
• system setup information
• See: Intel platform memory (Intel technology brief: link address may
change)
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 52
Input-Output PortsInput-Output Ports
• USB (universal serial bus)
• intelligent high-speed connection to devices
• up to 12 megabits/second
• USB hub connects multiple devices
• enumeration: computer queries devices
• supports hot connections
• Parallel
• short cable, high speed
• common for printers
• bidirectional, parallel data transfer
• Intel 8255 controller chip
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 53
Input-Output PortsInput-Output Ports (cont)(cont)
• Serial
• RS-232 serial port
• one bit at a time
• uses long cables and modems
• 16550 UART (universal asynchronous receiver
transmitter)
• programmable in assembly language
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 54
What's NextWhat's Next
• General Concepts
• IA-32 Processor Architecture
• IA-32 Memory Management
• Components of an IA-32 Microcomputer
• Input-Output System
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 55
Levels of Input-OutputLevels of Input-Output
• Level 3: Call a library function (C++, Java)
• easy to do; abstracted from hardware; details hidden
• slowest performance
• Level 2: Call an operating system function
• specific to one OS; device-independent
• medium performance
• Level 1: Call a BIOS (basic input-output system) function
• may produce different results on different systems
• knowledge of hardware required
• usually good performance
• Level 0: Communicate directly with the hardware
• May not be allowed by some operating systems
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 56
Displaying a String of CharactersDisplaying a String of Characters
When a HLL program
displays a string of
characters, the
following steps take
place:
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 57
ASM Programming levelsASM Programming levels
ASM programs can perform input-output at
each of the following levels:
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 58
SummarySummary
• Central Processing Unit (CPU)
• Arithmetic Logic Unit (ALU)
• Instruction execution cycle
• Multitasking
• Floating Point Unit (FPU)
• Complex Instruction Set
• Real mode and Protected mode
• Motherboard components
• Memory types
• Input/Output and access levels
Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 59
42 69 6E 61 72 7942 69 6E 61 72 79

More Related Content

What's hot

LCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
LCA14: LCA14-306: CPUidle & CPUfreq integration with schedulerLCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
LCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
Linaro
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted FirmwareLCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
Linaro
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
Geoffroy Van Cutsem
 
Memory model
Memory modelMemory model
Memory model
Yi-Hsiu Hsu
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
Deepak Shankar
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture
Haris456
 
Introduction to OpenCL
Introduction to OpenCLIntroduction to OpenCL
Introduction to OpenCL
Unai Lopez-Novoa
 
Storage Management
Storage ManagementStorage Management
Storage Management
SURBHI SAROHA
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
shimosawa
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
SUSE Labs Taipei
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
NAVER D2
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
Ryo Jin
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Sherif Mousa
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File System
Adrian Huang
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
National Cheng Kung University
 
Decompressed vmlinux: linux kernel initialization from page table configurati...
Decompressed vmlinux: linux kernel initialization from page table configurati...Decompressed vmlinux: linux kernel initialization from page table configurati...
Decompressed vmlinux: linux kernel initialization from page table configurati...
Adrian Huang
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
Ni Zo-Ma
 
Memory consistency models and basics
Memory consistency models and basicsMemory consistency models and basics
Memory consistency models and basics
Ramdas Mozhikunnath
 

What's hot (20)

LCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
LCA14: LCA14-306: CPUidle & CPUfreq integration with schedulerLCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
LCA14: LCA14-306: CPUidle & CPUfreq integration with scheduler
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
LCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted FirmwareLCU14 500 ARM Trusted Firmware
LCU14 500 ARM Trusted Firmware
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
 
Memory model
Memory modelMemory model
Memory model
 
Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power Evaluating UCIe based multi-die SoC to meet timing and power
Evaluating UCIe based multi-die SoC to meet timing and power
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture
 
Introduction to OpenCL
Introduction to OpenCLIntroduction to OpenCL
Introduction to OpenCL
 
Storage Management
Storage ManagementStorage Management
Storage Management
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File System
 
Embedded Hypervisor for ARM
Embedded Hypervisor for ARMEmbedded Hypervisor for ARM
Embedded Hypervisor for ARM
 
Decompressed vmlinux: linux kernel initialization from page table configurati...
Decompressed vmlinux: linux kernel initialization from page table configurati...Decompressed vmlinux: linux kernel initialization from page table configurati...
Decompressed vmlinux: linux kernel initialization from page table configurati...
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
Memory consistency models and basics
Memory consistency models and basicsMemory consistency models and basics
Memory consistency models and basics
 

Viewers also liked

Intel IA 64
Intel IA 64Intel IA 64
Intel IA 64
Nartana Shenbagaraj
 
Ia 32
Ia 32Ia 32
Lec 03 ia32 architecture
Lec 03  ia32 architectureLec 03  ia32 architecture
Lec 03 ia32 architecture
Abdul Khan
 
Internet address
Internet addressInternet address
Internet address
Shubham Dwivedi
 
Intel 64bit Architecture
Intel 64bit ArchitectureIntel 64bit Architecture
Intel 64bit Architecture
Motaz Saad
 
The x86 Family
The x86 FamilyThe x86 Family
The x86 Family
Motaz Saad
 
physical and logical data independence
physical and logical data independencephysical and logical data independence
physical and logical data independence
apoorva_upadhyay
 
Arp (address resolution protocol)
Arp (address resolution protocol)Arp (address resolution protocol)
Arp (address resolution protocol)
tigerbt
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
ChangWoo Min
 
7 Cs Ppt With Excercises
7 Cs Ppt With Excercises7 Cs Ppt With Excercises
7 Cs Ppt With Excercises
makhtar79
 

Viewers also liked (10)

Intel IA 64
Intel IA 64Intel IA 64
Intel IA 64
 
Ia 32
Ia 32Ia 32
Ia 32
 
Lec 03 ia32 architecture
Lec 03  ia32 architectureLec 03  ia32 architecture
Lec 03 ia32 architecture
 
Internet address
Internet addressInternet address
Internet address
 
Intel 64bit Architecture
Intel 64bit ArchitectureIntel 64bit Architecture
Intel 64bit Architecture
 
The x86 Family
The x86 FamilyThe x86 Family
The x86 Family
 
physical and logical data independence
physical and logical data independencephysical and logical data independence
physical and logical data independence
 
Arp (address resolution protocol)
Arp (address resolution protocol)Arp (address resolution protocol)
Arp (address resolution protocol)
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
 
7 Cs Ppt With Excercises
7 Cs Ppt With Excercises7 Cs Ppt With Excercises
7 Cs Ppt With Excercises
 

Similar to Chapt 02 ia-32 processer architecture

chapt_02.ppt
chapt_02.pptchapt_02.ppt
chapt_02.ppt
Ranaqamar6
 
Chapt 01 basic concepts
Chapt 01   basic conceptsChapt 01   basic concepts
Chapt 01 basic concepts
bushrakainat214
 
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
ssuser65bfce
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Odinot Stanislas
 
Ceph
CephCeph
Chapt 01
Chapt 01Chapt 01
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
Intel IT Center
 
Intel tools to optimize HPC systems
Intel tools to optimize HPC systemsIntel tools to optimize HPC systems
Intel tools to optimize HPC systems
Intel Software Brasil
 
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
Ceph Community
 
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
inwin stack
 
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdffinaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
NazarAhmadAlkhidir
 
E scala design platform
E scala design platformE scala design platform
E scala design platform
esenciatech
 
Ceph Day KL - Delivering cost-effective, high performance Ceph cluster
Ceph Day KL - Delivering cost-effective, high performance Ceph clusterCeph Day KL - Delivering cost-effective, high performance Ceph cluster
Ceph Day KL - Delivering cost-effective, high performance Ceph cluster
Ceph Community
 
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Community
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
HPCC Systems
 
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
Slide_N
 
0 foundation update__final - Mendy Furmanek
0 foundation update__final - Mendy Furmanek0 foundation update__final - Mendy Furmanek
0 foundation update__final - Mendy Furmanek
Yutaka Kawai
 
Scale Up Performance with Intel® Development
Scale Up Performance with Intel® DevelopmentScale Up Performance with Intel® Development
Scale Up Performance with Intel® Development
Intel IT Center
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux Ecosystem
IBM
 
Ceph Day Tokyo - Delivering cost effective, high performance Ceph cluster
Ceph Day Tokyo - Delivering cost effective, high performance Ceph clusterCeph Day Tokyo - Delivering cost effective, high performance Ceph cluster
Ceph Day Tokyo - Delivering cost effective, high performance Ceph cluster
Ceph Community
 

Similar to Chapt 02 ia-32 processer architecture (20)

chapt_02.ppt
chapt_02.pptchapt_02.ppt
chapt_02.ppt
 
Chapt 01 basic concepts
Chapt 01   basic conceptsChapt 01   basic concepts
Chapt 01 basic concepts
 
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
Assembly Language for x86 Processors 7th Edition Chapter 2 : x86 Processor Ar...
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Ceph
CephCeph
Ceph
 
Chapt 01
Chapt 01Chapt 01
Chapt 01
 
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
Are you ready to work in the Parallel Universe? Rise to the challenge at SC13
 
Intel tools to optimize HPC systems
Intel tools to optimize HPC systemsIntel tools to optimize HPC systems
Intel tools to optimize HPC systems
 
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
Ceph Day Seoul - Delivering Cost Effective, High Performance Ceph cluster
 
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
Intel - optimizing ceph performance by leveraging intel® optane™ and 3 d nand...
 
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdffinaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
finaldraft-intelcorei5processorsarchitecture-130207093535-phpapp01.pdf
 
E scala design platform
E scala design platformE scala design platform
E scala design platform
 
Ceph Day KL - Delivering cost-effective, high performance Ceph cluster
Ceph Day KL - Delivering cost-effective, high performance Ceph clusterCeph Day KL - Delivering cost-effective, high performance Ceph cluster
Ceph Day KL - Delivering cost-effective, high performance Ceph cluster
 
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
 
OpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC SystemsOpenPOWER Acceleration of HPCC Systems
OpenPOWER Acceleration of HPCC Systems
 
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
Toshiba's Approach to Consumer Product Applications by Cell and Desire/Challe...
 
0 foundation update__final - Mendy Furmanek
0 foundation update__final - Mendy Furmanek0 foundation update__final - Mendy Furmanek
0 foundation update__final - Mendy Furmanek
 
Scale Up Performance with Intel® Development
Scale Up Performance with Intel® DevelopmentScale Up Performance with Intel® Development
Scale Up Performance with Intel® Development
 
Exploring the Open Source Linux Ecosystem
Exploring the Open Source Linux EcosystemExploring the Open Source Linux Ecosystem
Exploring the Open Source Linux Ecosystem
 
Ceph Day Tokyo - Delivering cost effective, high performance Ceph cluster
Ceph Day Tokyo - Delivering cost effective, high performance Ceph clusterCeph Day Tokyo - Delivering cost effective, high performance Ceph cluster
Ceph Day Tokyo - Delivering cost effective, high performance Ceph cluster
 

Recently uploaded

Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
servicesNitor
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
jrodriguezq3110
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
wonyong hwang
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
manji sharman06
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 

Recently uploaded (20)

Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)Hyperledger Besu 빨리 따라하기 (Private Networks)
Hyperledger Besu 빨리 따라하기 (Private Networks)
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 

Chapt 02 ia-32 processer architecture

  • 1. Assembly Language for Intel-BasedAssembly Language for Intel-Based Computers, 5Computers, 5thth EditionEdition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, 2006-2007. All rights reserved. You may modify and copy this slide show for your personal use, or for use in the classroom, as long as this copyright statement, the author's name, and the title are not changed. Slides prepared by the author Revision date: June 4, 2006 Kip Irvine
  • 2. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 2 Chapter OverviewChapter Overview • General Concepts • IA-32 Processor Architecture • IA-32 Memory Management • Components of an IA-32 Microcomputer • Input-Output System
  • 3. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 3 General ConceptsGeneral Concepts • Basic microcomputer design • Instruction execution cycle • Reading from memory • How programs run
  • 4. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 4 Basic Microcomputer DesignBasic Microcomputer Design • clock synchronizes CPU operations • control unit (CU) coordinates sequence of execution steps • ALU performs arithmetic and bitwise processing
  • 5. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 5 ClockClock • synchronizes all CPU and BUS operations • machine (clock) cycle measures time of a single operation • clock is used to trigger events one cycle 1 0
  • 6. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 6 Instruction Execution CycleInstruction Execution Cycle • Fetch • Decode • Fetch operands • Execute • Store output
  • 7. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 7 Multi-Stage PipelineMulti-Stage Pipeline • Pipelining makes it possible for processor to execute instructions in parallel • Instruction execution divided into discrete stages Example of a non- pipelined processor. Many wasted cycles.
  • 8. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 8 Pipelined ExecutionPipelined Execution • More efficient use of cycles, greater throughput of instructions: For k states and n instructions, the number of required cycles is: k + (n – 1)
  • 9. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 9 Wasted Cycles (pipelined)Wasted Cycles (pipelined) • When one of the stages requires two or more clock cycles, clock cycles are again wasted. For k states and n instructions, the number of required cycles is: k + (2n – 1)
  • 10. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 10 SuperscalarSuperscalar A superscalar processor has multiple execution pipelines. In the following, note that Stage S4 has left and right pipelines (u and v). For k states and n instructions, the number of required cycles is: k + n
  • 11. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 11 Reading from MemoryReading from Memory • Multiple machine cycles are required when reading from memory, because it responds much more slowly than the CPU. The steps are: • address placed on address bus • Read Line (RD) set low • CPU waits one cycle for memory to respond • Read Line (RD) goes to 1, indicating that the data is on the data bus Cycle 1 Cycle 2 Cycle 3 Cycle 4 Data Address CLK ADDR RD DATA
  • 12. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 12 Cache MemoryCache Memory • High-speed expensive static RAM both inside and outside the CPU. • Level-1 cache: inside the CPU • Level-2 cache: outside the CPU • Cache hit: when data to be read is already in cache memory • Cache miss: when data to be read is not in cache memory.
  • 13. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 13 How a Program RunsHow a Program Runs
  • 14. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 14 MultitaskingMultitasking • OS can run multiple programs at the same time. • Multiple threads of execution within the same program. • Scheduler utility assigns a given amount of CPU time to each running program. • Rapid switching of tasks • gives illusion that all programs are running at once • the processor must support task switching.
  • 15. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 15 What's NextWhat's Next • General Concepts • IA-32 Processor Architecture • IA-32 Memory Management • Components of an IA-32 Microcomputer • Input-Output System
  • 16. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 16 IA-32 Processor ArchitectureIA-32 Processor Architecture • Modes of operation • Basic execution environment • Floating-point unit • Intel Microprocessor history
  • 17. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 17 Modes of OperationModes of Operation • Protected mode • native mode (Windows, Linux) • 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
  • 18. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 18 Basic Execution EnvironmentBasic Execution Environment • Addressable memory • General-purpose registers • Index and base registers • Specialized register uses • Status flags • Floating-point, MMX, XMM registers
  • 19. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 19 Addressable MemoryAddressable Memory • Protected mode • 4 GB • 32-bit address • Real-address and Virtual-8086 modes • 1 MB space • 20-bit address
  • 20. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 20 General-Purpose RegistersGeneral-Purpose Registers CS SS DS ES EIP EFLAGS 16-bit Segment Registers EAX EBX ECX EDX 32-bit General-Purpose Registers FS GS EBP ESP ESI EDI Named storage locations inside the CPU, optimized for speed.
  • 21. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 21 Accessing Parts of RegistersAccessing Parts of Registers • Use 8-bit name, 16-bit name, or 32-bit name • Applies to EAX, EBX, ECX, and EDX
  • 22. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 22 Index and Base RegistersIndex and Base Registers • Some registers have only a 16-bit name for their lower half:
  • 23. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 23 Some Specialized Register UsesSome Specialized Register Uses (1 of 2)(1 of 2) • General-Purpose • EAX – accumulator • ECX – loop counter • ESP – stack pointer • ESI, EDI – index registers • EBP – extended frame pointer (stack) • Segment • CS – code segment • DS – data segment • SS – stack segment • ES, FS, GS - additional segments
  • 24. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 24 Some Specialized Register UsesSome Specialized Register Uses (2 of 2)(2 of 2) • EIP – instruction pointer • EFLAGS • status and control flags • each flag is a single binary bit
  • 25. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 25 Status FlagsStatus 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
  • 26. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 26 Floating-Point, MMX, XMM RegistersFloating-Point, MMX, XMM Registers • Eight 80-bit floating-point data registers • ST(0), ST(1), . . . , ST(7) • arranged in a stack • used for all floating-point arithmetic • Eight 64-bit MMX registers • Eight 128-bit XMM registers for single- instruction multiple-data (SIMD) operations
  • 27. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 27 Intel Microprocessor HistoryIntel Microprocessor History • Intel 8086, 80286 • IA-32 processor family • P6 processor family • CISC and RISC
  • 28. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 28 Early Intel MicroprocessorsEarly Intel Microprocessors • Intel 8080 • 64K addressable RAM • 8-bit registers • CP/M operating system • S-100 BUS architecture • 8-inch floppy disks! • Intel 8086/8088 • IBM-PC Used 8088 • 1 MB addressable RAM • 16-bit registers • 16-bit data bus (8-bit for 8088) • separate floating-point unit (8087)
  • 29. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 29 The IBM-ATThe IBM-AT • Intel 80286 • 16 MB addressable RAM • Protected memory • several times faster than 8086 • introduced IDE bus architecture • 80287 floating point unit
  • 30. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 30 Intel IA-32 FamilyIntel IA-32 Family • Intel386 • 4 GB addressable RAM, 32-bit registers, paging (virtual memory) • Intel486 • instruction pipelining • Pentium • superscalar, 32-bit address bus, 64-bit internal data path
  • 31. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 31 Intel P6 FamilyIntel P6 Family • Pentium Pro • advanced optimization techniques in microcode • Pentium II • MMX (multimedia) instruction set • Pentium III • SIMD (streaming extensions) instructions • Pentium 4 and Xeon • Intel NetBurst micro-architecture, tuned for multimedia
  • 32. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 32 CISC and RISCCISC and RISC • CISC – complex instruction set • large instruction set • high-level operations • requires microcode interpreter • examples: Intel 80x86 family • RISC – reduced instruction set • simple, atomic instructions • small instruction set • directly executed by hardware • examples: • ARM (Advanced RISC Machines) • DEC Alpha (now Compaq)
  • 33. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 33 What's NextWhat's Next • General Concepts • IA-32 Processor Architecture • IA-32 Memory Management • Components of an IA-32 Microcomputer • Input-Output System
  • 34. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 34 IA-32 Memory ManagementIA-32 Memory Management • Real-address mode • Calculating linear addresses • Protected mode • Multi-segment model • Paging
  • 35. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 35 Real-Address modeReal-Address mode • 1 MB RAM maximum addressable • Application programs can access any area of memory • Single tasking • Supported by MS-DOS operating system
  • 36. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 36 Segmented MemorySegmented Memory Segmented memory addressing: absolute (linear) address is a combination of a 16-bit segment value added to a 16-bit offsetlinearaddresses one segment
  • 37. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 37 Calculating Linear AddressesCalculating Linear Addresses • Given a segment address, multiply it by 16 (add a hexadecimal zero), and add it to the offset • Example: convert 08F1:0100 to a linear address Adjusted Segment value: 0 8 F 1 0 Add the offset: 0 1 0 0 Linear address: 0 9 0 1 0
  • 38. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 38 Your turn . . .Your turn . . . What linear address corresponds to the segment/offset address 028F:0030? 028F0 + 0030 = 02920 Always use hexadecimal notation for addresses.
  • 39. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 39 Your turn . . .Your turn . . . What segment addresses correspond to the linear address 28F30h? Many different segment-offset addresses can produce the linear address 28F30h. For example: 28F0:0030, 28F3:0000, 28B0:0430, . . .
  • 40. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 40 Protected ModeProtected Mode (1 of 2)(1 of 2) • 4 GB addressable RAM • (00000000 to FFFFFFFFh) • Each program assigned a memory partition which is protected from other programs • Designed for multitasking • Supported by Linux & MS-Windows
  • 41. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 41 Protected modeProtected mode (2 of 2)(2 of 2) • Segment descriptor tables • Program structure • code, data, and stack areas • CS, DS, SS segment descriptors • global descriptor table (GDT) • MASM Programs use the Microsoft flat memory model
  • 42. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 42 Flat Segment ModelFlat Segment Model • Single global descriptor table (GDT). • All segments mapped to entire 32-bit address space
  • 43. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 43 Multi-Segment ModelMulti-Segment Model • Each program has a local descriptor table (LDT) • holds descriptor for each segment used by the program
  • 44. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 44 PagingPaging • Supported directly by the CPU • Divides each segment into 4096-byte blocks called pages • Sum of all programs can be larger than physical memory • Part of running program is in memory, part is on disk • Virtual memory manager (VMM) – OS utility that manages the loading and unloading of pages • Page fault – issued by CPU when a page must be loaded from disk
  • 45. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 45 What's NextWhat's Next • General Concepts • IA-32 Processor Architecture • IA-32 Memory Management • Components of an IA-32 Microcomputer • Input-Output System
  • 46. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 46 Components of an IA-32 MicrocomputerComponents of an IA-32 Microcomputer • Motherboard • Video output • Memory • Input-output ports
  • 47. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 47 MotherboardMotherboard • CPU socket • External cache memory slots • Main memory slots • BIOS chips • Sound synthesizer chip (optional) • Video controller chip (optional) • IDE, parallel, serial, USB, video, keyboard, joystick, network, and mouse connectors • PCI bus connectors (expansion cards)
  • 48. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 48 Intel D850MD MotherboardIntel D850MD Motherboard dynamic RAM Pentium 4 socket Speaker IDE drive connectors mouse, keyboard, parallel, serial, and USB connectors AGP slot Battery Video Power connector memory controller hub Diskette connector PCI slots I/O Controller Firmware hub Audio chip Source: Intel® Desktop Board D850MD/D850MV Technical Product Specification
  • 49. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 49 Video OutputVideo Output • Video controller • on motherboard, or on expansion card • AGP (accelerated graphics port technology)* • Video memory (VRAM) • Video CRT Display • uses raster scanning • horizontal retrace • vertical retrace • Direct digital LCD monitors • no raster scanning required * This link may change over time.
  • 50. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 50 Sample Video Controller (ATI Corp.)Sample Video Controller (ATI Corp.) • 128-bit 3D graphics performance powered by RAGE™ 128 PRO • 3D graphics performance • Intelligent TV-Tuner with Digital VCR • TV-ON-DEMAND™ • Interactive Program Guide • Still image and MPEG-2 motion video capture • Video editing • Hardware DVD video playback • Video output to TV or VCR
  • 51. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 51 MemoryMemory • ROM • read-only memory • EPROM • erasable programmable read-only memory • 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 • CMOS RAM • complimentary metal-oxide semiconductor • system setup information • See: Intel platform memory (Intel technology brief: link address may change)
  • 52. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 52 Input-Output PortsInput-Output Ports • USB (universal serial bus) • intelligent high-speed connection to devices • up to 12 megabits/second • USB hub connects multiple devices • enumeration: computer queries devices • supports hot connections • Parallel • short cable, high speed • common for printers • bidirectional, parallel data transfer • Intel 8255 controller chip
  • 53. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 53 Input-Output PortsInput-Output Ports (cont)(cont) • Serial • RS-232 serial port • one bit at a time • uses long cables and modems • 16550 UART (universal asynchronous receiver transmitter) • programmable in assembly language
  • 54. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 54 What's NextWhat's Next • General Concepts • IA-32 Processor Architecture • IA-32 Memory Management • Components of an IA-32 Microcomputer • Input-Output System
  • 55. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 55 Levels of Input-OutputLevels of Input-Output • Level 3: Call a library function (C++, Java) • easy to do; abstracted from hardware; details hidden • slowest performance • Level 2: Call an operating system function • specific to one OS; device-independent • medium performance • Level 1: Call a BIOS (basic input-output system) function • may produce different results on different systems • knowledge of hardware required • usually good performance • Level 0: Communicate directly with the hardware • May not be allowed by some operating systems
  • 56. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 56 Displaying a String of CharactersDisplaying a String of Characters When a HLL program displays a string of characters, the following steps take place:
  • 57. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 57 ASM Programming levelsASM Programming levels ASM programs can perform input-output at each of the following levels:
  • 58. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 58 SummarySummary • Central Processing Unit (CPU) • Arithmetic Logic Unit (ALU) • Instruction execution cycle • Multitasking • Floating Point Unit (FPU) • Complex Instruction Set • Real mode and Protected mode • Motherboard components • Memory types • Input/Output and access levels
  • 59. Web site ExamplesIrvine, Kip R. Assembly Language for Intel-Based Computers 5/e, 2007. 59 42 69 6E 61 72 7942 69 6E 61 72 79