Show simple item record

dc.contributor.authorAnderson, Erik Konrad
dc.date.accessioned2021-10-08T18:40:42Z
dc.date.available2021-10-08T18:40:42Z
dc.date.issued2007-05-31
dc.identifier.urihttp://hdl.handle.net/1808/31945
dc.descriptionThesis (Ph.D.)--University of Kansas, Electrical Engineering & Computer Science, 2007.en_US
dc.description.abstractReconfigurable computing is often lauded as having the potential to bridge the performance gap between computational needs and computational resources. Although numerous successes exist, difficulties persist bridging the CPU/FPGA boundary due to relegating hardware and software systems as separate and inconsistent computational models. Alternatively, the work presented in this thesis proposes using parallel programming models to abstract the CPU/FPGA boundary. Computational tasks would exist either as traditional CPU bound threads or as custom hardware threads running within the FPGA.

Achieving an abstract parallel programming model that spans the hardware/software boundary depends on: extending an existing software parallel programming model into hardware, abstracting communication between hardware and software tasks, and providing equivalent high-level language constructs for hardware tasks. This thesis demonstrates that a shared memory multi-threaded programming model with high-level language semantics may be extended to hardware, consequently abstracting the hardware/software boundary.

The research for this thesis was conducted in three phases, and used the KU-developed Hybridthread Computational Model as its base operating system and platform. The first phase extended the semantics of a running thread to a new, independent and standard hardware system support layer known as the Hardware Thread Interface (HWTI). In this phase hardware threads are given a standard interface providing communication between the hardware thread and system. The second phase of the research extended and augmented the initial design to support a meaningful abstraction. Mechanisms in this phase include globally distributed local memory, a standard function call stack including support for recursion, high level language semantics, and a remote procedure call model. The third phase evaluated the HWTI by comparing the semantic and implementation differences between hardware and software threads, by using an adapted POSIX conformance and stress test-suite, and by demonstrating that well-known algorithms may be translated and ran as hardware threads using the HWTI.

This thesis concludes that parallel programming models can abstract the hardware/software boundary. Creating a meaningful abstraction depends both on migrating the communication and synchronization policies to hardware, but also providing high level language semantics to each computational tasks.
en_US
dc.publisherUniversity of Kansasen_US
dc.rightsThis item is protected by copyright and unless otherwise specified the copyright of this thesis/dissertation is held by the author.en_US
dc.subjectApplied sciencesen_US
dc.subjectHardwareen_US
dc.subjectReconfigurable computingen_US
dc.subjectSoftwareen_US
dc.subjectSystem supporten_US
dc.titleAbstracting the hardware/software boundary through a standard system support layer and architectureen_US
dc.typeThesisen_US
dc.thesis.degreeDisciplineElectrical Engineering & Computer Science
dc.thesis.degreeLevelPh.D.
kusw.bibid5349193
dc.rights.accessrightsopenAccessen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record