Chapter Overview General Concepts IA-32 Processor Architecture

Slides:



Advertisements
Similar presentations
Computer Organization and Assembly Language
Advertisements

Computer Organization and Assembly Languages Yung-Yu Chuang
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
CS2422 Assembly Language & System Programming September 19, 2006.
IA-32 Architecture Computer Organization &
IA-32 Processor Architecture
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
Vacuum tubes Transistor 1948 ICs 1960s Microprocessors 1970s.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved.
1 ICS 51 Introductory Computer Organization Fall 2006 updated: Oct. 2, 2006.
IA-32 Architecture COE 205 Computer Organization and Assembly Language Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University.
Assembly Language for Intel-Based Computers Chapter 2: IA-32 Processor Architecture Kip Irvine.
Assembly Language Basic Concepts IA-32 Processor Architecture.
Vacuum tubes Transistor 1948 –Smaller, Cheaper, Less heat dissipation, Made from Silicon (Sand) –Invented at Bell Labs –Shockley, Brittain, Bardeen ICs.
CS2422 Assembly Language & System Programming September 22, 2005.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 2 The Microprocessor and its Architecture.
Assembly Language for x86 Processors 6 th Edition Chapter 2: x86 Processor Architecture (c) Pearson Education, All rights reserved. You may modify.
An Introduction to IA-32 Processor Architecture Eddie Lopez CSCI 6303 Oct 6, 2008.
Assembly Language for Intel-Based Computers, 5th Edition
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved.
Assembly Language for x86 Processors 6th Edition
Irvine, Kip R. Assembly Language for x86 Processors 6/e, IA-32 Processor Architecture Modes of operation Basic execution environment Floating-point.
Chapter 2: IA-32 Processor Architecture. Chapter Overview General Concepts IA-32 Processor Architecture IA-32 Memory Management Components of an IA-32.
Assembly Language for Intel-Based Computers, 5 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved.
Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You may modify and copy this slide show for your personal.
Assembly Language Basic Concepts IA-32 Processor Architecture.
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Assembly Language for x86 Processors 7th Edition
1 Fundamental of Computer Suthida Chaichomchuen : SCC
Intel Pentium II Processor Brent Perry Pat Reagan Brian Davis Umesh Vemuri.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
IA32 (Pentium) Processor Architecture. Processor modes: 1.Protected (mode we will study) – 32-bit mode – 32-bit (4GB) address space 2.Virtual 8086 modes.
Assembly Language for x86 Processors 7th Edition
Assembly Language for x86 Processors 6 th Edition Chapter 2: x86 Processor Architecture (c) Pearson Education, All rights reserved. You may modify.
Chapter 2 Parts of a Computer System. 2.1 PC Hardware: Memory.
Computers organization & Assembly Language Chapter 1 THE 80x86 MICROPROCESSOR.
Sahar Mosleh California State University San MarcosPage 1 Intel IA-32 Architecture This lecture describes the architecture of the Intel IA-32 processor.
INTRODUCTION TO INTEL X-86 FAMILY
Introduction to Intel IA-32 and IA-64 Instruction Set Architectures.
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
Assembly Language for Intel-Based Computers, 4 th Edition Chapter 2: IA-32 Processor Architecture (c) Pearson Education, All rights reserved. You.
BITS Pilani Pilani Campus Pawan Sharma Lecture / ES C263 INSTR/CS/EEE F241 Microprocessor Programming and Interfacing.
1 Chapter 2: IA-32 Processor Architecture Assembly Language for Intel-Based Computers, 5th edition Kip R. Irvine 2/21/07.
Assembly Language for x86 Processors 6th Edition
Assembly language.
x86 Processor Architecture
Assembly Language for Intel-Based Computers, 5th Edition
Assembly Language for Intel-Based Computers, 5th Edition
Basic Microprocessor Architecture
Basic Computer Organization
Homework Reading Continue work on mp1
Assembly Language for Intel-Based Computers, 4th Edition
Assembly Language for x86 Processors
Basic of Computer Organization
COAL Chapter 1,2,3.
Intel Microprocessor.
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/10/6
Microprocessor & Assembly Language
Morgan Kaufmann Publishers Computer Organization and Assembly Language
CS 301 Fall 2002 Computer Organization
The Microprocessor & Its Architecture
Assembly Language (CSW 353)
Computer Architecture CST 250
Assembly Language for Intel-Based Computers, 5th Edition
Computer Architecture and System Programming Laboratory
Presentation transcript:

Chapter Overview General Concepts IA-32 Processor Architecture IA-32 Memory Management Components of an IA-32 Microcomputer Input-Output System Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

General Concepts Basic microcomputer design Instruction execution cycle Reading from memory How programs run Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Basic Microcomputer Design clock synchronizes CPU operations control unit (CU) coordinates sequence of execution steps ALU performs arithmetic and bitwise processing Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Clock synchronizes all CPU and BUS operations machine (clock) cycle measures time of a single operation clock is used to trigger events Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Instruction Execution Cycle Fetch Decode Fetch operands Execute Store output Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Multi-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. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Pipelined 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) Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

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) Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Superscalar 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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Reading 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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

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 Cache hit: when data to be read is already in cache memory Cache miss: when data to be read is not in cache memory. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

How a Program Runs Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Multitasking 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. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

IA-32 Processor Architecture Modes of operation Basic execution environment Floating-point unit Intel Microprocessor history Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Modes of Operation Protected mode Real-address 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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Basic Execution Environment Addressable memory General-purpose registers Index and base registers Specialized register uses Status flags Floating-point, MMX, XMM registers Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Addressable Memory Protected mode Real-address and Virtual-8086 modes 4 GB 32-bit address Real-address and Virtual-8086 modes 1 MB space 20-bit address Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

General-Purpose Registers Named storage locations inside the CPU, optimized for speed. Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Accessing Parts of Registers Use 8-bit name, 16-bit name, or 32-bit name Applies to EAX, EBX, ECX, and EDX Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Index and Base Registers Some registers have only a 16-bit name for their lower half: Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Some Specialized Register Uses (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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Some Specialized Register Uses (2 of 2) EIP – instruction pointer EFLAGS status and control flags each flag is a single binary bit Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Status Flags Carry Overflow Sign Zero Auxiliary Carry Parity 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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Floating-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 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Intel Microprocessor History IA-32 processor family P6 processor family CISC and RISC Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

Early Intel Microprocessors 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) Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.

The IBM-AT Intel 80286 16 MB addressable RAM Protected memory several times faster than 8086 introduced IDE bus architecture 80287 floating point unit Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003.