ECE 445 - Fall 2020 - Lecture 6 - Introduction To Processor Design, RTL, and The MIPS
ECE 445 - Fall 2020 - Lecture 6 - Introduction To Processor Design, RTL, and The MIPS
Topics Covered
• Introduction to Processor Design
• Datapath and Control Unit
• Design requirements
• Using an internal CPU bus
• Introduction to Register Transfer Language (RTL)
• Describing CPU micro-operations using RTL
• Describing a processor using RTL
• Describing the MIPS using RTL
• Implementations of the MIPS Processor
• Single-cycle, Multi-cycle, Pipelined
• One-bus
Fall 2020 ECE 445 - Computer Organization 3
Reading Assignment
• Hennessey/Patterson: 4.1 – 4.4
• Hennessey/Patterson: 3rd Edition, 5.5 (on Blackboard)
• Additional reading posted on Blackboard.
Fall 2020 ECE 445 - Computer Organization 4
INTRODUCTION TO
PROCESSOR DESIGN
Architecture (ISA) and Organization (implementation)
Datapath and Control Unit
Design requirements
Using one or more buses
Fall 2020 ECE 445 - Computer Organization 5
Computer Organization
• The processor can be partitioned into the:
1. Datapath
• Composed of functional blocks.
• Implements the actions necessary to fetch and execute all of the
instructions specified in the instruction set of the processor.
2. Control Unit
• Generates the control signals.
• Controls the components in the datapath.
• Value of each control signal determined during instruction decoding.
Fall 2020 ECE 445 - Computer Organization 8
Processor Design
• Design both the datapath and the control unit.
• Consider all instructions that are executed by the processor.
• Determines the components required in the datapath.
• Determines the required control signals.
• Consider cost, performance, and power consumption.
• Determines technology choice.
• Determines component selection.
• Design a family of processors.
• All processors adhere to the specified instruction set architecture (ISA).
• Each is designed to meet a different cost/performance/power
consumption specification.
Fall 2020 ECE 445 - Computer Organization 9
INTRODUCTION TO RTL
Register Transfer Language (RTL)
Fall 2020 ECE 445 - Computer Organization 16
• RTL expressions
• Identify the registers to be manipulated
• Specify the micro-operations to be performed on the registers.
• Basic components of RTL expressions:
Symbol Description Example
Letters and Numbers Denotes a register R1, PC, MAR
Parentheses Denotes a part of a register R1(5 – 0), R2(17), MDR(31 – 16)
Left arrow Denotes transfer of information R1 <- R2
Comma Separates two micro-operations R1 <- R2, R3 <- R4
Colon Separates control from expression P: R1 <- R2
Fall 2020 ECE 445 - Computer Organization 18
RTL Micro-operations
• Each micro-operation, or action, is completed in one clock cycle.
Data transfer micro-operations are implemented using the internal CPU bus(es).
Fall 2020 ECE 445 - Computer Organization 20
Memory Transfer
• Read A read operation transfers data from memory to a register.
RTL Description
MAR <- address Copy address into Memory Address Register (MAR)
MDR <- M[MAR] Transfer data from memory at address in MAR to
Memory Data Register (MDR)
MIPS
• Microprocessor without Interlocked Pipeline Stages.
• Reduced Instruction Set Computer (RISC)
• Additional information can be found at the following website:
http://en.wikipedia.org/wiki/MIPS_instruction_set
MIPS (Single-cycle)
“Computer Organization and Design”, 5th Edition; Hennessey and Patterson; p. 265
Fall 2020 ECE 445 - Computer Organization 33
MIPS
2. Multi-cycle
• Instruction processing is divided into steps (or stages).
• Each step (or stage) requires one clock cycle.
• The length of the clock cycle is determined by the time required to
complete the longest step in the instruction processing.
• Different instructions require a different number and set of steps.
• Different instructions require a different amount of time.
• Uses the datapath more efficiently than the single-cycle implementation.
MIPS (Multi-cycle)
“Computer Organization and Design”, 3rd Edition; Hennessey and Patterson; p. 323
Fall 2020 ECE 445 - Computer Organization 35
MIPS
3. Pipelined
• Instruction processing is divided into steps (or stages).
• Each step (or stage) requires one clock cycle.
• The length of the clock cycle is determined by the time required to
complete the longest step in the instruction processing.
• Overlap the execution of multiple instructions, such that each instruction
is at a different stage of processing.
• All instructions must pass through every stage of the pipeline.
• All instructions require the same amount of time.
MIPS (Pipelined)
“Computer Organization and Design”, 5th Edition; Hennessey and Patterson; p. 304
Fall 2020 ECE 445 - Computer Organization 37
MIPS
• I have designed a fourth implementation of the MIPS ISA:
4. One-bus
• Instruction processing is divided into steps (or stages).
• Each step (or stage) requires one clock cycle.
• The length of the clock cycle is determined by the time required to
complete the longest step in the instruction processing.
• Different instructions require a different number and set of steps.
• Different instructions require a different amount of time.
MIPS (One-bus)
Fall 2020 ECE 445 - Computer Organization 39
Fall 2020 ECE 445 - Computer Organization 40
Questions?
Fall 2020 ECE 445 - Computer Organization 41
ADDITIONAL SLIDES
Register Transfer Notation (RTN)
Fall 2020 ECE 445 - Computer Organization 42
• Abstract RTN
• Can be used to describe what a digital system does without describing
how the digital system does it. (Description of the architecture).
• Concrete RTN
• Can be used to describe a specific hardware implementation.
Fall 2020 ECE 445 - Computer Organization 43
Describing Registers
Fall 2020 ECE 445 - Computer Organization 44
Describing Registers
Fall 2020 ECE 445 - Computer Organization 45
Describing Micro-operations
Fall 2020 ECE 445 - Computer Organization 46
Describing Memory
Fall 2020 ECE 445 - Computer Organization 47