Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.

Slides:



Advertisements
Similar presentations
Circuitos Digitales II The General Computer Architecture The CPU Control unit Semana No.9 Semestre Prof. Gustavo Patiño Prof.
Advertisements

Pipelining (Week 8).
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
CS1104: Computer Organisation School of Computing National University of Singapore.
1 ITCS 3181 Logic and Computer Systems B. Wilkinson Slides9.ppt Modification date: March 30, 2015 Processor Design.
PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
1 Today  All HW1 turned in on time, this is great!  HW2 will be out soon —You will work on procedure calls/stack/etc.  Lab1 will be out soon (possibly.
CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
CS61C L18 Introduction to CPU Design (1) Beamer, Summer 2007 © UCB Scott Beamer, Instructor inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture.
Levels in Processor Design
1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Computer Organization and Assembly language
Processor I CPSC 321 Andreas Klappenecker. Midterm 1 Thursday, October 7, during the regular class time Covers all material up to that point History MIPS.
Computer Organization and Architecture
Basic Processing Unit (Week 6)
Computer Science 210 Computer Organization The Instruction Execution Cycle.
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Chapter 5 Basic Processing Unit
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
Processor: Datapath and Control
Electrical and Computer Engineering University of Cyprus LAB 2: MIPS.
TEAM FRONT END ECEN 4243 Digital Computer Design.
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
December 26, 2015©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Control Unit Operations Chapter10:. What is Control Unit (CU)?(1)  Part of a CPU or other device that directs its operation.  Tells the rest of the.
February 22, 2016©2003 Craig Zilles (derived from slides by Howard Huang) 1 A single-cycle MIPS processor  As previously discussed, an instruction set.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
MIPS Processor.
Computer Architecture Lecture 7: Microprogrammed Microarchitectures Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/30/2013.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Electrical and Computer Engineering University of Cyprus
IT 251 Computer Organization and Architecture
/ Computer Architecture and Design
William Stallings Computer Organization and Architecture
Morgan Kaufmann Publishers The Processor
William Stallings Computer Organization and Architecture 7th Edition
Processor Architecture: Introduction to RISC Datapath (MIPS and Nios II) CSCE 230.
Morgan Kaufmann Publishers The Processor
Decode and Operand Read
Chapter 15 Control Unit Operation
CSCI206 - Computer Organization & Programming
Single-cycle datapath, slightly rearranged
Computer Organization “Central” Processing Unit (CPU)
Computer Organization and ASSEMBLY LANGUAGE
Design of the Control Unit for One-cycle Instruction Execution
Topic 6 LC-3.
MIPS Processor.
Control Unit Introduction Types Comparison Control Memory
Levels in Processor Design
William Stallings Computer Organization and Architecture 7th Edition
Guest Lecturer TA: Shreyas Chand
Chapter 14 Control Unit Operation
Computer Architecture
ECE 352 Digital System Fundamentals
Chapter 7 Microarchitecture
Chapter 7 Microarchitecture
Basic components Instruction processing
Presentation transcript:

Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook

2 Common clock Operation takes one clock cycle. Clock period * ≥ Propagation_Delay(A or B) + Propagation_Delay(ALU) + Setup_Time(C) A B C Add * This computation ignores wire delays which can be quite significant, especially, in FPGA implementations

3 FGH

4 FGH Add buffers between stages to achieve independence. Again, ignoring wire delays

 The design uses inter-stage buffers  Motivation:  Easier-to-understand control  Easier to generalize to pipelined implementation in Chapter 6 5

(Memory-mapped) I/O

CSCE 230 – Computer Organization 7 memory CPU PC address data IRADD a,b,c 200 ADD a,b,c

 PC provides instruction address.  Instruction is fetched into IR  Instruction address generator updates PC  Control circuitry interprets instruction and generates control signals to perform the actions needed. 8

10 MAX:Subtract SP, SP, #20 Store R1, 16(SP)Push R1 Store R2, 12(SP)Push R2… StoreR5, (SP)Push R5 LoadR3, 24(SP) LoadR5, 20(SP) MoveR2, #1 Loop:AddR5, R5, #4 LoadR4, (R5) Branch_if_(R1>=R4) Skip MoveR1, R4 Skip:AddR2, R2, #1 Branch_if_(R3>R2) Loop StoreR1, 24(SP) Load R1, 16(SP)Restore R1 Load R2, 12(SP)Restore R2… LoadR5, (SP)Restore R5 Return

11 1. Instruction Fetch 2. Instruction Decode 3. Instruction Execute

 Common to all instructions  (Essential) Read instruction word in memory pointed to by PC into IR  (Optional) Increment PC (may be overwritten if the next instruction is different)  Important architectural principle: Make the common case fast. 12

 Common to all instructions  (Essential) Figure out what the instruction is so that the control signals can be correctly generated for instruction execution.  Done by decoding the instruction opcode field(s)  (Optional) Read source registers specified in by the register fields of instructions involving register operands.  Wasted effort if the instruction does not involve register reads but this is the common case. 13

Add R3, R4, R5 Load R5, X(R7) Branch LOOP

 Depends on instruction type.  Can be further divided into stages 15

 Load R5, X(R7)  Add R3, R4, R5  Add R3, R4, #100  Store R6, X(R8) 16

 Instruction processing moves from each stage to the next in every clock cycle, after fetch in Stage 1.  The instruction is decoded and the source registers are read in stage 2.  Computation takes place in the ALU in stage 3.  If a memory operation is involved, it takes place in stage 4.  The result of the instruction is stored in the destination register in stage 5. 17

18 Datapath: Stages 2–5 2. Register 3. ALU 4. Memory 5. Writeback Stage 1 (Instruction Fetch) is shown later.

(Memory-mapped) I/O

INSTRUCTION ADDRESS GENERATOR DATA PATH PROCESSOR-MEMORY INTERFACE Memory Data Out Memory Data In Memory Address CONTROL UNIT 20 Complete Datapath Instruction address Data address

 Two kinds:  Instruction address (via Input 1)  Data address (Via Input 0)  Instruction address generator updates PC after instruction fetch.  Also generates (subroutine) branch and subroutine return addresses.  MuxMA selects RZ when reading or writing data operands.  RZ stores the address computed by the ALU. 21

 Connections to RA and RY (via MuxY) are used for subroutine call and return. 22

 When an instruction is read, it is placed in IR.  The control circuitry decodes the instruction and generates the control signals that drive all units (more on this later).  The Immediate block extends the immediate operand to 32 bits as specified in the instruction. 23

24 Fig. 5.12

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction, RA  [R4], RB  [R5] 3. RZ  [RA]  [RB] 4. RY  [RZ] 5. R3  [RY] 25

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction, RA  [R7] 3. RZ  [RA]  Immediate value X 4. Memory address  [RZ], Read memory, RY  Memory data 5. R5  [RY] 26

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction, RA  [R8], RB  [R6] 3. RZ  [RA]  Immediate value X, RM  [RB] 4. Memory address  [RZ], Memory data  [RM], Write memory 5. No action 27

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction 3. PC  [PC]  Branch offset 4. No action 5. No action 28

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction, RA  [R5], RB  [R6] 3. Compare [RA] to [RB], If [RA] = [RB], then PC  [PC]  Branch offset 4. No action 5. No action 29 Complete the data flow diagram on your own.

1. Memory address  [PC], Read memory, IR  Memory data, PC  [PC]  4 2. Decode instruction, RA  [R9] 3. PC-Temp  [PC], PC  [RA] 4. RY  [PC-Temp] 5. Register LINK  [RY] 30 Complete the data flow diagram on your own.

 20% of your course grade  Goals  Understand software/hardware interface better by implementing a substantial subset of a Reduced Instruction Set Computer (RISC) instruction set architecture (ISA).  Understand design parameters that determine the performance of hardware design in terms of timing and utilization of hardware resources.  Learn to work as a team to carry out a complex design task requiring task partitioning, effective communication, and cooperation.  Produce a report that accurately describes your work according to the best practice in technical communication. 31

 Implement a basic processor with  an ISA that strongly resembles a subset of the MIPS architecture  some features that are unique to ARM  all instructions are 24-bits wide and data is 16-bits wide.  pipelining  (optional) interrupt capabilities 32

 Consists of 7 steps  Step 7 – Optional enhancements = Extra credit  1- Oct. 29/31 : ALU and Register File (done in lab)  2- Nov. 5/7 : Connect ALU and Reg File to datapath & mini report  3- Nov. 12/14 : Implement remaining instructions & mini report  4- Nov. 19/21 : Add I/O and ARM-like conditional execution & mini report  5- Dec. 3/5 : Add pipelining & mini report  6- Dec 10/12: Ideally have project done (including extra credit), report started.  7- Dec 19 : (Finals week) Present (actually need everything done): Project, Report, Demonstration  One week before each due date, a handout will be given with more detail on what is due. 33

 Every week you will submit a three-page report describing the portion of the project you worked on that week.  Concluded with a final report  More information  Course Documents/ Project section of Blackboard. 34

 500 points  20% of course grade (+150)  Parts 2-4: 50 Pts each  Part 5: 100 Pts  Final Part: 200 Pts  100 Pts: Report  50 Pts: Presentation  50 Pts: Demonstration  Individual: 50 Pts  Our assessment of each member’s contribution (5 Pts/week)  Peer evaluation form (25 Pts)  Bonus: Up to 150 Pts – Depends on the difficulty and success of the extras 35

 Homework 4 – Chapter A  Due Friday, Oct. 25 th  Quiz 4 – Chapter A (A.1-A.5)  Monday, Oct. 28 th (15 min)  Midterm – Chapter 1, 2, 3  Monday, Nov. 4 th (50 min)  Test 2 – Chapters A & 5  Monday, Nov. 11 th (50 min) 36