λ CS 251 Fall 2019 CS 240 Principles of Programming Languages Foundations of Computer Systems Ben Wood Sequential Logic Latch: CC-BY Rberteig@flickr and State Output depends on inputs and stored values . (vs. combinational logic: output depends only on inputs) Elements to store values: latches, flip-flops, registers, memory https://cs.wellesley.edu/~cs240/ Sequential Logic 1
Processor: Data Path Components 1 2 3 Instruction ALU Registers Memory Fetch and Decode Sequential Logic 2
Bistable latches Suppose we somehow get a 1 (or a 0?) on here. Q Q = 0 0 Q Q Sequential Logic 3
SR latch S R Q Q' Q (stable) Q' (stable) 0 0 0 1 0 1 0 0 1 0 1 0 1 0 ? ? 1 0 0 1 ? ? 0 1 Set Reset S R Q Q Sequential Logic 4
SR latch Q R Q S R Q R Q Q Q S S S R R Q Q Q Q S Sequential Logic 5
D latch R D Q Data bit Q C S Clock if C = 0, then SR latch stores current value of Q. if C = 1, then D flows to Q: if D = 0, then R = 1 and S = 0, Q = 0 if D = 1, then R = 0 and S = 1, Q = 1 Sequential Logic 6
ex Time matters! D C Q Assume Q has an initial state of 0 Sequential Logic 7
Clocks Clock: free-running signal with fixed cycle time = clock period = T. Clock frequency = 1 / clock period Falling edge Rising edge Clock period A clock controls when to update a sequential logic element's state. Sequential Logic 8
Synchronous systems Inputs to state elements must be valid on active clock edge. State State element Combinational logic element 1 2 Sequential Logic 9
D flip-flop with falling-edge trigger leader follower E D Q Q L Q F D F D L D latch D latch Q C L Q L C F Q F C Q next becomes Q now Can still read Q now follower stores E as Q Clock leader stores D as E Time Sequential Logic 10
ex Time matters! D C E Q Assume Q and E have an initial state of 0 Sequential Logic 11
Reading and writing in the same cycle D Q D Flip-Flop Assume Q is initially 0. Clock C Q Sequential Logic 12
D flip-flop = one bit of storage D Q 1 D Flip-Flop C Q Sequential Logic 13
*Half a byte! A 1-nybble* register (a 4-bit hardware storage cell) 0 D Q D Flip-Flop C Q D Q 1 D Flip-Flop C Q 0 D Q D Flip-Flop C Q 1 D Q D Flip-Flop Write C Q Clock Sequential Logic 14
Register file Read register r selector 1 Read register Read data 1 w r selector 2 Read ports Why 2? Read data 2 Write register w selector r Write data w Write? Write port 0 = read 1 = write r = log 2 number of registers w = bits in word Array of registers, with register selectors, write/read control, input port for writing data, output ports for reading data. Sequential Logic 15
Read register number 1 Register 0 Register 1 M Read ports u . . . Read data 1 x (data out) Register n – 2 Register n – 1 Read register number 2 M u Read data 2 x Sequential Logic 16
Write port (data in) write control clock Write C 0 Register 0 1 D . n -to-2 n register number . Register number . decoder C Register 1 n – 2 D n – 1 . . . C Register n – 2 D C Register n – 1 incoming data Register data D Sequential Logic 17
RAM (Random Access Memory) A B Similar to register file, except… Sequential Logic 18
16 x 4 RAM 4-bit address 1101 4 to 16 decoder data out Sequential Logic 19
Recommend
More recommend