Download presentation
Presentation is loading. Please wait.
1
Introduction to Registers Being just logic, ALUs require all the inputs to be present at once. They have no memory. ALU AB FS
2
Basic Computation Computers perform complicated tasks only because the programmer has broken that task down into a sequence of simple primitive operations. Moving information Performing simple arithmetic and logical operations To perform operations in sequence, the results of previous operations must be remembered somehow.
3
Using Memory Even the simplest computations require memory. For example, take a pocket calculator. To add 4 and 3: Press ‘4’ – calculator remembers the number Press ‘+’ – calculator remembers ‘4’ and ‘add’ Press ‘3’ – calculator remembers ‘4’, ‘add’ and ‘3’ Press ‘=’ – calculator works out the answer and remembers it so it can be displayed To achieve this kind of functionality, we need a circuit that can remember binary numbers – a register.
4
Memory Circuits Simple memory circuit can be built using a pair of NOR gates: If the SET input is high, the output goes high If the RESET input is high, the output goes low If neither input is high, the output stays in its previous state
5
How it Works 0 0 (1) (0) (1) 0 0 1 (0) (1) (0) 1 0 0 (1) (0) 1 1 0 (1) (0) (1) 0 NB. Output of NOR gate = 1 only if both inputs are 0
6
Flip-Flops The R-S flip-flop is an asynchronous flip-flop. Its output changes immediately in response to an input. Synchronous flip-flops only respond when they are ‘clocked’ by a separate clock-in. Synchronous devices are preferred in computer design to avoid problems with unpredictable propagation delays. Simplest synchronous flip-flop is probably the D-type flip-flop. It is also the basis of a single-bit memory register.
7
The Flip-Flop. A Single Bit Register. CLK D QQQQ DnDn Q n+1 001 110 D CLK Q
8
A Two-bit Register CLK D QQQQ D QQQQ D0D0 D1D1 Q0Q0 Q1Q1 D 0 D 1 CLK Q 0 Q 1
9
Multiple Bit Register To remember a whole byte, just use eight flip-flops… CLK D Q CLK D Q CLK D Q CLK D Q CLK D Q CLK D Q CLK D Q CLK D Q D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 Q 0 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 CLK D 0-7 Q 0-7 D 0-7 Q 0-7 CLK 88 (shorthand form)
10
The ‘Working Register’ The most common use of a register in a micro-controller is in conjunction with an ALU. To simplify the inputs, one of the operands of any ALU operation is stored in a register. Depending on the device, this register is known as: The Working Register (W) The Accumulator (A)
11
Using a Working Register
12
Example Operation To subtract 3 from 5… Stage 1 Store the number 3 in the working register Ignore the ALU output Stage 2 Input the number 5 and the selection word, S, representing (A – B) ALU output equals 2 ALU A B S C OUT F Single input byte Control inputs Result Carry output Working register D Q CLK 8 8
13
Are registers the same as memory ? Yes Computer memory (RAM) is, effectively, a big bank of registers. In the PIC microcontrollers, the registers are the memory. No Memory is usually physically separate from the microprocessor. Most microprocessors have only a few registers. Registers can be read from and written to very quickly. Register contents can be exchanged directly.
14
Interconnecting Registers How do we transfer information between two registers ? Like this ? CLK D 0-7 Q 0-7 CLK1 88 CLK D 0-7 Q 0-7 88 CLK2
15
Three Registers OK, that sort of works, what about 3 registers ? CLK D 0-7 Q 0-7 88 CLK D 0-7 Q 0-7 88 CLK D 0-7 Q 0-7 88 Don’t try to make sense of this. It’s an utter mess !
16
Three Registers Mk II CLK D 0-7 Q 0-7 CLK1 88 CLK D 0-7 Q 0-7 CLK2 88 CLK D 0-7 Q 0-7 CLK3 88 8
17
Interconnecting Registers All registers are connected to a common set of 8 wires – a bus. Each register needs a ‘switch’ to determine whether the bus is connected to: The register output Register is outputting to the bus The register input Register is inputting from the bus or… … register is ignoring the bus Using this basic scheme, any number of registers can be connected to the bus with no increase in complexity.
18
Summary – ALUs and Registers ALUs, despite their complexity, they are just combinational logic circuits with no memory. Registers are fast access memory elements found inside microprocessors, micro- controllers etc. Registers and their interconnections will be be discussed in more detail next time.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.