DOC PREVIEW
UCD ECS 201A - Midterm1.w08.txt

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Very Short Answer:(1) (2) What is the relationship between speculation and power consumption?(2) (2) If you are mainly worried about program size, what type of instruction set would you use? Whatif performance was your primary concern?(3) (1) Which is more effective,dynamic or static branch prediction?(4) (1) Do benchmarks remain valid indefinitely?(5) (2) Issuing multiple instructions per cycle puts tremendous pressure on what twoparts of themachine?(6) (2) In class we mentioned VLIW and Superscalar as twoways to circumvent the Flynn Limit of 1.We also talked about twoother approaches - what were they?(7) (2) Out of Order completion makes supporting what very difficult?(8) (1) Are wire delays or transistors more likely to be the most significant limit on clock frequencyinthe future?-1-(9) (2) Pipelining increases instruction _____________ but also increases instruction _____________.(Fill in the blanks.)(10) (2) Decoupled architectures split a program into twostreams. What are they?(11) (2) What is Amdahl’slaw (in words)?(12) (2) What is the primary difference between Scoreboarding and Tomasulo’salgorithm?Short Answers:(10) (4) Whyare there multiple dies per silicon wafer? Whynot just fabricate one huge die per wafer?(11) (3) Write down the 3-term CPU performance equation developed in class.-2-(12) (4) What are the advantages and disadvantages of stack machines?(13) (4)What is a predicated instruction? What are the advantages to using predicated instructions?When would you not want to use one?(14) (4) What is the definition of a basic block? Whyisthere a desire to create larger ones?-3-(15) (3) There are at least twotypes of control flowchanges that standard dynamic branch predictorshave trouble with. There is a technique that works well for one of these types ... name the twotypesof branches, and the technique used to successfully deal with one of them.(16) (4) Supporting precise interrupts in machines that allowout of order completion is a challenge.Briefly explain why, and give three different techniques that can be used to provide precise inter-rupts.(17) (5) Whyisbranch prediction important? What performance enhancing techniques have made it so?List 3 examples of existing Branch Prediction strategies in order of (average) increasing effec-tiveness.-4-(18) (8) Belowisapicture of some of the basic components of tomasulo’salgorithm. However, there arethings missing. Drawinwhat is necessary to complete the picture.-5-(10) The contents of the table represent the state of the machine at time 10. Your job is to fill in thetable at time 11.Time = 10Instruction StatusIssue Execute Execute WriteInst Underway Completes ResultInstructionMULTF F0,F2,F4 XXSUBF F8,F6,F2 XX XAdd1DIVF F10,F0,F6 XADDF F6,F8,F2 XReservation StationsTagName Busy Fm(op) Val.j(Vj) Val.k(Vk) Tag.j(Qj) Tag.k(Qk)Add1 Add/Sub YesSub Mem[] Mem[]Add2 Add/Sub YesAdd 0 Mem[] Add1Add3 Add/SubMult1 Mult/DivYes Mult Mem[] Reg[F4]Mult2 Mult/DivYes Div0Mem[] Add1Register StatusF0 F2 F4 F6 F8 F10 12 ... F30Tag.i(Qi) Mult1 Add2 Add1 Mult2Time = 11Instruction StatusIssue Execute Execute WriteInst Underway Completes ResultInstructionMULTF F0,F2,F4SUBF F8,F6,F2DIVF F10,F0,F6ADDF F6,F8,F2Reservation StationsTagName Busy Fm(op) Val.j(Vj) Val.k(Vk) Tag.j(Qj) Tag.k(Qk)Add1 Add/SubAdd2 Add/SubAdd3 Add/SubMult1 Mult/DivMult2 Mult/DivRegister StatusF0 F2 F4 F6 F8 F10 12 ... F30Tag.i(Qi)-6-(19) (14) Youare giventhe following code sequence:MULTF F2,F1,F4SUB F3,F0,F1DIVF F2,F2,F3ADDF F3,F3,F2Assume there are 8 logical and 16 physical registers. On the left belowisthe register mapping uponentering the code sequence. Your job is to fill in the mappings after the execution of the ADDFinstruction, including what is on the free list. (Assume that during the execution of this code, noregisters are released - in other words, the free list will be shorter at the end than at the beginning.)BEFORELogical Physical0213253449576678Free Pool: 0,1,10,11,12,13,14,15AFTERLogical Physical01234567Free Pool:Now, rewrite the code sequence belowusing the actual physical register names instead of the logicalones.MULTF P__,P__,P__SUBF P__,P__,P__DIVF P__,P__,P__ADDF P__,P__,P__-7-(20) (10) Suppose we are considering twoalternativesfor our conditional branch instructions, as follows:M1 - A compare is included in the branch.M2 - A condition code is set by a compare instruction and followed by a branchthat tests the conditionOn both machines, the conditional branch instruction takes 2 cycles, and all other instructions take1cycle. On M2, 30% of all instructions executed are conditional branches. Because M2 does nothave the compare included in the branch, the clock cycle is 1.20 times faster than M1.a. Which design is faster?b. What if M2 was 1.25 times faster than M1?-8-(21) (6) In class, we talked about the cycle by cycle steps that occur on different interrupts. Forexample,here is what happens if there is an illegaloperand interrupt generated by instruction i+1:123456789iIFIDEXMEM WBi+1 IF ID EX MEM WB <- Interrupt detectedi+2 IF ID EX MEM WB <- Instruction Squashedi+3 IF ID EX MEM WB <- Trap Handler fetchedi+4 IF ID EX MEM WBFill out the following table if instruction i experiences a fault in the execution stage (divide by zero,for example):12345678910iIFIDEXMEM WBi+1 IF ID EX MEM WBi+2 IF ID EX MEM WBi+3 IF ID EX MEM WBi+4 IF ID EX MEM WBi+5 IF ID EX MEM WBWhat happens in this case?12345678910iIFIDEXMEM WB <- Data write causes Page Faulti+1 IF ID EX MEM WB <- IllegalOpcodei+2 IF ID EX MEM WBi+3 IF ID EX MEM WBi+4 IF ID EX MEM WBi+5 IF ID EX MEM


View Full Document

UCD ECS 201A - Midterm1.w08.txt

Download Midterm1.w08.txt
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Midterm1.w08.txt and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Midterm1.w08.txt 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?