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...

Full description

Bibliographic Details
Main Authors: Marc Reichenbach, Johannes Knodtel, Sebastian Rachuj, Dietmar Fey
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