最後一天,如同昨天說的,今天至少會把IMA三個extension的test全部通過。 RV64M TEST首先我們先試著透過原先建立好的環境試著跑看看RV64M...
Regression tool modify & log system 昨天演到RV64I執行時有遇到諸多bug,我們重新修改debug log及scr...
今天的任務就是要把RISC-V Test跑起來,然後看有哪些錯誤。 RISC-V TEST Pass/Fail判斷 首先我們觀察RISC-V Test發現他最後...
RISC-V M Extension 與昨天介紹的A Extension不同,M Extension很好理解,就是乘法和除法的指令。之前在介紹I-instruc...
RISC-V A-extension RISC-V的A-extension指的是atomic instruction extension,而atomic ins...
System Instruction System Instruction指的是跟系統息息相關的指令,例如前面有敘述過的CSR指令,又或者是今天要介紹的ecal...
ELF今天要來實作ELF Loader,那什麼是ELF呢,我們又為什麼要做ELF Loader呢?ELF指的是可執行與可鏈結格式(Executable and...
Another Little RISC-V ISA Simulator Another Little RISC-V ISA Simulator(ALISS)是我...
評價模擬器 在介紹模擬器種類時有和大家科普模擬器根據目的不同會有不同的實現方式,而這些實現方式也會影響模擬器的模擬速度,模擬經度,模擬準確度等,因此在最後下了一...
處理器為什麼需要模擬器呢? 在前面的章節我們有簡單介紹模擬器與仿真器的不同,同時也說明了根據不同的使用場景我們該如何選擇使用模擬器或者是仿真器。不過話說回來,為...
提到模擬器,大家會想到什麼呢? 我想應該大部分的人直覺會先想到的是手機模擬器吧,只要在Google搜尋輸入模擬器,最先看到的無非是各大手機模擬器品牌的廣告,內容...
重新複習operating system,但卻發現nachos真的太舊了,還只能安裝在32位元的linux上,因此轉向改裝xv6-riscv。 在64位元Ubu...
前言: (其實可以跳過去)本篇是 RISC-V 晶心科6533 大陸唯一的希望 (上)的延伸文章,即然我們都知道 RISC-V 是正在高速成長的題材,那如何運用...
本文我寫的很豐富,每個段落是給不同背景的讀者閱讀,讀者可以依照背景不同跳著閱讀。 前言: (其實可以跳過去)我之前是個傳統的台灣人,如果我發現一個特別的技術、商...
前言 前面我們看到了整個 Switch Thread 的運作,首先會有 Timer Interrupt 產生 trap,接著 yield() 會將 Proce...
前言 在研讀 xv6 專案程式碼的過程,我們可能會看到各種 C 語言的修飾字以及相關用法,諸如 static, extern, violiate 等等,我們將...
前言 昨天我們簡單的介紹了 Thread 的一些基本概念,以及 Thread 是如何進行切換的,最後通過一個簡單的實驗去證明 compute bound th...
前言 在這一篇文章中,我們將會介紹何謂 Thread,和 Process 之間有什麼樣的區別,前面介紹的 Thread 和 Process 的差別是理論上的差...
前言 前面我們提到了 Process 的概念,我們知道一個位於 user space 執行中的程式為 Process,而 Process 有虛擬記憶體的概念,...
前言 前面我們介紹了多 Process 會遇到的 race condition 的問題,以及如何使用 lock 的機制進行處理,後面提到了 xv6 中 Spi...
tags: 鐵人賽 前言 今日天氣不錯,就讓我們正式開始介紹 Sscofpmf 這個 extension 吧。 介紹 現有的 Privilege SPEC 已經...
前言 如果一個應用程式想要使用多個 CPU 的核心 (thread),並且使用了 System call,將會觸發 trap,而多個核心使用 System c...
tags: 鐵人賽 0.前言 好的,昨天已經簡單介紹了perf的使用方法,那今天來介紹一些深度的一些問題,也就是過去risc-v架構上使用perf會有一些限制,...
前言 繼續前面 UART TOP 的部分,下面將介紹 UART Bottom 的部分,也就是關於 Interrupt 的處理,並從 Interrupt 的處理...
tags: 鐵人賽 0. 前言 今天開始聊聊perf,不免俗當然要介紹一下perf是甚麼?perf可以用在哪?perf要怎麼使用?都會在接下來的幾天慢慢介紹,另...
tags: 鐵人賽 前言 今日的這篇是參考了某個國外網站做的統整,筆者認為挺不錯的,因此也翻譯之後做整理 overview MSI 不需要 interrupt...
前言 前面我們知道在 xv6 啟動後,Shell 會輸出 $ 到 Console 上,而我們可以追蹤產生 $ 的行為了解 UART 的運作,以及介紹一下 Dr...
tags: 鐵人賽 Identification of incoming MSIs for a virtual machine IOMMU 必須識別來自設備 M...
前言 在前面我們介紹了 page fault 以及 lazy page allocation 的概念,而我們在 usertrap() 中通過 scause C...
tags: 鐵人賽 正文開始 IOMMU 可以選擇性的支援 memory resident interrupt file(以下簡稱 MRIF),如果實作了,使用...