A 3-bus implementation for the SRC

Slides:



Advertisements
Similar presentations
CS364 CH16 Control Unit Operation
Advertisements

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.
The CPU. Parts of the CPU Control Unit Arithmetic & Logic Unit Registers.
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Computer Architecture
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 4 Topics The Design Process A 1-bus Microarchitecture for.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
5-1 Chapter 5—Processor Design—Advanced Topics Computer Systems Design and Architecture by V. Heuring and H. Jordan © 1997 V. Heuring and H. Jordan Chapter.
Computer architecture
CSE 241 Computer Organization Lecture # 8 Ch. 7 Control Unit Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
Chapter 6: Computer Components Dr Mohamed Menacer Taibah University
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
Jump (op-code= 20) unconditional jump Forms allowed by the assembler: jump [ra + constant] jump [ra + variable] jump [ra + address] jump [ra + label] For.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
S 2/e C D A Computer Systems Design and Architecture Second Edition© 2004 Prentice Hall Chapter 4 Topics The Design Process A 1-bus Microarchitecture for.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Block diagram of a Microcoded Control unit
SAP1 (Simple-As-Possible) Computer
CS 704 Advanced Computer Architecture
Basic Processor Structure/design
Lecture 13 - Introduction to the Central Processing Unit (CPU)
A Uni-bus Data Path Implementation for the SRC
Stored program concept
Structural RTL for the br and brl instructions
The deadline establish a priority among interrupt requests.
CHAPTER 4 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Chapter 9 a Instruction Level Parallelism and Superscalar Processors
Lecture on Microcomputer
Micro-Operations A computer executes a program Fetch/execute cycle
William Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture 7th Edition
Instruction Execution (Load and Store instructions)
External CPU Bus Activity
Dr. Michael Nasief Lecture 2
Chapter 3 Top Level View of Computer Function and Interconnection
Decode and Operand Read
Chapter 15 Control Unit Operation
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Chapter 4: Processor Design
Computer Architecture
ECEG-3202 Computer Architecture and Organization
MARIE: An Introduction to a Simple Computer
Intel 8080 Processor The 8080 was an 8-bit processor
William Stallings Computer Organization and Architecture 7th Edition
SRC Exception Processing Mechanism
Fields in the FALCON-A Instruction
BIC 10503: COMPUTER ARCHITECTURE
Chapter 14 Control Unit Operation
Components of a CPU AS Computing - F451.
THE FETCH-EXECUTE CYCLE.
William Stallings Computer Organization and Architecture 8th Edition
IR <2..0> CON 3-to-8 Decoder Never Branch Always Branch
Data Dependence Distances
RTL for the SRC pipeline registers
Reverse Assembly Typical problem:
Computer Architecture Assembly Language
Computer Architecture
Presentation transcript:

A 3-bus implementation for the SRC 31 0 C bus A bus B bus R0 32 General Purpose Registers 32 32 32 A 3-bus implementation for the SRC R31 All three buses are “Internal processor buses” IR PC MAR MBR The register file must have 2 read ports and one write port A B ALU To External CPU Bus C

cannot use edge-triggered FFs to implement MAR as done before Structural RTL for the sub instruction using the 3-bus data path implementation Format: sub ra, rb, rc Step RTL T0 MAR←PC; MBR ← M[MAR], PC ← PC + 4; T1 IR ← MBR; T2 R[ra] ← R[rb] - R[rc]; Instruction Fetch Instruction Execute cannot use edge-triggered FFs to implement MAR as done before At the end of each sequence, the timing step generator is initialized to T0

Review

CS501 Advanced Computer Architecture Lecture17 Dr.Noor Muhammad Sheikh

Control Signals for the Fetch operation Step RTL Control Signals T0 MAR←PC; MBR ← M[MAR], PC ← PC + 4; PCout, INC4, LPC, LbMAR, MRead, T1 IR←MBR; MBRout, C=B, LIR; T2 Instruction Execution

Structural RTL for the ld instruction Step RTL for ld T0 MAR←PC; MBR ← M[MAR], PC ← PC + 4; T1 IR←MBR; T2 MAR ←((rb=0):0,(rb!=0):R[rb]+ (16αIR<16> ©IR<15..0>), MBR←M[MAR] T3 R[ra] ←MBR

Reset operation in SRC Hard Reset Soft Reset The reset signal in SRC is assumed to be external and asynchronous. Hard Reset The SRC should perform a hard reset upon receiving a start (Strt) signal. This initializes the PC and the general registers. Soft Reset Soft reset results in initialization of PC only

Behavioral RTL for SRC Reset The original behavioral RTL for SRC without any reset operation was Instruction_interpretation:=( !Run&Strt: (Run  1, Run: IR  M[PC], PC  PC+4) Instruction_execution:= (ld(:=op=1…);

Behavioral RTL for SRC Reset The modified RTL after adding the reset capability is instruction_interpretation:=(! Run&Strt:(Run  1, PC,R[0..31]  0), Run&!Rst:(IR  M[PC], PC  PC+4,instruction_exec), Run&Rst:(Rst  0;PC  0); instruction_interpretation)

Structural RTL for SRC Reset Following modifications are required to add the reset operation to the structural RTL for SRC A check for the reset signal on each clock cycle A control signal for clearing the PC A control signal to load zero to control step counter

Example: The sub instruction with RESET processing Step RTN Control Sequence TO !Rst:(MA  PC,C  PC+4), Rst:(Rst  0,PC  0,T  0) !Rst:(PCout’ LMAR, INC4, LC’ MRead), Rst:(ClrPC, Goto0); T1 !Rst:(MD  M[MA]:PC  C), Rst:(Rst  0:PC  0:T  0) !Rst:(Cout’ LPC’ Wait), Rst :(ClrPC, Goto0); T2 !Rst:(IR  MD), Rst:(Rst  0: PC  0:T  0) !Rst:(MBRout’ LIR), Rst : (ClrPC, Goto0); T3 !Rst:(A  R[rb]), Rst:(Rst  0: PC  0: T  0) !Rst:(RBE, R2BUS, LA), T4 !Rst:(C  A - R[rc]), !Rst:(RCE, R2BUS, SUB, LC), T5 !Rst:(R[ra]  C), Rst:(Rst  0:PC  0: T  0) !Rst:(LC’ RAE, BUS2R’ End),

Example: The sub instruction with RESET processing Step RTN Control Sequence TO !Rst:(MA  PC,C  PC+4), Rst:(Rst  0,PC  0,T  0) !Rst:(PCout’ LMAR, INC4, LC’ MRead), Rst:(ClrPC, Goto0); T1 !Rst:(MD  M[MA]:PC  C), Rst:(Rst  0:PC  0:T  0) !Rst:(Cout’ LPC’ Wait), Rst (ClrPC, Goto0); T2 !Rst:(IR  MD), Rst:(Rst  0: PC  0:T  0) !Rst:(MBRout’ LIR), Rst  (ClrPC, Goto0); T3 !Rst:(A  R[rb]), Rst:(Rst  0: PC  0: T  0) !Rst:(RBE, R2BUS, LA), Rst : (ClrPC, Goto0); T4 !Rst:(C  A + R[rc]), !Rst:(RCE, R2BUS, ADD, LC), Rst :(ClrPC, Goto0); T5 !Rst:(R[ra]  C), Rst:(Rst  0:PC  0: T  0) !Rst:(LC’ RAE, BUS2R’ End), Clears PC Reset the control Step counter

Exception Processing A generalized exception handler should include the following mechanisms Logic to resolve priority conflicts Identification of interrupting device Saving the processor state Exception disabling during critical operation Saving the general purpose registers

Types of Exceptions Reset Exception Reset operation is treated as an exception by some machines e.g. SPARC and MC68000. Machine Check This is an external exception caused by memory failure Data Access Exception This exception is generated by memory management unit to protect against illegal accesses. Instruction Access Exception Similar to data access exception Alignment Exception Generated to block misaligned data access

Types of Exception Program Exceptions Hardware Exceptions Trace and debugging Exceptions Nonmaskable Exceptions Interrupts (External Exceptions)

Exceptions

3-Bus Implementation

CS501 Advanced Computer Architecture