Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 0 1 0 1 0 1 0 1 NS1 0 0 0 1 0 1 X X NS0 1 0 X X Out1 0 0 X X Out0 1 1 1 0 1 0 X X c) Provide the most simplified Boolean expression possible for Out0: d) For the provided column NS1, draw out the combinational logic using the fewest number of gates possible, assuming the “don’t cares” are taken to be 0 and 1 from top to bottom: e) Provide one set of values for the “don’t cares” in NS1 that would guarantee that the FSM doesn’t stay stuck in the 4th state even if it enters it by some glitch. CS1 1 1 CS0 1 1 In 0 1 NS1 5 Question 3: Mystery (7 points, 14 minutes) Mystery: la $t0, L2 lw $t1, 8($t0) addi $t2, $0, 1 sll $t2, $t2, 16 add $t3, $0, $0 add $v0, $0, $0 addi $t5, $0, 4 sll L1: $t5, $t5, 16 beq $t3, $t5, L3 addu $t4, $t1, $t3 L2: addu $t3, $t3, $t2 sw $t4, 8($t0) addu $v0, $v0, $a0 j sw $t1, 8($t0) jr L3: L1 $ra a) Which instruction gets modified during this function call? b) How many times does the line at label L2 get executed? c) Describe in a sentence or two what this function does. 6 Login: cs61c‐____ Question 4: MOESI On Through This Problem (5 points, 12 minutes) Fill out the empty fields corresponding to the state of the system. Operation column: the fields can be ({P1,P2} {reads, writes} {Mem1,Mem2}) Processor {1,2} columns: MOESI state with corresponding block in cache, if applicable Snoop bus signal(s): {Px.request(n), Px.send(n), Px.inv(n)} or a combination of them Px.request(n) means processor Px is asking for data memory n Px.inv(n) means processor Px invalidates all other copies of datablock n Px.send(n) means Px is sending datablock n (in response to a request). System characteristics: Write‐back, write‐allocate, invalidate others on write, Exclusive responds to read requests, 2 processors, 2‐block memory, 1‐block cache. Operation Processor 1 Processor 2 Snoop Bus P1 reads Mem1 Exclusive(1) Invalid P1.request(1) P2 reads Mem1 Owned(1) P2.request(1) P1.send(1) P2 write Mem1 Modified(1) Modified(2) Modified(1) P1.request(2) P1.inv(2) P2 read Mem2 Owned(2) Shared(2) Owned(2) Exclusive(1) P2.request(1) Invalid Modified(2) 7 Question 5: This Problem Will BLOW Your Mine! (10 points, 20 minutes) One of your staff members loves the game of Minesweeper so much that he’s going to build special hardware dedicated to playing this game. In Minesweeper, there is a rectangular grid of cells (the minefield), under which lie a finite number of mines. Each cell contains either a mine or the number of mines in the adjacent EIGHT cells (touching on corners counts; 0 is shown as a blank). The goal of the game is to uncover the whole field without clicking on/exploding a mine. See the images below: Start of game: Blank field Player clicked a mine and lost Player uncovered field and won Our goal is to design special hardware to facilitate high performance for setting up the game (generating the field). a) We need to store the value of each cell in memory. How many bits are needed at minimum for each cell? _____________ b) Assume there is a helper function to randomly generate the locations of the mines. Name TWO SEPARATE REASONS why using an int array here is preferable to a linked list. Reason 1: _____________________...
View Full Document

Ask a homework question - tutors are online