departamento de ing. electrónica circuitos digitales ii universidad de antioquia 2011-2...
TRANSCRIPT
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Circuitos Digitales IICircuitos Digitales II
The General Computer Architecture
The Multicycle DesignSemana No.10Semana No.10
Semestre 2011-2Semestre 2011-2
Prof. Eugenio DuqueProf. Eugenio [email protected]
Prof. Gustavo Patiño (en comisión)Prof. Gustavo Patiño (en comisión)[email protected]
Departamento de Ingeniería ElectrónicaDepartamento de Ingeniería Electrónica
Facultad de IngenieríaFacultad de Ingeniería
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Data/Control Signal Flow Examples The following diagrams illustrate the flow of control
signals and data in some example MIPS instructions in the single cycle implementation.
The “single cycle” implementation is just a stepping stone to the final MIPS design, but this simpler example has all the features of the more complex final design in terms of data routing and the way in which the control signals determine the specific operation for each given instruction.
Note the data flow in these instructions.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Start of R-Type Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Next Step of R-Type Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Third Step of R-Type Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Completion of R-Type Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Load Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Branch Instruction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Jump Instruction Circuitry Added
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Jump Instruction Flow
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Drawbacks of the Single-Cycle Implementation
We have now completed “design” of the basic MIPS CPU. Although a good basic design, it has a serious drawback:
The processor is designed so that all instructions complete in one clock cycle.
While this assures that there is sufficient time to complete any instruction, it also means that one clock period must be long enough to accommodate the longest and most complicated instruction.
Thus, ALL instructions take as long as the longest instruction.
Since many (most!) instructions in the MIPS architecture take less time to execute than the longest instructions (which are usually the lw memory reference instructions), this means that we are slowing execution of the CPU a large part of the time to accommodate instructions that occur substantially less frequently.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Comparative Instruction Timing
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
MultiCycle Implementation
A solution to the single-cycle problem is stated as follows: Each instruction has several phases, such as fetch/decode,
register selection, ALU processing, etc. Instead of using a single clock cycle for the whole
instruction, run the clock much faster, and have a single clock cycle for each of the elements or phases of the instruction process.
Many instructions take fewer phases (for example, jump, branch [the fewest phases], register-register or store instructions), so these instructions execute much faster.
As most instructions execute faster than the longest instructions (such as lw), the average instruction time will be reduced substantially.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
MIPS Multicycle Concept
Split the processing into five processing segments. Run the clock much faster (essentially 5X faster!). Do one instruction segment per clock cycle. PC updates, branches and jumps take 3 processing
segments since they are simpler; they run much faster. Register-register instructions do not require memory
access. They take four instruction segments and finish in about 30% more time than jumps and branches.
Only load memory-access instructions take a full five processing segments (store takes only four), but do not slow down the other instructions to their speed.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Multicycle Implementation
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Times Instruction Cycle Times
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Multicycle Advantages
For most instructions, it is saved 20-40% in clock cycles and the processor is much faster, as mentioned earlier.
Since different parts of the circuit are active only for one cycle at a time, we can use less circuitry because parts of the computer can be reused in different cycles. The CPU now needs only one ALU, since it can do the PC
update functions prior to the ALU processing. Since we access memory for data and instructions in
different clock cycles, we only need one path to memory.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Major Impediment to Multicycle Implementation The multicycle processor takes up to 5 clock cycles
to complete an instruction. Each time the clock ticks, part of the instruction is
completed, not all of it. That means that at the end of each clock cycle, we
have partial instruction results, but no place to store them!
A first concern is therefore a way to store intermediate data as the instruction winds its way through the various segments of processing.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Intermediate Results Storage Requirements
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
First-Pass Register Placement
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Preliminary Multicycle Design Without Control
The preliminary processing design is more compactThe preliminary processing design is more compact
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Multicycle with ALU Control and PC
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Completed Multicycle Design
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Multicycle Summary
We have redesigned the MIPS CPU to accommodate a 5-segment instruction partition with each segment taking one clock cycle.
In doing so, instruction execution time was decreased ~ 30-40% and greater efficiency was obtained by reducing the circuitry.
In the next lecture, we will take the final step in the MIPS design and complete the R2000 architecture.
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Circuitos Digitales IICircuitos Digitales II
The General Computer Architecture
The Pipeline Design
Semana No.10Semana No.10Semestre 2011-2Semestre 2011-2
Prof. Eugenio DuqueProf. Eugenio [email protected]
Prof. Gustavo Patiño (en comisión de estudios)Prof. Gustavo Patiño (en comisión de estudios)
Departamento de Ingeniería ElectrónicaDepartamento de Ingeniería Electrónica
Facultad de IngenieríaFacultad de Ingeniería
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Some Unsolved Questions When we defined multicycle, did we also define
pipeline ? Multicycle is pipeline ? Or, pipeline is multicycle ?
So, what does translate “pipeline” ? What conditions must be met by the inter-stage registers
in order to guaranty pipeline ? What is the relation between pipeline and parallelism? Currently, which are the trends in the pipeline
paradigm ?
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
The Pipelined MIPS The Pipelined MIPS ProcessorProcessor
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Pipeline ArchitecturePipeline Architecture
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Sequential Versus Pipelined Sequential Versus Pipelined ExecutionExecution
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Speed Advantage of the Speed Advantage of the PipelinePipeline
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Pipeline StagesPipeline Stages
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Overlapped Pipeline Overlapped Pipeline ExecutionExecution
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Single-Cycle DatapathSingle-Cycle Datapath
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Single-Cycle Datapath with Single-Cycle Datapath with Pipeline RegistersPipeline Registers
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Instruction Process Through Instruction Process Through Pipeline (1)Pipeline (1)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Instruction Process Through Instruction Process Through Pipeline (2)Pipeline (2)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Instruction Process Through Instruction Process Through Pipeline (3)Pipeline (3)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Instruction Process Through Instruction Process Through Pipeline (4)Pipeline (4)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Instruction Process Through Instruction Process Through Pipeline (5)Pipeline (5)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Adding ControlAdding Control
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Full Pipeline Design with Full Pipeline Design with Control LinesControl Lines
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Example: Example: The Pipeline in The Pipeline in ActionAction
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-243
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-244
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-245
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-246
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-247
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-248
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-249
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-250
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-251
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-252
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-253
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Pipeline Processor Operation Pipeline Processor Operation SummarySummary
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Problems to be analyzed in the next class
Hazards Data Hazard Control Hazard Solutions
Forwarding Stalls
Problems with Branch
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Hazards
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Hazards (…cont)
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Data Hazard in the Pipeline
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Control Hazard in the Pipeline
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Forwarding as a Solution to Data Hazards
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Forwarding Unit in the Pipeline
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Forwarding Unit Operation
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Stalls
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Result of Stall Approach
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Departamento de Ing. Electrónica Circuitos Digitales II Universidad de Antioquia
2011-2
Result of Stall Approach (…cont)