Processor Organization and Performance
|
|
- Emil Campbell
- 6 years ago
- Views:
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
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 informationLecture 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 informationInstruction 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 informationMIPS 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 informationInstruction 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 informationInstruction 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 informationIntroduction 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 informationEC-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 informationBasic 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 informationTypical 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 informationFrom 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 informationGuide 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 informationThe 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 informationComputer 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 informationDigital 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 informationGuide 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 informationComputer 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 informationASSEMBLY 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 informationTHE 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 informationChapter 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 informationAdvanced 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 informationThe 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 informationCOSC 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 informationImplementing 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 informationReminder: 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 informationCSE 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 informationCSIS1120A. 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 informationGrundlagen 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 informationInstruction-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 informationPROBLEMS. 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 informationLecture 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 informationInstruction 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 informationCS/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 informationProcessor (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 informationInitial 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 informationRISC 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 informationLecture1: 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 informationMicrocomputer 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 informationISA 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 informationOverview 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 informationChapter 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 informationMicroprocessors. 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 informationMicroprocessors 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 informationCSE 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) 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 informationCPE 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 informationBasic 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 informationPage 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 informationOverview 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 informationCOMP2121: 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 informationThe 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 informationReview 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 informationModule 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 informationICS 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 informationComputer 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 informationomputer 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 informationTDT4255 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 informationCSCE 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 informationThe 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 informationChapter 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 informationMath 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 information101 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 information3. (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 informationInstruction 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 informationMC9211Computer 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 informationEECE 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 informationChapter 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 informationComputer 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 informationThe 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 informationChapter 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 informationMulticycle 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 informationMICROPROGRAMMED 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 informationLecture 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 informationThe 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 informationComputer 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 informationChapter 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 informationCPE300: 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 informationECE 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 informationVery 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 informationIntroduction. 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 informationObjective 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 informationBASIC 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 informationCPU 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 informationChapter 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 informationLecture 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 information2. 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 informationThese 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 informationWeek 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 informationReduced 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 informationLecture 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 information6.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 informationInstruction-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 informationLecture 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 informationInstruction 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 informationInstruction 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 informationCN310 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 informationCISC 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 informationCPE300: 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 informationIntroduction 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 information2.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