EE 209 in Context. Spiral 0 Review of EE 109L. Digital System Spectrum. Where Does Digital Design Fit In

Size: px
Start display at page:

Download "EE 209 in Context. Spiral 0 Review of EE 109L. Digital System Spectrum. Where Does Digital Design Fit In"

Transcription

1 . EE 9 in Context. EE 9L Hardware / Software Systems (ssembly Language Programming) Spiral Review of EE 9L Class Overview nalog to Digital Conversion inary Representation MIPS ssembly and CPU Organization EE 47 Computer rchitecture Caching, multicore, and other techniques to improve processor performance EE 4 Parallel & Distributed Computing Programming paradigms & other considerations to leverage parallel systems EE 9 EE 34L Introduction to Digital System Design EE 44L System On Chip (SoC) Design uilding chips with embedded processors and custom processing hardware More Digital System Design EE 477L VLSI Physically building and fabricating chips that implement the more abstract logic designs Mark Redekopp EE 49L Capstone Project Course.3.4 Where Does Digital Design Fit In Digital System Spectrum Electrical, biomedical, or computer scientists/engineers develop algorithms for Wireless and communication systems Media and imaging systems iomedical devices Digital design engineers take these general algorithms and architect/design a HW/SW system to implement them dealing with constraints of size, speed, weight, power, etc. Other electrical engineers may help with the final fabrication of the chip Key idea: ny algorithm can be implemented in HW or SW or some mixture of both digital systems can be located anywhere in a spectrum of: LL HW: (a.k.a. pplication Specific IC s) LL SW: n embedded computer system dvantages of application specific HW Faster, less power dvantages of an embedded computer system (i.e. general purpose HW for executing SW) Reprogrammable (i.e. make a mistake, fix it) Less expensive than a dedicated hardware system (single computer system can be used for multiple designs) Phone: System on Chip (SoC) approach Some dedicated HW for intensive camera/radio/etc. decoding operations Programmable processor for UI & other simple tasks Computing System Spectrum pplication Specific Hardware (no software) Flexibility, Design Time General Purpose HW w/ Software Performance, Low Power Cost

2 Processing Logic pproaches Custom Logic Logic that directly implements a specific task Example above may use separate adders and a multiplier unit General Purpose Processor Logic designed to execute SW instructions Provides basic processing resources that are reused by each instruction Design Decision: HW only or HW/SW HW only = faster HW/SW = much more flexible X Y Instruc. Store DD X,Y DD, MUL X, * Custom Logic Circuit Implementation storage * GPP Implementation of (XY)*() Out. HW/SW Design Example Suppose you need to design a JPEG encoder (converts raw pixels to JPG format consisting of a preprocessing stage encoding stage) for the camera on your mobile phone Your design considerations requirements second max. latency (time) mw max power Energy (Power * Time) as low as possible Consider time to market (design time) and cost Options. Software only running on microcontroller/processor. Hardware preprocessor Software encoder 3. Hardware preprocessor Fixed point software encoder 4. Hardware preprocessor encoder Option Option Option 3 Option 4 Performance (sec.) > 9... Power (milliwatt) < Size (gates) N/ 98, 9, 8, Energy (Joules=sec*watt).3..4 Time to Market 3 months 6 months 8 months months.6 Taken from "Embedded System Design" by Vahid and Givargis, Wiley and Sons Publishing..7.8 Integrated Solutions: Systems On Chip Mobile Phone lock Diagram Chips now combine general purpose processing, hardware accelerated engines for things like comm., video, security, etc., and integrated I/O peripherals Some contain customizable hardware resources (FPGs) for custom hardware processing engines Qualcomm Snapdragon TM nalog Inputs (Radio, WiFi, sensors) Digital Inputs (US, uttons) Sensors nalog to Digital Conversion (DC) Interconnect Clock Reset Digital Processing Microprocessors (Software for User Interface Control) Custom Logic (JPEG Encoding) Interconnect Outputs Digital to nalog Conversion (DC) Speaker, LCD Display, ntenna US Xilinx Zynq MPSoC

3 Digital System bstraction Levels Software Code Chips (Processors) Functional Units Logic Transistors if (x > ) x = x y - z; a = b*x; x y z - - Controlling - Input (Gate ) ND gate S F Output (Drain ) Source CMPR X, JLE SKIP DD X,X,Y SU X,X,Z SKIP MUL,,X HW SW C / C / Java ssembly / Machine Code Logic Gates Transistors pplications OS Processor / Memory / I/O Voltage / Currents.9 Libraries Functional Units (Registers, dders, Muxes) Our Focus in EE 9 How are we going to go about this class LERNING. Reflecting on Learning Spiral Model (Interleaving) We need to be a team? I need you You need me What do you want to learn? I will be your guide and try to build experiences. SoC / MPSoC Standard Cell Layout SIC Custom or Semi Custom Layout dders VLSI CMOS Multiplexers oolean lgebra Combinational Logic (Gates) Process / Technology MOSFET State Machines Programmable Logic (FPG) Target Implementation Technology Constructs Sequential Logic Concept Map Registers & Counters Structural (Gate) Level ehavioral vs. Cycle ccurate Digital HW Design RTL Code Synthesis Design Entry ED (CD) Tools High Level Synthesis Hardware Description Languages SystemC Simulation Physical Design (Layout & Routing) Verilog / System Verilog Schematic Entry VHDL HW / SW Co Simulation Power / Timing nalysis.

4 Spiral Content Mapping.3.4 Spiral Theory Combinational Design Sequential Design System Level Design Implementation and Tools Project Performance metrics (latency vs. throughput) oolean lgebra Canonical Representations Shannon's Theorem Decoders and muxes Synthesis with min/maxterms Synthesis with Karnaugh Maps Synthesis with muxes & memory dder and comparator design Edge triggered flip flops Registers (with enables) istables, latches, and Flipflops Counters Memories Encoded State machine design One hot state machine design Control and datapath decomposition 3 HW/SW partitioning us interfacing Single cycle CPU Structural Verilog HDL CMOS gate implementation Fabrication process MOS Theory Capacitance, delay and sizing Memory constructs Power and other logic families ED design process REVIEW..6 nalog to Digital Conversion DC Conversion nalog signal can be converted to a set of digital signals ( s and s) 3 Step Process Sample Quantize (Measure) Digitize Sampling converts continuous time scale to a discrete (finite) set of voltage samples Quantization converts continuous voltage scale to a discrete (finite) set of numbers Each number is then output as bits volts nalog to Digital Converter 77= nalog time Digital time t Sampled Signal Each sample is quantized

5 .7.8 Interpreting inary Strings Given a string of s and s, you need to know the representation system being used, before you can understand the value of those s and s. Information (value) = its Context (System) Unsigned and Signed Variables Unsigned variables use unsigned binary (normal power of place values) to represent numbers = 47 Unsigned inary system =? SCII system Signed variables use the s complement system (Neg. MS weight) to represent numbers 6 SCII Signed System = s Complement System MS has negative weight MS determines sign of the number = negative = positive Positive numbers retain same representation as unsigned = 6 in unsigned and in 's complement To take the negative of a number requires taking the complement and Sign Extension Extension is the process of increasing the number of bits used to represent a number without changing its value Unsigned = Extension (lways add leading s): = Increase a 6-bit number to 8-bit number by zero extending s complement = Sign Extension (Replicate sign bit): x = 7 x = -7 pos. = Sign bit is just repeated as many times as necessary it flip ( s comp.) dd -x = -(7) = -7 it flip ( s comp.) dd -x = -(-7) = 7 neg. =

6 .. and Sign Truncation Representation Range Truncation is the process of decreasing the number of bits used to represent a number without changing its value Unsigned = Truncation (Remove leading s): = s complement = Sign Truncation (Remove copies of sign bit): pos. neg. = = Decrease an 8-bit number to 6-bit number by truncating s. Can t remove a because value is changed ny copies of the MS can be removed without changing the numbers value. e careful not to change the sign by cutting off LL the sign bits. Given an n bit system we can represent n unique numbers In unsigned systems we use all combinations to represent positive numbers [ to n ] In s complement we use half for positive and half for negative [ n to n ] n n Hexadecimal Representation Since values in modern computers are many bits, we use hexadecimal as a shorthand notation (4 bits = hex digit) = D hex = 76C hex REVIEW OF MIPS SSEMLY

7 ..6 MIPS Instruction Set MIPS Sizes 3 bit data and address Memory supports yte, Halfword ( bytes), and Word (4 bytes) access 3 General Purpose Registers ($ $3) $ = Constant value of Fixed Size Instructions of 3 bits (4 bytes) Three formats (ways to partition and interpret those 3 bits) R Type (Register Type) [ex. DD $, $, $] I Type (Immediate Type) [ex. LW $, x3($6)] J Type (Jump Type) [ex. J ] Integer 3 Sizes Defined yte () 8 bits Halfword (H) 6 bits = bytes Word (W) 3 bits = 4 bytes Floating Point 3 Sizes Defined Single (S) 3 bits = 4 bytes Double (D) 64 bits = 8 bytes (For a 3 bit data bus, a double would be accessed from memory in reads).7.8 MIPS GPR s MIPS Programmer Visible Registers ssembler Name Reg. Number Description $zero $ Constant value $at $ ssembler temporary $v $v $ $3 Procedure return values or expression evaluation $a $a3 $4 $7 rguments/parameters $t $t7 $8 $ Temporaries $s $s7 $6 $3 Saved Temporaries $t8 $t9 $4 $ Temporaries $k $k $6 $7 Reserved for OS kernel $gp $8 Global Pointer (Global and static variables/data) $sp $9 Stack Pointer $fp $3 Frame Pointer $ra $3 Return address for current procedure General Purpose Registers (GPR s) Hold data operands or addresses (pointers) to data stored in memory Special Purpose Registers : Program Counter (3 bits) Holds the address of the next instruction to be fetched from memory & executed HI: Hi Half Reg. (3 bits) For MUL, holds 3 MS s of result. For DIV, holds 3 bit remainder LO: Lo Half Reg. (3 bits) For MUL, holds 3 LS s of result. For DIV, holds 3 bit quotient Memory Stores instructions and data GPR s $ - $3 3-bits DD SU LW MIPS Core : HI: LO: a 3fc 3fc Memory 4 Special Purpose Registers x4 x44 x48 x

8 Instruction Format.9 R Type Instructions.3 3 bit Fixed Size Instructions R Type 3 register operands I Type register 6 bit const. J Type 6 bit jump address R-Type I-Type J-Type -bits -bits -bits rs (src) rt (src) rd (dest) -bits -bits rs (src) rt (src/dst) Jump address -bits shamt immediate function add $,$7,$8 lw $8, -4($3) j x48 Format -bits rs (src) rs, rt, rd are bit fields for register numbers shamt = shift amount and is used for shift instructions indicating # of places to shift bits and func identify actual operation Example: DD $, $4, $7 rs -bits rt (src) rt -bits rd (dest) rd -bits shamt shamt function func rith. Inst. $4 $7 $ unused DD R Type rithmetic/logic Instructions C operator ssembly Notes DD Rd, Rs, Rt - SU Rd, Rs, Rt Order: R[s] R[t]. SUU for unsigned * MULT Rs, Rt MULTU Rs, Rt Result in HI/LO. Use mfhi and mflo instruction to move results * MUL Rd, Rs, Rt If multiply won t overflow 3-bit result / DIV Rs, Rt DIVU Rs, Rt & ND Rd, Rs, Rt OR Rd, Rs, Rt ^ XOR Rd, Rs, Rt R[s] / R[t]. Remainder in HI, quotient in LO ~( ) NOR Rd, Rs, Rt Can be used for bitwise-not (~) << SLL Rd, Rs, shamt SLLV Rd, Rs, Rt >> (signed) SR Rd, Rs, shamt SRV Rd, Rs, Rt >> (unsigned) SRL Rd, Rs, shamt SRLV Rd, Rs, Rt <, >, <=, >= SLT Rd, Rs, Rt SLTU Rd, Rs, Rt Shifts R[s] left by shamt (shift amount) or R[t] bits Shifts R[s] right by shamt or R[t] bits replicating sign bit to maintain sign Shifts R[s] left by shamt or R[t] bits shifting in s Order: R[s] R[t]. Sets R[d]= if R[s] < R[t], otherwise.3 Format I Type Instructions -bits -bits rs (src) rt (src/dst) immediate rs, rt are bit fields for register numbers immediate is a 6 bit constant identifies actual operation Example: rs rt DDI $, $4, DDI $4 $ LW $, 8($3) LW $3 $ immediate -8.3

9 Load Format (LW) Store Format (SW) LW Rt, offset(rs) Rt = Destination register offset(rs) = ddress of desired data Shorthand: R[t] = M[ offset R[s] ] offset limited to 6 bit signed number Examples LW $, x4($3) // R[] = xf8e97cd LW $, xfffc($4) // R[] = xc7 SW Rt, offset(rs) Rt = Source register offset(rs) = ddress to store data Shorthand: M[ offset R[s] ] = R[t] offset limited to 6 bit signed number Examples SW $, x4($3) SW $, xfff8($4) R[] R[3] old val. x4 x44 F8E97CD 3498FE R[] R[3] 3489 x4 x R[4] 4C x48 C7 R[4] 4C x Loading an Immediate ranch Instructions If immediate (constant) 6 bits or less Use ORI or DDI instruction with $ register Examples DDI $, $, // R[] = = ORI $, $, xf // R[] = xf = xf If immediate more than 6 bits Immediates limited to 6 bits so we must load constant with a instruction sequence using the special LUI (Load Upper Immediate) instruction To load $ with x34678 LUI ORI $,x34 $,$,x678 R[] R[] 34 OR LUI ORI dd a displacement to the ( = disp.) Conditional ranches ranches only if a particular condition is true Fundamental Instrucs.: EQ (if equal), NE (not equal) Syntax: NE/EQ Rs, Rt, label Compares Rs, Rt and if EQ/NE, branch to label, else continue Unconditional ranches lways branches to a new location in the code Instruction: EQ $,$,label EQ $,$3,x8 -bits rs (src) rt (src/dst) ----!= beq $,$3,label label: ---- = -bits immediate label: b label ----

10 Two Operand Compare & ranches Jump Instructions Two operand comparison is accomplished using the SLT/SLTI instruction Syntax: SLT Rd,Rs,Rt or SLT Rd,Rs,imm If Rs < Rt then Rd =, else Rd = Use appropriate NE/EQ instruction to infer relationship ranch if SLT NE/EQ $ < $3 SLT $,$,$3 NE $,$,label $ $3 SLT $,$3,$ EQ $,$,label $ > $3 SLT $,$3,$ NE $,$,label $ $3 SLT $,$,$3 EQ $,$,label Jumps provide method of branching beyond range of 6 bit displacement Syntax: J label/address Operation: = address ddress is appended with two s just like branch displacement yielding a 8 bit address with upper 4 bits of unaffected New instruction format: J Type Old [3:8] Jump address Sample Jump instruction Old before execution of Jump 4-bits -bits Jump address New after execution of Jump.39.4 Jump Register jr instruction can be used if a full 3 bit jump is needed or variable jump address is needed Syntax: JR rs Operation: = R[s] R Type machine code format Usage: Can load rs with an immediate address Can calculate rs for a variable jump (class member functions, switch statements, etc.) Instruction Ordering Identify which components each instruction type would use and in what order: LU Type, LW, SW, EQ LU-Type (DD $,$6,$7) I-Cache / I-MEM LW (LW $,4($7) ) General Purpose Registers SW (SW $,4($7) ) D-Cache / D-MEM EQ (EQ $,$3,disp) LU

11 .4.4 Single Cycle CPU path Multiplexers Each instruction will execute in one LONG clock cycle To understand the whole datapath we ll walk through it in five phases (Fetch, Decode, Execute, Memory, back) Your first HW building block Traffic cop Selects data input and passes it to the output Fetch Decode Exec. Mem W 4 Instruc. I-Cache Reg. # Reg. # Reg. # data data Register File Sign 6 Extend 3 Sh. Left LU D-Cache Thus, input = [3:] is selected and passed to the output [3:] [3:] -to- Mux i y i s Select bits = =. [3:] CLK DD $,$3,$4 LW $9,x4($6) 4 of DD Instruc. I-Cache 4 $3 $4 $ Reg. # Reg. # Reg. # data data Register File Sign 6 Extend 3 $3 value $4 value Sh. Left LU sum sum D-Cache sum 4 of LW Instruc. I-Cache 4 x4 6 9 Reg. # Reg. # Reg. # data data Register File $6 value Sign x4 6 Extend 3 Sh. Left x4 LU $6 x4 D-Cache Fetch DD Decode instruction and fetch operands dd $3 $4 Just pass sum through sum to $t4 Fetch LW Decode instruction and fetch operands dd offset x4 to $6 word from memory word to $9

12 .4.46 SW $9,x4($6) EQ $4,$,disp. 4 of LW Instruc. I-Cache 4 x4 6 9 Reg. # Reg. # Reg. # data data Register File $6 value Sign x4 6 Extend 3 Sh. Left x4 LU $9 value $6 x4 D-Cache 4 Instruc. I-Cache displacement $4 $ Reg. # Reg. # Reg. # data data Register File Sign 6 Extend 3 4 displacement Sh. Left $4 value $ value LU 4disp. (ranch ) D-Cache Fetch LW Decode instruction and fetch operands dd offset x4 to $6 word to memory Fetch EQ, increment, pass on 4 Decode instruction and fetch operands, pass on 4 Do $4-$ and check if result = Calculate branch target address Update Do Nothing.47 ND, OR, NOT Gates.48 X Z X Y Z X Y Z NOT (Inverter) ND OR Z X ' or X or ~X Z X Y Z X Y SMPLE PROLEMS (IF TIME LLOWS) X Z X Y Z ND = LL (true when LL inputs are true) X Y Z OR = NY (true when NY input is true)

13 .49. Staircase Light Switch Logic Water Tank Problem Light S uild a control system for a pump to keep the tank from going empty Pump Pump S Sensor High Sensor Low Sensor. Instruction Ordering Solutions Identify which components each instruction type would use and in what order: LU Type, LW, SW, EQ General Purpose Registers LU I-Cache / I-MEM D-Cache / D-MEM LU-Type (DD $,$6,$7).. I-Memory 3. Registers 4. LU. W to Reg. LW (LW $,4($7)).. I-Memory 3. ase. Reg. 4. LU. Mem. 6. W to Reg. SW (SW $,4($7)).. I-Memory 3. ase. Reg. 4. LU. Mem. EQ (EQ $,$3,disp).. I-Memory 3. Register ccess 4. Compare. If, Update =d

MIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support

MIPS ISA. 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support Components of an ISA EE 357 Unit 11 MIPS ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible

More information

Mark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA

Mark Redekopp, All rights reserved. EE 357 Unit 11 MIPS ISA EE 357 Unit 11 MIPS ISA Components of an ISA 1. Data and Address Size 8-, 16-, 32-, 64-bit 2. Which instructions does the processor support SUBtract instruc. vs. NEGate + ADD instrucs. 3. Registers accessible

More information

Mark Redekopp, All rights reserved. EE 352 Unit 3 MIPS ISA

Mark Redekopp, All rights reserved. EE 352 Unit 3 MIPS ISA EE 352 Unit 3 MIPS ISA Instruction Set Architecture (ISA) Defines the software interface of the processor and memory system Instruction set is the vocabulary the HW can understand and the SW is composed

More information

EE 109 Unit 13 MIPS Instruction Set. Instruction Set Architecture (ISA) Components of an ISA INSTRUCTION SET OVERVIEW

EE 109 Unit 13 MIPS Instruction Set. Instruction Set Architecture (ISA) Components of an ISA INSTRUCTION SET OVERVIEW 1 2 EE 109 Unit 13 MIPS Instruction Set Architecting a vocabulary for the HW INSTRUCTION SET OVERVIEW 3 4 Instruction Set Architecture (ISA) Defines the of the processor and memory system Instruction set

More information

EE 109 Unit 8 MIPS Instruction Set

EE 109 Unit 8 MIPS Instruction Set 1 EE 109 Unit 8 MIPS Instruction Set 2 Architecting a vocabulary for the HW INSTRUCTION SET OVERVIEW 3 Instruction Set Architecture (ISA) Defines the software interface of the processor and memory system

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

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

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW 3-3. Learning Outcomes 3-3. Spiral 3-3 Single Cycle CPU I understand how the single-cycle CPU datapath supports each type of instruction I understand why each mux is needed to select appropriate inputs

More information

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture EEM 486: Computer Architecture Lecture 2 MIPS Instruction Set Architecture EEM 486 Overview Instruction Representation Big idea: stored program consequences of stored program Instructions as numbers Instruction

More information

ECE232: Hardware Organization and Design. Computer Organization - Previously covered

ECE232: Hardware Organization and Design. Computer Organization - Previously covered ECE232: Hardware Organization and Design Part 6: MIPS Instructions II http://www.ecs.umass.edu/ece/ece232/ Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Computer Organization

More information

MIPS Instruction Set

MIPS Instruction Set MIPS Instruction Set Prof. James L. Frankel Harvard University Version of 7:12 PM 3-Apr-2018 Copyright 2018, 2017, 2016, 201 James L. Frankel. All rights reserved. CPU Overview CPU is an acronym for Central

More information

Mark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control

Mark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control EE 37 Unit Single-Cycle CPU path and Control CPU Organization Scope We will build a CPU to implement our subset of the MIPS ISA Memory Reference Instructions: Load Word (LW) Store Word (SW) Arithmetic

More information

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2)

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2) Introduction to the MIPS ISA Overview Remember that the machine only understands very basic instructions (machine instructions) It is the compiler s job to translate your high-level (e.g. C program) into

More information

Tailoring the 32-Bit ALU to MIPS

Tailoring the 32-Bit ALU to MIPS Tailoring the 32-Bit ALU to MIPS MIPS ALU extensions Overflow detection: Carry into MSB XOR Carry out of MSB Branch instructions Shift instructions Slt instruction Immediate instructions ALU performance

More information

Instructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1

Instructions: MIPS ISA. Chapter 2 Instructions: Language of the Computer 1 Instructions: MIPS ISA Chapter 2 Instructions: Language of the Computer 1 PH Chapter 2 Pt A Instructions: MIPS ISA Based on Text: Patterson Henessey Publisher: Morgan Kaufmann Edited by Y.K. Malaiya for

More information

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages

More information

Computer Architecture. MIPS Instruction Set Architecture

Computer Architecture. MIPS Instruction Set Architecture Computer Architecture MIPS Instruction Set Architecture Instruction Set Architecture An Abstract Data Type Objects Registers & Memory Operations Instructions Goal of Instruction Set Architecture Design

More information

Examples of branch instructions

Examples of branch instructions Examples of branch instructions Beq rs,rt,target #go to target if rs = rt Beqz rs, target #go to target if rs = 0 Bne rs,rt,target #go to target if rs!= rt Bltz rs, target #go to target if rs < 0 etc.

More information

5/17/2012. Recap from Last Time. CSE 2021: Computer Organization. The RISC Philosophy. Levels of Programming. Stored Program Computers

5/17/2012. Recap from Last Time. CSE 2021: Computer Organization. The RISC Philosophy. Levels of Programming. Stored Program Computers CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-2 Code Translation-1 Registers, Arithmetic, logical, jump, and branch instructions MIPS to machine language

More information

Recap from Last Time. CSE 2021: Computer Organization. Levels of Programming. The RISC Philosophy 5/19/2011

Recap from Last Time. CSE 2021: Computer Organization. Levels of Programming. The RISC Philosophy 5/19/2011 CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-3 Code Translation-1 Registers, Arithmetic, logical, jump, and branch instructions MIPS to machine language

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

Flow of Control -- Conditional branch instructions

Flow of Control -- Conditional branch instructions Flow of Control -- Conditional branch instructions You can compare directly Equality or inequality of two registers One register with 0 (>,

More information

Reduced Instruction Set Computer (RISC)

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 machine. Reduced number of cycles needed per instruction.

More information

CS61C : Machine Structures

CS61C : Machine Structures CS 61C L path (1) insteecsberkeleyedu/~cs61c/su6 CS61C : Machine Structures Lecture # path natomy: 5 components of any Computer Personal Computer -7-25 This week Computer Processor ( brain ) path ( brawn

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

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

Chapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes

Chapter 2. Instructions: Language of the Computer. Adapted by Paulo Lopes Chapter 2 Instructions: Language of the Computer Adapted by Paulo Lopes Instruction Set The repertoire of instructions of a computer Different computers have different instruction sets But with many aspects

More information

Chapter 2. Computer Abstractions and Technology. Lesson 4: MIPS (cont )

Chapter 2. Computer Abstractions and Technology. Lesson 4: MIPS (cont ) Chapter 2 Computer Abstractions and Technology Lesson 4: MIPS (cont ) Logical Operations Instructions for bitwise manipulation Operation C Java MIPS Shift left >>> srl Bitwise

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

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

COMPSCI 313 S Computer Organization. 7 MIPS Instruction Set

COMPSCI 313 S Computer Organization. 7 MIPS Instruction Set COMPSCI 313 S2 2018 Computer Organization 7 MIPS Instruction Set Agenda & Reading MIPS instruction set MIPS I-format instructions MIPS R-format instructions 2 7.1 MIPS Instruction Set MIPS Instruction

More information

Instructions: Language of the Computer

Instructions: Language of the Computer Instructions: Language of the Computer Tuesday 22 September 15 Many slides adapted from: and Design, Patterson & Hennessy 5th Edition, 2014, MK and from Prof. Mary Jane Irwin, PSU Summary Previous Class

More information

Assembly Programming

Assembly Programming Designing Computer Systems Assembly Programming 08:34:48 PM 23 August 2016 AP-1 Scott & Linda Wills Designing Computer Systems Assembly Programming In the early days of computers, assembly programming

More information

Instruction Set Architecture of. MIPS Processor. MIPS Processor. MIPS Registers (continued) MIPS Registers

Instruction Set Architecture of. MIPS Processor. MIPS Processor. MIPS Registers (continued) MIPS Registers CSE 675.02: Introduction to Computer Architecture MIPS Processor Memory Instruction Set Architecture of MIPS Processor CPU Arithmetic Logic unit Registers $0 $31 Multiply divide Coprocessor 1 (FPU) Registers

More information

ECE 154A Introduction to. Fall 2012

ECE 154A Introduction to. Fall 2012 ECE 154A Introduction to Computer Architecture Fall 2012 Dmitri Strukov Lecture 4: Arithmetic and Data Transfer Instructions Agenda Review of last lecture Logic and shift instructions Load/store instructionsi

More information

CPS311 - COMPUTER ORGANIZATION. A bit of history

CPS311 - COMPUTER ORGANIZATION. A bit of history CPS311 - COMPUTER ORGANIZATION A Brief Introduction to the MIPS Architecture A bit of history The MIPS architecture grows out of an early 1980's research project at Stanford University. In 1984, MIPS computer

More information

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 B CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 DUE : March 3, 2014 READ : - Related sections of Chapter 2 - Related sections of Chapter 3 - Related sections of Appendix A - Related sections

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

MIPS Instruction Reference

MIPS Instruction Reference Page 1 of 9 MIPS Instruction Reference This is a description of the MIPS instruction set, their meanings, syntax, semantics, and bit encodings. The syntax given for each instruction refers to the assembly

More information

Assembly Language. Prof. Dr. Antônio Augusto Fröhlich. Sep 2006

Assembly Language. Prof. Dr. Antônio Augusto Fröhlich.   Sep 2006 Sep 2006 Prof. Antônio Augusto Fröhlich (http://www.lisha.ufsc.br) 33 Assembly Language Prof. Dr. Antônio Augusto Fröhlich guto@lisha.ufsc.br http://www.lisha.ufsc.br/~guto Sep 2006 Sep 2006 Prof. Antônio

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

Lecture 4: MIPS Instruction Set

Lecture 4: MIPS Instruction Set Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software

More information

F. Appendix 6 MIPS Instruction Reference

F. Appendix 6 MIPS Instruction Reference F. Appendix 6 MIPS Instruction Reference Note: ALL immediate values should be sign extended. Exception: For logical operations immediate values should be zero extended. After extensions, you treat them

More information

Review: MIPS Organization

Review: MIPS Organization 1 MIPS Arithmetic Review: MIPS Organization Processor Memory src1 addr 5 src2 addr 5 dst addr 5 write data Register File registers ($zero - $ra) bits src1 data src2 data read/write addr 1 1100 2 30 words

More information

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

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

Unsigned Binary Integers

Unsigned Binary Integers Unsigned Binary Integers Given an n-bit number x x n 1 n 2 1 0 n 12 xn 22 x12 x02 Range: 0 to +2 n 1 Example 2.4 Signed and Unsigned Numbers 0000 0000 0000 0000 0000 0000 0000 1011 2 = 0 + + 1 2 3 + 0

More information

Introduction. Chapter 4. Instruction Execution. CPU Overview. University of the District of Columbia 30 September, Chapter 4 The Processor 1

Introduction. Chapter 4. Instruction Execution. CPU Overview. University of the District of Columbia 30 September, Chapter 4 The Processor 1 Chapter 4 The Processor Introduction CPU performance factors Instruction count etermined by IS and compiler CPI and Cycle time etermined by CPU hardware We will examine two MIPS implementations simplified

More information

MIPS Instruction Format

MIPS Instruction Format MIPS Instruction Format MIPS uses a 32-bit fixed-length instruction format. only three different instruction word formats: There are Register format Op-code Rs Rt Rd Function code 000000 sssss ttttt ddddd

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

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

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: MIPS Instruction Set Architecture Computer Science 324 Computer Architecture Mount Holyoke College Fall 2009 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture. Idea:

More information

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University Instructions: Language of the Computer Operations and Operands of the Computer Hardware Signed and Unsigned Numbers Representing

More information

ECE260: Fundamentals of Computer Engineering

ECE260: Fundamentals of Computer Engineering MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS

More information

MIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions

MIPS R-format Instructions. Representing Instructions. Hexadecimal. R-format Example. MIPS I-format Example. MIPS I-format Instructions Representing Instructions Instructions are encoded in binary Called machine code MIPS instructions Encoded as 32-bit instruction words Small number of formats encoding operation code (opcode), register

More information

MIPS%Assembly% E155%

MIPS%Assembly% E155% MIPS%Assembly% E155% Outline MIPS Architecture ISA Instruction types Machine codes Procedure call Stack 2 The MIPS Register Set Name Register Number Usage $0 0 the constant value 0 $at 1 assembler temporary

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

Programming the processor

Programming the processor CSC258 Week 9 Logistics This week: Lab 7 is the last Logisim DE2 lab. Next week: Lab 8 will be assembly. For assembly labs you can work individually or in pairs. No matter how you do it, the important

More information

Concocting an Instruction Set

Concocting an Instruction Set Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... Read: Chapter 2.1-2.7 L03 Instruction Set 1 A General-Purpose Computer The von

More information

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations Chapter 4 The Processor Part I 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

More information

ECE260: Fundamentals of Computer Engineering

ECE260: Fundamentals of Computer Engineering MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS

More information

MIPS Assembly Language. Today s Lecture

MIPS Assembly Language. Today s Lecture MIPS Assembly Language Computer Science 104 Lecture 6 Homework #2 Midterm I Feb 22 (in class closed book) Outline Assembly Programming Reading Chapter 2, Appendix B Today s Lecture 2 Review: A Program

More information

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 Sources: Computer

More information

Today s Lecture. MIPS Assembly Language. Review: What Must be Specified? Review: A Program. Review: MIPS Instruction Formats

Today s Lecture. MIPS Assembly Language. Review: What Must be Specified? Review: A Program. Review: MIPS Instruction Formats Today s Lecture Homework #2 Midterm I Feb 22 (in class closed book) MIPS Assembly Language Computer Science 14 Lecture 6 Outline Assembly Programming Reading Chapter 2, Appendix B 2 Review: A Program Review:

More information

A Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3

A Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3 A Processor Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Let s build a MIPS CPU but using Harvard architecture Basic Computer System Registers ALU

More information

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4 Processor Han Wang CS3410, Spring 2012 Computer Science Cornell University See P&H Chapter 2.16 20, 4.1 4 Announcements Project 1 Available Design Document due in one week. Final Design due in three weeks.

More information

Topic Notes: MIPS Instruction Set Architecture

Topic Notes: MIPS Instruction Set Architecture Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 2011 Topic Notes: MIPS Instruction Set Architecture vonneumann Architecture Modern computers use the vonneumann architecture.

More information

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson.

CS61C - Machine Structures. Lecture 6 - Instruction Representation. September 15, 2000 David Patterson. CS61C - Machine Structures Lecture 6 - Instruction Representation September 15, 2000 David Patterson http://www-inst.eecs.berkeley.edu/~cs61c/ 1 Review Instructions: add, addi, sub, lw, sw beq, bne, j

More information

CENG3420 Lecture 03 Review

CENG3420 Lecture 03 Review CENG3420 Lecture 03 Review Bei Yu byu@cse.cuhk.edu.hk 2017 Spring 1 / 38 CISC vs. RISC Complex Instruction Set Computer (CISC) Lots of instructions of variable size, very memory optimal, typically less

More information

Grading: 3 pts each part. If answer is correct but uses more instructions, 1 pt off. Wrong answer 3pts off.

Grading: 3 pts each part. If answer is correct but uses more instructions, 1 pt off. Wrong answer 3pts off. Department of Electrical and Computer Engineering University of Wisconsin Madison ECE 552 Introductions to Computer Architecture Homework #2 (Suggested Solution) 1. (10 points) MIPS and C program translations

More information

The MIPS Processor Datapath

The MIPS Processor Datapath The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath

More information

Ch 5: Designing a Single Cycle Datapath

Ch 5: Designing a Single Cycle Datapath Ch 5: esigning a Single Cycle path Computer Systems Architecture CS 365 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Memory path Input Output Today s Topic:

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

Systems Architecture

Systems Architecture Systems Architecture Lecture 15: A Simple Implementation of MIPS Jeremy R. Johnson Anatole D. Ruslanov William M. Mongan Some or all figures from Computer Organization and Design: The Hardware/Software

More information

Instruction Set Architecture

Instruction Set Architecture Computer Architecture Instruction Set Architecture Lynn Choi Korea University Machine Language Programming language High-level programming languages Procedural languages: C, PASCAL, FORTRAN Object-oriented

More information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle

More information

Today s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA.

Today s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA. Today s topics CS/COE1541: Introduction to Computer Architecture MIPS operations and operands MIPS registers Memory view Instruction encoding A Review of MIPS ISA Sangyeun Cho Arithmetic operations Logic

More information

CS3350B Computer Architecture MIPS Instruction Representation

CS3350B Computer Architecture MIPS Instruction Representation CS3350B Computer Architecture MIPS Instruction Representation Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada

More information

Computer Architecture

Computer Architecture Computer Architecture Chapter 2 Instructions: Language of the Computer Fall 2005 Department of Computer Science Kent State University Assembly Language Encodes machine instructions using symbols and numbers

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

Midterm. Sticker winners: if you got >= 50 / 67

Midterm. Sticker winners: if you got >= 50 / 67 CSC258 Week 8 Midterm Class average: 4.2 / 67 (6%) Highest mark: 64.5 / 67 Tests will be return in office hours. Make sure your midterm mark is correct on MarkUs Solution posted on the course website.

More information

Thomas Polzer Institut für Technische Informatik

Thomas Polzer Institut für Technische Informatik Thomas Polzer tpolzer@ecs.tuwien.ac.at Institut für Technische Informatik Branch to a labeled instruction if a condition is true Otherwise, continue sequentially beq rs, rt, L1 if (rs == rt) branch to

More information

ECE331: Hardware Organization and Design

ECE331: Hardware Organization and Design ECE331: Hardware Organization and Design Lecture 15: Midterm 1 Review Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Basics Midterm to cover Book Sections (inclusive) 1.1 1.5

More information

CSCI 402: Computer Architectures

CSCI 402: Computer Architectures CSCI 402: Computer Architectures Instructions: Language of the Computer (2) Fengguang Song Department of Computer & Information Science IUPUI Memory Operands Two tribes: Big Endian: Most-significant byte

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

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Organization and Structure. Bing-Yu Chen National Taiwan University Computer Organization and Structure Bing-Yu Chen National Taiwan University Arithmetic for Computers Addition and Subtraction Gate Logic and K-Map Method Constructing a Basic ALU Arithmetic Logic Unit

More information

CS222: Processor Design

CS222: Processor Design CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined

More information

Instructions: Assembly Language

Instructions: Assembly Language Chapter 2 Instructions: Assembly Language Reading: The corresponding chapter in the 2nd edition is Chapter 3, in the 3rd edition it is Chapter 2 and Appendix A and in the 4th edition it is Chapter 2 and

More information

MIPS Reference Guide

MIPS Reference Guide MIPS Reference Guide Free at PushingButtons.net 2 Table of Contents I. Data Registers 3 II. Instruction Register Formats 4 III. MIPS Instruction Set 5 IV. MIPS Instruction Set (Extended) 6 V. SPIM Programming

More information

Chapter 1. Computer Abstractions and Technology. Lesson 3: Understanding Performance

Chapter 1. Computer Abstractions and Technology. Lesson 3: Understanding Performance Chapter 1 Computer Abstractions and Technology Lesson 3: Understanding Performance Manufacturing ICs 1.7 Real Stuff: The AMD Opteron X4 Yield: proportion of working dies per wafer Chapter 1 Computer Abstractions

More information

A General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction

A General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction page 1 Concocting an Instruction Set Nerd Chef at work. move flour,bowl add milk,bowl add egg,bowl move bowl,mixer rotate mixer... A General-Purpose Computer The von Neumann Model Many architectural approaches

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

ECE 2035 Programming HW/SW Systems Fall problems, 7 pages Exam Two 23 October 2013

ECE 2035 Programming HW/SW Systems Fall problems, 7 pages Exam Two 23 October 2013 Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate

More information

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1 ENG8 Computer Organization and rchitecture MIPS: Data Path Design Part Winter 7 S. reibi School of Engineering University of Guelph Introduction Topics uilding a Complete Data Path for MIPS Multi Cycle

More information

Implementing an Instruction Set

Implementing an Instruction Set Implementing an Instruction Set David E. Culler CS61CL Oct 28, 2009 Lecture 9 10/28/09 UCB CS61CL F09 Lec 9 1 Review: Synchronous Circuit Design Combinational Logic Blocks (CL) cyclic no internal state

More information

ECE260: Fundamentals of Computer Engineering

ECE260: Fundamentals of Computer Engineering Datapath for a Simplified Processor James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Introduction

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

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University.

Rui Wang, Assistant professor Dept. of Information and Communication Tongji University. Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood

More information

SIGNED AND UNSIGNED SYSTEMS

SIGNED AND UNSIGNED SYSTEMS EE 357 Unit 1 Fixed Point Systems and Arithmetic Learning Objectives Understand the size and systems used by the underlying HW when a variable is declared in a SW program Understand and be able to find

More information