A hardware implementation can bring orders of magnitude improvements in performance
and energy consumption over a software implementation. Hardware design, however, can
be extremely difficult. High-level synthesis, the process of compiling software to hardware, promises to make hardware design easier. However, compiling an entire software
program to hardware can be inefficient.
This thesis proposes hardware/software co-design, where computationally intensive
functions are accelerated by hardware, while remaining program segments execute in
software. The work in this thesis builds a framework where user-designated software
functions are automatically compiled to hardware accelerators, which can execute serially or in parallel to work in tandem with a processor.
To support multiple parallel accelerators, new multi-ported cache designs are presented. These caches provide low-latency high-bandwidth data to further improve the
performance of accelerators. An extensive range of cache architectures are explored,
and results show that certain cache architectures significantly outperform others in a processor/accelerator system.
Identifer | oai:union.ndltd.org:TORONTO/oai:tspace.library.utoronto.ca:1807/33380 |
Date | 21 November 2012 |
Creators | Choi, Jongsok |
Contributors | Brown, Stephen, Anderson, Jason |
Source Sets | University of Toronto |
Language | en_ca |
Detected Language | English |
Type | Thesis |
Page generated in 0.0086 seconds