RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems
Redundant number systems (RNS) are a well-known technique to speed up arithmetic circuits. However, in a complete CPU, arithmetic circuits using RNS were only included on subcircuit level e.g. inside the Arithmetic Logic Unit (ALU) for realization of the division. Still, extending this approach to c...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2021-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/9366755/ |
id |
doaj-67f6f84648784b26ae13342803d1c8ff |
---|---|
record_format |
Article |
spelling |
doaj-67f6f84648784b26ae13342803d1c8ff2021-03-30T15:24:13ZengIEEEIEEE Access2169-35362021-01-019436844370010.1109/ACCESS.2021.30632389366755RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number SystemsMarc Reichenbach0https://orcid.org/0000-0002-9687-6247Johannes Knodtel1https://orcid.org/0000-0002-7298-8252Sebastian Rachuj2https://orcid.org/0000-0002-8430-7936Dietmar Fey3Department of Computer Science, Computer Architecture, Faculty of Engineering, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Erlangen, GermanyDepartment of Computer Science, Computer Architecture, Faculty of Engineering, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Erlangen, GermanyDepartment of Computer Science, Computer Architecture, Faculty of Engineering, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Erlangen, GermanyDepartment of Computer Science, Computer Architecture, Faculty of Engineering, Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Erlangen, GermanyRedundant number systems (RNS) are a well-known technique to speed up arithmetic circuits. However, in a complete CPU, arithmetic circuits using RNS were only included on subcircuit level e.g. inside the Arithmetic Logic Unit (ALU) for realization of the division. Still, extending this approach to create a CPU with a complete data path based on RNS can be beneficial for speeding up data processing, due to avoiding conversions in the ALU between RNS and binary number representations. Therefore, with this paper we present a new CPU architecture called RISC-V3 which is compatible to the RISC-V instruction set, but uses an RNS number representation internally to speed up instruction execution times and therefore increase the system performance. RISC-V is very suitable for RNS because it does not have a flags register which is expensive to calculate when using an RNS. To present reliable performance numbers, arithmetic circuits using RNS were realized in different semiconductor technologies. Moreover, an instruction set simulator was used to estimate system performance for a benchmark suite (Embench). Our results show, that we are up to 81% faster with the RISC-V3 architecture compared to a binary one, depending on the executed benchmark and CMOS technology.https://ieeexplore.ieee.org/document/9366755/Arithmetic and logic unitsprocessor architecturesRISCternary arithmetic |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Marc Reichenbach Johannes Knodtel Sebastian Rachuj Dietmar Fey |
spellingShingle |
Marc Reichenbach Johannes Knodtel Sebastian Rachuj Dietmar Fey RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems IEEE Access Arithmetic and logic units processor architectures RISC ternary arithmetic |
author_facet |
Marc Reichenbach Johannes Knodtel Sebastian Rachuj Dietmar Fey |
author_sort |
Marc Reichenbach |
title |
RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems |
title_short |
RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems |
title_full |
RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems |
title_fullStr |
RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems |
title_full_unstemmed |
RISC-V3: A RISC-V Compatible CPU With a Data Path Based on Redundant Number Systems |
title_sort |
risc-v3: a risc-v compatible cpu with a data path based on redundant number systems |
publisher |
IEEE |
series |
IEEE Access |
issn |
2169-3536 |
publishDate |
2021-01-01 |
description |
Redundant number systems (RNS) are a well-known technique to speed up arithmetic circuits. However, in a complete CPU, arithmetic circuits using RNS were only included on subcircuit level e.g. inside the Arithmetic Logic Unit (ALU) for realization of the division. Still, extending this approach to create a CPU with a complete data path based on RNS can be beneficial for speeding up data processing, due to avoiding conversions in the ALU between RNS and binary number representations. Therefore, with this paper we present a new CPU architecture called RISC-V3 which is compatible to the RISC-V instruction set, but uses an RNS number representation internally to speed up instruction execution times and therefore increase the system performance. RISC-V is very suitable for RNS because it does not have a flags register which is expensive to calculate when using an RNS. To present reliable performance numbers, arithmetic circuits using RNS were realized in different semiconductor technologies. Moreover, an instruction set simulator was used to estimate system performance for a benchmark suite (Embench). Our results show, that we are up to 81% faster with the RISC-V3 architecture compared to a binary one, depending on the executed benchmark and CMOS technology. |
topic |
Arithmetic and logic units processor architectures RISC ternary arithmetic |
url |
https://ieeexplore.ieee.org/document/9366755/ |
work_keys_str_mv |
AT marcreichenbach riscv3ariscvcompatiblecpuwithadatapathbasedonredundantnumbersystems AT johannesknodtel riscv3ariscvcompatiblecpuwithadatapathbasedonredundantnumbersystems AT sebastianrachuj riscv3ariscvcompatiblecpuwithadatapathbasedonredundantnumbersystems AT dietmarfey riscv3ariscvcompatiblecpuwithadatapathbasedonredundantnumbersystems |
_version_ |
1724179528262090752 |