Back to Search
Start Over
Floating accumulator architecture
- Source :
- Microprocessors and Microsystems. 51:8-17
- Publication Year :
- 2017
- Publisher :
- Elsevier BV, 2017.
-
Abstract
- Although technology advancement can pack more and more physical registers in processors, the numbers of architectural registers defined by the instruction set architectures (ISAs) remain relatively small on most modern processors. Exposing more architectural registers to compilers and programmers can improve the effectiveness of compiler optimization and the quality of code. However, increasing the number of architectural registers by simply adding extra bits to the register fields of instructions will expand the code size. Therefore, a better way of exposing more ISA registers without significantly expanding the code size is needed. This paper presents a new ISA called Floating Accumulator Architecture (FAA) that can expand the number of ISA registers without increasing the instruction length. Unlike the accumulator architecture whose accumulator is a fixed, special register, FAA dynamically chooses a register from the general-purpose register file as the accumulator. In other words, the accumulator in FAA is an alias to some register in the register file at any instruction, and the alias relation can be dynamically updated by FAA at any program points. Since the accumulator implicitly stores the result, the destination register field can be omitted from FAA instructions, resulting in a saving of 3 to 5 bits for each instruction. This new free instruction bit space can be utilized in two possible ways: doubling the number of ISA registers of modern 32-bit RISC processors or maintaining the number of ISA registers for 16-bit instructions on embedded processors. This paper presents the result of utilizing the free bit space to double the number of ISA registers from 16 to 32 on ARM processors, and experimental results show that performance can be improved by 7.6% on average for MediaBench benchmarks.
- Subjects :
- Instruction register
Reduced instruction set computing
Computer Networks and Communications
Computer science
Register file
02 engineering and technology
Parallel computing
computer.software_genre
Accumulator (cryptography)
Instruction set
Artificial Intelligence
0202 electrical engineering, electronic engineering, information engineering
Hardware_REGISTER-TRANSFER-LEVELIMPLEMENTATION
business.industry
Processor register
020207 software engineering
Register window
020202 computer hardware & architecture
ARM architecture
Addressing mode
Hardware and Architecture
Operating system
Hardware_CONTROLSTRUCTURESANDMICROPROGRAMMING
Accumulator (computing)
business
computer
Computer hardware
Software
Subjects
Details
- ISSN :
- 01419331
- Volume :
- 51
- Database :
- OpenAIRE
- Journal :
- Microprocessors and Microsystems
- Accession number :
- edsair.doi.dedup.....300f87509c18a36dd871fb42e6f40d7d
- Full Text :
- https://doi.org/10.1016/j.micpro.2017.04.007