Beruflich Dokumente
Kultur Dokumente
A WE
83
29
83
D Q Reading from a register is
technically combinational.
B 29
WE
0
1 A read port is made of a
select signal, a MUX, and a
data output.
Data D Q
WE
83 A
Only the register with
WE=1 will store the data.
D Q
WE
29
B
D Q
1
0 WE
0 29
B
WE
A write port is made of a select signal, a data
input, a write enable, and some kinda logic to
send the write enable to one register.
This is a very simple ALU: it takes two 4-bit values, and either
adds or subtracts them, based on a control signal.
+
B
-
The Op(eration)
Op signal controls what
the ALU does.
×÷ Unit
11/16/2017 CS/COE 0447 term 2181 19
Hey, that's neat actually
● By making the multiply/divide unit separate from the rest of the
CPU, we can do fun things like overclock it.
● Maybe the CPU runs at 2 GHz, but the divider at 8 GHz.
o Now the divider does 4 steps on each main CPU cycle.
● Combine this with a fast predictive divider that computes 4 bits of
quotient every cycle…
o And now you have a divider that can do a 32÷32-bit division in
only 2 CPU cycles in the best case!
● But…
o What should happen if the program tries to get the quotient
before the division is done?
o How do we "pause" the CPU when that happens?
● These issues are (mostly) solved by superscalar execution.