by Rahul Razdan, Michael D. Smith
in Proceedings of the 27th Annual International Symposium on Microarchitecture
http://www.eecs.harvard.edu/hube/publications/micro94.ps
Add To MetaCart
Abstract:
This paper explores a novel way to incorporate hardware-programmable resources into a processor microarchitecture to improve the performance of general-purpose applications. Through a coupling of compile-time analysis routines and hardware synthesis tools, we automatically configure a given set of the hardware-programmable functional units (PFUs) and thus augment the base instruction set architecture so that it better meets the instruction set needs of each application. We refer to this new class of general-purpose computers as PRogrammable Instruction Set Computers (PRISC). Although similar in concept, the PRISC approach differs from dynamically programmable microcode because in PRISC we define entirely-new primitive datapath operations. In this paper, we concentrate on the microarchitectural design of the simplest form of PRISC---a RISC microprocessor with a single PFU that only evaluates combinational functions. We briefly discuss the operating system and the programming language compilation techniques that are needed to successfully build PRISC and, we present performance results from a proof-of-concept study. With the inclusion of a single 32-bit-wide PFU whose hardware cost is less than that of a 1 kilobyte SRAM, our study shows a 22 % improvement in processor performance on the SPECint92 benchmarks.
Citations
|
3148
|
Computer architecture : a quantitative approach, 3rd ed
– Hennessy, Patterson, et al.
- 2003
|
|
264
|
Effective compiler support for predicated execution using the hyperblock
– Mahlke, Lin, et al.
- 1992
|
|
214
|
Conversion of control dependence to data dependence
– ALLEN, KENNEDY, et al.
|
|
149
|
MIS: A Multiple-Level Logic Optimization System
– Brayton, Rudell, et al.
- 1987
|
|
147
|
Processor Reconfiguration through Instruction-Set Metamorphosis
– Athanas, H
- 1993
|
|
100
|
Programmable active memories: a performance assessment
– Bertin, Roncin, et al.
- 1993
|
|
69
|
Fast Implementation of of RSA Cryptography
– Shand, Vuillemin
- 1993
|
|
42
|
PRISC: Programmable Reduced Instruction Set Computers
– Razdan
- 1994
|
|
30
|
Performance Evaluation Corporation (SPEC
– Standard
- 2001
|
|
28
|
Algorithmic and Register-Transfer Level: The System Architect’s Workbench
– Thomas, Lagnese, et al.
- 1990
|
|
16
|
Automatic Design of Computer Instruction Sets
– Holmer
- 1993
|
|
14
|
Hardware speedups in long integer multiplication
– Shand, Bertin, et al.
- 1991
|
|
12
|
Dynamic problem-oriented redefinition of computer architecture via microprogramming
– Rauscher, Agrawala
- 1978
|
|
11
|
Introduction to Programmable Active Memories. Systolic Array Processors
– Bertin, Roncin, et al.
- 1989
|
|
10
|
et al., “A 200-MHz 64-bit dual-issue CMOS microprocessor
– Dobberpuhl
- 1992
|
|
8
|
Viewing instruction set design as an optimization problem
– Holmer, Despain
- 1991
|
|
8
|
A Field Programmable Accelerator for Compiled-Code Applications
– Lewis, Ierssel, et al.
- 1993
|
|
5
|
Beyond Superscalar Using FPGAs
– Iseli, Sanchez
- 1993
|
|
4
|
et al. Field-Programmable Gate Arrays
– Brown
- 1992
|
|
4
|
Vertical Migration for Performance Enhancement in Layered Hardware/Firmware/Software Systems
– Stockenberg, Dam
- 1978
|
|
3
|
Heuristic Synthesis of Microprogrammed Computer Architecture
– Abd-alla, Karlgaard
- 1974
|
|
3
|
et al. The Splash 2 Processor and Applications
– Arnold
- 1993
|
|
2
|
Using a Computer to Design Computer Instruction Sets
– Haney
- 1968
|
|
1
|
Techniques of Program Execution with a Writable Control Memory
– Liu, Mowle
- 1978
|
|
1
|
Tracing with pixie. Computer Systems Lab
– Smith
- 1991
|
|
1
|
Programmable Gate Array
– Corporation
- 1989
|