16.1. Unit 16. Computer Organization Design of a Simple Processor

Size: px
Start display at page:

Download "16.1. Unit 16. Computer Organization Design of a Simple Processor"

Transcription

1 6. Unit 6 Computer Organization Design of a Simple Processor

2 HW SW 6.2 You Can Do That Cloud & Distributed Computing (CyberPhysical, Databases, Data Mining,etc.) Applications (AI, Robotics, Graphics, Mobile) Scripting & Interfaces C / C++ / Java Networked Applications Applications Systems & Networking (Embedded Systems, Networks) Assembly / Machine Code OS Libraries Architecture (Processor & Embedded HW) Where we will head now Devices & Integrated Circuits (Semiconductors & Fabrication) Processor / Memory / I/O Functional Units (Registers, Adders, Muxes) Logic Gates Transistors Voltage / Currents

3 6.3 Motivation Now that you have some understanding Of how hardware is designed and works Of how software can be used to control hardware We will look at how to improve efficiency of computer systems and software so that we can start to understand why HW companies create the structures they do (multicore processors) we can begin to intelligently take advantage of the capabilities the HW gives us we can start to understand why SW companies deal with some of the issues they do (efficiencies, etc.)

4 6.4 Computer Organization Three primary sets of components Processor Memory I/O (everything else) Tell us where things live? Running code Compiled program (not running) Circuitry to execute code Source code file Data variables Data for the pixels being displayed on your screen

5 6.5 Input / Output Processor performs reads and writes to communicate with I/O devices just as it does with memory I/O devices have locations (i.e. registers) that contain data that the processor can access These registers are assigned unique addresses just like memory Processor Memory 3FF Video Interface 8 A D C FE may signify a white dot at a particular location This could just as easily be the command and data register from the LCD shield Or the PORT/DDR registers. 8 FE FE WRITE a = 6 hex in ASCII Keyboard Interface 4 6

6 6.6 Processor 3 Primary Components inside a processor ALU Registers Control Circuitry Connects to memory and I/O via address, data, and control buses (bus = group of wires) Processor Bus Addr Memory 2 Data 3 4 Control 5 6

7 6.7 Arithmetic and Logic Unit (ALU) Executes arithmetic operations like addition and subtraction along with logical operations (AND, OR, etc.) Processor Memory out op. ALU ADD, SUB, AND, OR in in2 Addr Data Control

8 6.8 Registers Some are for general use by software Registers provide fast, temporary storage locations within the processor (to avoid having to read/write slow memory) Others are required for specific purposes to ensure proper operation of the hardware Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC Addr Data Control Memory

9 6.9 General Purpose Registers Registers available to software instructions for use by the programmer/compiler Instructions use these registers as inputs (source locations) and outputs (destination locations) Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC Addr Data Control Memory

10 6. What if we didn t have registers? Example w/o registers: F = (X+Y) (X*Y) Requires an ADD instruction, MULtiply instruction, and SUBtract Instruction w/o registers ADD: Load X and Y from memory, store result to memory MUL: Load X and Y again from mem., store result to memory SUB: Load results from ADD and MUL and store result to memory 9 memory accesses Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC Addr Data Control Memory X Y F

11 6. What if we have registers? Example w/ registers: F = (X+Y) (X*Y) Load X and Y into registers ADD: R + R and store result in R2 MUL: R * R and store result in R3 SUB: R2 R3 and store result in R4 Store R4 back to memory 3 total memory access Processor out op. ALU ADD, SUB, AND, OR in in2 PC X Y R-R5 Addr Data Control Memory X Y F

12 6.2 Other Registers Some bookkeeping information is needed to make the processor operate correctly Example: Program Counter (PC) Recall that the processor must fetch instructions from memory before decoding and executing them PC register holds the address of the next instruction to fetch Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC Addr Data Control Memory

13 6.3 Fetching an Instruction To fetch an instruction PC contains the address of the instruction The value in the PC is placed on the address bus and the memory is told to read The PC is incremented, and the process is repeated for the next instruction Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC PC = Addr = Addr Data = inst. machine code Data Control = Read Control Memory FF inst. inst. 2 inst. 3 inst. 4 inst. 5

14 6.4 Fetching an Instruction To fetch an instruction PC contains the address of the instruction The value in the PC is placed on the address bus and the memory is told to read The PC is incremented, and the process is repeated for the next instruction Processor out op. ALU ADD, SUB, AND, OR in in2 R-R5 PC PC = Addr = Addr Data = inst.2 machine code Data Control = Read Control Memory FF inst. inst. 2 inst. 3 inst. 4 inst. 5

15 6.5 Control Circuitry Control circuitry is used to decode the instruction and then generate the necessary signals to complete its execution Controls the ALU Selects registers to be used as source and destination locations (using muxes) Processor out op. ALU ADD, SUB, AND, OR Control in in2 R-R5 PC Addr Data Control Memory FF inst. inst. 2 inst. 3 inst. 4 inst. 5

16 6.6 Control Circuitry Assume x2 is machine code for an ADD instruction of R2 = R + R Control Logic will select the registers (R and R) tell the ALU to add select the destination register (R2) Processor ADD Control PC Addr Memory 2 inst. 2 out ALU ADD in in2 R-R5 2 Data Control FF inst. 3 inst. 4 inst. 5

17 6.7 DESIGN OF A SIMPLE INSTRUCTIONS SET AND PROCESSOR

18 6.8 What Shall We Do? Let's design a simple processor to understand the entire flow from writing software to designing the hardware This may not be the most advanced processor but the goal is to give you a fully working example from software to hardware

19 6.9 Instruction Sets Defines the software interface of the processor and memory system Instruction set is the vocabulary the HW processor can understand and the SW is composed with Usually the compiler is the one that translates the software Most assembly/machine instructions fall into one of three categories Arithmetic/Logic Data Transfer (to and from memory) Control (branch, subroutine call, etc.)

20 6.2 Instruction Set Architecture (ISA) 2 approaches CISC = Complex instruction set computer Large, rich vocabulary More work per instruction, slower clock cycle RISC = Reduced instruction set computer Small, basic, but sufficient vocabulary Less work per instruction, faster clock cycle Usually a simple and small set of instructions with regular format facilitates building faster processors

21 6.2 The Instruction Set () To start we will define the instruction set Let's make this a simple calculator-like processor that can perform at least the following 3 operations: ADD SUB AND Goal is to evaluate simple arithmetic expressions: (7+4-5)&3 Let's use 4-bit data values (i.e. all data operands will be 4-bits) To keep the number of bits needed to code an instruction to a minimum, let's use an ACCumulator-based architecture where the ACC register is always one implied operand ADD 7 means: ACC += 7 SUB 5 means: ACC -= 5

22 6.22 The Instruction Set (2) Let's assume the output of this computer is just 4 LED's to display a 4-bit binary number We'll provide some additional instructions to help us perform the calculations: Load constant (Acc = const) Clear (Acc = ) Out (OUT = Acc) That leaves us with 6 total instructions How many bits do we need for the opcode of our instructions? 3-bits If we want to store data/constants in our instructions (e.g. ADD 7, SUB 5) how many additional bits do we need in our instruction? 4-bits Instructions need 3 opcode + 4 data bits = 7-bits Let's round up to 8-bits for each instruction Output LEDs (Display = 7 = 2 ) Opcode (3-bits) Computer System Unu sed Constant (4-bits) Chosen Instruction Format

23 6.23 Compilation Consider the following "high-level" code ( ) & 3 "Compile" it to an appropriate instruction sequence (i.e assembly) Assembly refers to the human readable syntax of each instruction CLR ADD 7 SUB 4 ADD 6 AND 3 Now we need to convert to binary Instruction Set Summary ADD k (ACC += k) SUB k (ACC -= k) AND k (ACC &= k) LOAD k (ACC = k) CLR (ACC = ) OUT (OUT = ACC)

24 6.24 Defining the Machine Code Machine code refers to the binary representation of each instruction. We first need to define the actual opcodes so we can translate the assembly you wrote on the previous slide into binary for the hardware to execute Before we do that, let's consider the hardware design as this will help us choose appropriate opcodes

25 EE9 ALU 6.25 Arithmetic and Logic Units Let's use the ALU we designed in a previous unit We will design what is inside this block. X X X2 X3 Y Y F2 F F R R R2 R3 We just made up these code assignments and the various operations. Remember, we definitely need to support ADD, SUB, AND, and CLR (R=). F[2:] Op./Result R = X + Y R = X - Y R = X R = Y - X R = X & Y Unused Y2 Y3 R = Unused

26 4-bit Binary Adder 6.26 Completed ALU X X X2 X3 Y Y Y2 Y3 I Y I S 2-to-, 4-bit wide mux I Y I S S = F F 2-to-, 4-bit wide mux 2-to-, 4-bit wide mux I Y I S A A A2 A3 B B B2 B3 Ci=F C C4 S S S2 S3 F[2:] Op. F[2:] Op. R = X + Y R = X & Y R = X - Y Unused R = X R = EE9 ALU R = Y - X Unused 2-to-, 4-bit wide mux I Y I S S3 = F2 R R R2 R3 S = F F' S2 = F' F X X F F F2 X2 X3 EE9 ALU

27 6.27 S = F F S = F F' S2 = F' F Ci = F S3 = F2 Control Logic R FS[2:] S S S2 Ci S3 X+Y X-Y X Y-X X & Y d unused d d d d d d d unused d d d d d F F2F S d d d F F2F S d d F F2F S2 F F2F F F2F Ci d d S3 d d d d d d

28 6.28 Defining the Machine Code Format Using the ALU design can you suggest opcodes for the various instructions? The accumulator (ACC) will be connected to the result of the ALU But should the ACC be connected to the X or Y input of the ALU? Important: We achieve Load by passing X through the ALU to the ACC, so we need the constant to come in on X (so ACC cannot) Instruction Set Summary ADD k (ACC += k) SUB k (ACC -= k) AND k (ACC &= k) LOAD k (ACC = k) CLR (ACC = ) OUT (OUT = ACC) F[2:] Op./Result R = X + Y R = X - Y R = X + = R = Y - X R = X & Y Unused R = Unused Instruc. OPCODE Op./Result ADD ACC = ACC + C OUT OUT = ACC LOAD ACC = C SUB ACC = ACC - C AND ACC = ACC & C - Unused CLR ACC = - Unused

29 6.29 Assembler Now translate the assembly you found from a few slides back to machine code and show it as 2 hex digits per instruction The "high-level" code was ( ) & 3 "Compile" it to an appropriate instruction sequence (i.e assembly) CLR = xc ADD 7 = x7 SUB 4 = x64 ADD 6 = x6 AND 3 = x83 Instruc. OPCODE Op./Result ADD ACC = ACC + C OUT OUT = ACC LOAD ACC = C SUB ACC = ACC - C AND ACC = ACC & C - Unused CLR ACC = - Unused Opcode (3-bits) Unu sed Constant (4-bits) Chosen Instruction Format

30 EE9 ALU 6.3 Processor Datapath Now let's consider the processor data path Instruction Fetch Logic Control 5-bit Counter Q A Q A A2 A3 RESET Q4 A4 CLR 32x8 Memory D D D4 D5 D6 D7 I I I2 I3 I4 or OUT_LD ACC_LD ACC_LD F2 F F X X X2 X3 Y Y Y2 Y3 R R R2 R3 ACC_LD D D Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] LEDs

31 6.3 Sample Execution of SUB Instruction Fetch Logic 5-bit Counter CLR Q Q D D D4 D5 D6 D7 A A A2 A3 32x8 Memory I I I2 I3 I4 RESET Q4 A4 Control LEDs X X X2 X3 Y Y Y2 Y3 EE9 ALU R R R2 R3 F2 F F ACC_LD D D Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] OUT_LD D D Q Q OUT[3:] OUT_LD ACC_LD ACC_LD or

32 6.32 A Problem Write assembly for: ((7 & 3) + (6 & 5)) LOAD 7 AND 3 No place to store result so we can compute (6&5) separately No place to store "temporary" results

33 6.33 A Solution Let's modify our processor as follows: Add two registers for temporary storage: R and R Could add more but we'll keep it simple A new instruction to save the ACC to a register: SAVE Rx (Rx = ACC) Update ALU instructions to be able to specify a register operand rather than just a constant ADD Rx (ACC = ACC + Rx) SUB Rx (ACC = ACC - Rx) AND RX (ACC = ACC & Rx) LOAD Rx (ACC = Rx) Update the instruction format to use the leftover bit to indicate whether the operand is a constant or should come from a register Opcode (3-bits) Opcode (3-bits) C/R C/R Constant (4-bits) Unused (3-bits) New Instruction Format Reg /

34 6.34 Updated Assembly Write assembly for: ( (7 & 3) + (6 & 5) ) New assembly & machine code LOAD 7 = x47 AND 3 = x83 SAVE R = xf LOAD 6 = x46 AND 5 = x85 ADD R = x OUT = x2 Instruc. OPCODE Op./Result ADD ACC = ACC + C/R OUT OUT = ACC LOAD ACC = X SUB ACC = ACC - C/R AND ACC = ACC & C/R - Unused CLR ACC = SAVE Rx Rx = ACC Opcode (3-bits) Opcode (3-bits) C/R C/R Constant (4-bits) Unused (3-bits) Reg / New Instruction Format

35 EE9 ALU 6.35 Updated Processor Datapath Instruction Fetch Logic Control 5-bit Counter Q A Q A A2 A3 RESET CLR Q4 A4 32x8 Memory D D D4 D5 D6 D7 I I I2 I3 I4 OUT_LD ACC_LD R_LD R_LD ACC[3:] 2-to-, 4-bit wide mux Data Registers R[3:] D[3:] Q[3:] I Y R I D[3:] Q[3:] S R R[3:] F2 F F X X X2 X3 Y Y Y2 Y3 R R R2 R3 D D ACC_LD Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] LEDs

36 6.36 More Practice Write assembly for: ( (4&4) + (5&3) - (6&) + (8&3)) Try to use as few instructions as you can LOAD 6 AND SAVE R LOAD 4 AND 4 SAVE R LOAD 5 AND 3 ADD R SAVE R LOAD 8 AND 3 ADD R SUB R OUT Since we can only do ACC C/R, it means we should already have the sum of the other terms in ACC and then subtract. To compute 6& later would then require us to swap in the sum of the other terms into the ACC and then subtract, costing an extra instruction. Since we have many terms we can use R to keep "accumulating" the sum of more terms while we use the ACC to compute the current term. Opcode (3-bits) Opcode (3-bits) C/R C/R Constant (4-bits) Unused (3-bits) New Instruction Format Reg /

37 6.37 D[3:] Q[3:] D[3:] Q[3:] Data Registers ACC[3:] R_LD R_LD Instruction Fetch Logic 5-bit Counter CLR Q Q D D D4 D5 D6 D7 A A A2 A3 32x8 Memory I I I2 I3 I4 RESET Q4 A4 S I Y I 2-to-, 4-bit wide mux S I Y I 2-to-, 4-bit wide mux Control R R I I4 LEDs R[3:] R[3:] R_LD I R_LD X X X2 X3 Y Y Y2 Y3 EE9 ALU R R R2 R3 F2 F F ACC_LD D D Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] OUT_LD D D Q Q OUT[3:] I OUT_LD ACC_LD ADD 7

38 6.38 D[3:] Q[3:] D[3:] Q[3:] Data Registers ACC[3:] R_LD R_LD Instruction Fetch Logic 5-bit Counter CLR Q Q D D D4 D5 D6 D7 A A A2 A3 32x8 Memory I I I2 I3 I4 RESET Q4 A4 S I Y I 2-to-, 4-bit wide mux S I Y I 2-to-, 4-bit wide mux Control R R I I4 LEDs R[3:] R[3:] R_LD I R_LD X X X2 X3 Y Y Y2 Y3 EE9 ALU R R R2 R3 F2 F F ACC_LD D D Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] OUT_LD D D Q Q OUT[3:] I OUT_LD ACC_LD ADD R

39 6.39 D[3:] Q[3:] D[3:] Q[3:] Data Registers ACC[3:] R_LD R_LD Instruction Fetch Logic 5-bit Counter CLR Q Q D D D4 D5 D6 D7 A A A2 A3 32x8 Memory I I I2 I3 I4 RESET Q4 A4 S I Y I 2-to-, 4-bit wide mux S I Y I 2-to-, 4-bit wide mux Control R R I I4 LEDs R[3:] R[3:] R_LD I R_LD X X X2 X3 Y Y Y2 Y3 EE9 ALU R R R2 R3 F2 F F ACC_LD D D Q Q ACC[3:] OUT_LD D D Q Q OUT[3:] OUT_LD D D Q Q OUT[3:] I OUT_LD ACC_LD SAVE R x x x x x x x x x

You Can Do That. Unit 16. Motivation. Computer Organization. Computer Organization Design of a Simple Processor. Now that you have some understanding

You Can Do That. Unit 16. Motivation. Computer Organization. Computer Organization Design of a Simple Processor. Now that you have some understanding .. ou Can Do That Unit Computer Organization Design of a imple Clou & Distribute Computing (CyberPhysical, bases, Mining,etc.) Applications (AI, Robotics, Graphics, Mobile) ystems & Networking (Embee ystems,

More information

EE 109 Unit 12 Computer Organization

EE 109 Unit 12 Computer Organization 1 EE 19 Unit 12 Computer Organization 2 Review of some key concepts from the first half of the semester A BRIEF SUMMARY 3 A Few Big Ideas 1 Setting and clearing bits in a register tells the hardware what

More information

EE 109 Unit 12 Computer Organization. A Few Big Ideas 1. A Few Big Ideas 2 A BRIEF SUMMARY. Clocking or enables are necessary to say

EE 109 Unit 12 Computer Organization. A Few Big Ideas 1. A Few Big Ideas 2 A BRIEF SUMMARY. Clocking or enables are necessary to say EE 9 Unit Computer Organization Review of some key concepts from the first half of the semester and revisit what CECS prepares you to do in the future. A BRIEF SUMMARY A Few Big Ideas bits in a register

More information

Introduction to Digital Logic

Introduction to Digital Logic Introduction to Digital Logic Lecture 5 Simple CPU Overview Instruction Set Software Process Software Program High Level Language Description if (x > ) x = x + y - z; a = b*x; Compiler JLEZ X,SKIP MOVE.W

More information

17.1. Unit 17. Instruction Sets Picoblaze Processor

17.1. Unit 17. Instruction Sets Picoblaze Processor 17.1 Unit 17 Instruction Sets Picoblaze Processor INSTRUCTION SET OVERVIEW 17.2 17.3 Instruction Set Review Defines the software interface of the processor and memory system Instruction set is the vocabulary

More information

Unit 17. Instruction Set Review INSTRUCTION SET OVERVIEW. Historical Instruction Format Options. Instruction Sets Picoblaze Processor

Unit 17. Instruction Set Review INSTRUCTION SET OVERVIEW. Historical Instruction Format Options. Instruction Sets Picoblaze Processor 17.1 17.2 Unit 17 Instruction Sets Picoblaze Processor INSTRUCTION SET OVERVIEW 17.3 17.4 Instruction Set Review Defines the software interface of the processor and memory system Instruction set is the

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

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

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

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

are Softw Instruction Set Architecture Microarchitecture are rdw

are Softw Instruction Set Architecture Microarchitecture are rdw Program, Application Software Programming Language Compiler/Interpreter Operating System Instruction Set Architecture Hardware Microarchitecture Digital Logic Devices (transistors, etc.) Solid-State Physics

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

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra Binary Representation Computer Systems Information is represented as a sequence of binary digits: Bits What the actual bits represent depends on the context: Seminar 3 Numerical value (integer, floating

More information

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 122 Computer Fluency Computer Organization Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Key Points 1) The standard computer (von Neumann) architecture consists

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

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

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

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

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

More information

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

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Layered View of the Computer http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Assembly/Machine Programmer View

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

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 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction

More information

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor. COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction

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

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

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

Levels in Processor Design

Levels in Processor Design Levels in Processor Design Circuit design Keywords: transistors, wires etc.results in gates, flip-flops etc. Logical design Putting gates (AND, NAND, ) and flip-flops together to build basic blocks such

More information

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 3, 2015 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

More information

CS 101, Mock Computer Architecture

CS 101, Mock Computer Architecture CS 101, Mock Computer Architecture Computer organization and architecture refers to the actual hardware used to construct the computer, and the way that the hardware operates both physically and logically

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

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

session 7. Datapath Design

session 7. Datapath Design General Objective: Determine the hardware requirement of a digital computer based on its instruction set. Specific Objectives: Describe the general concepts in designing the data path of a digital computer

More information

Computer Architecture 2/26/01 Lecture #

Computer Architecture 2/26/01 Lecture # Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the

More information

COMPUTER ORGANIZATION & ARCHITECTURE

COMPUTER ORGANIZATION & ARCHITECTURE COMPUTER ORGANIZATION & ARCHITECTURE Instructions Sets Architecture Lesson 5a 1 What are Instruction Sets The complete collection of instructions that are understood by a CPU Can be considered as a functional

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

CISC Processor Design

CISC Processor Design CISC Processor Design Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 3 SE-273: Processor Design Processor Architecture Processor Architecture CISC RISC Jan 21, 2008

More information

Inf2C - Computer Systems Lecture Processor Design Single Cycle

Inf2C - Computer Systems Lecture Processor Design Single Cycle Inf2C - Computer Systems Lecture 10-11 Processor Design Single Cycle Boris Grot School of Informatics University of Edinburgh Previous lectures Combinational circuits Combinations of gates (INV, AND, OR,

More information

Chapter 4 The Processor 1. Chapter 4A. The Processor

Chapter 4 The Processor 1. Chapter 4A. The Processor Chapter 4 The Processor 1 Chapter 4A The Processor Chapter 4 The Processor 2 Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware

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

COSC121: Computer Systems: Review

COSC121: Computer Systems: Review COSC121: Computer Systems: Review Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer

More information

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

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

More information

EE 457. EE 457 Unit 0. Prerequisites. Course Info Lecture: Prof. Redekopp Class Introduction Basic Hardware Organization

EE 457. EE 457 Unit 0. Prerequisites. Course Info Lecture: Prof. Redekopp Class Introduction Basic Hardware Organization 0.1 0.2 EE 457 EE 457 Unit 0 Class Introduction Basic Hardware Organization Focus on CPU Design Microarchitecture General Digital System Design Focus on Hierarchy Cache Virtual Focus on Computer Arithmetic

More information

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls Announcements HW1 is due on this Friday (Sept 12 th ) Appendix A is very helpful to HW1. Check out system calls on Page A-48. Ask TA (Liquan chen: liquan@ece.rutgers.edu) about homework related questions.

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

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017 Lecture Objectives Introduction to Computing Chapter The AVR microcontroller and embedded systems using assembly and c Students should be able to: Convert between base and. Explain the difference between

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

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

CSE 141L Computer Architecture Lab Fall Lecture 3

CSE 141L Computer Architecture Lab Fall Lecture 3 CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

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

More information

CSE140: Components and Design Techniques for Digital Systems

CSE140: Components and Design Techniques for Digital Systems CSE4: Components and Design Techniques for Digital Systems Tajana Simunic Rosing Announcements and Outline Check webct grades, make sure everything is there and is correct Pick up graded d homework at

More information

Instruction Set Architectures. Part 1

Instruction Set Architectures. Part 1 Instruction Set Architectures Part 1 Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design Circuit Design 1/9/02 Some ancient history Earliest (1940

More information

Introduction. Datapath Basics

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

More information

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Dec Hex Bin ORG ; ZERO. Introduction To Computing Dec Hex Bin 0 0 00000000 ORG ; ZERO Introduction To Computing OBJECTIVES this chapter enables the student to: Convert any number from base 2, base 10, or base 16 to any of the other two bases. Add and

More information

Name: ID# UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III

Name:   ID# UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III 1) Recalculate the various propogation delays in a 4-bit carry lookahead

More information

Lecture 11: Control Unit and Instruction Encoding

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

More information

Approaches to Digital System Design

Approaches to Digital System Design Approaches to Digital System Design In Digital Devices, you learned how to create a logic network (Flip-flops + combinational gates) to solve a problem The logic network was SPECIFIC to the problem. To

More information

Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan)

Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) Microarchitecture Design of Digital Circuits 27 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_7 Adapted from Digital

More information

COMPUTER ORGANIZATION AND DESIGN

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

More information

Extra-credit QUIZ Pipelining -due next time-

Extra-credit QUIZ Pipelining -due next time- QUIZ Pipelining A computer pipeline has 4 processors, as shown above. Each processor takes 15 ms to execute, and each instruction must go sequentially through all 4 processors. A program has 10 instructions.

More information

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers Chapter 4 The Von Neumann Model Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye, Colorado State University Computing Layers Problems Algorithms

More information

EC-801 Advanced Computer Architecture

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

More information

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008

Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro II Lect 10 Feb 15, 2008 Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L10.1

More information

Digital System Design Using Verilog. - Processing Unit Design

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

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 14: One Cycle MIPs Datapath Adapted from Computer Organization and Design, Patterson & Hennessy, UCB R-Format Instructions Read two register operands Perform

More information

Part II Instruction-Set Architecture. Jan Computer Architecture, Instruction-Set Architecture Slide 1

Part II Instruction-Set Architecture. Jan Computer Architecture, Instruction-Set Architecture Slide 1 Part II Instruction-Set Architecture Jan. 211 Computer Architecture, Instruction-Set Architecture Slide 1 Short review of the previous lecture Performance = 1/(Execution time) = Clock rate / (Average CPI

More information

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2 Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats

More information

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 3: von Neumann Architecture von Neumann Architecture Our goal: understand the basics of von Neumann architecture, including memory, control unit

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

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control

ELEC 5200/6200 Computer Architecture and Design Spring 2017 Lecture 4: Datapath and Control ELEC 52/62 Computer Architecture and Design Spring 217 Lecture 4: Datapath and Control Ujjwal Guin, Assistant Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849

More information

CS 24: INTRODUCTION TO. Spring 2018 Lecture 3 COMPUTING SYSTEMS

CS 24: INTRODUCTION TO. Spring 2018 Lecture 3 COMPUTING SYSTEMS CS 24: INTRODUCTION TO Spring 2018 Lecture 3 COMPUTING SYSTEMS LAST TIME Basic components of processors: Buses, multiplexers, demultiplexers Arithmetic/Logic Unit (ALU) Addressable memory Assembled components

More information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN ARM COMPUTER ORGANIZATION AND DESIGN Edition The Hardware/Software Interface Chapter 4 The Processor Modified and extended by R.J. Leduc - 2016 To understand this chapter, you will need to understand some

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

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register

Memory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register CPU Organisation Central Processing Unit (CPU) Memory General R0 Registers R1 R2 ALU R3 Output Register Input Register 1 Input Register 2 Internal Bus Address Bus Data Bus Addr. $ 000 001 002 Program Counter

More information

address ALU the operation opcode ACC Acc memory address

address ALU the operation opcode ACC Acc memory address In this lecture, we will look at how storage (or memory) works with processor in a computer system. This is in preparation for the next lecture, in which we will examine how a microprocessor actually works

More information

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

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

More information

CC411: Introduction To Microprocessors

CC411: Introduction To Microprocessors CC411: Introduction To Microprocessors OBJECTIVES this chapter enables the student to: Use number { base 2, base 10, or base 16 }. Add and subtract binary/hex numbers. Represent any binary number in 2

More information

Single Cycle Datapath

Single Cycle Datapath Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.-4.4 Appendices B.7, B.8, B.,.2 Practice Problems:, 4, 6, 9 ing (2) Introduction We will examine two MIPS implementations

More information

Spiral 3-1. Hardware/Software Interfacing

Spiral 3-1. Hardware/Software Interfacing 3-1.1 Spiral 3-1 Hardware/Software Interfacing 3-1.2 Learning Outcomes I understand the PicoBlaze bus interface signals: PORT_ID, IN_PORT, OUT_PORT, WRITE_STROBE I understand how a memory map provides

More information

Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1

Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Lecture 3: The Processor (Chapter 4 of textbook) Chapter 4.1 Introduction Chapter 4.1 Chapter 4.2 Review: MIPS (RISC) Design Principles Simplicity favors regularity fixed size instructions small number

More information

Data Manipulation. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

Data Manipulation. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Data Manipulation Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan Outline Computer Architecture Machine Language Program Execution Arithmetic/Logic

More information

Blog -

Blog - . Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many

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

COSC121: Computer Systems: Review

COSC121: Computer Systems: Review COSC121: Computer Systems: Review Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

RISC Processor Design

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

More information

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

CS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction

CS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction CS 61C: Great Ideas in Computer Architecture MIPS CPU Datapath, Control Introduction Instructor: Alan Christopher 7/28/214 Summer 214 -- Lecture #2 1 Review of Last Lecture Critical path constrains clock

More information

Review. N-bit adder-subtractor done using N 1- bit adders with XOR gates on input. Lecture #19 Designing a Single-Cycle CPU

Review. N-bit adder-subtractor done using N 1- bit adders with XOR gates on input. Lecture #19 Designing a Single-Cycle CPU CS6C L9 CPU Design : Designing a Single-Cycle CPU () insteecsberkeleyedu/~cs6c CS6C : Machine Structures Lecture #9 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker Review

More information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN 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

In this lecture, we will look at how storage (or memory) works with processor in a computer system. This is in preparation for the next lecture, in

In this lecture, we will look at how storage (or memory) works with processor in a computer system. This is in preparation for the next lecture, in In this lecture, we will look at how storage (or memory) works with processor in a computer system. This is in preparation for the next lecture, in which we will examine how a microprocessor actually works

More information

Computer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory

Computer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory Computer System Hiroaki Kobayashi 7/25/2011 7/25/2011 Computer Engineering 1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory Fundamental

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

361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath

361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath 361 datapath.1 Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath Outline of Today s Lecture Introduction Where are we with respect to the BIG picture? Questions and Administrative

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 16 Control Unit Operations Rev. 3.2 (2009-10) by Enrico Nardelli 16-1 Execution of the Instruction Cycle It has many elementary phases,

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #19 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker CS61C L19 CPU Design : Designing a Single-Cycle CPU

More information

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming CS311 Lecture: CPU Control: Hardwired control and Microprogrammed Control Last revised October 18, 2007 Objectives: 1. To explain the concept of a control word 2. To show how control words can be generated

More information

Introduction to CPU Design

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

More information

Computer Architecture (part 2)

Computer Architecture (part 2) Computer Architecture (part 2) Topics: Machine Organization Machine Cycle Program Execution Machine Language Types of Memory & Access 2 Chapter 5 The Von Neumann Architecture 1 Arithmetic Logic Unit (ALU)

More information

The Processor: Datapath & Control

The Processor: Datapath & Control Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Processor: Datapath & Control Processor Design Step 3 Assemble Datapath Meeting Requirements Build the

More information

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers Chapter 5 The LC-3 Original slides from Gregory Byrd, North Carolina State University Modified slides by C. Wilcox, S. Rajopadhye Colorado State University Computing Layers Problems Algorithms Language

More information