An instruction set and microarchitecture for instruction level distributed processing
- 1 May 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 30 (2) , 71-81
- https://doi.org/10.1145/545214.545224
Abstract
An instruction set architecture (ISA) suitable for future microprocessor design constraints is proposed. The ISA has hierarchical register files with a small number of accumulators at the top. The instruction stream is divided into chains of dependent instructions (strands) where intra-strand dependences are passed through the accumulator. The general-purpose register file is used for communication between strands and for holding global values that have many consumers.A microarchitecture to support the proposed ISA is proposed and evaluated. The microarchitecture consists of multiple, distributed processing elements. Each PE contains an instruction issue FIFO, a local register (accumulator) and local copy of register file. The overall simplicity, hierarchical value communication, and distributed implementation will provide a very high clock speed and a relatively short pipeline while maintaining a form of superscalar out-of-order execution.Detailed timing simulations using translated program traces show the proposed microarchitecture is tolerant of global wire latencies. Ignoring the significant clock frequency advantages, a microarchitecture that supports a 4-wide fetch/decode pipeline, 8 serial PEs, and a two-cycle inter-PE communication latency performs as well as a conventional 4-way out-of-order superscalar processor.Keywords
This publication has 15 references indexed in Scilit:
- Dynamic binary translation and optimizationIEEE Transactions on Computers, 2001
- The future of wiresProceedings of the IEEE, 2001
- Instruction-level distributed processingComputer, 2001
- PiranhaPublished by Association for Computing Machinery (ACM) ,2000
- Instruction path coprocessorsPublished by Association for Computing Machinery (ACM) ,2000
- Clock rate versus IPCPublished by Association for Computing Machinery (ACM) ,2000
- The Alpha 21264 microprocessorIEEE Micro, 1999
- Space-time scheduling of instruction-level parallelism on a raw machinePublished by Association for Computing Machinery (ACM) ,1998
- Improving superscalar instruction dispatch and issue by exploiting dynamic code sequencesPublished by Association for Computing Machinery (ACM) ,1997
- Multiscalar processorsPublished by Association for Computing Machinery (ACM) ,1995