「What is RISC-V ? 」 慈大醫資智慧晶片工作坊-I

◎「What is RISC-V ? 」 智慧晶片工作坊
【第一段:開場說明為什麼要學習這樣的架構以及RISC-V應用】
一開始講師與大家說明RISC-V這樣的架構會被大量採用在於MCU(Micro Control Unit,微控制器)/MPU(Micro Processing Unit,微處理器)中,並且同時講述目前世界局勢(如中美貿易戰)是為何影響科技的發展。講師不只是純粹講解技術原理,而是將技術知識代入在場各位參與者的角度來介紹,好比學習這項技術,所需背景課程為數位邏輯數計、計算機組織、計算機結構等。先有架構性的講述前因後果,有助於各位學員們進入與了解這樣的架構所扮演的定位與角色。接著舉例說明當你要設計一顆數位信號處理器(DSP)來處理音頻時,會需要一顆基礎的中央處理器(CPU),當清楚熟悉所選擇的中央處理器(CPU)設計框架時,便可增加客製化指令來完成一顆專屬的專用處理器,在實作這樣的技術中,會需要具有軟硬體整合的方式來達成,所謂的軟體指的是具有寫程式(比如C語言)的能力,並了解資料結構、演算法,能透過程式語言實現,同時也需作業系統(OS)的概念,了解寫好的程式要如何有效率的運作並完成複雜的運算等。而硬體指的是了解數位電路是什麼、熟悉並清楚計算機架構、計算機組織、組合語言(相對C語言更為底層),而最後利用硬體描述語言來實現整個硬體架構的想法。
當建立基本概念之後,接著講解基本設計流程,所需的工具,比如進行模擬可使用verilator、電路整合可使用的EDA(Electronic Design Automation) 工具可使用Vivado等等,講師除了講解工具的功用之外,也說明每項工具在流程中所扮演的角色,以利接下來課程的內容理解。

【第二段:說明RISC-V原理、Pipeline運作架構】
以RISC-V的指令集為起頭,一一介紹各種類型的指令及格式,從I type指令到如何寫跑模擬時會用到的testbench(模擬測試程式),講師皆從頭一步一步講解。並在過程中會強調這麼做的目的性,為的是能讓參與者完整的理解背後的原理。
講解完RISC-V基本規格之後,以Pipeline(管線)的運作架構講解CPU是如何處理指令來完成運算。Pipeline是以5個stage的方式從指令擷取、指令解碼、指令運算到將運算結果寫回記憶體中儲存,最後再進行模擬,將測試指令(組合語言)與testbench(c語言)以verilator這項工具來驗證建立好的指令是否可正常運作及運算正確。透過講師自己所編的講義中的範例,一段段說明並搭配板書的方式清楚解釋給在座的參與者。
在建立整體硬體架構上是以硬體描述語言(Verilog)來完成數位電路,以ORI指令為例詳細講述I type指令。指令運算結束後需將結果存放到記憶體中,而存放的方式分為Big-Endian及Little-Endian兩種,依據不同的放法,指令在記憶體中的位址會有差異。而為了能讓參與者了解Verilog的語法及用法,講師以簡易的4位元加法器為例進行說明。

【第三段:讓同學們上機練習,實際操作ORI指令範例】
經過上午理論及背景知識講解後,下午的活動先複習概念,講師再執行一遍上機的練習,接著讓參與者直接上機操作,透過理論結合實作來加深整個架構的概念。上機過程中,學員們有疑惑時,講師與助教都很用心的解惑,以一桌一位助教為基本,來協助學員完成上機。透過講師、助教及學員三方討論的模式,不單只是單向解決學員們產生的問題,也達到教學相長,互相學習討論的風氣。

【第四段:現場說明如何實作在FPGA上】
講師準備一顆架構完整的RISC-V CPU核心來實際燒在FPGA (Field Programmable Gate Array)板上來實作作業系統中的context-switch。此部分會需要使用EDA 工具(Vivado)來將數位電路燒在FPGA上。因此前段先介紹所使用的工具及使用流程教學,最後將結果呈現給在座的學員們。希望能讓學員更具體了解一顆完整的核心能做到什麼樣的事。整個過程就是需要軟硬體技術整合來完成。

【第五段:整體氣氛與參與者的回饋】
工作坊過程中,講師認真詳細的講解及重視學員們是否能吸收課程內容,並鼓勵學員踴躍提問,強調理論搭配實作的重要性。課程後學員們回饋對於此次工作坊內容,感受到講師上課很專業、用心,內容豐富很充實,受益良多。本次講師為國立東華大學資訊工程學系,蔡正雄教授,以帶入實務的案例和情境題來與大家腦力激盪,課程內容生動又具專業性。最後,講師鼓勵學員們工作坊結束後,可根據提供的線上講義自己動手完成一顆專屬於自己的RISC-V 處理器。
【第六段:結尾】
隨著RISC-V討論度越來越高的時刻,以RISC-V來開發處理器的應用越加廣泛,本次工作坊以RISC-V的基本架構作起頭,以實作過程使學員們感受到RISC-V的運作模式,透過實例的講解,希望能引起學員們的興趣,不僅是認識了解該架構,也期望能替學員們在未來出路上增加領域選擇的靈感。參與完本工作坊,除了能學習到充實的技術外,亦能與時俱進,跟上科技日益更新的腳步。(文/照片:醫學資訊學系)。

2023/5/26 講師進行原理及架構講解 2023/5/26講師與助教協助學員們進行上機

2023/5/26 講解EDA工具及使用教學 2023/5/26 現場操作FPGA實作後的結果

返回頂端