Processor Organization and Performance

Size: px
Start display at page:

Download "Processor Organization and Performance"

Transcription

1 Processor Organization and Performance Chapter 6 S. Dandamudi Outline Introduction Number of addresses 3-address machines 2-address machines 1-address machines 0-address machines Load/store architecture Flow control Branching Procedure calls Delayed versions Parameter passing Instruction set design issues Operand types Addressing modes Instruction types Instruction formats Microprogrammed control Implementation issues Performance Performance metrics Execution time calculation Means of performance The SPEC benchmarks S. Dandamudi Chapter 6: Page 2 1

2 Introduction We discuss three processor-related issues» Instruction set design issues Number of addresses Addressing modes Instruction types Instruction formats» Microprogrammed control Hardware implementation Software implementation» Performance issues Performance metrics Standards S. Dandamudi Chapter 6: Page 3 Number of Addresses Four categories 3-address machines» 2 for the source operands and one for the result 2-address machines» One address doubles as source and result 1-address machine» Accumulator machines» Accumulator is used for one source and result 0-address machines» Stack machines» Operands are taken from the stack» Result goes onto the stack S. Dandamudi Chapter 6: Page 4 2

3 Number of Addresses (cont d) Three-address machines Two for the source operands, one for the result RISC processors use three addresses Sample instructions add dest,src1,src2 ; M(dest)=[src1]+[src2] sub dest,src1,src2 ; M(dest)=[src1]-[src2] mult dest,src1,src2 ; M(dest)=[src1]*[src2] S. Dandamudi Chapter 6: Page 5 Example Number of Addresses (cont d) C statement A = B + C * D E + F + A Equivalent code: mult T,C,D ;T = C*D add T,T,B ;T = B+C*D sub T,T,E ;T = B+C*D-E add T,T,F ;T = B+C*D-E+F add A,T,A ;A = B+C*D-E+F+A S. Dandamudi Chapter 6: Page 6 3

4 Number of Addresses (cont d) Two-address machines One address doubles (for source operand & result) Last example makes a case for it» Address T is used twice Sample instructions load dest,src ; M(dest)=[src] add dest,src ; M(dest)=[dest]+[src] sub dest,src ; M(dest)=[dest]-[src] mult dest,src ; M(dest)=[dest]*[src] S. Dandamudi Chapter 6: Page 7 Number of Addresses (cont d) Example C statement A = B + C * D E + F + A Equivalent code: load T,C ;T = C mult T,D ;T = C*D add T,B ;T = B+C*D sub T,E ;T = B+C*D-E add T,F ;T = B+C*D-E+F add A,T ;A = B+C*D-E+F+A S. Dandamudi Chapter 6: Page 8 4

5 Number of Addresses (cont d) One-address machines Uses special set of registers called accumulators» Specify one source operand & receive the result Called accumulator machines Sample instructions load addr ; accum = [addr] store addr ; M[addr] = accum add addr ; accum = accum + [addr] sub addr ; accum = accum - [addr] mult addr ; accum = accum * [addr] S. Dandamudi Chapter 6: Page 9 Number of Addresses (cont d) Example C statement A = B + C * D E + F + A Equivalent code: load C ;load C into accum mult D ;accum = C*D add B ;accum = C*D+B sub E ;accum = B+C*D-E add F ;accum = B+C*D-E+F add A ;accum = B+C*D-E+F+A store A ;store accum contents in A S. Dandamudi Chapter 6: Page 10 5

6 Number of Addresses (cont d) Zero-address machines Stack supplies operands and receives the result» Special instructions to load and store use an address Called stack machines (Ex: HP3000, Burroughs B5500) Sample instructions push addr ; push([addr]) pop addr ; pop([addr]) add ; push(pop + pop) sub ; push(pop - pop) mult ; push(pop * pop) S. Dandamudi Chapter 6: Page 11 Number of Addresses (cont d) Example C statement A = B + C * D E + F + A Equivalent code: push E sub push C push F push D add Mult push A push B add add pop A S. Dandamudi Chapter 6: Page 12 6

7 Number of Addresses (cont d) S. Dandamudi Chapter 6: Page 13 Load/Store Architecture Instructions expect operands in internal processor registers Special LOAD and STORE instructions move data between registers and memory RISC and vector processors use this architecture Reduces instruction length S. Dandamudi Chapter 6: Page 14 7

8 Load/Store Architecture (cont d) Sample instructions load Rd,addr ;Rd = [addr] store addr,rs ;(addr) = Rs add Rd,Rs1,Rs2 ;Rd = Rs1 + Rs2 sub Rd,Rs1,Rs2 ;Rd = Rs1 - Rs2 mult Rd,Rs1,Rs2 ;Rd = Rs1 * Rs2 S. Dandamudi Chapter 6: Page 15 Number of Addresses (cont d) Example C statement A = B + C * D E + F + A Equivalent code: load R1,B mult R2,R2,R3 load R2,C add R2,R2,R1 load R3,D sub R2,R2,R4 load R4,E add R2,R2,R5 load R5,F add R2,R2,R6 load R6,A store A,R2 S. Dandamudi Chapter 6: Page 16 8

9 Flow of Control Default is sequential flow Several instructions alter this default execution Branches» Unconditional» Conditional» Delayed branches Procedure calls» Delayed procedure calls S. Dandamudi Chapter 6: Page 17 Branches Flow of Control (cont d) Unconditional» Absolute address» PC-relative Target address is specified relative to PC contents Example: MIPS» Absolute address j target» PC-relative b target S. Dandamudi Chapter 6: Page 18 9

10 Flow of Control (cont d) S. Dandamudi Chapter 6: Page 19 Branches Flow of Control (cont d) Conditional» Jump is taken only if the condition is met Two types»set-then-jump Condition testing is separated from branching Condition code registers are used to convey the condition test result» Example: Pentium code cmp AX,BX je target S. Dandamudi Chapter 6: Page 20 10

11 Flow of Control (cont d)» Test-and-Jump Single instruction performs condition testing and branching» Example: MIPS instruction beq Rsrc1,Rsrc2,target Jumps to target if Rsrc1 = Rsrc2 Delayed branching Control is transferred after executing the instruction that follows the branch instruction» This instruction slot is called delay slot Improves efficiency S. Dandamudi Chapter 6: Page 21 Procedure calls Flow of Control (cont d) Requires two pieces of information to return» End of procedure Pentium uses ret instruction MIPS uses jr instruction» Return address In a (special) register MIPS allows any general-purpose register On the stack Pentium S. Dandamudi Chapter 6: Page 22 11

12 Flow of Control (cont d) S. Dandamudi Chapter 6: Page 23 Flow of Control (cont d) Delay slot S. Dandamudi Chapter 6: Page 24 12

13 Two basic techniques Parameter Passing Register-based» Internal registers are used Faster Limit the number of parameters Stack-based» Stack is used More general Recent processors use Register window mechanism» Examples: SPARC and Itanium (discussed in later chapters) S. Dandamudi Chapter 6: Page 25 Operand Types Instructions support basic data types Characters Integers Floating-point Instruction overload Same instruction for different data types Example: Pentium mov AL,address ;loads an 8-bit value mov AX,address ;loads a 16-bit value mov EAX,address ;loads a 32-bit value S. Dandamudi Chapter 6: Page 26 13

14 Separate instructions Operand Types Instructions specify the operand size Example: MIPS lb Rdest,address ;loads a byte lh Rdest,address ;loads a halfword ;(16 bits) lw Rdest,address ;loads a word ;(32 bits) ld Rdest,address ;loads a doubleword ;(64 bits) S. Dandamudi Chapter 6: Page 27 Addressing Modes Refers to how the operands are specified Operands can be in three places»registers Register addressing mode» Part of instruction Constant Immediate addressing mode All processors support these two addressing modes»memory Difference between RISC and CISC CISC supports a large variety of addressing modes RISC follows load/store architecture S. Dandamudi Chapter 6: Page 28 14

15 Addressing Modes (cont d) Most RISC processors support two memory addressing modes address = Register + constant address = Register + Register CISC processors like Pentium support a variety of addressing modes» Motivation: To efficiently support high-level language data structures Example: Accessing a 2-D array S. Dandamudi Chapter 6: Page 29 Instruction Types Several types of instructions Data movement» Pentium: mov dest,src» Some do not provide direct data movement instructions» Indirect data movement add Rdest,Rsrc,0 ;Rdest = Rsrc+0 Arithmetic and Logical» Arithmetic Integer and floating-point, signed and unsigned add, subtract, multiply, divide» Logical and, or, not, xor S. Dandamudi Chapter 6: Page 30 15

16 Condition code bits Instruction Types (cont d) S: Sign bit (0 = +, 1= ) Z: Zero bit (0 = nonzero, 1 = zero) O: Overflow bit (0 = no overflow, 1 = overflow) C: Carry bit (0 = no carry, 1 = carry) Example: Pentium cmp count,25 je target S. Dandamudi Chapter 6: Page 31 Instruction Types (cont d) Flow control and I/O instructions»branch» Procedure call» Interrupts I/O instructions» Memory-mapped I/O Most processors support memory-mapped I/O No separate instructions for I/O» Isolated I/O Pentium supports isolated I/O Separate I/O instructions in AX,io_port ;read from an I/O port out io_port,ax ;write to an I/O port S. Dandamudi Chapter 6: Page 32 16

17 Two types Instruction Formats Fixed-length» Used by RISC processors» 32-bit RISC processors use 32-bits wide instructions Examples: SPARC, MIPS, PowerPC» 64-bit Itanium uses 41-bit wide instructions Variable-length» Used by CISC processors» Memory operands need more bits to specify Opcode Major and exact operation S. Dandamudi Chapter 6: Page 33 Instruction Formats (cont d) S. Dandamudi Chapter 6: Page 34 17

18 Microprogrammed Control Introduction in Chapter 1 1-bus datapath Assume all entities are 32-bit wide PC register» Program counter IR register» Holds the instruction to be executed MAR register» Address of the operand to be stored in memory MDR register» Holds the operand for memory operations S. Dandamudi Chapter 6: Page 35 Microprogrammed Control (cont d) 1-bus datapath S. Dandamudi Chapter 6: Page 36 18

19 Microprogrammed Control (cont d) ALU circuit details S. Dandamudi Chapter 6: Page 37 Microprogrammed Control (cont d) Has bit general-purpose registers Interface only with the A-bus Each register has two control signals» Gxin and Gxout Control signals used by the other registers PC register:» PCin, PCout, and PCbout IR register:» IRout and IRbin MAR register:» MARin, MARout, and MARbout MDR register:» MDRin, MDRout, MDRbin and MDRbout S. Dandamudi Chapter 6: Page 38 19

20 Microprogrammed Control (cont d) Memory interface implementation details S. Dandamudi Chapter 6: Page 39 Microprogrammed Control (cont d) add %G9,%G5,%G7 Implemented as» Transfer G5 contents to A register Assert G5out and Ain» Place G7 contents on the A bus Assert G7out» Instruct ALU to perform addition Appropriate ALU function control signals» Latch the result in the C register Assert Cin» Transfer contents of the C register to G9 Assert Cout and G9in S. Dandamudi Chapter 6: Page 40 20

21 Microprogrammed Control (cont d) Example instruction groups Load/store» Moves data between registers and memory Register» Arithmetic and logic instructions Branch» Jump direct/indirect Call» Procedures invocation mechanisms More S. Dandamudi Chapter 6: Page 41 Microprogrammed Control (cont d) High-level FSM for instruction execution S. Dandamudi Chapter 6: Page 42 21

22 Microprogrammed Control (cont d) Implementation Hardware» Typical approach in RISC processors Software» Typical approach in CISC processors Hardware implementation PLA based implementation shown» Three control signals Opcode via the IR register Status and condition codes Counter to keep track of the steps in instruction execution S. Dandamudi Chapter 6: Page 43 Microprogrammed Control (cont d) Controller implementation S. Dandamudi Chapter 6: Page 44 22

23 Microprogrammed Control (cont d) Software implementation Typically used in CISC» Hardware implementation is complex and expensive Example add %G9,%G5,%G7 Three steps S1 G5out: Ain; S2 G7out: ALU=add: Cin; S3 Cout: G9in: end; S. Dandamudi Chapter 6: Page 45 Microprogrammed Control (cont d) Uses a microprogram to generate the control signals Encode the signals of each step as a codeword» Called microinstruction A instruction is expressed by a sequence of codewords» Called microroutine Microprogram essentially implements the FSM discussed before A simple microprogram structure is on the next slide S. Dandamudi Chapter 6: Page 46 23

24 Microprogrammed Control (cont d) Simple microcode organization S. Dandamudi Chapter 6: Page 47 Microprogrammed Control (cont d) A simple microcontroller can execute a microprogram to generate the control signals Control store» Stores microprogram Uses µpc» Similar to PC Address generator» Generates appropriate address depending on the Opcode, and Condition code inputs S. Dandamudi Chapter 6: Page 48 24

25 Microprogrammed Control (cont d) Microcontroller S. Dandamudi Chapter 6: Page 49 Microprogrammed Control (cont d) Problems with previous design: Makes microprograms long by replicating the common parts of microcode Efficient way: Keep only one copy of common code Use branching to jump to the appropriate microroutine S. Dandamudi Chapter 6: Page 50 25

26 Microprogrammed Control (cont d) Microinstruction format Two basic ways» Horizontal organization» Vertical organization Horizontal organization One bit for each signal Very flexible Long microinstructions Example: 1-bus datapath Needs 90 bits for each microinstruction S. Dandamudi Chapter 6: Page 51 Microprogrammed Control (cont d) Horizontal microinstruction format S. Dandamudi Chapter 6: Page 52 26

27 Microprogrammed Control (cont d) Vertical organization Encodes to reduce microinstruction length» Reduced flexibility Example:» Horizontal organization 64 control signals for the 32 general purpose registers» Vertical organization 5 bits to identify the register and 1 for in/out S. Dandamudi Chapter 6: Page 53 Microprogrammed Control (cont d) General register control circuit S. Dandamudi Chapter 6: Page 54 27

28 Microprogrammed Control (cont d) Microcontroller for vertical microcode S. Dandamudi Chapter 6: Page 55 Microprogrammed Control (cont d) Adding more buses reduces time needed to execute instructions No need to multiplex the bus Example add %G9,%G5,%G7 Needed three steps in 1-bus datapath Need only two steps with a 2-bus dtatpath S1 G5out: Ain; S2 G7out: ALU=add: G9in; S. Dandamudi Chapter 6: Page 56 28

29 Microprogrammed Control (cont d) 2-bus datapath S. Dandamudi Chapter 6: Page 57 Two popular metrics Response time»user-oriented Throughput» System-oriented Performance Performance of components Processors, networks, disks, Some simple metrics»mips Simple instruction execution rate»mflops S. Dandamudi Chapter 6: Page 58 29

30 Performance (cont d) Calculating execution time Three factors» Instruction count (IC) CISC processors have simple to complex instructions» Clocks per instruction (CPI) RISC vs. CISC differences» Clock period (T) Execution time = IC * CPI * T This is not response time» Not considering queuing delays S. Dandamudi Chapter 6: Page 59 Means of performance Arithmetic mean»equal weight Performance (cont d) Weighted arithmetic mean» Different weights can be assigned Geometric mean» Geometric mean of a1, a2,, an is (a1 * a2 * * an) 1/n Weighted geometric mean a1 w2 * a2 w2 * * an wn S. Dandamudi Chapter 6: Page 60 30

31 Performance (cont d) Resp. time on machine Normalized values REF A B Ratio A B Ratio Program Program Arith. mean Geo. mean S. Dandamudi Chapter 6: Page 61 Performance (cont d) Problem with arithmetic mean Resp. time on machine A B Program Program Arith. mean Geo. mean S. Dandamudi Chapter 6: Page 62 31

32 SPEC Benchmarks Performance (cont d) SPEC CPU2000» Measures performance of processors, memory, and compiler» Consists of 26 applications Spans four languages C, C++, FORTRAN 77, and FORTRAN 90» Consists of Integer CINT2000 Floating-point CFP2000 S. Dandamudi Chapter 6: Page 63 Performance (cont d) 700 SPECint PIII P Clock rate (MHz) S. Dandamudi Chapter 6: Page 64 32

33 Performance (cont d) 700 SPECfp PIII P Clock rate (MHz) S. Dandamudi Chapter 6: Page 65 SPEC Benchmarks Performance (cont d) SPECmail2001» Standardized mail server benchmark For systems supporting POP3 SMTP» Uses both throughput and response times SPECweb99» Benchmark for HTTP servers SPECjvm98» Benchmark for JVM client platform Last slide S. Dandamudi Chapter 6: Page 66 33

Processor Organization and Performance

Processor Organization and Performance Chapter 6 Processor Organization and Performance 6 1 The three-address format gives the addresses required by most operations: two addresses for the two input operands and one address for the result. However,

More information

Lecture 4: Instruction Set Architecture

Lecture 4: Instruction Set Architecture Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA)... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data

More information

MIPS Assembly Language

MIPS Assembly Language MIPS Assembly Language Chapter 15 S. Dandamudi Outline MIPS architecture Registers Addressing modes MIPS instruction set Instruction format Data transfer instructions Arithmetic instructions Logical/shift/rotate/compare

More information

Instruction Set Design

Instruction Set Design Instruction Set Design software instruction set hardware CPE442 Lec 3 ISA.1 Instruction Set Architecture Programmer's View ADD SUBTRACT AND OR COMPARE... 01010 01110 10011 10001 11010... CPU Memory I/O

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

Introduction to CPU Design

Introduction to CPU Design ١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]

More information

EC-801 Advanced Computer Architecture

EC-801 Advanced Computer Architecture EC-801 Advanced Computer Architecture Lecture 5 Instruction Set Architecture I Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Instruction Set Architecture

More information

Basic Processing Unit (Chapter 7)

Basic Processing Unit (Chapter 7) Basic Processing Unit (Chapter 7) IN1212-PDS 1 Problem instruction? y Decoder a ALU y f Reg IN1212-PDS 2 Basic cycle Assume an instruction occupies a single word in memory Basic cycle to be implemented:

More information

Typical Processor Execution Cycle

Typical Processor Execution Cycle Typical Processor Execution Cycle Instruction Fetch Obtain instruction from program storage Instruction Decode Determine required actions and instruction size Operand Fetch Locate and obtain operand data

More information

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC Philosophy CISC Limitations 1 CISC Creates the Anti CISC Revolution Digital Equipment Company (DEC) introduces VAX (1977) Commercially successful 32-bit CISC minicomputer From CISC to RISC In 1970s and 1980s CISC minicomputers became

More information

Guide to RISC Processors

Guide to RISC Processors Guide to RISC Processors Sivarama P. Dandamudi Guide to RISC Processors for Programmers and Engineers Sivarama P. Dandamudi School of Computer Science Carleton University Ottawa, ON K1S 5B6 Canada sivarama@scs.carleton.ca

More information

The Processing Unit. TU-Delft. in1210/01-pds 1

The Processing Unit. TU-Delft. in1210/01-pds 1 The Processing Unit in1210/01-pds 1 Problem instruction? y Decoder a ALU y f Reg in1210/01-pds 2 Basic cycle! Assume an instruction occupies a single word in memory! Basic cycle to be implemented: 1. Fetch

More information

Computer Organization CS 206 T Lec# 2: Instruction Sets

Computer Organization CS 206 T Lec# 2: Instruction Sets Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

Guide to RISC Processors

Guide to RISC Processors Guide to RISC Processors Sivarama P. Dandamudi Guide to RISC Processors for Programmers and Engineers Sivarama P. Dandamudi School of Computer Science Carleton University Ottawa, ON K1S 5B6 Canada sivarama@scs.carleton.ca

More information

Computer Architecture. The Language of the Machine

Computer Architecture. The Language of the Machine Computer Architecture The Language of the Machine Instruction Sets Basic ISA Classes, Addressing, Format Administrative Matters Operations, Branching, Calling conventions Break Organization All computers

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Advanced Architecture

Advanced Architecture Advanced Architecture Computer Organization and Assembly Languages g Yung-Yu Chuang with slides by S. Dandamudi, Peng-Sheng Chen, Kip Irvine, Robert Sedgwick and Kevin Wayne Basic architecture Basic microcomputer

More information

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers Part (6) CPU BASICS A typical CPU has three major components: 1- register set, 2- arithmetic logic unit (ALU), 3- control unit (CU). The figure below shows the internal structure of the CPU. The CPU fetches

More information

COSC 6385 Computer Architecture. Instruction Set Architectures

COSC 6385 Computer Architecture. Instruction Set Architectures COSC 6385 Computer Architecture Instruction Set Architectures Spring 2012 Instruction Set Architecture (ISA) Definition on Wikipedia: Part of the Computer Architecture related to programming Defines set

More information

Implementing the Control. Simple Questions

Implementing the Control. Simple Questions Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the

More information

Reminder: tutorials start next week!

Reminder: tutorials start next week! Previous lecture recap! Metrics of computer architecture! Fundamental ways of improving performance: parallelism, locality, focus on the common case! Amdahl s Law: speedup proportional only to the affected

More information

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements CSE141: Introduction to Computer Architecture CSE 141 Computer Architecture Spring 2005 Lecture 3 Instruction Set Architecute Pramod V. Argade April 4, 2005 Instructor: TAs: Pramod V. Argade (p2argade@cs.ucsd.edu)

More information

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1 CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB

More information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic

More information

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1... Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,

More information

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory? 446 CHAPTER 7 BASIC PROCESSING UNIT (Corrisponde al cap. 10 - Struttura del processore) PROBLEMS 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

More information

Lecture 11: Control Unit and Instruction Encoding

Lecture 11: Control Unit and Instruction Encoding CSCI25 Computer Organization Lecture : Control Unit and Instruction Encoding Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 7.4~7.5 (5 th Ed.) Recall: Components of a Processor Register file: a

More information

Instruction Sets: Characteristics and Functions Addressing Modes

Instruction Sets: Characteristics and Functions Addressing Modes Instruction Sets: Characteristics and Functions Addressing Modes Chapters 10 and 11, William Stallings Computer Organization and Architecture 7 th Edition What is an Instruction Set? The complete collection

More information

CS/COE1541: Introduction to Computer Architecture

CS/COE1541: Introduction to Computer Architecture CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

Initial Representation Finite State Diagram. Logic Representation Logic Equations

Initial Representation Finite State Diagram. Logic Representation Logic Equations Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;

More information

RISC Processor Design

RISC Processor Design RISC Processor Design Single Cycle Implementation - MIPS Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 13 SE-273: Processor Design Feb 07, 2011 SE-273@SERC 1 Courtesy:

More information

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

ISA and RISCV. CASS 2018 Lavanya Ramapantulu ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program

More information

Overview of Computer Organization. Chapter 1 S. Dandamudi

Overview of Computer Organization. Chapter 1 S. Dandamudi Overview of Computer Organization Chapter 1 S. Dandamudi Outline Introduction Basic Terminology and Notation Views of computer systems User s view Programmer s view Advantages of high-level languages Why

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

Microprocessors. Microprocessors and rpeanut. Memory. Eric McCreath

Microprocessors. Microprocessors and rpeanut. Memory. Eric McCreath Microprocessors Microprocessors and rpeanut Eric McCreath There are many well known microprocessors: Intel x86 series, Pentium, Celeron, Xeon, etc. AMD Opteron, Intel Itanium, Motorola 680xx series, PowerPC,

More information

Microprocessors and rpeanut. Eric McCreath

Microprocessors and rpeanut. Eric McCreath Microprocessors and rpeanut Eric McCreath Microprocessors There are many well known microprocessors: Intel x86 series, Pentium, Celeron, Xeon, etc. AMD Opteron, Intel Itanium, Motorola 680xx series, PowerPC,

More information

CSE A215 Assembly Language Programming for Engineers

CSE A215 Assembly Language Programming for Engineers CSE A215 Assembly Language Programming for Engineers Lecture 7 MIPS vs. ARM (COD Chapter 2 and Exam #1 Review) October 12, 2012 Sam Siewert Comparison of MIPS32 and ARM Instruction Formats and Addressing

More information

(1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be reduced by using longer lines?

(1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be reduced by using longer lines? (1) Give a one-word definition of coherence. (1) Give a one-word definition of consistency. (1) Using a different mapping scheme will reduce which type of cache miss? (1) Which type of cache miss can be

More information

CPE 335. Basic MIPS Architecture Part II

CPE 335. Basic MIPS Architecture Part II CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions Structure of von Nuemann machine Arithmetic and Logic Unit Input Output Equipment Main Memory Program Control Unit 1 1 Instruction Set - the type of Instructions Arithmetic + Logical (ADD, SUB, MULT, DIV,

More information

Overview of Computer Organization. Outline

Overview of Computer Organization. Outline Overview of Computer Organization Chapter 1 S. Dandamudi Outline Introduction Basic Terminology and Notation Views of computer systems User s view Programmer s view Advantages of high-level languages Why

More information

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA) COMP2121: Microprocessors and Interfacing Instruction Set Architecture (ISA) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 Contents Memory models Registers Data types Instructions

More information

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined

More information

Review of instruction set architectures

Review of instruction set architectures Review of instruction set architectures Outline ISA and Assembly Language RISC vs. CISC Instruction Set Definition (MIPS) 2 ISA and assembly language Assembly language ISA Machine language 3 Assembly language

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

ICS 233 COMPUTER ARCHITECTURE. MIPS Processor Design Multicycle Implementation

ICS 233 COMPUTER ARCHITECTURE. MIPS Processor Design Multicycle Implementation ICS 233 COMPUTER ARCHITECTURE MIPS Processor Design Multicycle Implementation Lecture 23 1 Add immediate unsigned Subtract unsigned And And immediate Or Or immediate Nor Shift left logical Shift right

More information

Computer Architecture

Computer Architecture Lecture 3: Pipelining Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture Measurements and metrics : Performance, Cost, Dependability, Power Guidelines and principles in

More information

omputer Design Concept adao Nakamura

omputer Design Concept adao Nakamura omputer Design Concept adao Nakamura akamura@archi.is.tohoku.ac.jp akamura@umunhum.stanford.edu 1 1 Pascal s Calculator Leibniz s Calculator Babbage s Calculator Von Neumann Computer Flynn s Classification

More information

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design 1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion

More information

CSCE 5610: Computer Architecture

CSCE 5610: Computer Architecture HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI

More information

The MIPS Instruction Set Architecture

The MIPS Instruction Set Architecture The MIPS Set Architecture CPS 14 Lecture 5 Today s Lecture Admin HW #1 is due HW #2 assigned Outline Review A specific ISA, we ll use it throughout semester, very similar to the NiosII ISA (we will use

More information

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen

Chapter 2. Instruction Set Design. Computer Architectures. software. hardware. Which is easier to change/design??? Tien-Fu Chen Computer Architectures Chapter 2 Tien-Fu Chen National Chung Cheng Univ. chap2-0 Instruction Set Design software instruction set hardware Which is easier to change/design??? chap2-1 Instruction Set Architecture:

More information

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro

Math 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS

More information

101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009

101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 101 Assembly ENGR 3410 Computer Architecture Mark L. Chang Fall 2009 What is assembly? 79 Why are we learning assembly now? 80 Assembly Language Readings: Chapter 2 (2.1-2.6, 2.8, 2.9, 2.13, 2.15), Appendix

More information

3. (2 pts) Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?

3. (2 pts) Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished? . (2 pts) What are the two main ways to define performance? 2. (2 pts) What is Amdahl s law, inwords? 3. (2 pts) Clock rates have grown by a factor of while power consumed has only grown by a factor of

More information

Instruction Set Architectures

Instruction Set Architectures Lecture 2 Instruction Set Architectures Dr. Soner Onder CS 4431 Michigan Technological University 09/04/12 1 Instruction Set Architecture (ISA) 1950s to 1960s: Computer Architecture Course Computer Arithmetic

More information

MC9211Computer Organization. Unit 4 Lesson 1 Processor Design

MC9211Computer Organization. Unit 4 Lesson 1 Processor Design MC92Computer Organization Unit 4 Lesson Processor Design Basic Processing Unit Connection Between the Processor and the Memory Memory MAR PC MDR R Control IR R Processo ALU R n- n general purpose registers

More information

EECE 417 Computer Systems Architecture

EECE 417 Computer Systems Architecture EECE 417 Computer Systems Architecture Department of Electrical and Computer Engineering Howard University Charles Kim Spring 2007 1 Computer Organization and Design (3 rd Ed) -The Hardware/Software Interface

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

Computer Organization MIPS ISA

Computer Organization MIPS ISA CPE 335 Computer Organization MIPS ISA Dr. Iyad Jafar Adapted from Dr. Gheith Abandah Slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE 232 MIPS ISA 1 (vonneumann) Processor Organization

More information

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

Chapter 4. The Processor Designing the datapath

Chapter 4. The Processor Designing the datapath Chapter 4 The Processor Designing the datapath Introduction CPU performance determined by Instruction Count Clock Cycles per Instruction (CPI) and Cycle time Determined by Instruction Set Architecure (ISA)

More information

Multicycle Approach. Designing MIPS Processor

Multicycle Approach. Designing MIPS Processor CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional

More information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED CONTROL MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed

More information

Lecture 7: Instruction Set Architectures - IV. Last time - MIPS ISA (a visual)

Lecture 7: Instruction Set Architectures - IV. Last time - MIPS ISA (a visual) Lecture 7: Instruction Set Architectures - IV Announcements: Readings for today: 3.2 (int), 3.6 (float), B.9 (memory) Last Time MIPS ISA and discussion Today Case study #2: graphics processor ISA Register

More information

The Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture

The Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count

More information

Computer Architecture

Computer Architecture CS3350B Computer Architecture Winter 2015 Lecture 4.2: MIPS ISA -- Instruction Representation Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design,

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Number Representation 09212011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Logic Circuits for Register Transfer

More information

ECE 486/586. Computer Architecture. Lecture # 7

ECE 486/586. Computer Architecture. Lecture # 7 ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix

More information

Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers.

Very short answer questions. You must use 10 or fewer words. True and False are considered very short answers. Very short answer questions. You must use 10 or fewer words. "True" and "False" are considered very short answers. [1] Which is on average more effective, dynamic or static branch prediction? [1] Does

More information

Introduction. Datapath Basics

Introduction. Datapath Basics Introduction CPU performance factors - Instruction count; determined by ISA and compiler - CPI and Cycle time; determined by CPU hardware 1 We will examine a simplified MIPS implementation in this course

More information

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,

More information

BASIC PROCESSING UNIT Control Unit has two major functions: To control the sequencing of information-processing tasks performed by machine Guiding and supervising each unit to make sure that each unit

More information

CPU Architecture and Instruction Sets Chapter 1

CPU Architecture and Instruction Sets Chapter 1 CPU Architecture and Instruction Sets Chapter 1 1 Is CPU Architecture Relevant for DBMS? CPU design focuses on speed resulting in a 55%/year improvement since 1987: If CPU performance in database code

More information

Chapter 17. Microprogrammed Control. Yonsei University

Chapter 17. Microprogrammed Control. Yonsei University Chapter 17 Microprogrammed Control Contents Basic Concepts Microinstruction Sequencing Microinstruction Execution TI 8800 Applications of Microprogramming 17-2 Introduction Basic Concepts An alternative

More information

Lecture 4: Instruction Set Architectures. Review: latency vs. throughput

Lecture 4: Instruction Set Architectures. Review: latency vs. throughput Lecture 4: Instruction Set Architectures Last Time Performance analysis Amdahl s Law Performance equation Computer benchmarks Today Review of Amdahl s Law and Performance Equations Introduction to ISAs

More information

2. Define Instruction Set Architecture. What are its two main characteristics? Be precise!

2. Define Instruction Set Architecture. What are its two main characteristics? Be precise! Chapter 1: Computer Abstractions and Technology 1. Assume two processors, a CISC processor and a RISC processor. In order to run a particular program, the CISC processor must execute 10 million instructions

More information

These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions.

These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously on different instructions. MIPS Pipe Line 2 Introduction Pipelining To complete an instruction a computer needs to perform a number of actions. These actions may use different parts of the CPU. Pipelining is when the parts run simultaneously

More information

Week 4: Assignment Solutions

Week 4: Assignment Solutions Week 4: Assignment Solutions 1. Which of the following statements are true for horizontal microinstruction encoding? a. If there are kcontrol signals, every control word stored in control memory (CM) consists

More information

Reduced Instruction Set Computer (RISC)

Reduced Instruction Set Computer (RISC) Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the ISA. RISC Goals RISC: Simplify ISA Simplify CPU Design Better CPU Performance Motivated by simplifying

More information

Lecture 5: Instruction Set Architectures II. Take QUIZ 2 before 11:59pm today over Chapter 1 Quiz 1: 100% - 29; 80% - 25; 60% - 17; 40% - 3

Lecture 5: Instruction Set Architectures II. Take QUIZ 2 before 11:59pm today over Chapter 1 Quiz 1: 100% - 29; 80% - 25; 60% - 17; 40% - 3 Lecture 5: Instruction Set Architectures II Announcements Turn in Homework #1 XSPIM tutorials in PAI 5.38 during TA office hours Tue Feb 2: 2-3:30pm Wed Feb 3: 1:30-3pm Thu Feb 4: 3-4:30pm Take QUIZ 2

More information

6.823 Computer System Architecture Datapath for DLX Problem Set #2

6.823 Computer System Architecture Datapath for DLX Problem Set #2 6.823 Computer System Architecture Datapath for DLX Problem Set #2 Spring 2002 Students are allowed to collaborate in groups of up to 3 people. A group hands in only one copy of the solution to a problem

More information

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1... Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,

More information

Lecture 3: Instruction Set Architecture

Lecture 3: Instruction Set Architecture Lecture 3: Instruction Set Architecture Interface Software/compiler instruction set hardware Design Space of ISA Five Primary Dimensions Number of explicit operands ( 0, 1, 2, 3 ) Operand Storage Where

More information

Instruction Sets: Characteristics and Functions

Instruction Sets: Characteristics and Functions Instruction Sets: Characteristics and Functions Chapter 10 Lesson 15 Slide 1/22 Machine instruction set Computer designer: The machine instruction set provides the functional requirements for the CPU.

More information

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set?

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set? COMP 212 Computer Organization & Architecture Quiz COMP 212 Fall 2008 Lecture 7 Fill in your student number only, do NOT write down your name Open book, but NO calculator, NO discussions, Relax and have

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Micro Architecture Nawin Somyat Department of Electrical and Computer Engineering Thammasat University 28 August 2018 Outline Course Contents 1 Introduction 2 Simple

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Pipelining 11142011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review I/O Chapter 5 Overview Pipelining Pipelining

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

2.7 Supporting Procedures in hardware. Why procedures or functions? Procedure calls

2.7 Supporting Procedures in hardware. Why procedures or functions? Procedure calls 2.7 Supporting Procedures in hardware Why procedures or functions? Procedure calls Caller: Callee: Proc save registers save more registers set up parameters do function call procedure set up results get

More information