Date of Award
Summer 2010
Document Type
Thesis
Degree Name
Master of Science (MS)
Department
Electrical & Computer Engineering
Program/Concentration
Computer Engineering
Committee Director
James F. Leathrum, Jr.
Committee Member
Frederic D. McKenzie
Committee Member
Roland R. Mielke
Call Number for Print
Special Collections LD4331.E55 L49 2010
Abstract
A potential solution to improving the utilization of increased thread level parallelism available in modern general purpose CPU's is the inclusion of a hardware scheduler. The hardware scheduler is designed to schedule subroutine calls based on a numerical condition in a high performance memory located on the CPU die, due to which the size of available memory is extremely limited. The main stumbling block in the development of a feasible hardware scheduler is the lack of a method of invoking a scheduled call using a single pointer. The use of a single pointer allows the limited size of the memory to be utilized to the fullest extent. This thesis presents the executable command, a new concept which allows scheduled subroutine calls to be invoked using a single pointer, while also providing a proof-of-concept implementation. The executable command is based on the command pattern. The command pattern is an existing programming concept used to schedule calls, but does not provide the ability to invoke the calI using a single pointer. The code required to invoke the scheduled call is contained within each instance of the executable command. Each instance also contains the values for any parameters required for the call and the information required to build the method reference. The hardware scheduler maintains a pointer to the memory address of each instance of the executable command. The call can then be invoked by branching to the pointer, which triggers the execution of the code stored within the instance of the executable command.
The executable command concept was successfully implemented using assembly, targeting a C++ environment on the x86 architecture. A scheduled call can be successfully invoked using only a single pointer to the instance of the executable command. The results show that the executable command is a viable concept and can be implemented with acceptable overhead. This implementation can be used to further the development of a general purpose hardware scheduler.
Rights
In Copyright. URI: http://rightsstatements.org/vocab/InC/1.0/ This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
DOI
10.25777/s2xd-8g20
Recommended Citation
Lewis, Andrew S..
"The Executable Command in Support of Scheduled Subroutine Calls"
(2010). Master of Science (MS), Thesis, Electrical & Computer Engineering, Old Dominion University, DOI: 10.25777/s2xd-8g20
https://digitalcommons.odu.edu/ece_etds/412