Register Transfer Language (RTL)
In symbolic notation, it is used to describe the micro-operations transfer among registers. It is a kind of intermediate representation (IR) that is very close to assembly language, such as that which is used in a compiler.The term “Register Transfer” can perform micro-operations and transfer the result of operation to the same or other register.
Micro-operations :
The operation executed on the data store in registers are called micro-operations. They are detailed low-level instructions used in some designs to implement complex machine instructions.
Register Transfer :
The information transformed from one register to another register is represented in symbolic form by replacement operator is called Register Transfer.
Replacement Operator :
In the statement, R2 <- R1, <- acts as a replacement operator. This statement defines the transfer of content of register R1 into register R2.
There are various methods of RTL –
- General way of representing a register is by the name of the register enclosed in a rectangular box as shown in (a).
- Register is numbered in a sequence of 0 to (n-1) as shown in (b).
- The numbering of bits in a register can be marked on the top of the box as shown in (c).
- A 16-bit register PC is divided into 2 parts- Bits (0 to 7) are assigned with lower byte of 16-bit address and bits (8 to 15) are assigned with higher bytes of 16-bit address as shown in (d).
Basic symbols of RTL :
Symbol | Description | Example |
---|---|---|
Letters and Numbers | Denotes a Register | MAR, R1, R2 |
( ) | Denotes a part of register |
R1(8-bit) R1(0-7) |
<- | Denotes a transfer of information | R2 <- R1 |
, | Specify two micro-operations of Register Transfer |
R1 <- R2 R2 <- R1 |
: | Denotes conditional operations |
P : R2 <- R1 if P=1 |
Naming Operator (:=) | Denotes another name for an already existing register/alias | Ra := R1 |
Register Transfer Operations:
The operation performed on the data stored in the registers are referred to as register transfer operations.
There are different types of register transfer operations:
1. Simple Transfer – R2 <- R1
The content of R1 are copied into R2 without affecting the content of R1. It is an unconditional type of transfer operation.
2. Conditional Transfer –
It indicates that if P=1, then the content of R1 is transferred to R2. It is a unidirectional operation.
3. Simultaneous Operations –
If 2 or more operations are to occur simultaneously then they are separated with comma (,).
If the control function P=1, then load the content of R1 into R2 and at the same clock load the content of R2 into R1.