A Uni-bus Data Path Implementation for the SRC

Slides:



Advertisements
Similar presentations
Computer Architecture and the Fetch-Execute Cycle
Advertisements

CS364 CH16 Control Unit Operation
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Processor Design Computer Architecture CS 215. CPU Design  Control Unit Generates the control signals in the correct order to effect the correct data.
ARITHMETIC LOGIC SHIFT UNIT
Room: E-3-31 Phone: Dr Masri Ayob TK 2123 COMPUTER ORGANISATION & ARCHITECTURE Lecture 5: CPU and Memory.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
Computer Science 210 Computer Organization The von Neumann Architecture.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Computer Architecture and the Fetch-Execute Cycle
Multiple-bus organization
Chapter 4 MARIE: An Introduction to a Simple Computer.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
Jump (op-code= 20) unconditional jump Forms allowed by the assembler: jump [ra + constant] jump [ra + variable] jump [ra + address] jump [ra + label] For.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Jeremy R. Johnson William M. Mongan
SRC: instruction formats Op-coderarb rc c Type D Op-code Type Aunused Op-codera Type Bc1 21 Op-coderarb.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
CPU Lesson 2.
Systems Architecture Keywords Fetch Execute Cycle
Basic Computer Organization and Design
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
CS 270: Mathematical Foundations of Computer Science
Block diagram of a Microcoded Control unit
The Stored Program Computer
ECE 4110–5110 Digital System Design
CS 704 Advanced Computer Architecture
Control Unit Lecture 6.
Instruction Execution (Load and Store instructions)
Stored program concept
A 3-bus implementation for the SRC
Structural RTL for the br and brl instructions
Micro-Operations A computer executes a program Fetch/execute cycle
William Stallings Computer Organization and Architecture
MIPS Instructions.
William Stallings Computer Organization and Architecture 7th Edition
Ghifar Parahyangan Catholic University Sept 12, 2011
Register Transfer and Microoperations
Instruction Execution (Load and Store instructions)
External CPU Bus Activity
Decode and Operand Read
Chapter 15 Control Unit Operation
BASIC COMPUTER ORGANIZATION AND DESIGN
Falcon-E : Introduction
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Functional Units.
Computer Organization “Central” Processing Unit (CPU)
MARIE: An Introduction to a Simple Computer
Data Transfers To be able to implement
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
William Stallings Computer Organization and Architecture 7th Edition
SRC Exception Processing Mechanism
Fields in the FALCON-A Instruction
Chapter 14 Control Unit Operation
William Stallings Computer Organization and Architecture 8th Edition
IR <2..0> CON 3-to-8 Decoder Never Branch Always Branch
Data Dependence Distances
A Discussion on Assemblers
GCSE OCR 1 The CPU Computer Science J276 Unit 1
RTL for the SRC pipeline registers
Example 1: (expression evaluation)
CS501 Advanced Computer Architecture
Reverse Assembly Typical problem:
A Top-Level View Of Computer Function And Interconnection
Information Representation: Machine Instructions
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Computer Architecture
COMPUTER ARCHITECTURE
Presentation transcript:

A Uni-bus Data Path Implementation for the SRC The Data Path A Uni-bus Data Path Timing step Generator

Review

CS501 Advanced Computer Architecture Lecture12 Dr.Noor Muhammad Sheikh

Data Path CONTROL

1. The Data Path The data path is the arithmetic organ of the von Neumann organization It consists of registers, internal buses, arithmetic units and shifters

2. A Unibus Data Path Implementation General purpose registers (32-bits each) ALSU C A 31 0 R0 R31 PC IR 31 0 32 lines <31..0> 2. A Unibus Data Path Implementation MAR MBR … ADD SUB SHL Other ALSU functions Internal processor bus R1 To external CPU bus

3. Timing Step Generator In the next few slides, we will assume that there exists a “timing step generator” which provides mutually exclusive and sequential timing intervals These intervals will be called T0, T1, T2, …..

Timing Step Generator A possible implementation A 3-to-8 decoder T0 T1 A 3-bit binary counter T2 T3 1 T4 2 T5 T6 T7 clear

Timing Step Generator Waveforms Eight mutually exclusive time steps

Timing Step Generator Waveforms If more time steps are required, then a counter with more bits and a larger decoder can be used, eg., a 4-bit counter along with a 4-to-16 decoder can produce up to 16 time steps

Structural RTL Describes how an operation is performed using a particular hardware implementation

Structural RTL for the sub instruction Syntax: sub ra, rb, rc Step RTL T0 MAR PC, C PC + 4; T1 MBR M[MAR], PC C; T2 IR MBR; T3 A R[rb]; T4 C A - R[rc]; T5 R[ra] C; Instruction Fetch Instruction Execute At the end of each sequence, the timing step generator is initialized to T0

A Unibus Data Path Implementation General purpose registers (32-bits each) ALSU C A 31 0 R0 R31 PC IR 31 0 32 lines <31..0> A Unibus Data Path Implementation MAR MBR … ADD SUB SHL Other ALSU functions Internal processor bus R1 Recall from previous slide To external CPU bus

Needed for the following instructions/operations ALSU Functions Needed ALSU Function Needed for the following instructions/operations ADD add, addi, address calculation for disp and rel SUB sub NEG neg; applies to the B input of the ALSU AND and, andi OR or, ori NOT not; applies to the B input of the ALSU SHL shl SHR shr SHC shc SHRA shra C=B to load from the bus directly into C INC4 to increment the PC by 4; applies to the B input; assuming a barrel shifter with five n<4..0> signals available as well Use uppercase for control signals, because lowercase was used for mnemonics

A Unibus Data Path Implementation General purpose registers (32-bits each) ALSU C A 31 0 R0 R31 PC IR 31 0 32 lines <31..0> A Unibus Data Path Implementation MAR MBR … ADD SUB SHL Other ALSU functions Internal processor bus R1 Question: What will be the implications if the connection between register C and the internal processor bus is bi-directional ? (one would like to have such a connection to avoid loading C through the ALSU) Recall from previous slide To external CPU bus

Structural RTL for the add instruction Syntax: add ra, rb, rc Step RTL T0-T2 Instruction fetch T3 A R[rb]; T4 C A + R[rc]; T5 R[ra] C; other instructions that will have similar tables are: and, or, sub

Structural RTL for the not instruction Syntax: not ra, rb Step RTL T0-T2 Instruction fetch T3 C !(R[rb]); T4 R[ra] C; another instruction that will have similar table is: neg

Structural RTL for the addi instruction Syntax: addi ra, rb, c2 Step RTL T0-T2 Instruction fetch T3 A R[rb]; T4 C A + c2(sign extend); T5 R[ra] C; Sign extension for 17-bit c2 is the same as : (15αIR<16> ©IR<16..0>) Sign extension for 22-bit c1 is the same as : (10αIR<21> ©IR<21..0>) other instructions that will have similar tables are: andi, ori

RTL for the ld and st instructions Syntax: ld ra, c2(rb) Syntax: st ra, c2(rb) Step RTL for Id RTL for st T0-T2 Instruction fetch T3 A ((rb = 0) : 0, (rb ≠ 0): R[rb]); A ((rb = 0): 0, (rb ≠ 0): R[rb]); T4 C A + (15αIR<16> ©IR<16..0>); C A + (15αIR<16> ©IR<16..0>); T5 MAR C; MAR C; T6 MBR M[MAR]; MBR R [ra]; T7 R[ra] MBR; M[MAR] MBR; ld and st are the same up to step T5 sign extension Note that (15αIR<16> ©IR<16..0>) is the same as (16αIR<16> ©IR<15..0>)