REGISTER TRANSFER LANGUAGE (RTL)

Slides:



Advertisements
Similar presentations
Computer Architecture CS 215
Advertisements

CPEN Digital System Design
KU College of Engineering Elec 204: Digital Systems Design
Chapter 4 Register Transfer and Microoperations
Princess Sumaya Univ. Computer Engineering Dept. د. بســام كحـالــه Dr. Bassam Kahhaleh.
Chapter 7 Henry Hexmoor Registers and RTL
Princess Sumaya University
ARITHMETIC LOGIC SHIFT UNIT
1 Register Transfer &  -operations Computer Organization Computer Architectures Lab REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register.
8085 processor. Bus system in microprocessor.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 7 – Registers.
Instruction Set Architecture & Design
Chapter 7. Register Transfer and Computer Operations
10/26/2004Comp 120 Fall October Only 11 to go! Questions? Today Exam Review and Instruction Execution.
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #4 Register Transfer and Microoperations 23/2/2006 Chapter 4:
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Chapter 4 Register Transfer and Microoperations
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
Computer System Configuration and Function Computer Architecture and Design Lecture 6.
Digital 2 : EKT 221. Today’s Outline RTL Arithmetic Operations Conditional Register Transfer RTL Logical Operations RTL Shift Operations.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part2.
Unit I Digital computer: functional units and their interconnections Mr. Mukul Varshney.
CSC321 Where We’ve Been Binary representations Boolean logic Logic gates – combinational circuits Flip-flops – sequential circuits Complex gates – modules.
Chapter 4 Register Transfer and Micro -operations
DIGITAL 2 : EKT 221. Today’s Outline Register Transfer Clock Gating Load Control Feedback Register Transfer Language Type of Registers Basic Symbols Mathematical.
REGISTER TRANSFER AND MICROOPERATIONS
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
1 Chapter Four Register Transfer and Micro operations.
Execution of an instruction
Micro Operation. MICROOPERATIONS Computer system microoperations are of four types: - Register transfer microoperations - Arithmetic microoperations -
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
COMPUTER ORGANISATION Sri.S.A.Hariprasad Sr.Lecturer R.V.C.E Bangalore.
1 Outline Bus Transfer Memory Transfer Microoperations.
1 Chapter 7 Henry Hexmoor Registers and RTL. REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Register Transfer Languages (RTL)
Chapter 4 Register Transfer and Microoperations Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2010.
Processor Organization and Architecture Module III.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
ECEG-3202: Computer Architecture and Organization, Dept of ECE, AAU 1 Register Transfer & Microoperations.
1 Register Transfer and Microoperations Acknowledgment: Most of the slides are adapted from Prof. Hyunsoo Yoon’s slides.
1 REGISTER TRANSFER & MICROOPERATIONS. 2 OUTLINES Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic.
REGISTER TRANSFER AND MICROOPERATIONS
REGISTER TRANSFER LANGUAGE (RTL)
Overview Register Transfer Language Register Transfer
Control Unit Lecture 6.
REGISTER TRANSFER AND MICROOPERATIONS
Chapter 4 Register Transfer and Microoperations
Chap 7. Register Transfers and Datapaths
KU College of Engineering Elec 204: Digital Systems Design
Register Transfer and Microoperations
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Computer Organization and Design
Control Unit.
Computer Organization and Design
REGISTER TRANSFER LANGUAGE
Computer Architecture and Design Lecture 6
Topic 6 LC-3.
MARIE: An Introduction to a Simple Computer
CSC 220: Computer Organization
Overview Part 1 - Registers, Microoperations and Implementations
CHAPTER-3 REGISTER TRANSFER LANGUAGE AND MICROOPERATIONS
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 68000 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[10] = contents of memory address 10 10000000 10111011 11111111 9 10 11 Address Content MEMORY In this example, M[10] refers to 10111011

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

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) : R4 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