iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

從零開始的RISC-V ISA Simulator (Another Little RISC-V ISA Simulator) 系列

RISC-V是正當紅的指令集架構,
同時近年來有許多精巧且優秀的開源RISC-V simulator,
而筆者過去僅有使用或根據simulator現有框架進行修改的經驗,
未曾從無到有進行simulator的實作,也沒有過參與開源專案,
為此希望能透過這次鐵人賽,從目前常見的RISC-V simulator的介紹到透過C++實作。

最終目標為在實作出來的Simulator上並將Linux boot成功。

可能會使用到及介紹到的軟體:
Spike, Qemu, Gem5, BusyBox, SystemC, BuildRoot ....

鐵人鍊成 | 共 30 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 1 - 從什麼是模擬器開始的起點

提到模擬器,大家會想到什麼呢? 我想應該大部分的人直覺會先想到的是手機模擬器吧,只要在Google搜尋輸入模擬器,最先看到的無非是各大手機模擬器品牌的廣告,內容...

2023-09-16 ‧ 由 yoga57894 分享
DAY 2

Day 2 - 關於模擬器和仿真器的二三事

什麼是模擬器,什麼是仿真器? 在開始介紹模擬器之前,我們不免俗地先來定義一下名稱。名不正而言不順,對於連一個變數名稱都可以想好幾分鐘的龜毛(X)有堅持的程式設計...

2023-09-17 ‧ 由 yoga57894 分享
DAY 3

Day 3 - 處理器的模擬器

處理器為什麼需要模擬器呢? 在前面的章節我們有簡單介紹模擬器與仿真器的不同,同時也說明了根據不同的使用場景我們該如何選擇使用模擬器或者是仿真器。不過話說回來,為...

2023-09-18 ‧ 由 yoga57894 分享
DAY 4

Day 4 - Spike , RISC-V官方ISA simulator

Spike Spike 是RISC-V官方所推出的ISS (ISA Simulator),以C++所寫成,Spike作為ISA Simulator,為前文所提到...

2023-09-19 ‧ 由 yoga57894 分享
DAY 5

Day 5 QEMU-功能強大且快速的仿真器

QEMU QEMU(Quick Emulator)是一個開源的虛擬化工具,它可以在不同的硬體平台上運行虛擬機器(VM),而QEMU如同它名稱所表示的,實際上是一...

2023-09-20 ‧ 由 yoga57894 分享
DAY 6

Day 6 - Gem5, 學習處理器架構的好平台

Gem5 前面我們介紹過作為"功能模擬器"的Spike, 以及作為仿真機的QEMU,今天要講另一個有別於他們的時序模擬器"Gem5...

2023-09-21 ‧ 由 yoga57894 分享
DAY 7

Day 7 -番外篇 : 評價模擬器的六大指標

評價模擬器 在介紹模擬器種類時有和大家科普模擬器根據目的不同會有不同的實現方式,而這些實現方式也會影響模擬器的模擬速度,模擬經度,模擬準確度等,因此在最後下了一...

2023-09-22 ‧ 由 yoga57894 分享
DAY 8

Day 8 - Another Little RISC-V ISA Simulator

Another Little RISC-V ISA Simulator Another Little RISC-V ISA Simulator(ALISS)是我...

2023-09-23 ‧ 由 yoga57894 分享
DAY 9

Day 9 - GIT + Jenkins環境建立

Jenkins Jenkins是一個開源的持續集成(Continuous Integration,簡稱CI)和持續交付(Continuous Delivery,...

2023-09-24 ‧ 由 yoga57894 分享
DAY 10

Day 10 - CMake及Command Line interface

今天的目標是將CMakeList寫好,與Jenkins結合並完成Command Line的介面。而在那之前我們先寫一個CMakeList來方便build流程 C...

2023-09-25 ‧ 由 yoga57894 分享