16.1. Unit 16. Computer Organization Design of a Simple Processor
|
|
- Jessica Curtis
- 5 years ago
- Views:
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
.. 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 informationEE 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 informationEE 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 informationIntroduction 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 information17.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 informationUnit 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 informationProcessor (I) - datapath & control. Hwansoo Han
Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations
More informationThe Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined
More informationare 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 informationChapter 4. The Processor. Computer Architecture and IC Design Lab
Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS
More informationComputer 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 informationCOSC 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 informationChapter 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 informationCOMPUTER 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 informationThe Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University
The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
More informationThe 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 informationCPE300: 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 informationECE260: 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 informationCOMPUTER 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 informationChapter 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 informationMark 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 informationCS 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 informationChapter 4. The Processor Designing the datapath
Chapter 4 The Processor Designing the datapath Introduction CPU performance determined by Instruction Count Clock Cycles per Instruction (CPI) and Cycle time Determined by Instruction Set Architecure (ISA)
More informationLevels 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 informationCS 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 informationCS 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 informationSystems 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 informationEE 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 informationsession 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 informationComputer 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 informationCOMPUTER 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 informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationCISC 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 informationInf2C - 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 informationChapter 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 informationComputer 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 informationCOSC121: 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 informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationEE 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 informationAnnouncements 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 informationMark 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 informationLecture 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 informationChapter 4. The Processor
Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified
More informationTopic 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 informationCSE 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 informationTHE MICROPROCESSOR Von Neumann s Architecture Model
THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit
More informationCSE140: 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 informationInstruction 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 informationIntroduction. Datapath Basics
Introduction CPU performance factors - Instruction count; determined by ISA and compiler - CPI and Cycle time; determined by CPU hardware 1 We will examine a simplified MIPS implementation in this course
More informationDec 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 informationName: 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 informationLecture 11: Control Unit and Instruction Encoding
CSCI25 Computer Organization Lecture : Control Unit and Instruction Encoding Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 7.4~7.5 (5 th Ed.) Recall: Components of a Processor Register file: a
More informationApproaches 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 informationDesign 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 informationCOMPUTER 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 informationExtra-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 informationCopyright 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 informationEC-801 Advanced Computer Architecture
EC-801 Advanced Computer Architecture Lecture 5 Instruction Set Architecture I Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Instruction Set Architecture
More informationMath 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 informationDigital System Design Using Verilog. - Processing Unit Design
Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register
More informationECE232: 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 informationPart 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 informationClass 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 informationCS 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 informationLearning 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 informationELEC 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 informationCS 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 informationCOMPUTER 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 informationCISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization
CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,
More informationMemory 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 informationaddress 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 informationMath 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS
More informationCC411: 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 informationSingle 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 informationSpiral 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 informationLecture 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 informationData 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 informationBlog -
. 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 informationCISC 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 informationCOSC121: 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 informationAdvanced 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 informationRISC Processor Design
RISC Processor Design Single Cycle Implementation - MIPS Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 13 SE-273: Processor Design Feb 07, 2011 SE-273@SERC 1 Courtesy:
More informationMIPS 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 informationCS 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 informationReview. 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 informationCOMPUTER 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 informationIn 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 informationComputer 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 informationEE 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 information361 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 informationWilliam 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 informationCS61C : 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 informationMaterials: 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 informationIntroduction to CPU Design
١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]
More informationComputer 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 informationThe 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 informationCopyright 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