RISC-V-Spezifizierung und Plattformen in Soft- und Hardware sind derzeit für die Erstimplementierung eines c-Codes, dessen funktionalen Check und statische Analysen geeignet.
Die Performanzanalyse und Optimierung fordert dagegen erheblichen Entwicklungsaufwand: ohne trace-fähigen RISC-Chip wird der Anwender einen externen Simulator oder FPGA-Emulator betrachten müssen. Weiterhin ist nicht klar, ob der c-pulp-Compiler derart konfiguriert werden kann, dass er die komprimierten Bitsequenzen verwendet. An generischer Stelle (readme.txt, internet-Suche) ist dazu nichts dokumentiert. Die Kompression müsste im c-Programm auf inline-asm-Ebene, durch direktes Programmieren des zugehörigen Befehlssatzes (e.g. C.asm-befehl regx, regy), gesetzt werden.
Das Vega-Board ist also mit der eingeschränkten Werkzeugkette auf RISC-V-Seite, zunächst kein vollwertiges RISC-V-Labor auf Chipebene. Ein realistisches Szenario ist die Entwicklung einer komplexen Anwendung auf arm-Seite, mit anschließender Portierung für eine effizientere Implementierung auf der RISC-Seite. (ct)
[1] The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation, May 2017.
[2] The RISC-V Instruction Set Manual Volume II: Privileged Architecture Version 1.10, Editors Andrew Waterman and Krste Asanovic, RISC-V Foundation, May 2017.
[3] DVCon Europe Tutorial 7 - Tutorial on RISC-V Design and Verification
[4] The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2, Seite 7, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation, May 2017.
[5] Andrew Waterman. Improving Energy Efficiency and Reducing Code Size with RISC-V Compressed. Master’s thesis, University of California, Berkeley, 2011.
[6] RISC-V External debug Support Version 0.13.1
[7] VEGA-SDK-Manual – Getting Started with RV32M1 SDK (ARM)
[10] VEGA-SDK-Manual – Multicore-Applikationsbericht
[11] RISC-V Tutorial, HiPEAC2019, Valencia
[12] RV32M1 Series Reference Manual
* Die Fachsprache kennt aufgrund ihrer Historie keine deutsch-sprachige Entsprechung für das task der Prozessor-Ebene, den thread.
** Vor der Übersetzung mit dem build-Skript empfiehlt sich auf arm-Seite
eine Ausführung des clean-Skripts.