WebHASE: Tomasulo's Algorithm

Welcome to the WebHASE viewer applet for the HASE simulation of the Tomasulo's Algorithm. The applet may take some time to load

WebHASE creates two Java applet windows, one displaying the model and one containing the Playback Controls which can be used to start, stop, pause and rewind the animation. The animation shows what happens in the simulation model of Tomasulo's Algorithm as instructions and data from the Instruction/Data Source unit are processed. The contents of the Source unit can be viewed by activating the mouse over the Source unit icon and selecting the appropriate View option. Each option brings up a viewing window (note that the viewing windows may sometimes need to be resized).

Demonstration Program

The model contains a Demonstration Program which forms the scalar (dot) product of two 4-element vectors. The following table lists the program instructions in the form in which they are held in the Source Unit's instruction memory and the corresponding pseudo instructions which the Source Unit sends to the Floating-point Operation Stack:

Program instructionsPseudo instructions
LOAD F0 0LD F0 FLB1
LOAD F1 2LD F1 FLB2
MULRS F1 3MUL F1 FLB3
ADDRR F0 F1ADD F0 F1
LOAD F2 4LD F2 FLB4
MULRS F2 5MUL F2 FLB5
ADDRR F0 F2ADD F0 F2
LOAD F3 6LD F3 FLB6
MULRS F3 7MUL F3 FLB1
ADDRR F0 F3ADD F0 F3
LOAD F1 8LD F1 FLB2
MULRS F1 9MUL F1 FLB3
ADDRR F0 F1ADD F0 F1
STORE F0 1ST F0 SDB1
STOP 0STOP 0

Program Actions

As the program executes, the following actions occur in the system:

LD F0 FLB1

LD F1 FLB2

MUL F1 FLB3

ADD F0 F1

LD F2 FLB4

MUL F2 FLB5

ADD F0 F2

LD F3 FLB6

MUL F3 FLB1

ADD F0 F3

LD F1 FLB2

MUL F1 FLB3

ADD F0 F1

ST F0 SDB1

hase@dcs.ed.ac.uk