CSE Computer Architecture I
|
|
- Bryce Ford
- 6 years ago
- Views:
Transcription
1 Execution Sequence Summary CSE Computer Architecture I Lecture 17 - Multi Cycle Control Michael Niemier Department of Computer Science and Engineering Step name Instruction fetch Instruction decode/register fetch Action for R-type instructions Action for memory-reference instructions IR = Mem[PC], PC = PC + 4 A =RF [IR[25:21]], B = RF [IR[20:16]], Action for branches ALUOut = PC + (sign-extend (IR[1:-0]) << 2) Action for jumps Execution, address ALUOut = A op B ALUOut = A + sign-extend if (A =B) then PC = PC [31:28] computation, branch/ (IR[15:0]) PC = ALUOut (IR[25:0]<<2) jump completion Memory access or R-type RF [IR[15:11]] = Load: MDR = Mem[ALUOut] completion ALUOut or Store: Mem[ALUOut]= B Memory read completion Load: RF[IR[20:16]] = MDR A Multiple Cycle Datapath Multiple Cycle Design P C A d d r e s s M e m o r y D a t a I n s t r u c t i o n o r d a t a I n s t r u c t i o n r e g i s t e r M e m o r y d a t a r e g i s t e r D a t a R e g i s t e r A R e g i s t e r s R e g i s t e r B R e g i s t e r W!!Where do we need to insert mux s?!!any other functional units? A B A L U A L U O u t!! Break up the instructions into steps, each step takes a cycle "! balance the amount of work to be done "! restrict each cycle to use only one major functional unit!! At the end of a cycle "! store values for use in later cycles (easiest thing to do) "! introduce additional internal registers P!C! M! u! x! 1! A!d!d!r!e!s!s! W! r!i!t!e! d!a!t!a! M!e!m!o!r!y! M!e!m!D!a!t!a! I!n!s!t!r!u!c!t!i!o!n! [!2!5!!2!1!]! I!n!s!t!r!u!c!t!i!o!n! [!2!!1!6!]! I!n!s!t!r!u!c!t!i!o!n! M! [!1!5!! ]! I!n!s!t!r!u!c!t!i!o!n! u! I!n!s!t!r!u!c!t!i!o!n! [!1!5!!1!1! ]! x! r!e!g! i!s!t!e!r! 1! I!n!s!t!r!u!c!t!i!o!n! [!1!5!!]! M!e!m!o!r!y! d!a!t!a! r!e!g!i!s!t!e!r! M! u! x! 1! R!e!a!d! r!e!g! i!s!t!e!r!1! R!e!a!d! R!e!a!d! r!e!g! i!s!t!e!r!2! d!a!t!a!1! R!e!g! i!s!t!e!r!s! W! r!i!t!e! r!e!g! i!s!t!e!r! R!e!a!d! d!a!t!a!2! W! r!i!t!e! d!a!t!a! 1!6! 3!2! S! i!g!n! e!x!t!e!n!d! S!h! i!f!t! l!e!f!t!2! A! B! 4! M! u! x! 1! 1!M! u! 2! x! 3! Z!e!r!o! A!L!U! A!L!U! r!e!s!u! l!t! A!L!U!O!u!t!
2 Control Signals Implementing the Control!! PC: PCWrite, PCWriteCond, PCSource!! Memory: IorD, MemRead, MemWrite!! Instruction Register: IRWrite!! Register File: RegWrite, MemtoReg, RegDst!! ALU: ALUSrcA, ALUSrcB, ALUOp,!! Value of control signals is dependent upon: "!what instruction is being executed "!which step is being performed!! How to represent all the information? "!finite state diagram "!microprogramming!!realization of a control unit is independent of the representation used "! Control outputs: random logic, ROM, PLA "! Next-state function: same as above or an explicit sequencer Finite State Diagram Microprogramming as an Alternative 2 3 M e m o r y a d r e s s c o m p u t a t i o n A L U S r c A = 1 A L U S r c B = 10 A L U O p = 0 4 ' ) ( O p = ' L W M e m o r y a c c e s s M e m R e a d I o r D = 1 R e g D s t = 0 R e g W r i t e M e m t o R e g = 1 5 W r t e - b a c k s t e p S t a r t M e m o r y a c c e s s M e m W r i t e I o r D = 1 7 I n s t r u c t i o n f e t c h 0 M e m R e a d A L U S r c A = 0 I o r D = 0 I R W r i t e A L U S r c B = 01 A L U O p = 0 P C W r t e P C S o u r c e = 0 6 E x e c u t o n A L U S r c A = 1 A L U S r c B = 0 A L U O p = 10 R e g D s t = 1 R e g W r i t e M e m t o R e g = 0 B r a n c h c o m p l e t i o n 8 A L U S r c A = 1 A L U S r c B = 0 A L U O p = 01 P C W r t e C o n d P C S o u r c e = 01 R - t y p e c o m p l e t o n I n s t r u c t i o n d e t c o d e / r e g i s t e r f e tc h 1 i 9 A L U S r c A = 0 A L U S r c B = 1 A L U O p = 0 ' ) ( O p = J J u m p c o m p l e t o n P C W r i t e P C S o u r c e = 10!! Control unit can easily reach thousands of states with hundreds of different sequences. "! A large set of instructions and/or instruction classes (x86) "! Different implementations with different cycles per instruction!! Flexibility may be needed in the early design phase!! How about borrowing the ideas from what we just learned? "! Treat the set of control signals to be asserted in a state as an instruction to be executed (referred to as microinstructions) "! Treat state transitions as an instruction sequence "! Define formats (mnemonics) "! Specify control signals symbolically using microinstructions
3 Microprogramming as an Alternative (cont d)!! Each state => one microinstruction!! State transitions => microinstruction sequencing!! Setting up control signals => executing microinstructions!! To specify control, we just need to write microprograms (or microcode) S0 S1 S2 S3 Microinst Microinst Microinst N>=0 Microinst N<0 Microinstruction Format (1)!! Group the control signals according to how they are used!! For the 5-cycle MIPS organization: "! Memory: IorD, MemRead, MemWrite "! Instruction Register: IRWrite "! PC: PCWrite, PCWriteCond, PCSource "! Register File: RegWrite, MemtoReg, RegDst "! ALU: ALUSrcA, ALUSrcB, ALUOp!! Group them as follows: "! Memory (for both Memory and Instruction Register) "! PC write control (for PC) "! Register control (for Register File) "! ALU control "! SRC1 "! SRC2 "! Sequencing (for ALU) "! Microinstruction Format (2) Field name! Value! Signals active! Comment! Add! ALU control! Sub! ALUOp = 0 Cause the ALU to add.! ALUOp = 01! Cause the ALU to subtract; this implements the compare for branches.! Func code!aluop = 1 Use the instruction's func to determine ALU control.! SRC1! PC! ALUSrcA = Use the PC as the first ALU input.! A! ALUSrcA = 1! Register A is the first ALU input.! B! ALUSrcB= 0Register B is the second ALU input.! SRC2! 4! ALUSrc = 01! Use 4 as the second ALU input.! Extend! Extshft! Read! ALUSrcB= 1Use output of the sign ext unit as the 2nd ALU input.! ALUSrcB= 11! Use output of shift-by-two unit as the 2nd ALU input.! Read two registers using the rs and rt fields of the IR! and putting the data into registers A and B.! Write RegWrite,! Write a register using the rd field of the IR as the Register! ALU! RegDst = 1,! register number and the contents of the ALUOut as the data.! control! MemtoReg= Write MDR! RegWrite,! Write a register using the rt field of the IR as the RegDst = 0,! register number and the contents of the MDR as the data. MemtoReg=1! 5-11 Microinstruction Format (3) Field name! Value! Signals active! Comment! Read PC! MemRead,! Read memory using the PC as address; lord = write result into IR (and the MDR).! Memory! Read ALU! MemRead,! Read memory using the ALUOut as address; lord = 1! write result into MDR.! PC write control! Write ALU! MemWrite,! ALU! ALUOutcond! jump address! lord = 1! Write memory using the ALUOut as address, contents of B as the data.! PCSource 0 Write the output of the ALU into the PC.! PCWrite! PCSource=01,!If the Zero output of the ALU is active, write the PC with the contents of the register ALUOut.! PCWriteCond! PCSource=10,!Write the PC with the jump address from the instruction.! PCWrite! Seq! AddrCtl = 11! Choose the next microinstruction sequentially.! Sequencing!Fetch! AddrCtl = 0 Go to the first microinstruction to a new instruction.! Dispatch 1! AddrCtl = 01! Dispatch using the ROM 1.! Dispatch 2! AddrCtl = 1 Dispatch using the ROM 2.! 5-12
4 Sample Microinstruction (1)!!IFetch: IR = Mem[PC], PC = PC+4 PCWrite: 1 PCWriteCond: IorD: 0 MemRead: 1 IRWrite: 1 MemtoReg: PCSource: ALUOp: 00 ALUSrcB: 01 ALUSrcA: 0 RegWrite: RegDst: AddrCtrl: 11 Microinstruction: ALUctrl SRC1 SRC2 RegCtrl Memory PCWrite Sequen Add PC 4 -- ReadPC ALU Seq Sample Microinstruction (2)!! Decode: A= RF[IR[25:21]], B= RF[IR[20:16]], PCWrite: PCWriteCond: IorD: MemRead: IRWrite: MemtoReg: PCSource: ALUOp: 00 ALUSrcB: 11 ALUSrcA: 0 RegWrite: RegDst: AddrCtrl: 01 ALUOut = PC + Sign_Ext(IR[15:0]) << 2); Microinstruction: ALUctrl SRC1 SRC2 RegCtrl Memory PCWrite Sequen! Add PC ExtShf Read #$%&!'! Sample Microinstruction (3)!! BEQ1: -> Ifetch, PCWrite: PCWriteCond: 1 IorD: MemRead: IRWrite: MemtoReg: PCSource: 01 ALUOp: 01 ALUSrcB: 00 ALUSrcA: 1 RegWrite: RegDst: AddrCtrl: 00 if (A=B) then PC= ALUout Microinstruction: ALUctrl SRC1 SRC2 RegCtrl Memory PCWrite Sequen! Sub A B ALUout-cond Fetch! Exercise: Compute Memory Address!! Mem1: -> MRead/RegWrite, PCWrite: PCWriteCond: IorD: MemRead: IRWrite: MemtoReg: PCSource: ALUOp: 00 ALUSrcB: 10 ALUSrcA: 1 RegWrite: RegDst: AddrCtrl: 10 ALUOut = A + Sign_Ext(IR[15:0]); Microinstruction: ALUctrl SRC1 SRC2 RegCtrl Memory PCWrite Sequen Add A Extend Disp 2!
5 Put It All Together Control Implementations Label ALU control SRC1 SRC2 Register control Memory PCWrite control Sequencing Fetch Add PC 4 Read PC ALU Seq Add PC Extshft Read Dispatch 1 Mem1 Add A Extend Dispatch 2 LW2 Read ALU Seq Write MDR Fetch SW2 Write ALU Fetch Rformat1 Func code A B Seq Write ALU Fetch BEQ1 Sub A B ALUOut-cond Fetch JUMP1 Jump address Fetch! What would a microassembler do?!! The big picture: O p 5 O p 4 ()*+,)-!.)/$ How to implement the control logic?! Random logic, memory-baed, mux-based,... O p 3 O p 2 3*&2+! O p 1 O p 0 3*%+,20+$)*!45/$%+5,! 1&0)65!7$5-6! S 3 12+&2+! S 2 S 1 S 0 S t a t e r e g i s t e r P C W r i t e P C W r i t e C o n d I o r D M e m R e a d M e m W r i t e I R W r i t e M e m t o R e g P C S o u r c e A L U O p A L U S r c B A L U S r c A R e g W r i t e R e g D s t N S 3 N S 2 N S 1 N S Memory-Based Implementation!!Important factors to consider when using a memory: "! How many address lines? 6 bits for opcode, 4 bits for state = 10 address lines "! How many output bits? 16 datapath-control outputs, 4 state bits = 20 outputs "! So the ROM size is 2 10 x 20 = 20K bits!!how many entries (or addresses) contain distinct values? "! many outputs are the same or don t cares so can be rather wasteful Alternatives for Control Implementation!!Use hardwired random logic "! Efficient especially if you have a good CAD tool (not Xilins, ok) "! Not as flexible as memory-based!!can we do better? "! Use an explicit sequencer so avoid storing unused entries
6 Explicit Sequencer Address Select Logic!!How many input lines? "!4!!How many output lines? "!No. of control outs + No. of AddrCtrl '! ;665,! :.;!!),!41<! 3*&2+! 8+9+5! 12+&2+! ;66,5%%!85-50+! ;66,(+,-! :(=,$+5! :(=,$+5()*6! 3),#! <5>4596! <5>=,$+5! 34=,$+5! <5>+)45/! :(8)2,05! ;.?1&! ;.?8,0@! ;.?8,0;! 45/$%=,$+5! 45/$%#%+! 3*%+,20+$)*!45/$%+5,!1:!A$5-6! Dispatch ROM 1 Op Opcode name Value R-format jmp beq lw sw Adder Dispatch ROM 2 PLA or ROM State MUX 3! 2! 1! O!p! Instruction Reg OP field Dispatch ROM 1 Addr Ctrl Addr Select Logic Dispatch ROM 2 Op Opcode name Value lw sw Address Control Action The Complete Design State No. Address-control action Value of AddrCtl 0 Use incremented state 3 1 Use dispatch ROM Use dispatch ROM Use incremented state 3 4 Replace state number by Replace state number by Use incremented state 3 7 Replace state number by Replace state number by Replace state number by 0 0 C o n t r o l u n i t 1 A d d e r ()*+,)-!8+),5! O u t p u t s I n p u t M i c r o p r o g r a m c o u n t e r A d d r e s s s e l e c t l o g i c O p [ 5 0 ] P C W r i t e P C W r i t e C o n d I o r D M e m R e a d M e m W r i t e I R W r i t e M e m t o R e g P C S o u r c e A L U O p A L U S r c B A L U S r c A R e g W r i t e R e g D s t A d d r C t l D a t a p a t h! I n s t r u c t i o n r e g i s t e r o p c o d e f i e l d How to implement the control store? PLA, ROM?
7 Microcode: Trade-offs!! Distinction between specification and implementation is sometimes blurred!! Specification Advantages: "! Easy to design and write "! Design architecture and microcode in parallel!! Implementation (off-chip ROM) Advantages "! Easy to change since values are in memory "! Can emulate other architectures "! Can make use of internal registers!! Implementation disadvantages, SLOWER now that: "! Control is implemented on same chip as processor "! ROM is no longer faster than RAM "! No need to go back and make changes Exceptions!! Exceptions: unexpected events from within the processor "! arithmetic overflow "! undefined instruction "! switching from user program to OS!! Interrupts: unexpected events from outside of the processor "! I/O request!! Consequence: alter the normal flow of instruction execution!! Key issues: "! detection "! action #!save the address of the offending instruction in the EPC #!transfer control to OS at some specified address!! Exception type indication: "! status register "! interrupt vector Exception Handling Datapath with Exception Handling!! Types of exceptions considered: "! undefined instruction "! arithmetic overflow!! MIPS implementation: "! EPC: 32-bit register, EPCWrite "! Cause register: 32-bit register, CauseWrite #!undefined instruction: Cause register = 0 #!arithmetic overflow: Cause register = 1 "! IntCause: 1 bit control "! Exception Address: C (hex)!! Detection: "! undefined instruction: op value with no next state "! arithmetic overflow: overflow from ALU!! Action: "! set EPC and Cause register "! set PC to Exception Address
8 FSM with Exception Handling 5-29
Computer Engineering Department. CC 311- Computer Architecture. Chapter 4. The Processor: Datapath and Control. Single Cycle
Computer Engineering Department CC 311- Computer Architecture Chapter 4 The Processor: Datapath and Control Single Cycle Introduction The 5 classic components of a computer Processor Input Control Memory
More informationCPU DESIGN The Single-Cycle Implementation
CSE 202 Computer Organization CPU DESIGN The Single-Cycle Implementation Shakil M. Khan (adapted from Prof. H. Roumani) Dept of CS & Eng, York University Sequential vs. Combinational Circuits Digital circuits
More informationL07-L09 recap: Fundamental lesson(s)!
L7-L9 recap: Fundamental lesson(s)! Over the next 3 lectures (using the IPS ISA as context) I ll explain:! How functions are treated and processed in assembly! How system calls are enabled in assembly!
More informationDesigning MIPS Processor
CSE 675.: Introdction to Compter Architectre Designing IPS Processor (lti-cycle) Presentation H Reading Assignment: 5.5,5.6 lti-cycle Design Principles Break p eection of each instrction into steps. The
More informationDesign of Digital Circuits Lecture 14: Microprogramming. Prof. Onur Mutlu ETH Zurich Spring April 2017
Design of Digital Circuits Lecture 4: Microprogramming Prof. Onur Mutlu ETH Zurich Spring 27 7 April 27 Agenda for Today & Next Few Lectures! Single-cycle Microarchitectures! Multi-cycle and Microprogrammed
More informationCPSC 3300 Spring 2017 Exam 2
CPSC 3300 Spring 2017 Exam 2 Name: 1. Matching. Write the correct term from the list into each blank. (2 pts. each) structural hazard EPIC forwarding precise exception hardwired load-use data hazard VLIW
More informationSpiral 1 / Unit 3
-3. Spiral / Unit 3 Minterm and Maxterms Canonical Sums and Products 2- and 3-Variable Boolean Algebra Theorems DeMorgan's Theorem Function Synthesis use Canonical Sums/Products -3.2 Outcomes I know the
More informationProject Two RISC Processor Implementation ECE 485
Project Two RISC Processor Implementation ECE 485 Chenqi Bao Peter Chinetti November 6, 2013 Instructor: Professor Borkar 1 Statement of Problem This project requires the design and test of a RISC processor
More informationInstruction register. Data. Registers. Register # Memory data register
Where we are headed Single Cycle Problems: what if we had a more complicated instrction like floating point? wastefl of area One Soltion: se a smaller cycle time have different instrctions take different
More informationTopics: A multiple cycle implementation. Distributed Notes
COSC 22: Compter Organization Instrctor: Dr. Amir Asif Department of Compter Science York University Handot # lticycle Implementation of a IPS Processor Topics: A mltiple cycle implementation Distribted
More informationImplementing the Controller. Harvard-Style Datapath for DLX
6.823, L6--1 Implementing the Controller Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 6.823, L6--2 Harvard-Style Datapath for DLX Src1 ( j / ~j ) Src2 ( R / RInd) RegWrite MemWrite
More informationProcessor Design & ALU Design
3/8/2 Processor Design A. Sahu CSE, IIT Guwahati Please be updated with http://jatinga.iitg.ernet.in/~asahu/c22/ Outline Components of CPU Register, Multiplexor, Decoder, / Adder, substractor, Varity of
More informationSimple Instruction-Pipelining (cont.) Pipelining Jumps
6.823, L9--1 Simple ruction-pipelining (cont.) + Interrupts Updated March 6, 2000 Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Src1 ( j / ~j ) Src2 ( / Ind) Pipelining Jumps
More informationFormal Verification of Systems-on-Chip
Formal Verification of Systems-on-Chip Wolfgang Kunz Department of Electrical & Computer Engineering University of Kaiserslautern, Germany Slide 1 Industrial Experiences Formal verification of Systems-on-Chip
More information[2] Predicting the direction of a branch is not enough. What else is necessary?
[2] When we talk about the number of operands in an instruction (a 1-operand or a 2-operand instruction, for example), what do we mean? [2] What are the two main ways to define performance? [2] Predicting
More informationReview. Combined Datapath
Review Topics:. A single cycle implementation 2. State Diagrams. A mltiple cycle implementation COSC 22: Compter Organization Instrctor: Dr. Amir Asif Department of Compter Science York University Handot
More informationPipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2
Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
More information1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished?
1. (2 )Clock rates have grown by a factor of 1000 while power consumed has only grown by a factor of 30. How was this accomplished? 2. (2 )What are the two main ways to define performance? 3. (2 )What
More information[2] Predicting the direction of a branch is not enough. What else is necessary?
[2] What are the two main ways to define performance? [2] Predicting the direction of a branch is not enough. What else is necessary? [2] The power consumed by a chip has increased over time, but the clock
More information3. (2) What is the difference between fixed and hybrid instructions?
1. (2 pts) What is a "balanced" pipeline? 2. (2 pts) What are the two main ways to define performance? 3. (2) What is the difference between fixed and hybrid instructions? 4. (2 pts) Clock rates have grown
More informationECE290 Fall 2012 Lecture 22. Dr. Zbigniew Kalbarczyk
ECE290 Fall 2012 Lecture 22 Dr. Zbigniew Kalbarczyk Today LC-3 Micro-sequencer (the control store) LC-3 Micro-programmed control memory LC-3 Micro-instruction format LC -3 Micro-sequencer (the circuitry)
More information4. (3) What do we mean when we say something is an N-operand machine?
1. (2) What are the two main ways to define performance? 2. (2) When dealing with control hazards, a prediction is not enough - what else is necessary in order to eliminate stalls? 3. (3) What is an "unbalanced"
More informationA Second Datapath Example YH16
A Second Datapath Example YH16 Lecture 09 Prof. Yih Huang S365 1 A 16-Bit Architecture: YH16 A word is 16 bit wide 32 general purpose registers, 16 bits each Like MIPS, 0 is hardwired zero. 16 bit P 16
More informationReview: Single-Cycle Processor. Limits on cycle time
Review: Single-Cycle Processor Jump 3:26 5: MemtoReg Control Unit LUControl 2: Op Funct LUSrc RegDst PCJump PC 4 uction + PCPlus4 25:2 2:6 2:6 5: 5: 2 3 WriteReg 4: Src Src LU Zero LUResult Write + PC
More informationEC 413 Computer Organization
EC 413 Computer Organization rithmetic Logic Unit (LU) and Register File Prof. Michel. Kinsy Computing: Computer Organization The DN of Modern Computing Computer CPU Memory System LU Register File Disks
More informationFormal Verification of Systems-on-Chip Industrial Practices
Formal Verification of Systems-on-Chip Industrial Practices Wolfgang Kunz Department of Electrical & Computer Engineering University of Kaiserslautern, Germany Slide 1 Industrial Experiences Formal verification
More informationOutcomes. Spiral 1 / Unit 2. Boolean Algebra BOOLEAN ALGEBRA INTRO. Basic Boolean Algebra Logic Functions Decoders Multiplexers
-2. -2.2 piral / Unit 2 Basic Boolean Algebra Logic Functions Decoders Multipleers Mark Redekopp Outcomes I know the difference between combinational and sequential logic and can name eamples of each.
More informationTEST 1 REVIEW. Lectures 1-5
TEST 1 REVIEW Lectures 1-5 REVIEW Test 1 will cover lectures 1-5. There are 10 questions in total with the last being a bonus question. The questions take the form of short answers (where you are expected
More informationDesign. Dr. A. Sahu. Indian Institute of Technology Guwahati
CS222: Processor Design: Multi Cycle Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Mid Semester Exam Multi Cycle design Outline Clock periods in single cycle and
More informationSimple Instruction-Pipelining. Pipelined Harvard Datapath
6.823, L8--1 Simple ruction-pipelining Updated March 6, 2000 Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Pipelined Harvard path 6.823, L8--2. fetch decode & eg-fetch execute
More informationEnrico Nardelli Logic Circuits and Computer Architecture
Enrico Nardelli Logic Circuits and Computer Architecture Appendix B The design of VS0: a very simple CPU Rev. 1.4 (2009-10) by Enrico Nardelli B - 1 Instruction set Just 4 instructions LOAD M - Copy into
More informationFigure 4.9 MARIE s Datapath
Term Control Word Microoperation Hardwired Control Microprogrammed Control Discussion A set of signals that executes a microoperation. A register transfer or other operation that the CPU can execute in
More information61C In the News. Processor Design: 5 steps
www.eetimes.com/electronics-news/23235/thailand-floods-take-toll-on--makers The Thai floods have already claimed the lives of hundreds of pele, with tens of thousands more having had to flee their homes
More informationSimple Instruction-Pipelining. Pipelined Harvard Datapath
6.823, L8--1 Simple ruction-pipelining Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Pipelined Harvard path 6.823, L8--2. I fetch decode & eg-fetch execute memory Clock period
More informationCSE Computer Architecture I
Single cycle Conrol Implemenaion CSE 332 Compuer Archiecure I l x I Lecure 7 - uli Cycle achines i i [ ] I I r l ichael Niemier Deparmen of Compuer Science and Engineering I ] i X.S. Hu 5- X.S. Hu 5-2
More informationCOVER SHEET: Problem#: Points
EEL 4712 Midterm 3 Spring 2017 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw)
More informationCSCI-564 Advanced Computer Architecture
CSCI-564 Advanced Computer Architecture Lecture 8: Handling Exceptions and Interrupts / Superscalar Bo Wu Colorado School of Mines Branch Delay Slots (expose control hazard to software) Change the ISA
More informationComputer Architecture
Lecture 2: Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture CPU Evolution What is? 2 Outline Measurements and metrics : Performance, Cost, Dependability, Power Guidelines
More informationLecture 13: Sequential Circuits, FSM
Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines 1 Clocks A microprocessor is composed of many different circuits that are operating simultaneously if each
More informationBuilding a Computer. Quiz #2 on 10/31, open book and notes. (This is the last lecture covered) I wonder where this goes? L16- Building a Computer 1
Building a Computer I wonder where this goes? B LU MIPS Kit Quiz # on /3, open book and notes (This is the last lecture covered) Comp 4 Fall 7 /4/7 L6- Building a Computer THIS IS IT! Motivating Force
More informationClock T FF1 T CL1 T FF2 T T T FF T T FF T CL T FF T CL T FF T T FF T T FF T CL. T cyc T H. Clock T FF T T FF T CL T FF T T FF T CL.
etup TA 60 c, vcc 3v Hold TA 30 c, vcc 5v Tkew TL TL TH FF FF 2 T cyc T H T L Clock TpdFF 2 TpdCL2Tetup FF Tcyc TL 2 2 TpdFF TpdCL Tetup FF2 TH 2 T FF T T FF T CL Hold L cd cd T FF T T FF T CL Hold L cd
More informationControl. Control. the ALU. ALU control signals 11/4/14. Next: control. We built the instrument. Now we read music and play it...
// CS 2, Fall 2! CS 2, Fall 2! We built the instrument. Now we read music and play it... A simple implementa/on uc/on uct r r 2 Write r Src Src Extend 6 Mem Next: path 7-2 CS 2, Fall 2! signals CS 2, Fall
More informationLecture 13: Sequential Circuits, FSM
Lecture 13: Sequential Circuits, FSM Today s topics: Sequential circuits Finite state machines Reminder: midterm on Tue 2/28 will cover Chapters 1-3, App A, B if you understand all slides, assignments,
More informationCS 52 Computer rchitecture and Engineering Lecture 4 - Pipelining Krste sanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste! http://inst.eecs.berkeley.edu/~cs52!
More informationDesigning Single-Cycle MIPS Processor
CSE 32: Introdction to Compter Architectre Designing Single-Cycle IPS Processor Presentation G Stdy:.-. Gojko Babić 2/9/28 Introdction We're now ready to look at an implementation of the system that incldes
More informationCMP 338: Third Class
CMP 338: Third Class HW 2 solution Conversion between bases The TINY processor Abstraction and separation of concerns Circuit design big picture Moore s law and chip fabrication cost Performance What does
More informationDepartment of Electrical and Computer Engineering The University of Texas at Austin
Department of Electrical and Computer Engineering The University of Texas at Austin EE 360N, Fall 2004 Yale Patt, Instructor Aater Suleman, Huzefa Sanjeliwala, Dam Sunwoo, TAs Exam 1, October 6, 2004 Name:
More informationCMP 334: Seventh Class
CMP 334: Seventh Class Performance HW 5 solution Averages and weighted averages (review) Amdahl's law Ripple-carry adder circuits Binary addition Half-adder circuits Full-adder circuits Subtraction, negative
More informationUNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Minsub Shin, Lisa Ossian, Sujith Surendran Midterm Examination 2 In Class (50 minutes) Friday,
More information中村宏 工学部計数工学科 情報理工学系研究科システム情報学専攻 計算システム論第 2 1
計算システム論第 2 (3 章 ) 中村宏 工学部計数工学科 情報理工学系研究科システム情報学専攻 計算システム論第 2 IPS Assembly Langage ( 抜粋 ) IPS operands Name Eample Comments $s-$s7, $t-$t9, $zero, Fast locations for data. In IPS, data mst be in registers
More informationECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University
ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation
More informationArithmetic and Logic Unit First Part
Arithmetic and Logic Unit First Part Arquitectura de Computadoras Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Arquitectura de Computadoras ALU1-1 Typical
More informationComputer Architecture Lecture 8: Pipelining. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/4/2013
18-447 Computer Architecture Lecture 8: Pipelining Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/4/2013 Reminder: Homework 2 Homework 2 out Due February 11 (next Monday) LC-3b microcode ISA
More informationSystem Data Bus (8-bit) Data Buffer. Internal Data Bus (8-bit) 8-bit register (R) 3-bit address 16-bit register pair (P) 2-bit address
Intel 8080 CPU block diagram 8 System Data Bus (8-bit) Data Buffer Registry Array B 8 C Internal Data Bus (8-bit) F D E H L ALU SP A PC Address Buffer 16 System Address Bus (16-bit) Internal register addressing:
More informationMicroprocessor Power Analysis by Labeled Simulation
Microprocessor Power Analysis by Labeled Simulation Cheng-Ta Hsieh, Kevin Chen and Massoud Pedram University of Southern California Dept. of EE-Systems Los Angeles CA 989 Outline! Introduction! Problem
More informationLogic and Computer Design Fundamentals. Chapter 8 Sequencing and Control
Logic and Computer Design Fundamentals Chapter 8 Sequencing and Control Datapath and Control Datapath - performs data transfer and processing operations Control Unit - Determines enabling and sequencing
More informationCSc 256 Midterm 2 Fall 2010
CSc 256 Midterm 2 Fall 2010 NAME: 1a)YouaregivenaMIPSbranchinstruction: x:beq$12,$0,y Theaddressofthelabel"y"is0x40013c.Thememorylocationat"x"contains: addresscontents 0x4002080001000110000000????????????????...whichrepresentsthebeqinstruction;the????...????arethe
More informationComputer Architecture. ECE 361 Lecture 5: The Design Process & ALU Design. 361 design.1
Computer Architecture ECE 361 Lecture 5: The Design Process & Design 361 design.1 Quick Review of Last Lecture 361 design.2 MIPS ISA Design Objectives and Implications Support general OS and C- style language
More informationComputer Architecture
Computer Architecture QtSpim, a Mips simulator S. Coudert and R. Pacalet January 4, 2018..................... Memory Mapping 0xFFFF000C 0xFFFF0008 0xFFFF0004 0xffff0000 0x90000000 0x80000000 0x7ffff4d4
More informationCprE 281: Digital Logic
CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Simple Processor CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Digital
More informationLogic Design. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Logic Deign CS 270: Mathematical Foundation of Computer Science Jeremy Johnon Logic Deign Objective: To provide an important application of propoitional logic to the deign and implification of logic circuit.
More informationEXAMPLES 4/12/2018. The MIPS Pipeline. Hazard Summary. Show the pipeline diagram. Show the pipeline diagram. Pipeline Datapath and Control
The MIPS Pipeline CSCI206 - Computer Organization & Programming Pipeline Datapath and Control zybook: 11.6 Developed and maintained by the Bucknell University Computer Science Department - 2017 Hazard
More informationComputer Architecture ELEC2401 & ELEC3441
Last Time Pipeline Hazard Computer Architecture ELEC2401 & ELEC3441 Lecture 8 Pipelining (3) Dr. Hayden Kwok-Hay So Department of Electrical and Electronic Engineering Structural Hazard Hazard Control
More informationCMU Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining
CMU 18-447 Introduction to Computer Architecture, Spring 2015 HW 2: ISA Tradeoffs, Microprogramming and Pipelining Instructor: Prof Onur Mutlu TAs: Rachata Ausavarungnirun, Kevin Chang, Albert Cho, Jeremie
More informationCHAPTER log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C * 9-4.* (Errata: Delete 1 after problem number) 9-5.
CHPTER 9 2008 Pearson Education, Inc. 9-. log 2 64 = 6 lines/mux or decoder 9-2.* C = C 8 V = C 8 C 7 Z = F 7 + F 6 + F 5 + F 4 + F 3 + F 2 + F + F 0 N = F 7 9-3.* = S + S = S + S S S S0 C in C 0 dder
More informationTable of Content. Chapter 11 Dedicated Microprocessors Page 1 of 25
Chapter 11 Dedicated Microprocessors Page 1 of 25 Table of Content Table of Content... 1 11 Dedicated Microprocessors... 2 11.1 Manual Construction of a Dedicated Microprocessor... 3 11.2 FSM + D Model
More informationComputer Science. Questions for discussion Part II. Computer Science COMPUTER SCIENCE. Section 4.2.
COMPUTER SCIENCE S E D G E W I C K / W A Y N E PA R T I I : A L G O R I T H M S, T H E O R Y, A N D M A C H I N E S Computer Science Computer Science An Interdisciplinary Approach Section 4.2 ROBERT SEDGEWICK
More informationCMPEN 411 VLSI Digital Circuits Spring Lecture 19: Adder Design
CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 19: Adder Design [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN 411 L19
More informationCombinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as
Summary of Combinational Logic : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs3/ Combinational device/circuit: any circuit
More informationBasic Computer Organization and Design Part 3/3
Basic Computer Organization and Design Part 3/3 Adapted by Dr. Adel Ammar Computer Organization Interrupt Initiated Input/Output Open communication only when some data has to be passed --> interrupt. The
More informationVerilog HDL:Digital Design and Modeling. Chapter 11. Additional Design Examples. Additional Figures
Chapter Additional Design Examples Verilog HDL:Digital Design and Modeling Chapter Additional Design Examples Additional Figures Chapter Additional Design Examples 2 Page 62 a b y y 2 y 3 c d e f Figure
More informationLecture 3, Performance
Lecture 3, Performance Repeating some definitions: CPI Clocks Per Instruction MHz megahertz, millions of cycles per second MIPS Millions of Instructions Per Second = MHz / CPI MOPS Millions of Operations
More informationLecture 3, Performance
Repeating some definitions: Lecture 3, Performance CPI MHz MIPS MOPS Clocks Per Instruction megahertz, millions of cycles per second Millions of Instructions Per Second = MHz / CPI Millions of Operations
More informationECE 3401 Lecture 23. Pipeline Design. State Table for 2-Cycle Instructions. Control Unit. ISA: Instruction Specifications (for reference)
ECE 3401 Lecture 23 Pipeline Design Control State Register Combinational Control Logic New/ Modified Control Word ISA: Instruction Specifications (for reference) P C P C + 1 I N F I R M [ P C ] E X 0 PC
More informationImplementing Absolute Addressing in a Motorola Processor (DRAFT)
Implementing Absolute Addressing in a Motorola 68000 Processor (DRAFT) Dylan Leigh (s3017239) 2009 This project involved the further development of a limited 68000 processor core, developed by Dylan Leigh
More informationDepartment of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.
Last (family) name: Solution First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/CS 752 Advanced Computer Architecture I Midterm
More informationChapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>
Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building
More informationFrom Sequential Circuits to Real Computers
1 / 36 From Sequential Circuits to Real Computers Lecturer: Guillaume Beslon Original Author: Lionel Morel Computer Science and Information Technologies - INSA Lyon Fall 2017 2 / 36 Introduction What we
More informationCPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner
CPS 4 Computer Organization and Programming Lecture : Gates, Buses, Latches. Robert Wagner CPS4 GBL. RW Fall 2 Overview of Today s Lecture: The MIPS ALU Shifter The Tristate driver Bus Interconnections
More informationALU A functional unit
ALU A functional unit that performs arithmetic operations such as ADD, SUB, MPY logical operations such as AND, OR, XOR, NOT on given data types: 8-,16-,32-, or 64-bit values A n-1 A n-2... A 1 A 0 B n-1
More informationCMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes
CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN
More informationCMP N 301 Computer Architecture. Appendix C
CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)
More informationCOE 328 Final Exam 2008
COE 328 Final Exam 2008 1. Design a comparator that compares a 4 bit number A to a 4 bit number B and gives an Output F=1 if A is not equal B. You must use 2 input LUTs only. 2. Given the following logic
More informationName: ID# a) Complete the state transition table for the aforementioned circuit
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Final Examination 1) You are to design a sequential circuit with two JK FFs A and
More informationLoad. Load. Load 1 0 MUX B. MB select. Bus A. A B n H select S 2:0 C S. G select 4 V C N Z. unit (ALU) G. Zero Detect.
9- Write D data Load eable A address A select B address B select Load R 2 2 Load Load R R2 UX 2 3 UX 2 3 2 3 Decoder D address 2 Costat i Destiatio select 28 Pearso Educatio, Ic.. orris ao & Charles R.
More informationDigital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.
Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEMORY INPUT-OUTPUT CONTROL DATAPATH
More informationINF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)
INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder
More informationFrom Sequential Circuits to Real Computers
From Sequential Circuits to Real Computers Lecturer: Guillaume Beslon Original Author: Lionel Morel Computer Science and Information Technologies - INSA Lyon Fall 2018 1 / 39 Introduction I What we have
More informationIntroduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison Chapter 3 Digital Logic Structures Slides based on set prepared by
More informationDigital Design. Register Transfer Specification And Design
Principles Of Digital Design Chapter 8 Register Transfer Specification And Design Chapter preview Boolean algebra 3 Logic gates and flip-flops 3 Finite-state machine 6 Logic design techniques 4 Sequential
More informationDigital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.
CS211 Computer Architecture Digital Logic l Topics l Transistors (Design & Types) l Logic Gates l Combinational Circuits l K-Maps Figures & Tables borrowed from:! http://www.allaboutcircuits.com/vol_4/index.html!
More information2
Computer System AA rc hh ii tec ture( 55 ) 2 INTRODUCTION ( d i f f e r e n t r e g i s t e r s, b u s e s, m i c r o o p e r a t i o n s, m a c h i n e i n s t r u c t i o n s, e t c P i p e l i n e E
More informationSection 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic
Section 3: Combinational Logic Design Major Topics Design Procedure Multilevel circuits Design with XOR gates Adders and Subtractors Binary parallel adder Decoders Encoders Multiplexers Programmed Logic
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept
More informationDigital Logic: Boolean Algebra and Gates. Textbook Chapter 3
Digital Logic: Boolean Algebra and Gates Textbook Chapter 3 Basic Logic Gates XOR CMPE12 Summer 2009 02-2 Truth Table The most basic representation of a logic function Lists the output for all possible
More informationCA Compiler Construction
CA4003 - Compiler Construction Code Generation to MIPS David Sinclair Code Generation The generation o machine code depends heavily on: the intermediate representation;and the target processor. We are
More informationFundamentals of Computer Systems
Fundamentals of Computer Systems Review for the Final Stephen A. Edwards Columbia University Summer 25 The Final 2 hours 8 problems Closed book Simple calculators are OK, but unnecessary One double-sided
More informationOn my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work
Lab 5 : Linking Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of this lab is to experiment
More informationBinary addition example worked out
Binary addition example worked out Some terms are given here Exercise: what are these numbers equivalent to in decimal? The initial carry in is implicitly 0 1 1 1 0 (Carries) 1 0 1 1 (Augend) + 1 1 1 0
More informationDigital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.
Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEM ORY INPUT-OUTPUT CONTROL DATAPATH
More information