RISC-V是正當紅的指令集架構,
同時近年來有許多精巧且優秀的開源RISC-V simulator,
而筆者過去僅有使用或根據simulator現有框架進行修改的經驗,
未曾從無到有進行simulator的實作,也沒有過參與開源專案,
為此希望能透過這次鐵人賽,從目前常見的RISC-V simulator的介紹到透過C++實作。
最終目標為在實作出來的Simulator上並將Linux boot成功。
可能會使用到及介紹到的軟體:
Spike, Qemu, Gem5, BusyBox, SystemC, BuildRoot ....
提到模擬器,大家會想到什麼呢? 我想應該大部分的人直覺會先想到的是手機模擬器吧,只要在Google搜尋輸入模擬器,最先看到的無非是各大手機模擬器品牌的廣告,內容...
什麼是模擬器,什麼是仿真器? 在開始介紹模擬器之前,我們不免俗地先來定義一下名稱。名不正而言不順,對於連一個變數名稱都可以想好幾分鐘的龜毛(X)有堅持的程式設計...
處理器為什麼需要模擬器呢? 在前面的章節我們有簡單介紹模擬器與仿真器的不同,同時也說明了根據不同的使用場景我們該如何選擇使用模擬器或者是仿真器。不過話說回來,為...
Spike Spike 是RISC-V官方所推出的ISS (ISA Simulator),以C++所寫成,Spike作為ISA Simulator,為前文所提到...
QEMU QEMU(Quick Emulator)是一個開源的虛擬化工具,它可以在不同的硬體平台上運行虛擬機器(VM),而QEMU如同它名稱所表示的,實際上是一...
Gem5 前面我們介紹過作為"功能模擬器"的Spike, 以及作為仿真機的QEMU,今天要講另一個有別於他們的時序模擬器"Gem5...
評價模擬器 在介紹模擬器種類時有和大家科普模擬器根據目的不同會有不同的實現方式,而這些實現方式也會影響模擬器的模擬速度,模擬經度,模擬準確度等,因此在最後下了一...
Another Little RISC-V ISA Simulator Another Little RISC-V ISA Simulator(ALISS)是我...
Jenkins Jenkins是一個開源的持續集成(Continuous Integration,簡稱CI)和持續交付(Continuous Delivery,...
今天的目標是將CMakeList寫好,與Jenkins結合並完成Command Line的介面。而在那之前我們先寫一個CMakeList來方便build流程 C...