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

Share

COinS