Presentation Vishwani

18
1 Tomasulo’s Algorithm and IBM 360 Srivathsan Soundararajan

Transcript of Presentation Vishwani

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 1/18

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 2/18

2

What we have seen till now!!!

Single-cycle datapath.Multi-cycle datapath.

N-stage Pipelined datapath.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 3/18

3

Tomasulo's algorithm

A hardware algorithm for controlling theexecution of multiple functional units withvarying latencies in a pipelined CPU

micro-architecture. A general mechanism for registerforwarding and hazard detection.

The key idea is to virtually execute eachinstruction in a single cycle.Out-of-order execution of instructions.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 4/18

4

So what is so special???

Let instructions behind stall proceed.Decode instructions and check forstructural hazard.Wait until no data hazard and then readoperands.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 5/18

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 6/18

6

Virtual result – a promissory note

All registers are modified so that they can eitherhold 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 realresult.

The virtual result is replaced by the real resultwhen the functional unit has completed itscomputation.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 7/18

7

Tomasulo Organization

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 8/18

8

The conceptEach instruction, as it arrives, fetches itsoperands from a special register file.Each register in this file holds either an actualvalue, or a “tag” indicating the reservationstation that will produce the register value whenit completes.The instruction and its operands (either valuesor tags) are stored in a reservation station (RS).

The RS watches the results returning from theexecution pipelines, and when a result's tagmatches one of its operands, it records the valuein place of the tag

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 10/18

10

Why Tomasulo’s Algorithm

Hazard detection.Dynamic Scheduling (i.e. Hardwarereorganizes instructions)

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 11/18

11

IBM 360

The IBM 360 introduced many newconcepts, including dynamic detection ofmemory hazards, generalized forwarding,and reservation stations.The approach is normally namedTomasulo’s algorithm

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 12/18

12

Installation of the IBM 360/91 in the Columbia Computer Centermachine room in February or March 1969

Photo: AIS archive.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 13/18

13

IBM 360Was introduced by the team led by Michael Flynn in1966.The internal organization of the 360/91 shares manyfeatures with the Pentium III and Pentium 4, as well asseveral other microprocessors.One major difference was that there was no branchprediction in the 360/91 and hence no speculation.

Another major difference was that there was no commitunit, so once the instructions finished execution, theyupdated the registers. Out-of-order instruction commitled to imprecise interrupts , which proved to be unpopularand led to the commit units in dynamically scheduledpipelined processors since that time.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 14/18

14

IBM 360

Although the 360/91 was not a success, the keyideas were resurrected later and exist in someform in the majority of microprocessors like

Pentium II, Power PC 604 etc...It ran under Operating System/360 -- a powerfulprogramming package of approximately 1.5million instructions that enabled the system to

operate with virtually no manual intervention.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 15/18

15

IBM 360

Within the central processing unit (CPU), therewere five highly autonomous execution unitswhich allowed the machine to overlap operations

and process many instructions simultaneously.The five units were processor storage, storagebus control, instruction processor, fixed-pointprocessor and floating-point processor. Not onlycould these units operate concurrently, theycould also perform several functions at the sametime.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 16/18

16

Some uses

The IBM-360 family of computers rangedfrom the model 20 minicomputer (whichtypically had 24 KB of memory) to themodel 91 supercomputer which was builtfor the North American missile defensesystem.

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 17/18

17

Quite huge isnt it???

8/13/2019 Presentation Vishwani

http://slidepdf.com/reader/full/presentation-vishwani 18/18

18

Referenceshttp://www.d.umn.edu/~gshute/cs2521/arch/tomasulo.html http://euler.ecs.umass.edu/arch/parts/Part6-tomasulo.pdf http://www.cs.indiana.edu/classes/p415-sjoh/readings/smv/CadenceSMV-docs/smv/tutorial/node36.html#tomasulo1

http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm http://www.eecs.ucf.edu/~lboloni/Teaching/EEL5708_2006/slides/Tomasulo.ppt#268,9,Three Stages of Tomasulo Algorithm http://www.cs.unc.edu/~montek/teaching/fall-03/lectures/lecture-11.ppt#723,4,Tomasulo: Organization http://www.ece.cmu.edu/~jhoe/distribution/2005/741/proj3.pdf

http://www.columbia.edu/acis/history/36091.html