TimeC: A Time Constraint Language for ILP Processor Compilation

A. Leung, K.V. Palem, and A. Pnueli

Enabled by RISC technologies, low-cost commodity microprocessors are performing at ever increasing levels, significantly via instruction level parallelism (ILP). This in turn increases the opportunities for their use in a variety of day-to-day applications ranging from the simple control of appliances such as microwave ovens, to sophisticated systems for cabin control in modern aircraft. Indeed, "embedded" applications such as these represent segments in the computer industry with great potential for growth. However, this growth is currently impeded by the lack of robust optimizing compiler technologies that support the assured, rapid and inexpensive prototyping of real-time software in the context of microprocessors with ILP. In this paper we describe a novel notation, TimeC, for specifying timing-constraints in programs, independent of the base language being used to develop the embedded application. TimeC and its more ``tractable'' subset Time_tract are designed to enable the fast and automatic synthesis of executable code that meets the timing constraints when possible, with the aid of a conventional compiler and its optimizers.

PART 98: The 5th Annual Australasian Conference on Parallel And Real-Time Systems. 28th - 29th September 1998. The University of Adelaide, Adelaide, Australia.