33
CSC 3650 Introduction to Computer Architecture Time: 3:30 to 6:30 Meeting Days: W Location: Oxendine 1237B Textbook: Essentials of Computer Architecture, Author: Douglas E. Comer, 2005, Pearson Prentice Hall Spring 2011 Register Transfer Languages Dr. Chuck Lillie

CSC 3650 Introduction to Computer Architecture

Embed Size (px)

DESCRIPTION

CSC 3650 Introduction to Computer Architecture. Spring 2011. Time: 3:30 to 6:30. Meeting Days: W. Location: Oxendine 1237B. Textbook : Essentials of Computer Architecture , Author: Douglas E. Comer, 2005, Pearson Prentice Hall. Register Transfer Languages. Dr. Chuck Lillie. - PowerPoint PPT Presentation

Citation preview

Page 1: CSC 3650 Introduction to Computer Architecture

CSC 3650 Introduction to Computer Architecture

Time: 3:30 to 6:30 Meeting Days: W Location: Oxendine 1237B

Textbook: Essentials of Computer Architecture, Author: Douglas E. Comer, 2005, Pearson Prentice Hall

Spring 2011

Register Transfer Languages

Dr. Chuck Lillie

Page 2: CSC 3650 Introduction to Computer Architecture

Micro-operations

• Micro-operations are the basis for most sequential digital systems– Movement of data from one register, memory location,

or I/O device to another

– Modify stored values

– Perform arithmetic or logical functions

– Modify a stored value

• By performing a sequence of micro-operations to move and modify data, a sequential digital system performs a larger task

Page 3: CSC 3650 Introduction to Computer Architecture

Hardware Description Language

• Used to design a system– More efficient than using digital logic

– Used to verify that the logic of the design is correct

– Can be translated into the final hardware design of the system

– The design looks something like a computer program written in a high level language

– Can be input into a circuit analysis and design (CAD) program to simulate the behavior of the circuit under all conditions

Page 4: CSC 3650 Introduction to Computer Architecture

Implementation of the micro operation X Y

Direct Connection

Bus Connection

X Y does not indicate the condition under which transfer occurs

X

Page 5: CSC 3650 Introduction to Computer Architecture

Implementation of the data transfer α: X Y

Direct Path

Using a Bus

IF α THEN X Y is written in RTL as α: X Y

X

Page 6: CSC 3650 Introduction to Computer Architecture

Implementation of Data Transfer α: X Y, Y Z

To improve system performance do two or more transfers simultaneously

Single bus cannot be used because a bus can hold only one value at a time.

Page 7: CSC 3650 Introduction to Computer Architecture

Implementation of Data Transfer α: X Y, Z Y

Can write to more than one place at a time, but cannot send to the same location for more than one placeα: X Y, Z Y is OKα: X Y, X Z is not OK

Page 8: CSC 3650 Introduction to Computer Architecture

Three implementations of data transfers α: X 0 and β: X 1

Using a multiplexer to select data input

Using β as the data input

Using the CLR signal

Move a constant value into a register

What happens if α and β are both 1?1. Need hardware to ensure that will not happen or2. Make sure they have mutual exclusion using one of the following threeα β’: X 0 α : X 0 α β’: X 0β : X 1 α’ β :X 1 α’ β : X 1

Page 9: CSC 3650 Introduction to Computer Architecture

Implementation of four-bit Data Transfer α: X Y

Direct Path

Using a Bus

X

Page 10: CSC 3650 Introduction to Computer Architecture

Accessing single bits or subset of bits of multi-bit register

• α: X(3-1) Y(2-0)

• β: X3 X2

: X(3-0) X(2-0),X3 or X(2-0,3)

Page 11: CSC 3650 Introduction to Computer Architecture

Arithmetic and logical micro-operations

Page 12: CSC 3650 Introduction to Computer Architecture

Shift micro-operations

Page 13: CSC 3650 Introduction to Computer Architecture

Transferring data between memory and registers

• To transfer between register AC and memory, first move address into address register and then perform transfer– AR 55– M[AR] AC or AC M[AR]

• If decide AR is always the address register– M AC and AC M can be used without

referring to AR

Page 14: CSC 3650 Introduction to Computer Architecture

D flip-flop

Without clear input With clear input

LD: Q D LD: Q DCLR: Q 0What happens when D, LD, CLR all 1NeedCLR’ LD: Q D LD: Q DCLR: Q 0 LD’ CLR: Q 0Priority to CLR Priority to LD

Page 15: CSC 3650 Introduction to Computer Architecture

Data paths of the system to implement the RTL code using direct connect

j: M Ao: A Yh: R Mn: Y R, M R

What’s missing?

Page 16: CSC 3650 Introduction to Computer Architecture

Complete design of the system to implement the RTL code using direct connections

Page 17: CSC 3650 Introduction to Computer Architecture

Implementation using bus with tri-state buffers

Advantage of bus over direct connect:Bus system can be partitioned and their sections designed separately; task of buffer is not to pass the value of M on to the bus so it can be read in by register R, rather, its task is to place the contents of M on to the bus so that it can be read by whatever register should read it in.

Page 18: CSC 3650 Introduction to Computer Architecture

Complete design of the system to implement the RTL code using a bus and multiplexer

Page 19: CSC 3650 Introduction to Computer Architecture

State Table for Modulo 6 Counter

S0 S1 S2 S3 S4 S5 S0 …

Page 20: CSC 3650 Introduction to Computer Architecture

State Diagram for Modulo 6 Counter

RTL code for the counter:(S0 + S1 + S3 + S3 + S4)U: V V + 1, C 0S5U + S6 + S7: V 0, C 1+ on left of : is OR, on right of : is arithmetic add

Page 21: CSC 3650 Introduction to Computer Architecture

Implementation of RTL code for Modulo 6 counter using a register

Page 22: CSC 3650 Introduction to Computer Architecture

Implementation of RTL code for Modulo 6 counter using a counter

Page 23: CSC 3650 Introduction to Computer Architecture

States for toll boot controller

Page 24: CSC 3650 Introduction to Computer Architecture

State table for toll booth controller

Page 25: CSC 3650 Introduction to Computer Architecture

State diagram for toll booth controller

Page 26: CSC 3650 Introduction to Computer Architecture

State value assignments for the toll booth controller

Page 27: CSC 3650 Introduction to Computer Architecture

RTL code for the toll booth controller, excluding output

Page 28: CSC 3650 Introduction to Computer Architecture

RTL code for the toll booth controller outputs

Page 29: CSC 3650 Introduction to Computer Architecture

Complete RTL code for toll booth controller

Page 30: CSC 3650 Introduction to Computer Architecture

VHDL file to implement the modulo 6 counter using a high level of abstraction

Page 31: CSC 3650 Introduction to Computer Architecture

VHDL code continued

Page 32: CSC 3650 Introduction to Computer Architecture

Logic diagram for modulo 6 counter based on VHDL in next slide

Page 33: CSC 3650 Introduction to Computer Architecture

VHDL file to implement the modulo 6 counter using a low level abstraction