Limited Address Range Architecture for Reducing Code Size in Embedded Processors
In embedded systems a processor core must be designed with low power consumption, low cost and small silicon area in mind since program code often resides in on-chip ROM. To obtain small code size, not only the amount of instruction-level parallelism can be restricted by instruction sets, but also the encoding cost can be reduced by restricting the access to register files. However, communication among register files has to be supported by hardware, e.g. buses and wires, and compilers. In this paper, we propose a new type of architecture by limiting the encoding range to a subset of registers in a register file on the one hand, and keeping the overlap among different ranges on the other hand in order to support communication between all the functional units. We also propose the annotated conflict graph approach for modeling the range constraints in this architecture, which can be applied in combination with any scheduler. However, to overcome the phase coupling between address range assignment and scheduling in code generation, in this paper the address range constraints are transformed and integrated with the existing timing, resource and register file constraints. Constraint analysis techniques  are adapted to prune the search spaces based on those constraints. Results show that we can reduce code size up to 24.58% by applying our technique.
KeywordsFunctional Unit Phase Coupling Code Size Register Allocation Constraint Analysis
Unable to display preview. Download preview PDF.
- 2.Bekooij, M., Mesman, B., van Meerbergen, J., Jess, J.A.G.: Constraint analysis for operation assignment in facts. In: Proceedings of the 11st ProRISC/IEEE Benelux Workshop on Circuits, Systems and Signal Processing, Utrecht, The Netherlands, November 2000, pp. 229–236. STW Technology Found (2000)Google Scholar
- 5.Fernandes, M., Llosa, J., Topham, N.: Partitioned schedules for clustered VLIW architecture. In: Proceedings of the 1st Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processors, pp. 130–134. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
- 7.Leupers, R.: Instruction scheduling for clustered VLIW DSPs. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, pp. 291–300. IEEE Computer Society Press, Los Alamitos (2000)Google Scholar
- 8.MAJC architecture tutorual, http://www.sun.com/processors/majc
- 12.Zivojnovic, V., Velarde, J.M., Schlager, C.: Dspstone: A DSP-oriented benchmarking methodology. In: Proceedings of International Conference on Signal Processing Applications and Technology, Waltham, MA, USA, October 1994, pp. 715–720. DSP Associates (1994)Google Scholar