Tomasulo - PowerPoint PPT Presentation

About This Presentation
Title:

Tomasulo

Description:

Photo: AIS archive. 13. IBM 360. Was introduced by the team led by Michael Flynn in 1966. ... units were processor storage, storage bus control, instruction ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 19
Provided by: sriva
Category:
Tags: tomasulo

less

Transcript and Presenter's Notes

Title: Tomasulo


1
Tomasulos Algorithm and IBM 360
  • Srivathsan Soundararajan

2
What we have seen till now!!!
  • Single-cycle datapath.
  • Multi-cycle datapath.
  • N-stage Pipelined datapath.

3
Tomasulo's algorithm
  • A hardware algorithm for controlling the
    execution of multiple functional units with
    varying latencies in a pipelined CPU
    micro-architecture.
  • A general mechanism for register forwarding and
    hazard detection.
  • The key idea is to virtually execute each
    instruction in a single cycle.
  • Out-of-order execution of instructions.

4
So what is so special???
  • Let instructions behind stall proceed.
  • Decode instructions and check for structural
    hazard.
  • Wait until no data hazard and then read operands.

5
Three Stages
  • Issue if reservation station free (i.e. no
    structural hazard), control issues instruction
    and sends operands (renames registers).
  • Execution if both operands ready, then execute.
    If not, watch common data bus for result.
  • Write result if CDB available, write on common
    data bus to all awaiting units mark reservation
    status available

6
Virtual result a promissory note
  • All registers are modified so that they can
    either hold a true result or a virtual result.
  • When an instruction is issued, a virtual result
    is placed in the instruction's destination
    register.
  • A functional unit is assigned to compute the real
    result.
  • The virtual result is replaced by the real result
    when the functional unit has completed its
    computation.

7
Tomasulo Organization
8
The concept
  • Each instruction, as it arrives, fetches its
    operands from a special register file.
  • Each register in this file holds either an actual
    value, or a tag indicating the reservation
    station that will produce the register value when
    it completes.
  • The instruction and its operands (either values
    or tags) are stored in a reservation station
    (RS).
  • The RS watches the results returning from the
    execution pipelines, and when a result's tag
    matches one of its operands, it records the value
    in place of the tag

9
A good example
  • http//www.cs.umd.edu/users/saltz/cmsc411-s97/toma
    sulo.htm

10
Why Tomasulos Algorithm
  • Hazard detection.
  • Dynamic Scheduling (i.e. Hardware reorganizes
    instructions)

11
IBM 360
  • The IBM 360 introduced many new concepts,
    including dynamic detection of memory hazards,
    generalized forwarding, and reservation stations.
  • The approach is normally named Tomasulos
    algorithm

12
Installation of the IBM 360/91 in the Columbia
Computer Center machine room in February or March
1969
Photo AIS archive.
13
IBM 360
  • Was introduced by the team led by Michael Flynn
    in 1966.
  • The internal organization of the 360/91 shares
    many features with the Pentium III and Pentium 4,
    as well as several other microprocessors.
  • One major difference was that there was no branch
    prediction in the 360/91 and hence no
    speculation.
  • Another major difference was that there was no
    commit unit, so once the instructions finished
    execution, they updated the registers.
    Out-of-order instruction commit led to imprecise
    interrupts, which proved to be unpopular and led
    to the commit units in dynamically scheduled
    pipelined processors since that time.

14
IBM 360
  • Although the 360/91 was not a success, the key
    ideas were resurrected later and exist in some
    form in the majority of microprocessors like
    Pentium II, Power PC 604 etc...
  • It ran under Operating System/360 -- a powerful
    programming package of approximately 1.5 million
    instructions that enabled the system to operate
    with virtually no manual intervention.

15
IBM 360
  • Within the central processing unit (CPU), there
    were five highly autonomous execution units which
    allowed the machine to overlap operations and
    process many instructions simultaneously.
  • The five units were processor storage, storage
    bus control, instruction processor, fixed-point
    processor and floating-point processor. Not only
    could these units operate concurrently, they
    could also perform several functions at the same
    time.

16
Some uses
  • The IBM-360 family of computers ranged from the
    model 20 minicomputer (which typically had 24 KB
    of memory) to the model 91 supercomputer which
    was built for the North American missile defense
    system.

17
Quite huge isnt it???
18
References
  • http//www.d.umn.edu/gshute/cs2521/arch/tomasulo.
    html
  • http//euler.ecs.umass.edu/arch/parts/Part6-tomasu
    lo.pdf
  • http//www.cs.indiana.edu/classes/p415-sjoh/readin
    gs/smv/CadenceSMV-docs/smv/tutorial/node36.htmlto
    masulo1
  • http//www.beagle-ears.com/lars/engineer/comphist/
    ibm360.htm
  • http//www.eecs.ucf.edu/lboloni/Teaching/EEL5708_
    2006/slides/Tomasulo.ppt268,9,Three Stages of
    Tomasulo Algorithm
  • http//www.cs.unc.edu/montek/teaching/fall-03/lec
    tures/lecture-11.ppt723,4,Tomasulo Organization
  • http//www.ece.cmu.edu/jhoe/distribution/2005/741
    /proj3.pdf
  • http//www.columbia.edu/acis/history/36091.html
Write a Comment
User Comments (0)
About PowerShow.com