Unit II: Register Transfer and Micro Operations - Computer Architecture - BCA Notes (Pokhara University)

Breaking

Saturday, April 4, 2020

Unit II: Register Transfer and Micro Operations - Computer Architecture

Register Transfer Language (RTL):

A digital computer system exhibits an interconnection of digital modules such as registers, decoders, arithmetic elements, and Control logic. These digital modules are interconnected with some common data and control paths to form a completely digital system.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

Moreover, digital modules are best defined by the registers and the operations that are performed on the data stored in them. The operations performed on the data stored in registers are called Micro-operations.

The internal hardware organization of a digital system is best defined by specifying:
1. The set of registers and the flow of data between them.
2. The sequence of micro-operations performed on the data which are stored in the registers.
3. The control paths that initiates the sequence of micro-operation.

The Register Transfer Language is the symbolic representation of notations used to specify the sequence of micro-operations.

In a computer system, data transfer takes place between processor registers and memory and between processor registers and input-output systems. These data transfer can be represented by standard notations are given below:
1. Notations R0, R1, R2..., and so on represent processor registers.
2. The addresses of memory locations are represented by names such as LOC, PLACE, MEM, etc.
3. Input-output registers are represented by names such as DATA IN, DATA OUT, and so on.
4. The content of the register or memory location is denoted by placing square brackets around the name of the register or memory location.

Register Transfer:

As we know that the digital computer has many registers and while performing certain tasks the content of one register may change or transfer to another. The operations or micro-operation which transfers content of one register to another is known as register transfer.

Most of the standard notations used for specifying operations on various registers are stated below:
1. The memory address register is designated by MAR.
2. Program Counter PC holds the next instruction's address.
3. Instruction Register IR holds the instruction being executed.
4. R1 (Processor Register).
5. We can also indicate individual bits by placing them in parenthesis. For instance, PC (8-15), R2 (5), etc.
6. Data Transfer from one register to another register is represented in symbolic form by means of replacement operator. For instance, the following statement denotes a transfer of the data of register R1 into register R2.
R2 ← R1

Typically, most of the users want the transfer to occur only in a predetermined control condition. This can be shown by following if-then statement: If (P=1) then (R2 ← R1); Here P is a control signal generated in the control section.

It is more convenient to specify a control function (P) by separating the control variables from the register transfer operation. For instance, the following statement defines the data transfer operation under a specific control function (P).
P:  R2 ← R1  

The following image shows the block diagram that depicts the transfer of data from R1 to R2.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

Here, the letter 'n' indicates the number of bits for the register. The 'n' outputs of the register R1 are connected to the 'n' inputs of register R2. A load input is activated by the control variable 'P' which is transferred to the register R2.

The data transfer (Register to Register) occurs in a single clock pulse known as T-state. A T-state is the smallest unit of time in which the smallest operation is performing.

Types of Micro Operations:

1. Register Transfer Micro-operation:

The main purpose of Register Transfer Micro operation is to transfer binary information from register to another register. The information contained in the register does not change during micro-operation. It can be written as: R2 ß R1. Here, the content of R1 is transfer to R2 and for this operation, there must be a data path for data transfer from a source register to the destination register.

2. Arithmetic Micro-operation:

The main purpose of Arithmetic Micro-operation is to perform arithmetic operation on numeric data stored in the register. The basic operation may be addition, subtraction, increment, decrement, etc.

Example:
R3 ß R1 + R2      (Contents of R1 plus R2 transferred to R3)
R2 ß R1 - R3      (Contents of R1 minus R2 transferred to R3)
R2 ß R2’          (Complement the contents of R2 (1’s complement))
R2 ß R2’ + 1      (2’s complement the contents of R2 (negate))
R3 ß R1 + R2’ + 1 (R1 plus the 2’s complement of R2 (Subtraction))
R1 ß R1 + 1       (Increment the content R1 by one)
R1 ß R1 – 1       (Decrement the content R1 by one)

3. Logical Micro-operation:

The main purpose of Logical Operation is to perform bit manipulation on numeric data. They basically perform a binary operation on the bits of a string stored in a register. For a logical micro-operation, each bit of a register is considered as a variable. Some of the common logical micro-operations are: AND, OR, NAND, NOT, etc. Logical micro-operations are bit-wise operations i.e. they work on the individual bits of data.

4. Shift Micro-operation:

The main purpose of Shift Micro-operation is to shift the temporary data that are present in register. The shift is a useful operation which can be shifted as a serial data transfer and they can also be along with arithmetic and logical operations.

a.  Logical Shift:

In a logical shift, the serial input to the shift is 0.
Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

In a Register Transfer Language, the following notation is used:
a. shl for a logical shift left
b. shr for a logical shift right

Example:
a. R2 ß shl R2
b. R3 ß shr R3

b.  Arithmetic Shift (Sign Bit Should Not Change):

An arithmetic shift is meant for a signed binary number (integer). An arithmetic left shift multiplies a signed number by 2 and an arithmetic right shift divides a signed number by 2. The main distinction of an arithmetic shift is that it must keep the sign bit of the number the same as it performs the multiplication or division. An arithmetic left shift operation must be checked for the overflow.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

In a Register Transfer Language, the following notation is used:
a. ashl for an arithmetic shift left
b. ashr for an arithmetic shift right

Example:
a. R2 ß ashl R2
b. R3 ß ashr R3

c. Circular Shift:

In a circular shift, the serial input is the bit that is shifted out of the other end of the register.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

In a Register Transfer Language the following notation is used:
a. cil for circular shift left
b. cir for circular shift right

Example:
a. R2 ß cil R2
b. R3 ß cir R3

Introduction to HDL:

In electronics, a Hardware Description Language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

A hardware description language enables a precise, formal description of an electronic circuit that allows for the automated analysis and simulation of an electronic circuit. It also allows for the synthesis of an HDL description into a netlist (a specification of physical electronic components and how they are connected together), which can then be placed and routed to produce the set of masks used to create an integrated circuit.

A hardware description language looks much like a programming language such as C; it is a textual description consisting of expressions, statements, and control structures. One important difference between most programming languages and HDLs is that HDLs explicitly include the notion of time.

There are two standard HDLs that are supported by IEEE (Institute of Electrical and Electronics Engineers):

1. VHDL (Very High Speed Integrated Circuits Hardware Description Language): Sometimes referred to as VHSIC HDL, this was developed from an initiative by the US Department of Defense.

2. Verilog HDL: It was developed by Cadence Data Systems and later transferred to a consortium called Open Verilog International (OVI).

Introduction to VHDL:

VHDL stands for Very High-Speed Integrated Circuit Hardware Description Language. Which is one of the programming languages used to model a digital system by dataflow, behavioral, and structural style of modeling? This language was first introduced in 1981 for the department of Defense (DoD) under the VHSIC program. In 1983 IBM, Texas instruments and Intermetrics started to develop this language. In 1985 VHDL 7.2 version was released. In 1987 IEEE standardized the language.

Register Transfer and Micro Operations, RTL (Register Transfer Language), Register Transfer, Types of Micro operations, Register Transfer Micro operations, Arithmetic and Logical Micro operations, Shift Micro operations, Logical Shift, Arithmetic Shift, Circular Shift, Introduction to HDL (Hardware Description Language) and VHDL

This language is hardware dependent, where any digital system can be simulated or can be represented in VHDL. This language is only used in the digital system. Other languages such as ABEL (Advanced Boolean Expression Language) and VEILOG are also used for hardware description but among these VHDL is more popular and widely used.

The program structure for VHDL is:
entity-name is;
[PORT] (interface-signal-declaration);
end (entity) entity-name;
architecture architecture-name of entity is;
[declaration]
begin;
architecture-body;
end [architecture] architecture-name;

Example:
NOR = OR + NOT
Entity-NOR is;
[PORT] (input A, B; Output Y)
End NOR;
Architecture NOR of NOR is;
Input A, B; X-output;
Input X; Y-output;
Begin;
A, B; Y
End NOR

No comments:

Post a Comment

If you have any doubt, then don't hesitate to drop comments.