CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

Size: px
Start display at page:

Download "CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014"

Transcription

1 CS COPTER ARCHITECTRE & ORGANIZATION SPRING DE : arch 6, HOEWORK III READ : i) Related portions of Chapter (except Sections. through.) ii) Related portions of Appendix A iii) Related portions of Appendix B iv) Related portions of Appendix D ASSIGNENT : There are four questions. Solve all homework and exam problems as shown in class and past exam solutions. ) The registers of an imaginary digital system are manipulated as shown in the state diagram below. The registers are bits wide. REGA REGB REGC REGA + REGD REGA + REGC REGB REGD >> 5 Show the content of the registers in HE for six (6) clock periods, by continuing the table below. Show how the shift operation generates its result, by working on its bits in a separate area. Clock period State REGA REGB REGC REGD Initial ??? NS NS NS NS Continue NY School of Engineering Page of 8 Handout No: 8 arch 5,

2 ) Repeat Problem above for the state diagram below. The registers are bits wide. [REGA] REGB ; REGC REGC - REGB REGB + REGB [REGA] ; REGA REGA + 6 REGA INP ; REGC INP REGC = Reset = 5 REGC = Reset = Assuming that Reset is, show the content of the registers in HE for six (6) clock periods, by continuing the table below. Clock period State Reset REGA REGB REGC [] Initial ?? E NS NS NS NS NS Continue In a few sentences, describe what this digital system does, how it operates. ) Consider the EY CP design with nine (9) integer instructions. We decide to expand the design by adding a IPS instruction in the IPS architecture : JR (Jump Register). odify the EY CP, except the control unit, to run the JR instruction. In order to solve this question, you will assume the CP is a multicycle CP. You will use the NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

3 EY CP handout, by xeroxing it and modifying the necessary pages of the xeroxed copy. If you do not want to copy and modify the handout, you can just show the changes to the datapath as done in past exam questions below. In this question you will modify the EY CP so that it can execute the JR instruction. In order to do that you will follow steps III(b) and IV in the Digital System Design Basics handout. That is, you need to modify the high-level state diagram (not in terms of buses) in parallel with the modification of the datapath. If you decide to add new states, start at state 6. ) Repeat problem above for the JAL instruction. In order to solve this question, you will assume the CP is a multicycle CP. You will use the EY CP handout, by xeroxing it and modifying the necessary pages of the xeroxed copy. If you do not want to copy and modify the handout, you can just show the changes to the datapath as done in past exam questions below. In this question you will modify the EY CP so that it can execute the JAL instruction. In order to do that you will follow steps III(b) and IV in the Digital System Design Basics handout. That is, you need to modify the high-level state diagram (not in terms of buses) in parallel with the modification of the datapath. If you decide to add new states, start at state 6. RELEVANT QESTIONS AND ANSWERS Q) The architectural description of a machine language instruction has at least three components : a syntax, an instruction format and what semantics (the architectural operation) the CP has to perform. An architectural operation is implemented by several microoperations. For example, the LW instruction of the EY computer in its I- format has the following syntax and semantics: LW Rt, Disp(Rs) Rt [Rs + Displ + ] We know that this architectural operation is performed by those microoperations in states,,, and. Computer architects at our company have six new instructions to add to the nine-instruction set executed by the EY CP of Handout. The architecture group assures you that the new instructions do not need a new instruction format. You, as a computer organization expert, do not want to modify the data unit for a new instruction also. They assure you about that too. They have given you the architectural operation list for these new instructions : I : + Rt I : [Rs + Displ + ] I : [Rs + Displ + ] Rt I : Rt Rs + Imm + I5 : [Rd + Rt] [Rs + Rt] I6 : Rs Rt You want to make sure that the architects assurances are correct. So, for every instruction above : NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

4 i) State the syntax and briefly what the instruction does, ii) If the architectural operation can be implemented by modifying the high-level state diagram, but without modifying the data unit, modify the high-level state diagram (not in terms of buses), starting at state 6, iii) If the architectural operation cannot be implemented without modifying the data unit, state briefly the reason. A) I) i) nconditional Branch by using Rt as an offset ==> BN Rt ii) This operation can be implemented by the original EY as follows : from State BN 6 + B to State I) i) Jump via memory Indirect. Location Rs + Displ + has the effective address ==> JPI Displ(Rs) iii) This cannot be implemented since the RBS is not connected to 6. I) i) Exchange the content of memory location Rs + Displ + and Rt ==> ECR Rt, Displ(Rs) iii) This cannot be implemented since the RBS that has [Rs + Displ + ] cannot be saved in the CP temporarily while Rt is written to the location : we need another temporary register besides ALout. I) i) The ADD Immediate instruction of EY from Chapter ==> ADDI Rt, Rs, Imm ii) This can be implemented as follows : from State ADDI 6 ALout A + DOImm + GPR[Rt] 7 ALout to State I5) i) Copy the content of memory location Rs + Rt to memory location Rd + Rt ==> OVT Rd, Rt, Rs iii) This cannot be implemented since we need at least one more organizational register besides ALout to keep the second memory address. I6) i) Exchange register Rt with register Rs ==> ECR Rt, Rs iii) This cannot be implemented : We need another register besides ALout to keep one of the architectural registers temporarily while we move the other. Also we need another input to to select Rs as a Write Register and extra lines are needed to move Rt and Rs either through the AL or around the AL to the temporary registers. Q) The EY CP is designed as shown in class. We modify its architecture! We add a new machine language instruction to the instruction set. Its description is as follows : Syntax : ADDR Rt, Rs, Offset Architectural operation : Rt <--- Rs + [ + ([DOImm + ]<<)] The format : The I format. Which addressing modes are used for the arguments of the ADDR instruction? NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

5 Show the modified high-level state diagram. Show the modified portion of the data unit. A) The addressing modes are as follows : Rt <--- Rs + [ + ([DOImm + ]<<)] Register Register -byte signed -relative We use the register addressing mode for the destination register argument since it is explicitly specified in the instruction. Similarly, the first source argument is a register and is explicitly specified in the instruction and so the register addressing mode is used. The other source argument is a memory location whose address is calculated by adding and the -byte signed offset that comes with the instruction. Therefore we use the -byte signed -relative addressing mode for it. The modified high-level state diagram (not in terms of buses) and the datapath are as follows : ADDR LW, SW From state A/L R-format control <-- [ALout] 6 ALout <-- A + To state 7 GPR[Rt] <-- ALout We see that the only new microoperation is in state 6 in which we add and ALout. The datapath modification is then as follows : ABS Zero To Same 5 ALSrcB NY School of Engineering Page 5 of 8 CS Handout No : 8 arch 5, BBS AL overflow OBS

6 Q) Consider the following modified EY high-level state diagram (not in terms of buses) : LW LW,? 6 LW, SW,?? 5 SW ALout <-- + B A/L R-format To state BEQ, J states 6 - : as before To state To state 7 GPR[Rt] <-- ALout To state The high-level state diagram is modified to accommodate a new instruction. i) Describe what the instruction does in a few sentences. ii) Describe its syntax, semantics, format, etc. iii) What is the CPI i of the new instruction? Explain. iv) odify the EY CP datapath. v) odify the EY CP low-level state diagram. A) i) The instruction adds a register and a memory location and stores the result on the register. ii) The syntax of the new instruction : ADDR Rt, Disp(Rs) The semantics of the new instruction : Rt <--- Rt + [Rs + Disp + ] The format is the I format : Three arguments are used by the instruction : The destination and the first source arguments are register arguments : Rt. We use the register addressing mode for them. The second source argument is a memory argument. We use the -byte signed displacement addressing mode for it. iii) The CPI i is six (6) since we trace states,,,, 6 and 7. iv) The modified EY CP datapath is as follows : To A ALSrcA NY School of Engineering Page 6 of 8 CS Handout No : 8 arch 5,

7 v) The modified EY CP low-level state diagram is as follows : Same except ALsrcA = LW, SW, ADDR Same except ALsrcA = Same except ALsrcA = A/L R-format Control LW, ADDR SW LW 5 ADDR To state 6 ALSrcA = ; ALSrcB = states 6 - : as before, except in states 6 & 8 : ALSrcA = To state ; ALop = To state 7 RegDst = ; emtoreg = ; RegWrite = To state Q) Consider the state diagram of a digital system shown below : AR IR [AR] ; + AR + (,, IR[-]) IR[5] = IR[5] = 7 [AR] If ACC == ACC ACC + IR[] = IR[] = 5 ACC AR 6 [AR] NY School of Engineering Page 7 of 8 CS Handout No : 8 arch 5,

8 Assume that all the registers of the digital system are 6 bits long. The memory has 6 bytes and 6 bits per location. By giving explanations, show the contents of registers and memory locations used by the above state diagram for six (6) clock periods. For that continue with the following table : Clock period State AR IR ACC [] [] Initial -----??? A 7 NS NS NS NS NS NS NS A) The table is continued below : Clock period State AR IR ACC [] [] Initial -----??? A 7 NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS NS 5 NS NS NS 7 NS NS NS 6 NS NS NS NS NS NS In state, AR is transferred () plus the rightmost bits of IR ( = ) catenated with two zeros ( = ). AR is transferred + = We do state after state because the leftmost bit of IR (IR[5]) is zero :. We do state after state because IR[] is also zero : In state, ACC is transferred ACC (A) plus (7). ACC is transferred. Q5) Consider the following mnemonic machine language subroutine : 5C LW R8, (R9) 5 SW R, (R9) 5 ADD R, R8, R 58 JR R NY School of Engineering Page 8 of 8 CS Handout No : 8 arch 5,

9 Continue filling in the following table until the ID cycle of the JR instruction is completed : cp State Source IR AL SrcB Reg Write A B R8 R9 R ALout [] Initial C? ??? F7? 8A NS NS?? NS NS NS? NS 5 LW R8, (R9)?? NS NS NS? NS Note that the values are shown right before the end of the clock period. Briefly describe what the subroutine does (in one sentence). A5) The table is as follows : cp state Source IR AL SrcB Reg Write A B R8 R9 R ALout [] Initial C -- --??? F7? 8A NS NS?? NS NS NS? NS 5 LW R8,(R9)?? NS NS NS 5 NS NS NS? NS NS NS 5 NS NS NS? NS NS NS NS 5 NS NS? NS NS NS? NS 6 NS NS? 8A NS NS? NS 7 5 SW R,(R9)? NS NS NS 5 NS 8 NS NS F7 NS NS NS 5 NS 9 5 NS NS F7 NS NS NS NS NS NS F7 NS NS NS 8B F7 58 ADD R,R8,R NS NS NS 58 NS 6 NS NS 8A NS NS NS 598 NS 7 NS NS 8A NS NS NS 8A NS NS NS 8A NS NS 8A 58 NS 5 5C JR R? NS NS NS 5C NS In clock period 5, the value of regsiter A is the value of R. As we know R contains the return address from the subroutine. The subroutine exchanges a memory location whose address is R9 + Displ + with register R. That is, it implements I of Past Exam Question above. NY School of Engineering Page 9 of 8 CS Handout No : 8 arch 5,

10 Q6) Assume that the EY CP high-level state diagram is modified to be able to run a new machine language instruction as follows :... States - 5, 7 - All other A/L R type A/L R type,? 6? 6 [ALout] GPR[Rd] 7 Assume that in state 6, an addition is performed for this new instruction. i) What is the new instruction? That is, determine its syntax, semantic, etc. If there is a new addressing mode that is not discussed in class, indicate so. ii) odify the EY CP datapath accordingly. How long does it take to run the new instruction? iii) odify the EY CP low-level state diagram accordingly. A6) i) On the high level state diagram, we see that we read a memory location and store the content on a register : It is a Load instruction : Load Word via Register Indirect (LWRI) Syntax : LWRI Rd, (Rs, Rt) Semantics : Rd [Rs + Rt] Format : It uses the R format since register Rd is specified. It has two arguments. The destination argument is a GPR register which is explicitly specified by the instructions. Therefore, the Register addressing mode is used. The source argument is a memory location content. The address of the location is the sum of Rs and Rt. Therefore, it is the Register Indirect Indexed addressing mode. This is a new addressing mode, not discussed in class. We make two memory accesses for the new instruction : One to fetch the instruction (state ) One to read a data element from the memory (state 6) ii) The new instruction does not need any change in the datapath, given the high-level state diagram. The new instruction takes five clock periods to run. That is, CPI LWRI is 5 since we trace states,, 6, 6 and 7 NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

11 iii) The modified EY low-level state diagram is as follows : Same..... States - 5, 7 - All other A/L R format 6 6 Same Same A/L R format, LWRI LWRI emread = IorD = 7 emtoreg = RegDst = RegWrite = Q7) Consider the following instruction that does not exist in the EY instruction set : COPR Rd, (Rs), Rt # If [Rs] < Rt then Rd else Rd i) odify the EY CP high-level state diagram and the datapath to be able to run the new instruction, as done in class. What is CPI COPR? How many memory accesses are made for this new instruction? ii) The new datapath allows new microoperations. List at least four () new microoperations. A7) i) The modified high-level state diagram and datapath of this high-speed implementation are shown below. 6 COPR [A] LW, SW Control A/L R-format ALout A A 7 ALout op B States - : Same IorD ALSrcA 8 GPR[Rd] ALout We perform an slt operation in state 7 for the COPR instruction. CPI COPR is 5 since we trace states,, 6, 7 and 8 NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

12 We make two memory accesses for the new instruction : - One to fetch the instruction (state ) - One to read a data element from the memory (state 6) ii) Two new microoperations are shown in states 6 and 7 above. Below is a partial list of remaining new microinstructions : a) IR [A] b) [A] B c) ALout + B d) ALout + e) ALout + DOImm + f) ALout + ((DOImm + )*) Continue this group with other op operations as the operation... g) + B h) + i) + DOImm + j) + ((DOImm + )*) Continue this group with other op operations as the operation... k) If = = B then ALout l) If = = then ALout m) If = = DOImm + then ALout n) If = = ((DOImm + )*) then ALout Continue this group by replacing ALout with the sources listed in c, d, e, f,... Q8) Assume that the EY CP high-level state diagram is modified to be able to run a new machine language instruction as shown below : States - : Same... LW, SW LW, SW,?? 6 [B] ALout 7 GPR[Rt] B + a) What is the new instruction? That is, determine its syntax, semantics, etc. If there is a new addressing mode that is not discussed in class, indicate so. b) i) odify the EY CP datapath accordingly. ii) How long does it take to run the new instruction? Explain. NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

13 A8) a) On the high level state diagram, we see that we add register Rs and a signed immediate element and store the result in memory pointed by register Rt and then we automatically update register Rt : It is an Add instruction that writes to the memory (ADDRI) : Add Register Immediate emory Syntax : ADDRI (Rt)++, Rs, Imm Semantics : [Rt] Rs + Imm + then Rt Rt + Format, etc. : It uses the I format since an immediate data element is used. It has six arguments. The destination argument of the first addition operation is a memory location. The address of the location is indicated by Rt. Therefore, it is the Register Indirect addressing mode. This is a new addressing mode, not discussed in class The sources of the first addition operation are a register and an immediate data element. We use the Register and -byte signed Immediate addressing modes, respectively. All the arguments of the second addition are implied and are using the Implied addressing mode. The destination argument is register Rt. One of the source arguments is also register Rt. The other source is a constant which is. We make two memory accesses for the new instruction : One to fetch the instruction (state ) One to write a data element to the memory (state 6) b) i) The new instruction requires the following changes in the datapath : ALout B ALout OBS A B ALout 7 WBS IorD emtoreg ALSrcA SelWBS ii) The new instruction takes five clock periods to run : CPI ADDRI is 5 since we trace states,, 6, 6 and 7 Q9) The EY CP is modified to run new instructions. When the new CP runs instructions, its control signals are observed for four clock periods. Only the following control signals are (one) in these four clock periods : clock period Control signals that are (one) 57 emread, IRWrite, ALSrcB, Write 58 ALSrcB ALSrcA, ALSrcB, ALop, Source, WriteCond Note that ALSrcB has two wires, named ALSrcB and ALSrcB, and so on... State which state and which microoperation(s) in that state happen(s) in which clock period. Your explanation should be in the following form : In clock period... ALSrcA is,... therefore, we have the following microoperation(s) and the following state... A9) The states are as follows : NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

14 clock period State and microoperations 57 emread =, IRWrite =, ALSrcB =, Write = exactly the as state of the low-level state diagram IR <--- [], < ALSrcB = exactly the as state of the the low-level state diagram ALout <--- + ([DOImm + ] << ) 59 All control signals are, that is ALSrcA = => ABS = ALSrcB = => BBS = B ALop = => Add a new state, state 6, of the low-level state diagram ALout <--- + B 6 ALSrcA = => ABS = A ALSrcB = => BBS = (DOImm + )<< ALop = => Sub Source = => BS = ALout WriteCond = => is written if the subtraction results in zero = a new state, state 7, of the low-level state diagram If (A== ((DOImm + )<<)) then <--- ALout Q) Assume that the EY CP high-level state diagram is modified to be able to run a new instruction we will call Ix as follows : States - 9 : Same... All other LW SW LW, SW, Ix ALout A + DOImm + LW, Ix [ALout] Ix & [ALout] > 6 7 [ALout] - Ix & [ALout] < a) odify the EY CP datapath accordingly. What is CPI Ix? Explain. NY School of Engineering Page of 8 CS Handout No : 8 arch 5,

15 b) Assume that the new instruction is run and Rs has 8 and DOImm is. Continue with the following table until the effect of the new instruction is visible on the architecture : Clock period State A ALout [?] Initial ----??? A Continue A) a) The new instruction requires a number of changes in the datapath as shown below. The ALout register has a new control signal so that it is not clocked every clock period. Its value computed in state is needed in state 7: A ALSrcA B DOImm + DOImm + * ALSrcB 5 RBS OBS Sel 7 B WSel 8 WBS ALoutWrite ALout This instruction takes the absolute value of the content of a memory location. Therefore, CPI Ix depends on the value of the content. i) If it is negative, the CPI Ix 6 since we trace states,,,, 6 and 7. ii) If it is positive, the CPI Ix since we trace states,, and. b) The table is completed as follows : Clock period State A ALout [?] Initial ----??? A NS? NS? NS? NS? NS NS 8? NS NS 8 8? NS 5 6 NS 8 NS A NS 6 7 NS 8 NS 6 NS 7 NS 8 NS? 6 Q) Consider the following instruction that does not exist in the EY instruction set : JP Disp(Rs) # [Rs + Disp + ] The Jump via emory (JP) instruction loads with an address read from the memory. a) odify the EY CP high-level state diagram, as done in class. What is CPI JP? Explain. b) odify the EY CP datapath accordingly. NY School of Engineering Page 5 of 8 CS Handout No : 8 arch 5,

16 A) a) The modified EY low-level state diagram is as follows : b) The datapath change is as follows : LW, JP JP 6 LW, SW, JP A/L Control R-format SW LW States - 9 : Same OBS ALout ([:8], Address)* 88 Source 6 BS CPI JP is 5 since we trace states,,, and 6. Q) Assume that the EY CP high-level state diagram is modified to be able to run a new instruction as follows : States - 9 : Same... All other LW LW, SW,? SW LW,? [ALout]? - 6 [ALout] 7 a) odify the EY CP datapath accordingly. What is CPI?? Explain. NY School of Engineering Page 6 of 8 CS Handout No : 8 arch 5,

17 b) Assume that the new instruction is run and Rs has A. Also, DOImm is. Continue with the following table until the effect of the new instruction is visible on the architecture : Clock period State A ALout [?] emory Accesses ade Initial ---- F??? AF Continue A) a) The new instruction requires a number of changes in the datapath as shown below. ALout has a new control signal so that it is not clocked every clock period. Its value computed in state is needed in states and 7 : A B DOImm + DOImm + * ALSrcA 5 ALoutWrite ALout RBS Sel 7 wbussel B 8 WBS ALSrcB This instruction decrements the content of a memory location : CPI? = 6 since we trace states,,,, 6 and 7. b) The table is completed as follows : Clock period State A ALout [A] emory Accesses ade Initial ---- F??? AF ---- NS?? NS NS Instruction Fetch F?? NS NS NS A? F NS NS A? A NS Data Read 5 6 NS A AF NS NS 6 7 NS A AE NS NS Data Write 7 NS A? NS AE Instruction Fetch Q) Consider the following instruction that does not exist in the EY instruction set : BP Rs, Disp(Rt) # If Rs > then Rt + Disp + NY School of Engineering Page 7 of 8 CS Handout No : 8 arch 5,

18 The Branch Positive (BP) instruction branches if the source register is positive. a) odify the EY CP high-level state diagram, as done in class. What is CPI BP? Explain. b) odify the EY CP datapath accordingly. A) a) The modified EY low-level state diagram is as follows : CPI BP is since we trace states, and States - 9 : Same All other BP 6 If A > then B + DOImm + b) The datapath change is as follows : Write A[] Zero WriteCond WriteCond A B ALSrcA NY School of Engineering Page 8 of 8 CS Handout No : 8 arch 5,

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014 CS COPTER ARCHITECTRE & ORGANIZATION SPRING DE : TA HOEWORK IV READ : i) Related portions of Chapter (except Sections. through.) ii) Related portions of Appendix A iii) Related portions of Appendix iv)

More information

CS2214 COMPUTER ARCHITECTURE & ORGANIZATION SPRING 2014

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

More information

ECE 313 Computer Organization EXAM 2 November 9, 2001

ECE 313 Computer Organization EXAM 2 November 9, 2001 ECE 33 Computer Organization EA 2 November 9, 2 This exam is open book and open notes. You have 5 minutes. Credit for problems requiring calculation will be given only if you show your work. Choose and

More information

ECE 313 Computer Organization FINAL EXAM December 11, Multicycle Processor Design 30 Points

ECE 313 Computer Organization FINAL EXAM December 11, Multicycle Processor Design 30 Points This exam is open book and open notes. Credit for problems requiring calculation will be given only if you show your work. 1. Multicycle Processor Design 0 Points In our discussion of exceptions in the

More information

ECE 313 Computer Organization Name SOLUTION EXAM 2 November 3, Floating Point 20 Points

ECE 313 Computer Organization Name SOLUTION EXAM 2 November 3, Floating Point 20 Points ECE Computer Organization Name SOLTION EA November, This exam is open book and open notes. Credit for problems requiring calculation will be given only if you show your work.. Floating Point Points Translate

More information

Processor (multi-cycle)

Processor (multi-cycle) CS359: Computer Architecture Processor (multi-cycle) Yanyan Shen Department of Computer Science and Engineering Five Instruction Steps ) Instruction Fetch ) Instruction Decode and Register Fetch 3) R-type

More information

Multiple Cycle Data Path

Multiple Cycle Data Path Multiple Cycle Data Path CS 365 Lecture 7 Prof. Yih Huang CS365 1 Multicycle Approach Break up the instructions into steps, each step takes a cycle balance the amount of work to be done restrict each cycle

More information

Merging datapaths: (add,lw, sw)

Merging datapaths: (add,lw, sw) COP 273 Winter 2012 1 - IPS datapath and control 2 ar., 2012 erging datapaths: (add,lw, sw) The datapaths that we saw last lecture considered each instruction in isolation. I drew only those elements that

More information

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

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

More information

Multi-cycle Approach. Single cycle CPU. Multi-cycle CPU. Requires state elements to hold intermediate values. one clock cycle or instruction

Multi-cycle Approach. Single cycle CPU. Multi-cycle CPU. Requires state elements to hold intermediate values. one clock cycle or instruction Multi-cycle Approach Single cycle CPU State element Combinational logic State element clock one clock cycle or instruction Multi-cycle CPU Requires state elements to hold intermediate values State Element

More information

Lecture 4: Review of MIPS. Instruction formats, impl. of control and datapath, pipelined impl.

Lecture 4: Review of MIPS. Instruction formats, impl. of control and datapath, pipelined impl. Lecture 4: Review of MIPS Instruction formats, impl. of control and datapath, pipelined impl. 1 MIPS Instruction Types Data transfer: Load and store Integer arithmetic/logic Floating point arithmetic Control

More information

CS232 Final Exam May 5, 2001

CS232 Final Exam May 5, 2001 CS232 Final Exam May 5, 2 Name: This exam has 4 pages, including this cover. There are six questions, worth a total of 5 points. You have 3 hours. Budget your time! Write clearly and show your work. State

More information

Computer and Information Sciences College / Computer Science Department The Processor: Datapath and Control

Computer and Information Sciences College / Computer Science Department The Processor: Datapath and Control Computer and Information Sciences College / Computer Science Department The Processor: Datapath and Control Chapter 5 The Processor: Datapath and Control Big Picture: Where are We Now? Performance of a

More information

Binvert Operation (add, and, or) M U X

Binvert Operation (add, and, or) M U X Exercises 5 - IPS datapath and control Questions 1. In the circuit of the AL back in lecture 4, we included an adder, an AND gate, and an OR gate. A multiplexor was used to select one of these three values.

More information

ECE232: Hardware Organization and Design

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

More information

Inf2C - Computer Systems Lecture 12 Processor Design Multi-Cycle

Inf2C - Computer Systems Lecture 12 Processor Design Multi-Cycle Inf2C - Computer Systems Lecture 12 Processor Design Multi-Cycle Boris Grot School of Informatics University of Edinburgh Previous lecture: single-cycle processor Inf2C Computer Systems - 2017-2018. Boris

More information

ECE473 Computer Architecture and Organization. Processor: Combined Datapath

ECE473 Computer Architecture and Organization. Processor: Combined Datapath Computer Architecture and Organization Processor: Combined path Lecturer: Prof. Yifeng Zhu Fall, 2014 Portions of these slides are derived from: Dave Patterson CB 1 Where are we? Want to build a processor

More information

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19 CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be

More information

LECTURE 5. Single-Cycle Datapath and Control

LECTURE 5. Single-Cycle Datapath and Control LECTURE 5 Single-Cycle Datapath and Control PROCESSORS In lecture 1, we reminded ourselves that the datapath and control are the two components that come together to be collectively known as the processor.

More information

COMP303 - Computer Architecture Lecture 10. Multi-Cycle Design & Exceptions

COMP303 - Computer Architecture Lecture 10. Multi-Cycle Design & Exceptions COP33 - Computer Architecture Lecture ulti-cycle Design & Exceptions Single Cycle Datapath We designed a processor that requires one cycle per instruction RegDst busw 32 Clk RegWr Rd ux imm6 Rt 5 5 Rs

More information

The MIPS Processor Datapath

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

More information

RISC Processor Design

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

More information

Review: Abstract Implementation View

Review: Abstract Implementation View Review: Abstract Implementation View Split memory (Harvard) model - single cycle operation Simplified to contain only the instructions: memory-reference instructions: lw, sw arithmetic-logical instructions:

More information

CPE 335. Basic MIPS Architecture Part II

CPE 335. Basic MIPS Architecture Part II CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture

More information

CSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W9-W

CSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W9-W CSE 22 Computer Organization Hugh Chesser, CSEB 2U Agenda Topics:. Single Cycle Review (Sample Exam/Quiz Q) 2. ultiple cycle implementation Patterson: Section 4.5 Reminder: Quiz #2 Next Wednesday (November

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

Systems Architecture I

Systems Architecture I Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from

More information

THE HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY Computer Organization (COMP 2611) Spring Semester, 2014 Final Examination

THE HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY Computer Organization (COMP 2611) Spring Semester, 2014 Final Examination THE HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY Computer Organization (COMP 2611) Spring Semester, 2014 Final Examination May 23, 2014 Name: Email: Student ID: Lab Section Number: Instructions: 1. This

More information

RISC Design: Multi-Cycle Implementation

RISC Design: Multi-Cycle Implementation RISC Design: Multi-Cycle Implementation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/

More information

Single-Cycle Examples, Multi-Cycle Introduction

Single-Cycle Examples, Multi-Cycle Introduction Single-Cycle Examples, ulti-cycle Introduction 1 Today s enu Single cycle examples Single cycle machines vs. multi-cycle machines Why multi-cycle? Comparative performance Physical and Logical Design of

More information

Major CPU Design Steps

Major CPU Design Steps Datapath Major CPU Design Steps. Analyze instruction set operations using independent RTN ISA => RTN => datapath requirements. This provides the the required datapath components and how they are connected

More information

CS 4200/5200 Computer Architecture I

CS 4200/5200 Computer Architecture I CS 4200/5200 Computer Architecture I MIPS Instruction Set Architecture Dr. Xiaobo Zhou Department of Computer Science CS420/520 Lec3.1 UC. Colorado Springs Adapted from UCB97 & UCB03 Review: Organizational

More information

Lecture 10: Simple Data Path

Lecture 10: Simple Data Path Lecture 10: Simple Data Path Course so far Performance comparisons Amdahl s law ISA function & principles What do bits mean? Computer math Today Take QUIZ 6 over P&H.1-, before 11:59pm today How do computers

More information

Lecture 10 Multi-Cycle Implementation

Lecture 10 Multi-Cycle Implementation Lecture 10 ulti-cycle Implementation 1 Today s enu ulti-cycle machines Why multi-cycle? Comparative performance Physical and Logical Design of Datapath and Control icroprogramming 2 ulti-cycle Solution

More information

Adding Support for jal to Single Cycle Datapath (For More Practice Exercise 5.20)

Adding Support for jal to Single Cycle Datapath (For More Practice Exercise 5.20) Adding Support for jal to Single Cycle Datapath (For More Practice Exercise 5.20) The MIPS jump and link instruction, jal is used to support procedure calls by jumping to jump address (similar to j ) and

More information

Instruction Set Architecture. "Speaking with the computer"

Instruction Set Architecture. Speaking with the computer Instruction Set Architecture "Speaking with the computer" The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture Digital Design

More information

CS3350B Computer Architecture Quiz 3 March 15, 2018

CS3350B Computer Architecture Quiz 3 March 15, 2018 CS3350B Computer Architecture Quiz 3 March 15, 2018 Student ID number: Student Last Name: Question 1.1 1.2 1.3 2.1 2.2 2.3 Total Marks The quiz consists of two exercises. The expected duration is 30 minutes.

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

CSE 2021 COMPUTER ORGANIZATION

CSE 2021 COMPUTER ORGANIZATION CSE 22 COMPUTER ORGANIZATION HUGH CHESSER CHESSER HUGH CSEB 2U 2U CSEB Agenda Topics:. Sample Exam/Quiz Q - Review 2. Multiple cycle implementation Patterson: Section 4.5 Reminder: Quiz #2 Next Wednesday

More information

ECE 30 Introduction to Computer Engineering

ECE 30 Introduction to Computer Engineering ECE 30 Introduction to Computer Engineering Study Problems, Set #3 Spring 2015 Use the MIPS assembly instructions listed below to solve the following problems. arithmetic add add sub subtract addi add

More information

CENG 3420 Lecture 06: Datapath

CENG 3420 Lecture 06: Datapath CENG 342 Lecture 6: Datapath Bei Yu byu@cse.cuhk.edu.hk CENG342 L6. Spring 27 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified to contain only: memory-reference

More information

Chapter 5: The Processor: Datapath and Control

Chapter 5: The Processor: Datapath and Control Chapter 5: The Processor: Datapath and Control Overview Logic Design Conventions Building a Datapath and Control Unit Different Implementations of MIPS instruction set A simple implementation of a processor

More information

Systems Architecture

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

More information

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite

More information

University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science

University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science Spring 2000 Prof. Bob Brodersen Midterm 1 March 15, 2000 CS152: Computer Architecture

More information

Computer Organization

Computer Organization Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine

More information

EECS150 - Digital Design Lecture 10- CPU Microarchitecture. Processor Microarchitecture Introduction

EECS150 - Digital Design Lecture 10- CPU Microarchitecture. Processor Microarchitecture Introduction EECS150 - Digital Design Lecture 10- CPU Microarchitecture Feb 18, 2010 John Wawrzynek Spring 2010 EECS150 - Lec10-cpu Page 1 Processor Microarchitecture Introduction Microarchitecture: how to implement

More information

Topic #6. Processor Design

Topic #6. Processor Design Topic #6 Processor Design Major Goals! To present the single-cycle implementation and to develop the student's understanding of combinational and clocked sequential circuits and the relationship between

More information

ECE 313 Computer Organization FINAL EXAM December 14, This exam is open book and open notes. You have 2 hours.

ECE 313 Computer Organization FINAL EXAM December 14, This exam is open book and open notes. You have 2 hours. This exam is open book and open notes. You have 2 hours. Problems 1-4 refer to a proposed MIPS instruction lwu (load word - update) which implements update addressing an addressing mode that is used in

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

Computer Science 141 Computing Hardware

Computer Science 141 Computing Hardware Computer Science 4 Computing Hardware Fall 6 Harvard University Instructor: Prof. David Brooks dbrooks@eecs.harvard.edu Upcoming topics Mon, Nov th MIPS Basic Architecture (Part ) Wed, Nov th Basic Computer

More information

ECE369. Chapter 5 ECE369

ECE369. Chapter 5 ECE369 Chapter 5 1 State Elements Unclocked vs. Clocked Clocks used in synchronous logic Clocks are needed in sequential logic to decide when an element that contains state should be updated. State element 1

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

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

More information

For More Practice FMP

For More Practice FMP FMP 5.13-1 Single Cycle Datapaths with Floating Point 5.4 [5] < 5.4> Suppose we have a floating-point unit that requires 400 ps for a floating-point add and 600 ps for a floating-point multiply, not including

More information

Lecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)

Lecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23) Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20

More information

CPU Organization (Design)

CPU Organization (Design) ISA Requirements CPU Organization (Design) Datapath Design: Capabilities & performance characteristics of principal Functional Units (FUs) needed by ISA instructions (e.g., Registers, ALU, Shifters, Logic

More information

--------------------------------------------------------------------------------------------------------------------- 1. Objectives: Using the Logisim simulator Designing and testing a Pipelined 16-bit

More information

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

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

More information

Single Cycle CPU Design. Mehran Rezaei

Single Cycle CPU Design. Mehran Rezaei Single Cycle CPU Design Mehran Rezaei What does it mean? Instruction Fetch Instruction Memory clk pc 32 32 address add $t,$t,$t2 instruction Next Logic to generate the address of next instruction The Branch

More information

CSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W10-M

CSE 2021 Computer Organization. Hugh Chesser, CSEB 1012U W10-M CSE 22 Computer Organization Hugh Chesser, CSEB 2U Agenda Topics:. ultiple cycle implementation - complete Patterson: Appendix C, D 2 Breaking the Execution into Clock Cycles Execution of each instruction

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization CS/COE0447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science A simple MIPS We will design a simple MIPS processor that supports a small instruction

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization A simple MIPS CS/COE447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science We will design a simple MIPS processor that supports a small instruction

More information

Processor: Multi- Cycle Datapath & Control

Processor: Multi- Cycle Datapath & Control Processor: Multi- Cycle Datapath & Control (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann, 27) COURSE

More information

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified

More information

Lecture 5 and 6. ICS 152 Computer Systems Architecture. Prof. Juan Luis Aragón

Lecture 5 and 6. ICS 152 Computer Systems Architecture. Prof. Juan Luis Aragón ICS 152 Computer Systems Architecture Prof. Juan Luis Aragón Lecture 5 and 6 Multicycle Implementation Introduction to Microprogramming Readings: Sections 5.4 and 5.5 1 Review of Last Lecture We have seen

More information

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath COMP33 - Computer Architecture Lecture 8 Designing a Single Cycle Datapath The Big Picture The Five Classic Components of a Computer Processor Input Control Memory Datapath Output The Big Picture: The

More information

ECE 3056: Architecture, Concurrency and Energy of Computation. Single and Multi-Cycle Datapaths: Practice Problems

ECE 3056: Architecture, Concurrency and Energy of Computation. Single and Multi-Cycle Datapaths: Practice Problems ECE 3056: Architecture, Concurrency and Energy of Computation Single and Multi-Cycle Datapaths: Practice Problems 1. Consider the single cycle SPIM datapath. a. Specify the values of the control signals

More information

CSEN 601: Computer System Architecture Summer 2014

CSEN 601: Computer System Architecture Summer 2014 CSEN 601: Computer System Architecture Summer 2014 Practice Assignment 5 Solutions Exercise 5-1: (Midterm Spring 2013) a. What are the values of the control signals (except ALUOp) for each of the following

More information

LECTURE 6. Multi-Cycle Datapath and Control

LECTURE 6. Multi-Cycle Datapath and Control LECTURE 6 Multi-Cycle Datapath and Control SINGLE-CYCLE IMPLEMENTATION As we ve seen, single-cycle implementation, although easy to implement, could potentially be very inefficient. In single-cycle, we

More information

CS 61C Summer 2016 Guerrilla Section 4: MIPS CPU (Datapath & Control)

CS 61C Summer 2016 Guerrilla Section 4: MIPS CPU (Datapath & Control) CS 61C Summer 2016 Guerrilla Section 4: MIPS CPU (Datapath & Control) 1) If this exam were a CPU, you d be halfway through the pipeline (Sp15 Final) We found that the instruction fetch and memory stages

More information

CPE 335 Computer Organization. Basic MIPS Architecture Part I

CPE 335 Computer Organization. Basic MIPS Architecture Part I CPE 335 Computer Organization Basic MIPS Architecture Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s8/index.html CPE232 Basic MIPS Architecture

More information

CS/COE1541: Introduction to Computer Architecture

CS/COE1541: Introduction to Computer Architecture CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating

More information

Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007

Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007 Digital Design & Computer Architecture (E85) D. Money Harris Fall 2007 Final Exam This is a closed-book take-home exam. You are permitted a calculator and two 8.5x sheets of paper with notes. The exam

More information

ECS 154B Computer Architecture II Spring 2009

ECS 154B Computer Architecture II Spring 2009 ECS 154B Computer Architecture II Spring 2009 Pipelining Datapath and Control 6.2-6.3 Partially adapted from slides by Mary Jane Irwin, Penn State And Kurtis Kredo, UCD Pipelined CPU Break execution into

More information

Multicycle conclusion

Multicycle conclusion Multicycle conclusion The last few lectures covered a lot of material! We introduced a multicycle datapath, where different instructions take different numbers of cycles to execute. A multicycle unit is

More information

Block diagram view. Datapath = functional units + registers

Block diagram view. Datapath = functional units + registers Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs = machine instruction,

More information

CS3350B Computer Architecture Winter 2015

CS3350B Computer Architecture Winter 2015 CS3350B Computer Architecture Winter 2015 Lecture 5.5: Single-Cycle CPU Datapath Design Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design, Patterson

More information

MIPS Instruction Set

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

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

ECE170 Computer Architecture. Single Cycle Control. Review: 3b: Add & Subtract. Review: 3e: Store Operations. Review: 3d: Load Operations

ECE170 Computer Architecture. Single Cycle Control. Review: 3b: Add & Subtract. Review: 3e: Store Operations. Review: 3d: Load Operations ECE7 Computer Architecture Single Cycle Control Review: 3a: Overview of the Fetch Unit The common operations Fetch the : mem[] Update the program counter: Sequential Code: < + Branch and Jump: < something

More information

CSE 2021: Computer Organization Fall 2010 Solution to Assignment # 3: Multicycle Implementation

CSE 2021: Computer Organization Fall 2010 Solution to Assignment # 3: Multicycle Implementation CSE 2021: Computer Organization Fall 2010 Solution to Assignment # 3: Multicycle Implementation Note that these questions are taken from the previous final exmas of CSE2021 and should serve as practice

More information

CC 311- Computer Architecture. The Processor - Control

CC 311- Computer Architecture. The Processor - Control CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #18 Introduction to CPU Design 2007-7-25 Scott Beamer, Instructor CS61C L18 Introduction to CPU Design (1) What about overflow? Consider

More information

EECS150 - Digital Design Lecture 9- CPU Microarchitecture. Watson: Jeopardy-playing Computer

EECS150 - Digital Design Lecture 9- CPU Microarchitecture. Watson: Jeopardy-playing Computer EECS150 - Digital Design Lecture 9- CPU Microarchitecture Feb 15, 2011 John Wawrzynek Spring 2011 EECS150 - Lec09-cpu Page 1 Watson: Jeopardy-playing Computer Watson is made up of a cluster of ninety IBM

More information

The Processor: Datapath & Control

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

More information

Chapter 5 Solutions: For More Practice

Chapter 5 Solutions: For More Practice Chapter 5 Solutions: For More Practice 1 Chapter 5 Solutions: For More Practice 5.4 Fetching, reading registers, and writing the destination register takes a total of 300ps for both floating point add/subtract

More information

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

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

More information

COMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H

COMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 4 The Processor: A Based on P&H Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined

More information

bits 5..0 the sub-function of opcode 0, 32 for the add instruction

bits 5..0 the sub-function of opcode 0, 32 for the add instruction CS2 Computer Systems note 1a Some MIPS instructions More details on these, and other instructions in the MIPS instruction set, can be found in Chapter 3 of Patterson and Hennessy. A full listing of MIPS

More information

Lecture 6 Datapath and Controller

Lecture 6 Datapath and Controller Lecture 6 Datapath and Controller Peng Liu liupeng@zju.edu.cn Windows Editor and Word Processing UltraEdit, EditPlus Gvim Linux or Mac IOS Emacs vi or vim Word Processing(Windows, Linux, and Mac IOS) LaTex

More information

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

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

More information

Mips Code Examples Peter Rounce

Mips Code Examples Peter Rounce Mips Code Examples Peter Rounce P.Rounce@cs.ucl.ac.uk Some C Examples Assignment : int j = 10 ; // space must be allocated to variable j Possibility 1: j is stored in a register, i.e. register $2 then

More information

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

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

More information

CS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic

CS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic CS 61C: Great Ideas in Computer Architecture Datapath Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15 1 Components of a Computer Processor Control Enable? Read/Write

More information

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

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

More information

EECS 322 Computer Architecture Improving Memory Access: the Cache

EECS 322 Computer Architecture Improving Memory Access: the Cache EECS 322 Computer Architecture Improving emory Access: the Cache Instructor: Francis G. Wolff wolff@eecs.cwru.edu Case Western Reserve University This presentation uses powerpoint animation: please viewshow

More information

CS 351 Exam 2 Mon. 11/2/2015

CS 351 Exam 2 Mon. 11/2/2015 CS 351 Exam 2 Mon. 11/2/2015 Name: Rules and Hints The MIPS cheat sheet and datapath diagram are attached at the end of this exam for your reference. You may use one handwritten 8.5 11 cheat sheet (front

More information

CSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade

CSE 141 Computer Architecture Summer Session Lecture 3 ALU Part 2 Single Cycle CPU Part 1. Pramod V. Argade CSE 141 Computer Architecture Summer Session 1 2004 Lecture 3 ALU Part 2 Single Cycle CPU Part 1 Pramod V. Argade Reading Assignment Announcements Chapter 5: The Processor: Datapath and Control, Sec. 5.3-5.4

More information

Design of the MIPS Processor

Design of the MIPS Processor Design of the MIPS Processor We will study the design of a simple version of MIPS that can support the following instructions: I-type instructions LW, SW R-type instructions, like ADD, SUB Conditional

More information