Section 8.2: RTL for the CSC-1 (Frame 3)                     [prev][home][     ]

The conditional jumps should be obvious given the if statements in the RTL. In these RTL statements, = means "equals to" rather than "gets assigned."

The CAL instruction is the only one in the CSC-1 machine language that uses a sequence of simpler RTL statements:

S <- PC; PC <- x

The semicolon separates the two primitive RTL segments in this block, sort of like C's semicolon. However, this is not the way it is really done in real circuits. Both reading the current value out of a register and inserting a new value into it can be done in one swoop due to the fact that flip-flops are used. The wires going from PC to S will have PC's current value, and the wires from the low part of IR (denoted by "x") going into PC will have PC's next value. If we strobe the LD wires on both S and PC at the same time, we will effect the desired transfer. The edge-triggered nature of flip-flops ensures that the contents of the registers only change during either the rising or falling edge, a very short period of time which occurs only once when LD is strobed.