 # REGISTER TRANSFER LANGUAGE (RTL)

## Presentation on theme: "REGISTER TRANSFER LANGUAGE (RTL)"— Presentation transcript:

REGISTER TRANSFER LANGUAGE (RTL)
BASIC SYMBOLS

Today’s Outline Register Transfer Language Type of Registers
Basic Symbols Register Transfer Arithmetic Microoperations

Register Transfer Language (RTL)
HIGH LEVEL LANGUAGE Example : C+, VB, JAVA ASSEMBLY LANGUAGE Example : uP and uC OPCODE MICROCODE RTL to represent registers specify the operations on their contents Mircocode (Micro-operations): Operations executed on data stored in registers, performed in one clock cycle Register Transfer Language (RTL): Symbolic notation used to describe micro-operations

Register Transfer Language (RTL)
Is an algebraic notation used to define machine level operations It is not executed by a computer It is used to explain how the computer works. Example: In assembly language instruction ADD #3, D2 is define in RTL as [D2] [D2] + 3

Types of Registers AR : Address Registers DR: Data Registers
A register holds an address for memory unit DR: Data Registers PC : Program Counter IR : Instruction Register Rn : n indicates the Register number e.g. R2 is Register 2

Block Diagram of Registers
7 8 bit Register 6 5 4 3 2 1 Bit 7 Bit 0 R Register Bit 16 Bit 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 8 bit = 1 byte 16 bit Register PC(H) PC(L) H = High order byte L = Low order byte PC(H) = PC(15:8) PC(L) = PC(7:0)

BASIC SYMBOLS R followed by a number is referring to a register:
R2 = second register/register no 2 R2

BASIC SYMBOLS M refers to Memory with addresses in square braces:
Direct Addressing : M = contents of memory address 10 9 10 11 Address Content MEMORY In this example, M refers to

BASIC SYMBOLS In-direct Addressing : M[R3] = content of the memory address in R3 15 16 17 Address Content MEMORY 1 2 3 REGISTER = 15 Ans : M[R3] refers to

BASIC SYMBOLS Arrow pointing to the right shows transfer of data :
R4 R3 = Stores the value of R3 into R4 Destination Source The word transfer is misleading, since it implies that data is moved from one location to another. In fact, the data is copied from one location to another since it also still resides in register R3 => Contents of the source REG do not change, Only change the contents of destination REG

BASIC SYMBOLS A comma represents simultaneous transfer: R1 R2, R6 R7
 Stores R2 into R1 and at the same time stores R7 into R6.

BASIC SYMBOLS A colon indicates the termination of function: K: R1 R2
If K=1, then stores R2 into R1. K1K2’: R3 R2 If K=1 and K2=0, then stores R2 into R3. K: a control signal generated in the control unit, 0 or 1

BASIC SYMBOLS Parenthesis (bracket) indicates part of the register.
R8(1) = bit 1of R8 LSB : Least Significant Bit MSB : Most Significant Bit R8 7 6 5 3 4 2 1 Bit Position Content MSB LSB

BASIC SYMBOLS Parenthesis indicates part of the register.
R3(7:0) = the least significant byte of R3 R3 7 6 5 3 4 2 1 14..9 15 8 0..1 Note : 1 byte = 8 bit

Summary Symbol Description Example Square brackets
Specifies an address for memory M[R2] Capital Letters & Numerals Denotes a register AR, IR, PC, R2 Parentheses Denotes part of a register R2(1), R2(7:0), PC(L) Arrow Denotes Transfer of data R1 R2 Colon Denotes termination of control function K: Comma Separates simultaneous transfers R1 R2, R3 R2

10 minutes break…

ARITHMETIC MICROOPERATIONS
The basic arithmetic microoperations are Addition Subtraction Increment Decrement The additional arithmetic microoperations are Add with carry Subtract with borrow Transfer/Load etc. …

MATHEMATICAL AND LOGICAL SYMBOLS
Addition is indicated by the + sign: R1 R2+R3 Add R2 and R3, stores in R1 R2 R4+R1 Add R4 and R1, stores in R2 Example 1 : Example 2 :

MATHEMATICAL AND LOGICAL SYMBOLS
Subtraction is handled not with the minus sign but with complementing. 1’s complement : 2’s complement : R3 minus R4 in 1’s complement R5 R3+R4 R3 minus R4 in 2’s complement R5 R3+R4+1 Note : Computers use the 2’s complement for negative integer numbers in all arithmetic operations.

ARITHMETIC MICROOPERATIONS
+ Addition - Subtraction * Multiplication / Division Example: R2 R1+R2 Example: R2 R1+R2’+1 Example: R2 R1*R2 Example: R2 R1/R2

ARITHMETIC MICROOPERATIONS
Summary of Typical Arithmetic Microoperations (Page 547) Note : Any register may be specified for source 1, source 2, or destination.

REGISTER TRANSFER LANGUAGE
REGISTER TRANSFERS A little bit revision…

Microoperations MICROOPERATIONS Microoperations - The operations performed on data stored in registers or in memory. The functions built into registers are examples of microoperations Shift Load Clear Increment

Microoperations MICROOPERATIONS The microoperations most often encountered in digital systems are of four types: Register transfer microoperations Transfer binary data from one REG to another Arithmetic microoperations Perform arithmetic on data in REG Logic microoperations Perform bit manipulation on data in REG Shift microoperations Shift data in REG

Register Transfer REGISTER TRANSFER Copying the contents of one register to another is a register transfer. A register transfer is indicated as R2  R1 In this case the contents of register R1 are copied (loaded) into register R2. A simultaneous transfer of all bits from the source R1 to the destination register R2, during one clock pulse. Note that this is a non-destructive; i.e. the contents of R1 are not altered by copying (loading) them to R2

REGISTER TRANSFER R3  R5 A register transfer such as
Implies that the digital system has the data lines from the source register (R5) to the destination register (R3) Parallel load in the destination register (R3) All bits are loaded simultaneously on clock pulse (same source) Control lines to perform the action Control the transfer or clock cycles

CONDITIONAL REGISTER TRANSFER
Conditional Statement Using control signal to control the transfer Can be symbolized by if-then statement if (K1 = 1) then (R2 R1) In RTL we can write it as: K1 : R2 R1 The transfer operation be executed only if K1=1 K1: control signal A subscripted letter followed by a colon is a conditional

CONDITIONAL REGISTER TRANSFER
K1 : R2 R1 R2 R1 K1 CLK n Load control input n = no of lines = no of bits Transfer occurs in parallel Transfer occurs here CLK K1

CONDITIONAL REGISTER TRANSFER
Example: K1 :R5 R2 Content of R2 will be stored in R5 when condition K1 occurs R5 K1 R2

SIMULTANEOUS OPERATIONS
Register Transfer SIMULTANEOUS OPERATIONS If two or more operations are to occur simultaneously, they are separated with commas K: R3  R5, AR  IR If the control function K = 1, load the contents of R5 into R3, and at the same time (positive clock edge), load the contents of register IR into register AR

COMPLEX LOGICAL SYMBOLS
Register Transfer COMPLEX LOGICAL SYMBOLS Content of R5 will be stored in R4 only IF both condition K1 and condition K2 are true: K1K2:R4 R5 If K1=1 and K2=1, then stores R5 into R4

COMPLEX LOGICAL SYMBOLS
Register Transfer COMPLEX LOGICAL SYMBOLS Content of R5 will be stored in R4 IF either condition K1 or condition K2 were true, a + sign would be used: (K1+K2) : R R5 NOTE: In (K1 + K2), “+” means “OR” In R1 ← R1 + R3, “+” means “plus”

COMPLEX LOGICAL SYMBOLS
Register Transfer COMPLEX LOGICAL SYMBOLS If – then – else is implemented with commas and multiple colons. If K1 true, then stores R4 into R6, else if K2 true, then stores R5 into R6, else store R7 into R6. K1 : R6 R4, K1K2 : R6 R5, K1K2: R6 R7

Similar presentations