Register Transfer Language(RTL)
RTL: A register transfer language is a language of hardware. It is symbolic language. statements written in RTL are transformed into hardware circuit.
Micro-operations: A program is a collection of instructions and the variables or data associated with that instruction. The instruction when executing are converted into micro-operations. The micro-operations are the operations performed on the contents of the registers. Internally the CPU accesses the contents of the registers and stores the partial result back into the register which can then be transferred to memory location or other input-output devices.
Internal hardware organization of a computer is best described by the registers it contains and the operations that can be performed on them. The computer organizations thus can be described by:
- The registers it contains
- Sequence of micro-Operations that can be performed on these contents
- And the control signals required for these sequencing of micro-instructions
Some of the important registers in a general computer systems are shown in figure-1
Some of the important registers shown are :
Instruction Register (IR):
Data register (DR)
Program Counter (PC)
Memory Address Register (MAR)
General purpose register R1 and R2
The way the registers are accessed is shown in figure-2
- R1, R2 refer to the full register
- The size of the register is n-1 bit for example an 8-bit register is R1(7-0) where 0 is the right most or the least significant birt and N-1 is the left most or the most significant bit.
- PC when referred is a 16-bit register but can be used by splitting it as two 8-bit registers as PC(H) and PC(L)
A general register transfer micro-operation is shown as : R2 <– R1
As an example a micro-operation used to transfer the content of one register into another register is shown below:
If (P = 1) then (R2 <– R1)
This statement can be written as a micro-operation as:
P: R2 <– R1
Figure-3 shows the transfer of the content of register. At instant t the load input ‘P’ is activated in the control section and the next positive clock (i.e. at time t+1) find ‘P’ as active high and it is now that the transfer of the content of R2 is transferred into R1. It is here assumed that all transfers are under the control of clock signal, so the CLK signal is not shown in the register transfer statement.
The micro-operation and the control signals are separated by a colon (:) sign. Signal or an expression on the left of colon represent the control signal and the micro-operation are shown on right of the colon(:) sign. In the above operation, when control signal ‘P’ is active, the micro-operation when executed reads the content of register R1 and loads it in to register R2. Multiple micro-operations which execute with a common control signal are separated with comma. A control can also be generated with the help of an expression. When expression is used the logic operations used are as follows:
X+Y : R1 <– R2
Arrow denotes the direction of the transfer. The statement before the colon (:) is the control function and to the right of the colon(:) is the micro-operation.
Multi micro-operations are separated by using a comma as shown below:
T: R2 <– R1, R1 <– R2
This denotes the simultaneous exchange micro-operation on the content of two registers in one common clock pulse.
These register transfer statements and hence the micro-operations are converted into the hardware implementation for the micro-operation