This chapter presents the needs, opportunities, benefits, and techniques surrounding the abstraction of reconfigurable resources. It shows how abstraction affects the application specification process and discusses the issues involved in implementing these abstractions in the operating system and architecture of the reconfigurable computing system. The primary role of the operating system is to provide abstraction. Abstraction benefits the application designer in several ways that include simplifying the design process to remove the burden of low-level details, allowing the application to run on various hardware platforms and capacities, and implementing a virtual machine for each application to prevent interference between them. An operating system, coupled with the proper compilation environment, can simplify the programming of reconfigurable computing systems by providing a well-defined, well-documented compute model that abstracts the structure and capacity of the underlying hardware. This model may explicitly provide constructs for defining hardware tasks (the parts of the application implemented in reconfigurable logic). Like the compute fabric, the communication structures between tasks can be abstracted by the compute model to simplify the design process.
ASJC Scopus subject areas
- Computer Science(all)