Android-Based Simulator To Support Tomasulo Algorithm Teaching and Learning
Android-Based Simulator To Support Tomasulo Algorithm Teaching and Learning
net/publication/318502489
CITATIONS READS
0 1,953
2 authors, including:
Dimitris Kehagias
University of West Attica
20 PUBLICATIONS 34 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Dimitris Kehagias on 01 September 2017.
24
International Journal of Computer Applications (0975 – 8887)
Volume 170 – No.2, July 2017
Figure 1[1]: The basic structure of a MIPS floating-point unit using Tomasulo’s algorithm.
25
International Journal of Computer Applications (0975 – 8887)
Volume 170 – No.2, July 2017
26
International Journal of Computer Applications (0975 – 8887)
Volume 170 – No.2, July 2017
27
International Journal of Computer Applications (0975 – 8887)
Volume 170 – No.2, July 2017
ADD RS / MUL RS: There are two types of reservation EXECUTE: Is the phase during which a functional unit (ALU
stations “ADD RS” and “MUL RS”. One is for ADDD and ADD or ALU MUL) operates on ready operands of an
SUBD instructions, while the second is for MULTD and instruction.
DIVD instructions. Each reservation station is made up of
three fields. The first field in a row holds the opcode for the BROADCAST: When an instruction finishes execution
pending instruction in the form of an arithmetic symbol (+,- broadcasts its results on a common data bus and from there
,*,/, for ADDD, SUBD, MULTD and DIVD instructions into registers and reservation stations.
respectively) and the other two fields hold either operand NEXT EVENT: Allows the user to move to the cycle in which
values, or names of reservation stations or load/store buffers some visible action occurs.
that will provide them.
MEMORY CONTENTS: Memory contents can be seen
ALU ADD / ALU MUL: Functional Units (FUs) to during simulation.
accomplish the execution step of instructions. The “ALU
ADD” FUs are floating point adders which execute ADDD ANIMS: Show or hide animations.
and SUBD instructions while the “ALU MUL” is floating
point multipliers which execute MULTD and DIVD 5. CONCLUSION
instructions. The FUs receive instruction and operand packets A tool to aid students and teachers in an undergraduate
from the RSs and send operand result packets to the common advanced computer architecture course was presented. This
data bus. The number of clock cycles required to execute an tool, an Android based simulator, shows how dynamic
instruction is a parameter read from the hardware scheduling is obtained using Tomasulo's Algorithm. Each
configuration activity at the start of a simulation. stage of the simulation is represented with animation and with
reference to flying information messages in order to give a
All the above mentioned components are interconnected with clear and detail picture of the whole process. Different
a common data bus (CDB), which is used to broadcast result configurations of the simulator can be created, each with a
from the adder, multiplier and the load buffer to the different performance/resource ratio. Initial use of the
reservation stations, the register file and the store buffers. simulator has shown learning effectiveness. The students were
helped to better recognize the process of register renaming. In
The simulation screen provides the user with several choices,
near future the simulator will be evaluated in the classroom
including:
through student surveys.
ISSUE: During the issue process the next -in program order-
instruction is taken from the instruction queue and putted into 6. REFERENCES
a free reservation station of correct kind (ADD RS or MUL [1] Hennessy J. L. and Patterson D. A., “Computer
RS). Architecture: A Quantitative Approach”. Morgan
Kaufmann, 5th Edition, 2012.
DISPATCH: The process of sending an instruction to
execution from a reservation station to a functional unit (ADD [2] Genymotion Android Emulator. Available at:
RS to ALU ADD or MUL RS to ALU MUL). https://www.genymotion.com/account/login. Accessed
on Oct. 2016.
28
International Journal of Computer Applications (0975 – 8887)
Volume 170 – No.2, July 2017
[3] Tomasulo R.M., “An efficient algorithm for exploiting [9] Patterson D. A. and Hennessy J. L., “Computer
multiple arithmetic units”. IBM Journal of Research and Organization and Design - The Hardware/Software
Development, 11(1):25–33, 1967. Interface”. 5th ed., Morgan Kaufmann, 2014.
[4] “Tomasulo’s Algorithm for Dynamic Scheduling”. [10] "CSE P548 - Tomasulo", washington.edu. Washington
Available at: University. 2006. Accessed on Feb. 2017.
http://dark.eit.lth.se/darklab/tomasulo/script/tomasulo.ht
m. Accessed on Feb. 2017. [11] Hwang K. and Jotwani N., “Advanced Computer
Architecture-Parallelism, Scalability, Programmability”.
[5] “Tomasulo’s Algorithm. University of Edinburgh”. 3rd ed., McGraw Hill, 2016.
Available at:
http://www.icsa.inf.ed.ac.uk/research/groups/hase/model [12] “Advanced Computer Architecture”. Available at:
s/tomasulo/index.html. Accessed on Feb. 2017. http://www.cs.teiath.gr/?page_id=6450.
[6] Typanski N., “Tomasulo algorithm simulator [13] Hatfield B. and Rieker M., “Incorporating simulation
(prototype)”. Available at: and implementation into teaching computer
http://nathantypanski.github.io/tomasulo-simulator/ organization and architecture”. 35th ASEE/IEEE
Accessed on Feb. 2017. Frontiers in Education Conf, Indianapolis, USA, pp:
FIG-18, 2005.
[7] University of Massachusetts at Amherst. “Dynamic
Scheduling Using Tomasulo's Algorithm”. Available at: [14] Carpinelli J. D., and Jaramillo F., “Simulation tools for
http://www.ecs.umass.edu/ece/koren/architecture/. digital design and computer organization and
Accessed on Feb. 2017. architecture”. Paper presented at the 31st ASEE/ IEEE
Frontiers in Education Conference, Reno, NV, 2001.
[8] Butler M., “Android: Changing the Mobile Landscape”.
IEEE Pervasive Computing, vol. 10, no. 1, pp. 4 – 7,
January-March 2011.
IJCATM : www.ijcaonline.org 29