Animating the Datapath. Animating the Datapath: R-type Instruction. Animating the Datapath: Load Instruction. MIPS Datapath I: Single-Cycle

Size: px
Start display at page:

Download "Animating the Datapath. Animating the Datapath: R-type Instruction. Animating the Datapath: Load Instruction. MIPS Datapath I: Single-Cycle"

Transcription

1 nimating the atapath PS atapath : Single-Cycle npt is either (-type) or sign-etended lower half of instrction (load/store) op offset/immediate W egister File from instrction path beq,, offset if ([] == []) then <- + + s_etend(offset) ata is either from (-type) or (load) Combining the paths for -type instrctions and load/stores sing two mltipleo Fig.. Page nimating the atapath: -type nimating the atapath: Load 6 W egister File add,, 6 W egister File lw,offset() 6 Src em ata emory em emtoeg 6 Src em ata emory em emtoeg

2 6 nimating the atapath: Store W egister File 6 Src sw,offset() em ata emory em emtoeg PS atapath : Single-Cycle dd Separate instrction as instrction and read occr in the same clock cycle Separate adder as operations and increment occr in the same clock cycle egiste 6 etend Src dding instrction fetch operation reslt ddress em em ata emtoeg PS atapath : Single-Cycle atapath ecting add add,, Src ew mltipleor dd is either + or branch target egiste 6 etend left Src dd reslt tra adder needed as both adde operate in each cycle operation em reslt ddress em ata emtoeg emory 6 W egister File 6 Src Src em ata emory em emtoeg dding branch capability and another mltipleor mpoant note: in a single-cycle implementation cannot be stored dring an instrction it only moves throgh combinational logic Qestion: is the em signal really needed?! hink of!

3 atapath ecting lw lw,offset() atapath ecting sw sw,offset() emory 6 W egister File 6 Src Src em ata emory em emtoeg emory 6 W egister File 6 Src Src em ata emory em emtoeg atapath ecting beq beq r,r,offset nit takes inpt from the instrction opcode bits emory 6 W egister File 6 Src Src em ata emory em emtoeg nit generates control inpt write enable (possibly, read enable also) signals for each storage element selector controls for each mltipleor

4 Plan to control : main control sends a -bit Op control field to the control. ased on Op and fnct field of instrction the control generates the -bit control field ecall from Ch. control Fncfield tion and or add sb slt ain mst perform add for load/stores (Op ) sb for branches (Op ) one of and, or, add, sb, slt for -type instrctions, depending on the instrction s 6-bit fnct field (Op ) 6 fnct field Op Op generation by main control control inpt o Setting its lop Fnct Field esired control opcode operation action inpt LW load wo add SW store wo add ranch eq branch eq sbtract -type add add -type sbtract sbtract -type and -type O or -type set on less set on less *ypo in tet Fig..: if it is then there is potential conflict between line and lines -7! Op Fnct field Op Op F F F F F F * h table for control bits esigning the ain atapath with Src -type Load/store or branch opcode opcode shamt fnct Observations abot PS instrction format opcode is always in bits -6 two s to be read are always (bits -) and (bits - 6) base for load/stores is always (bits -) 6-bit offset for branch eqal and load/store is always bits - destination for loads is in bits -6 () while for -type instrctions it is in bits - () (will reqire mltipleor to select) dd [ ] ew mltipleor [ ] [ 6] [ ] egst [ ] egiste 6 etend [ ] left Src control Op dd reslt reslt em ddress ata em emtoeg dding control to the PS atapath (and a new mltipleor to select field to specify destination ): what are the fnctions of the control signals?

5 als atapath with al ame ffect when deasseed ffect when asseed egst he destination nmber for the he destination nmber for the comes from the field (bits -6) comes from the field (bits -) one he on the inpt is written with the vale on the inpt llsrc he second operand comes from the he second operand is the sign-etended, second file otpt ( ) lower 6 bits of the instrction Src he is replaced by the otpt of the adder he is replaced by the otpt of the adder that comptes the vale of + that comptes the branch target em one ata contents designated by the inpt are pt on the fit otpt em one ata contents designated by the inpt are replaced by the vale of the inpt emtoeg he vale fed to the inpt he vale fed to the inpt comes from the comes from the dd [ ] [ 6] [ ] [ 6] [ ] [ ] egst ranch em emtoeg Op em Src egiste 6 etend left control dd reslt reslt ddress Src ata ffects of the seven control signals [ ] PS path with the control nit: inpt to control is the 6-bit instrction opcode field, otpt is seven -bit signals and the -bit Op signal dd egst ranch em left dd reslt Src Src cannot be set directly from the opcode: zero test otcome is reqired als: -ype [ 6] emtoeg Op em Src [ ] [ ] [ 6] [ ] [ ] egiste [ ] 6 etend egst Src emto- eg eg em em ranch Op p -format lw sw beq control reslt etermining control signals for the PS path based on instrction opcode ddress ata emory immediate/ offset [:] signals shown in ble 6 [:] [:6] W egister File [:] 6??? egst Src Vale depends on fnct Src em ata emory em emtoeg

6 als: lw als: sw emory immediate/ offset [:] signals shown in ble 6 [:] [:6] W egister File [:] 6 egst Src Src em ata emory em emtoeg emory immediate/ offset [:] signals shown in ble 6 [:] [:6] W egister File [:] 6 egst Src Src em ata emory em emtoeg als: beq Jmp atapath with opcode -6 Composing jmp - target ew mltipleor with additional control bit Jmp [ ] Jmp [ ] left 6 8 emory immediate/ offset [:] signals shown in ble 6 [:] [:6] W egister File [:] 6 egst Src Src if = em ata emory em emtoeg dd [ ] + [ 8] [ 6] [ ] [ 6] [ ] [ ] egst Jmp ranch em emtoeg Op em Src egiste [ ] 6 etend left control dd reslt reslt ddress ata PS path etended to jmps: control nit generates new Jmp control bit

7 atapath ecting j -type : Step add $t, $t, $t (active = bold) emory jmpaddr [:] 6 op [: nit 6 Op W egister File 8 op 6 [:6] fnct 6 [:] COC 6 +[-8] egst Src Src Jmp ranch em ata emory em emtoeg dd [ ] [ 6] [ ] [ 6] [ ] [ ] egst ranch em emtoeg Op em Src egiste [ ] 6 etend left control dd reslt reslt ddress ata Fetch instrction and increment cont -type : Step add $t, $t, $t (active = bold) -type : Step add $t, $t, $t (active = bold) dd [ 6] egst ranch em emtoeg Op em Src left dd reslt dd [ 6] egst ranch em emtoeg Op em Src left dd reslt [ ] [ ] [ 6] [ ] [ ] egiste [ ] 6 etend control reslt ddress ata [ ] [ ] [ 6] [ ] [ ] egiste [ ] 6 etend control reslt ddress ata two sorce s from the file operates on the two operands

8 dd -type : Step add $t, $t, $t (active = bold) [ 6] egst ranch em emtoeg Op em Src left dd reslt mplementation: lock Op Fnct field Op Op F F F F F F * *ypo in tet Fig..: if it is then there is potential conflict between line and lines -7! h table for control bits [ ] [ ] [ 6] [ ] [ ] egiste [ ] 6 etend control reslt ddress ata F ( ) F F F F Op control block Op Op reslt to control logic npts Otpts mplementation: ain lock al - lw sw beq name format Op Op Op Op Op Op egst Src emtoeg em em ranch Op OP h table for main control signals npts Op Op Op Op Op Op -format w sw beq Otpts egst Src emtoeg em em ranch Op OpO ain control PL (programmable logic array): principle nderlying PLs is that any logical epression can be written as a sm-of-prodcts Single-cycle mplementation otes he steps are not really distinct as each instrction completes in eactly one clock cycle they simply indicate the seqence of flowing throgh the path he operation of the path dring a cycle is prely combinational nothing is stored dring a clock cycle herefore, the machine is stable in a paiclar state at the sta of a cycle and reaches a new stable state only at the end of the cycle

9 Load Steps lw $t, offset($t). Fetch instrction and increment. base from the file: the base ($t) is given by bits - of the instrction. comptes sm of vale read from the file and the sign-etended lower 6 bits (offset) of the instrction. he sm from the is sed as the for the. he from the nit is written into the file: the destination ($t) is given by bits -6 of the instrction ranch Steps beq $t, $t, offset. Fetch instrction and increment. two ($t and $t) from the file. performs a sbtract on the vales from the file; the vale of + is added to the signetended lower 6 bits (offset) of the instrction shifted left by two to give the branch target. he reslt from the is sed to decide which adder reslt (from step or ) to store in the Single-Cycle esign Problems ssming fied-period clock every instrction path ses one clock cycle implies: CP = cycle time determined by length of the longest instrction path (load) bt several instrctions cold rn in a shoer clock cycle: waste of time consider if we have more complicated instrctions like floating point! resorces sed more than once in the same cycle need to be dplicated waste of haware and chip area ample: Fied-period clock vs. variable-period clock in a single-cycle implementation Consider a machine with an additional floating point nit. ssme fnctional nit delays as follows : ns., and adde: ns., FP add: 8 ns., FP mltiply: 6 ns., file access (read or write): ns. mltipleo, control nit, accesses, sign etension, wires: no delay ssme instrction mi as follows all loads take same time and comprise % all stores take same time and comprise % -format instrctions comprise 7% branches comprise % jmps comprise % FP adds and sbtracts take the same time and totally comprise 7% FP mltiplys and divides take the same time and totally comprise 7% Compare the performance of (a) a single-cycle implementation sing a fiedperiod clock with (b) one sing a variable-period clock where each instrction eectes in one clock cycle that is only as long as it needs to be (not really practical bt pretend it s possible!)

10 Soltion nstr. egister ata egister FP FP otal class mem. read oper. mem. write add/ ml/ time sb div ns. Load wo 8 Store wo 7 -format 6 ranch Jmp FP ml/div 6 FP add/sb 8 Clock period for fied-period clock = longest instrction time = ns. verage clock period for variable-period clock = 8 % + 7 % + 6 7% + % + % + 7% + 7% = 7. ns. herefore, performance var-period /performance fied-period = /7 =.9 Fiing the problem with singlecycle designs One soltion: a variable-period clock with different cycle times for each instrction class nfeasible, as implementing a variable-speed clock is technically difficlt nother soltion: se a smaller cycle time have different instrctions take different nmbe of cycles by breaking instrctions into steps and fitting each step into one cycle feasible: mlticyle approach! lticycle pproach reak p the instrctions into steps each step takes one clock cycle balance the amont of work to be done in each step/cycle so that they are abot eqal restrict each cycle to se at most once each major fnctional nit so that sch nits do not have to be replicated fnctional nits can be shared between different cycles within one instrction etween steps/cycles t the end of one cycle store to be sed in later cycles of the same instrction need to introdce additional internal (programmer-invisible) s for this prpose ata to be sed in later instrctions are stored in programmervisible state elements: the file,, ote paiclarities of mlticyle vs. singlediagrams single for and instrctions single, no etra adde etra s to hold between clock cycles lticycle pproach dd ddress emory ata or egiste 6 etend left Src Single-cycle path emory ata egister # egiste egister # egister # dd reslt operation reslt Src ddress em em ata Ot emtoeg lticycle path (high-level view)

11 lticycle atapath reaking instrctions into steps ddress emory emata [ ] [ 6] [ ] [ ] emory [ ] 6 egiste etend left reslt Ot Or goal is to break p the instrctions into steps so that each step takes one clock cycle the amont of work to be done in each step/cycle is abot eqal each cycle ses at most once each major fnctional nit so that sch nits do not have to be replicated fnctional nits can be shared between different cycles within one instrction ata at end of one cycle to be sed in net mst be stored!! asic mlticycle PS path handles -type instrctions and load/stores: new internal in red ovals, new mltipleo in ble ovals reaking instrctions into steps Step : Fetch & ncrement (F) We break instrctions into the following potential eection steps not all instrctions reqire all the steps each step takes one clock cycle. fetch and increment (F). decode and fetch (). ection, comptation, or branch completion (). emory access or -type instrction completion (). emory read completion (W) se to get instrction and pt it in the instrction. ncrement the by and pt the reslt back in the. Can be described sccinctly sing L (egister-ransfer Langage): = emory[]; = + ; = egister ach PS instrction takes from cycles (steps)

12 Step : ecode and egister Fetch () s and in case we need them. Compte the branch in case the instrction is a branch. L: = eg[[-]]; = eg[[-6]]; Ot = + (sign-etend([-]) << ); Step : ection, ddress Comptation or ranch Completion () performs one of for fnctions depending on instrction type reference: Ot = + sign-etend([-]); -type: Ot = op ; branch (instrction completes): if (==) = Ot; jmp (instrction completes): = [-8] ((-) << ) Step : emory access or - type Completion () gain depending on instrction type: Loads and stores access load = emory[ot]; = emory ata egister store (instrction completes) emory[ot] = ; -type (instrctions completes) eg[[-]] = Ot; Step : emory Completion (W) gain depending on instrction type: Load writes back (instrction completes) eg[[-6]]= ; mpoant: here is no reason from a path (or control) point of view that Step cannot be eliminated by performing eg[[-6]]= emory[ot]; for loads in Step. his wold eliminate the as well. he reason this is not done is that, to keep steps balanced in length, the design restriction is to allow each step to contain at most one operation, or one access, or one access.

13 Smmary of ection lticycle ection Step (): Fetch Step : F : : Step name fetch decode/ fetch ction for -type instrctions ction for -reference ction for instrctions branches = emory[] = + = eg [[-]] = eg [[-6]] Ot = + (sign-etend ([-]) << ) ction for jmps ection, Ot = op Ot = + sign-etend if ( ==) then = [-8] comptation, branch/ ([-]) = Ot ([-]) jmp completion emory access or -type eg [[-]] = Load: = emory[ot] : completion Ot or Store: emory [Ot] = : W emory read completion Load: eg[[-6]] = + = emory[]; = + ; em emory em W egiste = egister = emory ata egister O st be lticycle ection Step (): ecode & egister Fetch = eg[[-]]; ( = eg[]) = eg[[-]]; ( = eg[]) Ot = ( + sign-etend([-]) << ) * lticycle ection Step (): emory eference s Ot = + sign-etend([-]); + em emory em eg[] W egiste eg[] * ranch arget ddress O + em emory em eg[] W egiste eg[] em. ddress O

14 lticycle ection Step (): (-ype) Ot = op lticycle ection Step (): ranch s if ( == ) = Ot; + em emory em eg[] W egiste eg[] -ype eslt O ranch arget ddress em emory em eg[] W egiste eg[] ranch arget ddress O lticycle ection Step (): Jmp = [-8] concat ([-] << ) lticycle ection Step (): emory ccess - (lw) = emory[ot]; Jmp ddress em emory em eg[] W egiste eg[] ranch arget ddress O + em emory em em. ata W egiste eg[] eg[] em. ddress O

15 lticycle ection Step (): emory ccess - (sw) emory[ot] = ; lticycle ection Step (): (-ype) eg[[:]] = O + em emory em eg[] W egiste eg[] O + em emory em eg[] W egiste eg[] -ype eslt O lticycle ection Step (): emory Completion (lw) eg[[-6]] = ; lticycle atapath with or em em egst Src + em emory em em. ata W egiste eg[] eg[] em. ddress O ddress emory emata [ ] [ 6] [ ] [ ] emory [ ] 6 egiste [ ] etend left control reslt Ot emtoeg Src Op with control lines and the control block added not all control lines are shown

16 lticycle atapath with ew gates For the jmp ew mltipleor lticycle Step (): Fetch Cond or em em emtoeg Otpts Sorce Op Src Src = emory[]; = + ; ddress emory emata [-6] [ ] [ 6] [ ] [ ] emory [ ] [ ] Op [ ] egst 6 egiste etend Complete mlticycle PS path (with branch and jmp capability) and showing the main control block and all control lines [ ] left 6 8 control left [-8] reslt Jmp [-] Ot Wr* or em emory em emtoeg immediate W egiste 6 jmpaddr [:] egst 8 COC Src Src O Sorce lticycle Step (): ecode & egister Fetch lticycle Step (): emory eference s Wr* or = eg[[-]]; ( = eg[]) = eg[[-]]; ( = eg[]) Ot = ( + sign-etend([-]) << ); em emory em emtoeg immediate W egiste 6 jmpaddr [:] egst 8 COC Src Src O Sorce Wr* or Ot = + sign-etend([-]); em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce

17 lticycle Step (): (-ype) lticycle Step (): ranch s Ot = op ; if ( == ) = Ot; Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC??? Src Src O Sorce if = Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce lticycle ection Step (): Jmp = [-8] concat ([-] << ); lticycle Step (): emory ccess - (lw) = emory[ot]; Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce

18 lticycle ection Steps () emory ccess - (sw) emory[ot] = ; lticycle Step (): (-ype) eg[[:]] = Ot; (eg[d] = Ot) Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce Wr* or em emory em emtoeg immediate jmpaddr [:] egst W egiste 6 8 COC Src Src O Sorce lticycle ection Steps () emory Completion (lw) Simple Qestions eg[[-6]] = ; How many cycles will it take to eecte this code? Wr* or em emory em egst emtoeg immediate W egiste 6 jmpaddr [:] 8 COC Src Src O Sorce lw $t, ($t) lw $t, ($t) beq $t, $t, Label #assme not eqal add $t, $t, $t sw $t, 8($t) Label:... What is going on dring the 8th cycle of eection? Clock time-line n what cycle does the actal addition of $t and $t takes place?

19 mplementing eview: Finite State achines Vale of control signals is dependent pon: what instrction is being eected which step is being performed Finite state machines (FSs): a set of states and net state fnction, determined by crrent state and the inpt otpt fnction, determined by crrent state and possibly inpt se the information we have accmlated to specify a finite state machine specify the finite state machine graphically, or se microprogramming npts Crrent state Clock et-state fnction et state mplementation is then derived from the specification Otpt fnction Otpts We ll se a oore machine otpt based only on crrent state Sta ample: oore achine he oore machine below, given inpt a binary string terminated by #, will otpt even if the string has an even nmber of s and odd if the string has an odd nmber of s ven state o otpt Otpt even Odd state o otpt # # Otpt odd FS : High-level View sseed signals shown inside state circles emory access instrctions (Figre.8) Sta Sta emory reference FS (Figre.8) fetch/decode and fetch (Figre.7) -type instrctions (Figre.9) ranch instrction (Figre.) High-level view of FS control (Op = 'LW') or (Op = 'SW') fetch em Src = or = Src = Op = Sorce = -type FS (Figre.9) (Op = -type) ranch FS (Figre.) Jmp instrction (Figre.) (Op = 'Q') decode/ egister fetch Src = Src = Op = (Op = 'JP') Jmp FS (Figre.) Otpt even state Otpt odd state fetch and decode steps of every instrction is identical

20 FS : emory eference From state Src = Src = Op = (Op = 'LW') or (Op = 'SW') emory comptation FS : -type From state (Op = -type) ection 6 (Op = 'LW') emory access (Op = 'SW') emory access Src = Src = Op = em or = -back step em or = 7 egst = emtoeg = -type completion emtoeg = egst = o state (Figre.7) FS control for -reference has states o state (Figre.7) FS control to implement -type instrctions has states FS : ranch FS : Jmp 8 From state (Op = 'Q') Src = Src = Op = Cond Sorce = ranch completion 9 From state (Op = 'J') Sorce = Jmp completion o state (Figre.7) FS control to implement branches has state o state (Figre.7) FS control to implement jmps has state

21 W FS : Complete View emory comptation Src = Src = Op = (Op = 'LW') em or = emory access egst = emtoeg = (Op = 'SW') -back step Sta (Op = 'LW') or (Op = 'SW') em or = F emory access 6 7 fetch em Src = or = Src = Op = Sorce = ection Src = Src = Op= egst = emtoeg = 8 -type completion (Op = -type) ranch completion Src = Src = Op = Cond Sorce = (Op = 'Q') decode/ fetch 9 Src = Src = Op = (Op = 'J') Jmp completion Sorce = Labels on arcs are conditions that determine net state he complete FS control for the mlticycle PS path: refer lticycle atapath with ample: CP in a mlticycle CP ssme the control design of the previos slide n instrction mi of % loads, % stores, 9% -type operations, 6% branches, and % jmps What is the CP assming each step reqires clock cycle? Soltion: mber of clock cycles from previos slide for each instrction class: loads, stores, -type instrctions, branches, jmps CP = CP clock cycles / instrction cont = Σ (instrction cont class i CP class i ) / instrction cont = Σ (instrction cont class / instrction cont) CP class = =. FS : mplementation Op Op Op Cond or em emtoeg Sorce Op Src Src egst High-level view of FS implementation: inpts to the combinational logic block are the crrent state nmber and instrction opcode bits; otpts are the net state nmber and control signals to be asseed for the crrent state Op Op opcode field logic npts Op For state bits are reqired for states S S Otpts S S State em S S S S FS : PL mplementation Op Op Op Op Op Op S S S S Cond or em em emtoeg Sorce Sorce Op Op Src Src Src egst S S S pper half is the plane that comptes all the prodcts. he prodcts are carried to the lower O plane by the veical lines. he sm terms for each otpt is given by the corresponding horizontal line.g., or = S.S.S.S + S.S.S.S S

22 FS : O mplementation O ( Only emory) vales of locations are fied ahead of time O can be sed to implement a th table if the is m-bits, we can m entries in the O otpts are the bits of the entry the points to m n O m = n = otpt he size of an m-inpt n-otpt O is m n bits sch a O can be thoght of as an array of size m with each entry in the array being n bits FS : O vs. PL Fit improve the O: break the table into two pas state bits give the 6 otpt signals 6 bits of O all inpt bits give the net state bits bits of O otal.k bits of O PL is mch smaller can share prodct terms only need entries that prodce an active otpt can take into accont don't cares PL size = (#inpts #prodct-terms) + (#otpts #prodctterms) FS control PL = (7)+(7) = 6 PL cells PL cells sally abot the size of a O cell (slightly bigger) icroprogramming icroprogramming is a method of specifying FS control that resembles a programming langage tetal rather graphic this is appropriate when the FS becomes very large, e.g., if the instrction set is large and/or the nmber of cycles per instrction is large in sch sitations graphical representation becomes difficlt as there may be thosands of states and even more arcs joining them a microprogram is specification : implementation is by O or PL microprogram is a seqence of microinstrctions each microinstrction has eight fields (label + 7 fnctional) Label: sed to control microcode seqencing control: specify operation to be done by SC: specify sorce for fit operand SC: specify sorce for second operand egister control: specify read/write for file emory: specify read/write for control: specify the writing of the Seqencing: specify choice of net microinstrction icroprogramming he Seqencing field vale determines the eection oer of the microprogram vale Seq : control passes to the seqentially net microinstrction vale Fetch : branch to the fit microinstrction to begin the net PS instrction, i.e., the fit microinstrction in the microprogram vale ispatch i : branch to a microinstrction based on control inpt and a dispatch table entry (called dispatching): ispatching is implemented by means of creating a table, called dispatch table, whose entries are microinstrction labels and which is indeed by the control inpt. here may be mltiple dispatch tables the vale ispatch i in the seqencing field indicates that the i th dispatch table is to be sed

23 icroprogram he microprogram corresponding to the FS control shown graphically earlier: Label control SC SC egister control em ory W rite control Seqencing Fetch dd Seq dd tshft ispatch em dd tend ispatch LW Seq Fetch SW Fetch format Fnc code Seq Fetch Q Sbt O t-cond Fetch JP Jmp Fetch icroprogram containing microinstrctions ispatch O Op Opcode name Vale -format format jmp JP beq Q lw em sw em ispatch able ispatch O Op Opcode name Vale lw LW sw SW ispatch able icrocode: rade-offs Specification advantages easy to design and write typically manfactrer designs architectre and microcode in parallel mplementation advantages easy to change since vales are in (e.g., off-chip O) can emlate other architectres can make se of internal s mplementation disadvantages control is implemented nowadays on same chip as processor so the advantage of an off-chip O does not eist O is no longer faster than on-boa cache there is little need to change the microcode as general-prpose compte are sed far more nowadays than compte designed for specific applications Smmary echniqes described in this chapter to design paths and control are at the core of all modern compter architectre lticycle paths offer two great advantages over single-cycle fnctional nits can be resed within a single instrction if they are accessed in different cycles redcing the need to replicate epensive logic instrctions with shoer eection paths can complete qicker by consming fewer cycles odern compte, in fact, take the mlticycle paradigm to a higher level to achieve greater instrction throghpt: pipelining (net topic) where mltiple instrctions eecte simltaneosly by having cycles of different instrctions overlap in the path the PS architectre was designed to be pipelined

Review Multicycle: What is Happening. Controlling The Multicycle Design

Review Multicycle: What is Happening. Controlling The Multicycle Design Review lticycle: What is Happening Reslt Zero Op SrcA SrcB Registers Reg Address emory em Data Sign etend Shift left Sorce A B Ot [-6] [5-] [-6] [5-] [5-] Instrction emory IR RegDst emtoreg IorD em em

More information

The extra single-cycle adders

The extra single-cycle adders lticycle Datapath As an added bons, we can eliminate some of the etra hardware from the single-cycle path. We will restrict orselves to sing each fnctional nit once per cycle, jst like before. Bt since

More information

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read.

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read. The final path PC 4 Add Reg Shift left 2 Add PCSrc Instrction [3-] Instrction I [25-2] I [2-6] I [5 - ] register register 2 register 2 Registers ALU Zero Reslt ALUOp em Data emtor RegDst ALUSrc em I [5

More information

Chapter 6 Enhancing Performance with. Pipelining. Pipelining. Pipelined vs. Single-Cycle Instruction Execution: the Plan. Pipelining: Keep in Mind

Chapter 6 Enhancing Performance with. Pipelining. Pipelining. Pipelined vs. Single-Cycle Instruction Execution: the Plan. Pipelining: Keep in Mind Pipelining hink of sing machines in landry services Chapter 6 nhancing Performance with Pipelining 6 P 7 8 9 A ime ask A B C ot pipelined Assme 3 min. each task wash, dry, fold, store and that separate

More information

EEC 483 Computer Organization

EEC 483 Computer Organization EEC 483 Compter Organization Chapter 4.4 A Simple Implementation Scheme Chans Y The Big Pictre The Five Classic Components of a Compter Processor Control emory Inpt path Otpt path & Control 2 path and

More information

The multicycle datapath. Lecture 10 (Wed 10/15/2008) Finite-state machine for the control unit. Implementing the FSM

The multicycle datapath. Lecture 10 (Wed 10/15/2008) Finite-state machine for the control unit. Implementing the FSM Lectre (Wed /5/28) Lab # Hardware De Fri Oct 7 HW #2 IPS programming, de Wed Oct 22 idterm Fri Oct 2 IorD The mlticycle path SrcA Today s objectives: icroprogramming Etending the mlti-cycle path lti-cycle

More information

The single-cycle design from last time

The single-cycle design from last time lticycle path Last time we saw a single-cycle path and control nit for or simple IPS-based instrction set. A mlticycle processor fies some shortcomings in the single-cycle CPU. Faster instrctions are not

More information

Computer Architecture Chapter 5. Fall 2005 Department of Computer Science Kent State University

Computer Architecture Chapter 5. Fall 2005 Department of Computer Science Kent State University Compter Architectre Chapter 5 Fall 25 Department of Compter Science Kent State University The Processor: Datapath & Control Or implementation of the MIPS is simplified memory-reference instrctions: lw,

More information

Review. A single-cycle MIPS processor

Review. A single-cycle MIPS processor Review If three instrctions have opcodes, 7 and 5 are they all of the same type? If we were to add an instrction to IPS of the form OD $t, $t2, $t3, which performs $t = $t2 OD $t3, what wold be its opcode?

More information

Review: Computer Organization

Review: Computer Organization Review: Compter Organization Pipelining Chans Y Landry Eample Landry Eample Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 3 mintes A B C D Dryer takes 3 mintes

More information

Pipelining. Chapter 4

Pipelining. Chapter 4 Pipelining Chapter 4 ake processor rns faster Pipelining is an implementation techniqe in which mltiple instrctions are overlapped in eection Key of making processor fast Pipelining Single cycle path we

More information

What do we have so far? Multi-Cycle Datapath

What do we have so far? Multi-Cycle Datapath What do we have so far? lti-cycle Datapath CPI: R-Type = 4, Load = 5, Store 4, Branch = 3 Only one instrction being processed in datapath How to lower CPI frther? #1 Lec # 8 Spring2 4-11-2 Pipelining pipelining

More information

Chapter 6: Pipelining

Chapter 6: Pipelining CSE 322 COPUTER ARCHITECTURE II Chapter 6: Pipelining Chapter 6: Pipelining Febrary 10, 2000 1 Clothes Washing CSE 322 COPUTER ARCHITECTURE II The Assembly Line Accmlate dirty clothes in hamper Place in

More information

CSE Introduction to Computer Architecture Chapter 5 The Processor: Datapath & Control

CSE Introduction to Computer Architecture Chapter 5 The Processor: Datapath & Control CSE-45432 Introdction to Compter Architectre Chapter 5 The Processor: Datapath & Control Dr. Izadi Data Processor Register # PC Address Registers ALU memory Register # Register # Address Data memory Data

More information

1048: Computer Organization

1048: Computer Organization 48: Compter Organization Lectre 5 Datapath and Control Lectre5B - mlticycle implementation (cwli@twins.ee.nct.ed.tw) 5B- Recap: A Single-Cycle Processor PCSrc 4 Add Shift left 2 Add ALU reslt PC address

More information

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code:

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code: EE8 Winter 25 Homework #2 Soltions De Thrsday, Feb 2, 5 P. ( points) Consider the following fragment of Java code: for (i=; i

More information

PART I: Adding Instructions to the Datapath. (2 nd Edition):

PART I: Adding Instructions to the Datapath. (2 nd Edition): EE57 Instrctor: G. Pvvada ===================================================================== Homework #5b De: check on the blackboard =====================================================================

More information

1048: Computer Organization

1048: Computer Organization 48: Compter Organization Lectre 5 Datapath and Control Lectre5A - simple implementation (cwli@twins.ee.nct.ed.tw) 5A- Introdction In this lectre, we will try to implement simplified IPS which contain emory

More information

CS 251, Spring 2018, Assignment 3.0 3% of course mark

CS 251, Spring 2018, Assignment 3.0 3% of course mark CS 25, Spring 28, Assignment 3. 3% of corse mark De onday, Jne 25th, 5:3 P. (5 points) Consider the single-cycle compter shown on page 6 of this assignment. Sppose the circit elements take the following

More information

CS 251, Winter 2019, Assignment % of course mark

CS 251, Winter 2019, Assignment % of course mark CS 25, Winter 29, Assignment.. 3% of corse mark De Wednesday, arch 3th, 5:3P Lates accepted ntil Thrsday arch th, pm with a 5% penalty. (7 points) In the diagram below, the mlticycle compter from the corse

More information

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction Review Friday the 2st of October Real world eamples of pipelining? How does pipelining pp inflence instrction latency? How does pipelining inflence instrction throghpt? What are the three types of hazard

More information

Exceptions and interrupts

Exceptions and interrupts Eceptions and interrpts An eception or interrpt is an nepected event that reqires the CPU to pase or stop the crrent program. Eception handling is the hardware analog of error handling in software. Classes

More information

PS Midterm 2. Pipelining

PS Midterm 2. Pipelining PS idterm 2 Pipelining Seqential Landry 6 P 7 8 9 idnight Time T a s k O r d e r A B C D 3 4 2 3 4 2 3 4 2 3 4 2 Seqential landry takes 6 hors for 4 loads If they learned pipelining, how long wold landry

More information

CS 251, Winter 2018, Assignment % of course mark

CS 251, Winter 2018, Assignment % of course mark CS 25, Winter 28, Assignment 4.. 3% of corse mark De Wednesday, arch 7th, 4:3P Lates accepted ntil Thrsday arch 8th, am with a 5% penalty. (6 points) In the diagram below, the mlticycle compter from the

More information

CS 251, Winter 2018, Assignment % of course mark

CS 251, Winter 2018, Assignment % of course mark CS 25, Winter 28, Assignment 3.. 3% of corse mark De onday, Febrary 26th, 4:3 P Lates accepted ntil : A, Febrary 27th with a 5% penalty. IEEE 754 Floating Point ( points): (a) (4 points) Complete the following

More information

CSSE232 Computer Architecture I. Mul5cycle Datapath

CSSE232 Computer Architecture I. Mul5cycle Datapath CSSE232 Compter Architectre I Ml5cycle Datapath Class Stats Next 3 days : Ml5cycle datapath ing Ml5cycle datapath is not in the book! How long do instrc5ons take? ALU 2ns Mem 2ns Reg File 1ns Everything

More information

Lecture 7. Building A Simple Processor

Lecture 7. Building A Simple Processor Lectre 7 Bilding A Simple Processor Christos Kozyrakis Stanford University http://eeclass.stanford.ed/ee8b C. Kozyrakis EE8b Lectre 7 Annoncements Upcoming deadlines Lab is de today Demo by 5pm, report

More information

Comp 303 Computer Architecture A Pipelined Datapath Control. Lecture 13

Comp 303 Computer Architecture A Pipelined Datapath Control. Lecture 13 Comp 33 Compter Architectre A Pipelined path Lectre 3 Pipelined path with Signals PCSrc IF/ ID ID/ EX EX / E E / Add PC 4 Address Instrction emory RegWr ra rb rw Registers bsw [5-] [2-6] [5-] bsa bsb Sign

More information

Quiz #1 EEC 483, Spring 2019

Quiz #1 EEC 483, Spring 2019 Qiz # EEC 483, Spring 29 Date: Jan 22 Name: Eercise #: Translate the following instrction in C into IPS code. Eercise #2: Translate the following instrction in C into IPS code. Hint: operand C is stored

More information

Enhanced Performance with Pipelining

Enhanced Performance with Pipelining Chapter 6 Enhanced Performance with Pipelining Note: The slides being presented represent a mi. Some are created by ark Franklin, Washington University in St. Lois, Dept. of CSE. any are taken from the

More information

4.13 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language 345.e1

4.13 Advanced Topic: An Introduction to Digital Design Using a Hardware Design Language 345.e1 .3 Advanced Topic: An Introdction to Digital Design Using a Hardware Design Langage 35.e.3 Advanced Topic: An Introdction to Digital Design Using a Hardware Design Langage to Describe and odel a Pipeline

More information

EXAMINATIONS 2003 END-YEAR COMP 203. Computer Organisation

EXAMINATIONS 2003 END-YEAR COMP 203. Computer Organisation EXAINATIONS 2003 COP203 END-YEAR Compter Organisation Time Allowed: 3 Hors (180 mintes) Instrctions: Answer all qestions. There are 180 possible marks on the eam. Calclators and foreign langage dictionaries

More information

Chapter 6: Pipelining

Chapter 6: Pipelining Chapter 6: Pipelining Otline An overview of pipelining A pipelined path Pipelined control Data hazards and forwarding Data hazards and stalls Branch hazards Eceptions Sperscalar and dynamic pipelining

More information

EEC 483 Computer Organization

EEC 483 Computer Organization EEC 83 Compter Organization Chapter.6 A Pipelined path Chans Y Pipelined Approach 2 - Cycle time, No. stages - Resorce conflict E E A B C D 3 E E 5 E 2 3 5 2 6 7 8 9 c.y9@csohio.ed Resorces sed in 5 Stages

More information

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts

Chapter 3 & Appendix C Pipelining Part A: Basic and Intermediate Concepts CS359: Compter Architectre Chapter 3 & Appendi C Pipelining Part A: Basic and Intermediate Concepts Yanyan Shen Department of Compter Science and Engineering Shanghai Jiao Tong University 1 Otline Introdction

More information

Computer Architecture

Computer Architecture Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics (Lectres

More information

Overview of Pipelining

Overview of Pipelining EEC 58 Compter Architectre Pipelining Department of Electrical Engineering and Compter Science Cleveland State University Fndamental Principles Overview of Pipelining Pipelined Design otivation: Increase

More information

Computer Architecture

Computer Architecture Compter Architectre Lectre 4: Intro to icroarchitectre: Single- Cycle Dr. Ahmed Sallam Sez Canal University Spring 25 Based on original slides by Prof. Onr tl Review Compter Architectre Today and Basics

More information

1048: Computer Organization

1048: Computer Organization 8: Compter Organization Lectre 6 Pipelining Lectre6 - pipelining (cwli@twins.ee.nct.ed.tw) 6- Otline An overview of pipelining A pipelined path Pipelined control Data hazards and forwarding Data hazards

More information

Instruction fetch. MemRead. IRWrite ALUSrcB = 01. ALUOp = 00. PCWrite. PCSource = 00. ALUSrcB = 00. R-type completion

Instruction fetch. MemRead. IRWrite ALUSrcB = 01. ALUOp = 00. PCWrite. PCSource = 00. ALUSrcB = 00. R-type completion . (Chapter 5) Fill in the vales for SrcA, SrcB, IorD, Dst and emto to complete the Finite State achine for the mlti-cycle datapath shown below. emory address comptation 2 SrcA = SrcB = Op = fetch em SrcA

More information

Lab 8 (All Sections) Prelab: ALU and ALU Control

Lab 8 (All Sections) Prelab: ALU and ALU Control Lab 8 (All Sections) Prelab: and Control Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received nathorized aid on this academic work Objective In this lab yo will

More information

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION EXAINATIONS 2010 END OF YEAR COPUTER ORGANIZATION Time Allowed: 3 Hors (180 mintes) Instrctions: Answer all qestions. ake sre yor answers are clear and to the point. Calclators and paper foreign langage

More information

Lecture 10: Pipelined Implementations

Lecture 10: Pipelined Implementations U 8-7 S 9 L- 8-7 Lectre : Pipelined Implementations James. Hoe ept of EE, U Febrary 23, 29 nnoncements: Project is de this week idterm graded, d reslts posted Handots: H9 Homework 3 (on lackboard) Graded

More information

Hardware Design Tips. Outline

Hardware Design Tips. Outline Hardware Design Tips EE 36 University of Hawaii EE 36 Fall 23 University of Hawaii Otline Verilog: some sbleties Simlators Test Benching Implementing the IPS Actally a simplified 6 bit version EE 36 Fall

More information

Solutions for Chapter 6 Exercises

Solutions for Chapter 6 Exercises Soltions for Chapter 6 Eercises Soltions for Chapter 6 Eercises 6. 6.2 a. Shortening the ALU operation will not affect the speedp obtained from pipelining. It wold not affect the clock cycle. b. If the

More information

Computer Architecture. Lecture 6: Pipelining

Computer Architecture. Lecture 6: Pipelining Compter Architectre Lectre 6: Pipelining Dr. Ahmed Sallam Based on original slides by Prof. Onr tl Agenda for Today & Net Few Lectres Single-cycle icroarchitectres lti-cycle and icroprogrammed icroarchitectres

More information

EEC 483 Computer Organization. Branch (Control) Hazards

EEC 483 Computer Organization. Branch (Control) Hazards EEC 483 Compter Organization Section 4.8 Branch Hazards Section 4.9 Exceptions Chans Y Branch (Control) Hazards While execting a previos branch, next instrction address might not yet be known. s n i o

More information

Lecture 9: Microcontrolled Multi-Cycle Implementations

Lecture 9: Microcontrolled Multi-Cycle Implementations 8-447 Lectre 9: icroled lti-cycle Implementations James C. Hoe Dept of ECE, CU Febrary 8, 29 S 9 L9- Annoncements: P&H Appendi D Get started t on Lab Handots: Handot #8: Project (on Blackboard) Single-Cycle

More information

Lecture 6: Microprogrammed Multi Cycle Implementation. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 6: Microprogrammed Multi Cycle Implementation. James C. Hoe Department of ECE Carnegie Mellon University 8 447 Lectre 6: icroprogrammed lti Cycle Implementation James C. Hoe Department of ECE Carnegie ellon University 8 447 S8 L06 S, James C. Hoe, CU/ECE/CALC, 208 Yor goal today Hosekeeping nderstand why

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Harware Organization an Design ectre 11: Introction to IPs path apte from Compter Organization an Design, Patterson & Hennessy, CB IPS-lite processor Compter Want to bil a processor for a sbset

More information

Winter 2013 MIDTERM TEST #2 Wednesday, March 20 7:00pm to 8:15pm. Please do not write your U of C ID number on this cover page.

Winter 2013 MIDTERM TEST #2 Wednesday, March 20 7:00pm to 8:15pm. Please do not write your U of C ID number on this cover page. page of 7 University of Calgary Departent of Electrical and Copter Engineering ENCM 369: Copter Organization Lectre Instrctors: Steve Noran and Nor Bartley Winter 23 MIDTERM TEST #2 Wednesday, March 2

More information

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed

Processor Design CSCE Instructor: Saraju P. Mohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed Lecture 3: General Purpose Processor Design CSCE 665 Advanced VLSI Systems Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, tet etc included in slides are borrowed from various books, websites,

More information

CSE 141 Computer Architecture Summer Session I, Lectures 10 Advanced Topics, Memory Hierarchy and Cache. Pramod V. Argade

CSE 141 Computer Architecture Summer Session I, Lectures 10 Advanced Topics, Memory Hierarchy and Cache. Pramod V. Argade CSE 141 Compter Architectre Smmer Session I, 2004 Lectres 10 Advanced Topics, emory Hierarchy and Cache Pramod V. Argade CSE141: Introdction to Compter Architectre Instrctor: TA: Pramod V. Argade (p2argade@cs.csd.ed)

More information

POWER-OF-2 BOUNDARIES

POWER-OF-2 BOUNDARIES Warren.3.fm Page 5 Monday, Jne 17, 5:6 PM CHAPTER 3 POWER-OF- BOUNDARIES 3 1 Ronding Up/Down to a Mltiple of a Known Power of Ronding an nsigned integer down to, for eample, the net smaller mltiple of

More information

Lecture 5: The Processor

Lecture 5: The Processor Lecture 5: The Processor CSCE 26 Computer Organization Instructor: Saraju P. ohanty, Ph. D. NOTE: The figures, text etc included in slides are borrowed from various books, websites, authors pages, and

More information

Introduction. Chapter 4. Instruction Execution. CPU Overview. University of the District of Columbia 30 September, Chapter 4 The Processor 1

Introduction. Chapter 4. Instruction Execution. CPU Overview. University of the District of Columbia 30 September, Chapter 4 The Processor 1 Chapter 4 The Processor Introduction CPU performance factors Instruction count etermined by IS and compiler CPI and Cycle time etermined by CPU hardware We will examine two MIPS implementations simplified

More information

4.13. An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations

4.13. An Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations .3 An Introdction to Digital Design Using a Hardware Design Langage to Describe and odel a Pipeline and ore Pipelining Illstrations This online section covers hardware description langages and then gives

More information

PIPELINING. Pipelining: Natural Phenomenon. Pipelining. Pipelining Lessons

PIPELINING. Pipelining: Natural Phenomenon. Pipelining. Pipelining Lessons Pipelining: Natral Phenomenon Landry Eample: nn, rian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 mintes C D Dryer takes 0 mintes PIPELINING Folder takes 20 mintes

More information

Computer Architecture Lecture 6: Multi-cycle Microarchitectures. Prof. Onur Mutlu Carnegie Mellon University Spring 2012, 2/6/2012

Computer Architecture Lecture 6: Multi-cycle Microarchitectures. Prof. Onur Mutlu Carnegie Mellon University Spring 2012, 2/6/2012 8-447 Compter Architectre Lectre 6: lti-cycle icroarchitectres Prof. Onr tl Carnegie ellon University Spring 22, 2/6/22 Reminder: Homeworks Homework soltions Check and stdy the soltions! Learning now is

More information

Outline. Combinational Element. State (Sequential) Element. Clocking Methodology. Input/Output of Elements

Outline. Combinational Element. State (Sequential) Element. Clocking Methodology. Input/Output of Elements Outline ombinational Element ombinational & sequential logic Single-cycle PU ulti-cycle PU Examples of ombinational Elements State (Sequential) Element! "#$$$ #$$ #$$ #$ # & & ) *.// * - + #3, * + - locking

More information

Review. How to represent real numbers

Review. How to represent real numbers PCWrite PC IorD Review ALUSrcA emread Address Write data emory emwrite em Data IRWrite [3-26] [25-2] [2-6] [5-] [5-] RegDst Read register Read register 2 Write register Write data RegWrite Read data Read

More information

Multiple-Choice Test Chapter Golden Section Search Method Optimization COMPLETE SOLUTION SET

Multiple-Choice Test Chapter Golden Section Search Method Optimization COMPLETE SOLUTION SET Mltiple-Choice Test Chapter 09.0 Golden Section Search Method Optimization COMPLETE SOLUTION SET. Which o the ollowing statements is incorrect regarding the Eqal Interval Search and Golden Section Search

More information

MIPS Architecture. Fibonacci (C) Fibonacci (Assembly) Another Example: MIPS. Example: subset of MIPS processor architecture

MIPS Architecture. Fibonacci (C) Fibonacci (Assembly) Another Example: MIPS. Example: subset of MIPS processor architecture Another Eample: IPS From the Harris/Weste book Based on the IPS-like processor from the Hennessy/Patterson book IPS Architectre Eample: sbset of IPS processor architectre Drawn from Patterson & Hennessy

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

The Processor: Datapath & Control

The Processor: Datapath & Control Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:

More information

Lecture 13: Exceptions and Interrupts

Lecture 13: Exceptions and Interrupts 18 447 Lectre 13: Eceptions and Interrpts S 10 L13 1 James C. Hoe Dept of ECE, CU arch 1, 2010 Annoncements: Handots: Spring break is almost here Check grades on Blackboard idterm 1 graded Handot #9: Lab

More information

Functions of Combinational Logic

Functions of Combinational Logic CHPTER 6 Fnctions of Combinational Logic CHPTER OUTLINE 6 6 6 6 6 5 6 6 6 7 6 8 6 9 6 6 Half and Fll dders Parallel inary dders Ripple Carry and Look-head Carry dders Comparators Decoders Encoders Code

More information

Decoders. 3-Input Full Decoder

Decoders. 3-Input Full Decoder ecoders A fll decoder with n inpts has 2 n otpts. Let inpts be labeled In, In, In 2,..., In n, and let otpts be labeled Ot, Ot,..., Ot 2 n. A fll decoder fnctions as follows: Only one of otpts has vale

More information

Implementing the Control. Simple Questions

Implementing the Control. Simple Questions Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the

More information

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1 ENG8 Computer Organization and rchitecture MIPS: Data Path Design Part Winter 7 S. reibi School of Engineering University of Guelph Introduction Topics uilding a Complete Data Path for MIPS Multi Cycle

More information

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

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

More information

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

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

Processor (I) - datapath & control. Hwansoo Han

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

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

Multicycle Approach. Designing MIPS Processor

Multicycle Approach. Designing MIPS Processor CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional

More information

ﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ MIPS يرﺎﻤﻌﻣ data path and ontrol control

ﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ MIPS يرﺎﻤﻌﻣ data path and ontrol control معماري كامپيوتر پيشرفته معماري MIPS data path and control abbasi@basu.ac.ir Topics Building a datapath support a subset of the MIPS-I instruction-set A single cycle processor datapath all instruction actions

More information

Tdb: A Source-level Debugger for Dynamically Translated Programs

Tdb: A Source-level Debugger for Dynamically Translated Programs Tdb: A Sorce-level Debgger for Dynamically Translated Programs Naveen Kmar, Brce R. Childers, and Mary Lo Soffa Department of Compter Science University of Pittsbrgh Pittsbrgh, Pennsylvania 15260 {naveen,

More information

Designing a Pipelined CPU

Designing a Pipelined CPU Designing a Pipelined CPU CSE 4, S2'6 Review -- Single Cycle CPU CSE 4, S2'6 Review -- ultiple Cycle CPU CSE 4, S2'6 Review -- Instruction Latencies Single-Cycle CPU Load Ifetch /Dec Exec em Wr ultiple

More information

Basics of Digital Logic Design

Basics of Digital Logic Design ignals, Logic Operations and Gates E 675.2: Introdction to ompter rchitectre asics of igital Logic esign Rather than referring to voltage levels of signals, we shall consider signals that are logically

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Chapter 4. The Processor. 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

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

Pipelining: Basic Concepts

Pipelining: Basic Concepts Pipelining: Basic Concepts Prof. Cristina Silvano Dipartimento di Elettronica e Informazione Politecnico di ilano email: silvano@elet.polimi.it Outline Reduced Instruction Set of IPS Processor Implementation

More information

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined

More information

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

ENE 334 Microprocessors

ENE 334 Microprocessors ENE 334 Microprocessors Lecture 6: Datapath and Control : Dejwoot KHAWPARISUTH Adapted from Computer Organization and Design, 3 th & 4 th Edition, Patterson & Hennessy, 2005/2008, Elsevier (MK) http://webstaff.kmutt.ac.th/~dejwoot.kha/

More information

Instruction Pipelining is the use of pipelining to allow more than one instruction to be in some stage of execution at the same time.

Instruction Pipelining is the use of pipelining to allow more than one instruction to be in some stage of execution at the same time. Pipelining Pipelining is the se of pipelining to allow more than one instrction to be in some stage of eection at the same time. Ferranti ATLAS (963): Pipelining redced the average time per instrction

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

10.2 Solving Quadratic Equations by Completing the Square

10.2 Solving Quadratic Equations by Completing the Square . Solving Qadratic Eqations b Completing the Sqare Consider the eqation We can see clearl that the soltions are However, What if the eqation was given to s in standard form, that is 6 How wold we go abot

More information

Chapter 5 Network Layer

Chapter 5 Network Layer Chapter Network Layer Network layer Physical layer: moe bit seqence between two adjacent nodes Data link: reliable transmission between two adjacent nodes Network: gides packets from the sorce to destination,

More information

Pavlin and Daniel D. Corkill. Department of Computer and Information Science University of Massachusetts Amherst, Massachusetts 01003

Pavlin and Daniel D. Corkill. Department of Computer and Information Science University of Massachusetts Amherst, Massachusetts 01003 From: AAAI-84 Proceedings. Copyright 1984, AAAI (www.aaai.org). All rights reserved. SELECTIVE ABSTRACTION OF AI SYSTEM ACTIVITY Jasmina Pavlin and Daniel D. Corkill Department of Compter and Information

More information

Networks An introduction to microcomputer networking concepts

Networks An introduction to microcomputer networking concepts Behavior Research Methods& Instrmentation 1978, Vol 10 (4),522-526 Networks An introdction to microcompter networking concepts RALPH WALLACE and RICHARD N. JOHNSON GA TX, Chicago, Illinois60648 and JAMES

More information

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW 3-3. Learning Outcomes 3-3. Spiral 3-3 Single Cycle CPU I understand how the single-cycle CPU datapath supports each type of instruction I understand why each mux is needed to select appropriate inputs

More information

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

CS 153 Design of Operating Systems Spring 18

CS 153 Design of Operating Systems Spring 18 CS 153 Design of Operating Systems Spring 18 Lectre 9: Synchronization (1) Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Cooperation between Threads

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

On the Computational Complexity and Effectiveness of N-hub Shortest-Path Routing

On the Computational Complexity and Effectiveness of N-hub Shortest-Path Routing 1 On the Comptational Complexity and Effectiveness of N-hb Shortest-Path Roting Reven Cohen Gabi Nakibli Dept. of Compter Sciences Technion Israel Abstract In this paper we stdy the comptational complexity

More information

Lets Build a Processor

Lets Build a Processor Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let s review Boolean Logic and build the ALU we ll need (Material from Appendix B) operation a 32 ALU result

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