iT邦幫忙

risc-v相關文章
共有 131 則文章
鐵人賽 Software Development DAY 1

技術 一次搞懂 ISA、CISC 與 RISC

1945 年 6 月 30 日,Von Neumann 與他的工作夥伴因為曼哈頓工程中使用到了大量的運算,所以採用了當時最先進的電腦 Mark I 和 ENIA...

技術 RISC-V on Rust 從零開始(9) - 實作memory model

CPU指令可以分成兩大類,一是操作CPU內部暫存器的算術邏輯指令,一是存取記憶體,也就是所謂的load/store指令。要模擬算術邏輯指令,用先前所定義的Cor...

鐵人賽 Software Development DAY 5

技術 RISC V::RV32I 指令介紹

本文目標 學習 RV32I 進入正題 RV32I 是 32-bit 的基本整數指令集,該指令集會使用到 32 個暫存器 (x0-x31),且一共有 47 道...

鐵人賽 Software Development DAY 28

技術 Day-27 C 語言, 變數範圍, volatile, inline

前言 在研讀 xv6 專案程式碼的過程,我們可能會看到各種 C 語言的修飾字以及相關用法,諸如 static, extern, violiate 等等,我們將...

鐵人賽 Software Development DAY 6

技術 RISC V::中斷與異常處理 -- 異常篇

一般在修讀 Operating System 時,都會學習到 Interrupt 的概念,此外,電腦在運作時也會碰到大大小小的問題。你可曾好奇電腦是如何排除這些...

鐵人賽 Software Development DAY 7

技術 RISC V::中斷與異常處理 -- 中斷篇

你可曾想過現今的電腦是如何同時運行多個應用程式?又或是單核心電腦如何做到多工?為銜接之後的議題,我們需要先認識 RISC-V CPU 中的中斷機制。 複習: C...

鐵人賽 Software Development DAY 1

達標好文 技術 參賽前言 & 系列文規劃

大家好,我是 Ian,因為一些原因,我在年初的時候接觸到嵌入式系統開發與系統軟體實作。在這一年來也寫了許多文章記錄學習歷程,希望這篇系列文可以激起讀者對 CS...

技術 實作系統呼叫與簡易的 Shell

在先前的文章中,我們已經探討過: 中斷與異常的處理 UNIX-Like Shell 的實作方式 在本篇文章中,作者會嘗試實作基本的系統呼叫以及 Shell...

鐵人賽 Software Development DAY 4

技術 RISC V::關於基本暫存器

本文目標 認識暫存器 建立 Callee save 與 Caller save 的觀念 了解呼叫慣例 進入正題 下圖列舉了 RISC-V 處理器中的通用暫存...

鐵人賽 IT管理
專案開發的鳥事 系列 第 33

技術 RISC-V 晶心科6533 大陸唯一的希望 (上)

本文我寫的很豐富,每個段落是給不同背景的讀者閱讀,讀者可以依照背景不同跳著閱讀。 前言: (其實可以跳過去)我之前是個傳統的台灣人,如果我發現一個特別的技術、商...

鐵人賽 Software Development DAY 8

技術 RISC V::中斷與異常處理 -- PLIC 介紹

本文目標 認識 PLIC, IRQ 與 ISR 綜合先前所學,應用在實際案例上 進入正題 PIC PIC (Programmable Interrupt C...

鐵人賽 Software Development DAY 2

技術 DAY2: RISC-V: 不懂 CSR 那就放棄吧(一)

tags: 鐵人賽 0. 前言 昨日我們已經介紹 RISC-V 的特權架構了,建議先觀看第一天對後續的觀看體驗會更有幫助唷,相信大家對特權架構都有些許概念了,由...

鐵人賽 Software Development DAY 5

技術 Day-04 C 語言的檔案操作, xv6 File System call

前言 今天將複習 C 語言中對於檔案的基本操作,以及檔案中一些重要的概念,如重新導向,資料流等等,最後看到 xv6 中檔案的一些操作,System call,...

鐵人賽 IT管理
專案開發的鳥事 系列 第 34

技術 如何運用RISC-V趨勢賺錢 (下)

前言: (其實可以跳過去)本篇是 RISC-V 晶心科6533 大陸唯一的希望 (上)的延伸文章,即然我們都知道 RISC-V 是正在高速成長的題材,那如何運用...

鐵人賽 Software Development DAY 17

技術 動態記憶體分配

先備知識: Linker Script 的撰寫技巧 撰寫 Linker Script 可以讓編譯器在連結的階段按照我們的想法將每個 Section 放到指令的記...

技術 RISC-V on Rust 從零開始(6) - 使用Spike模擬器

其實RISC-V官方也有開發了一個instruction accurate等級的模擬器Spike,只是主要以C++撰寫。從提交紀錄看起來,這個模擬器已經開發超過...

鐵人賽 Software Development DAY 3

技術 組譯器與連結器 (上)

本文目標 理解 RISC-V 基礎指令集 假指令 (pseudo instruction)、擴展指令集 組譯器與組合語言 組譯器 組譯器 (Assemble...

鐵人賽 Software Development DAY 1

技術 透過 RISC-V 模擬器搞懂指令管線化

本文目標 理解處理器在各個 stage 會有何種行為 Pinpline 的概念 現代處理器面臨的挑戰 追蹤原始碼 進入正題 本篇文章藉由閱讀 rv32emu...

鐵人賽 Software Development DAY 4

技術 DAY4: RISC-V: CSR指令用法

tags: 鐵人賽 0. 前言 今天我們來聊聊該如何使用這些 CSR 指令呢,前些日子裡我們已經有介紹許多 CSR 了,可以先觀看 DAY2 以及 DAY3...

鐵人賽 Software Development DAY 10

技術 予焦啦!RISC-V 虛擬記憶體機制簡說

本節是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e48002c1 為基準做的實驗 予焦啦!昨日最後觀察到的錯誤...

技術 DevFest'21 Hsinchu & Taichung 議程錄影上線啦!

今年的 DevFest Hsinchu & Taichung 已經在上週六順利結束了!感謝 Ryan 的邀請讓我有機會在學生時期站上 DevFest 的...

鐵人賽 Software Development DAY 5

技術 予焦啦!支援 RISC-V 權限指令與暫存器

本節是以 Golang 上游 1a708bcf1d17171056a42ec1597ca8848c854d2a 為基準做的實驗。 予焦啦!回顧昨日,當我們期...

技術 RISC-V on Rust 從零開始(5) - RISC-V 指令集分析

有了基本檔案架構後,開始動工指令的部分。RISC-V將指令分成數個子集,其中包括RV32I、RV32E、RV64I、RV128I四套整數指令集,以及約14套擴充...

鐵人賽 Software Development DAY 24

技術 淺談特權模式與模式切換

恐龍書上的 User Mode 與 Kernel Mode 在恐龍書中有提到,作業系統一般會在 User Mode 與 Kernel Mode 之間切換,Ker...

鐵人賽 Software Development DAY 1

技術 DAY1: RISC-V: 大綱與特權模式

DAY1: RISC-V: 大綱與特權模式 0. 前言 第一次參與這個比賽,既期待又怕沒有足夠實力體力完成,看著前人所寫的文章洋洋灑灑,為後人鋪路,不論是技術性...

鐵人賽 Software Development DAY 26

技術 予焦啦!Hello World 與 Uart 機制觀察

本節是以 Golang 上游 7ee4c1665477c6cf574cb9128deaf9d00906c69f 為基準做的實驗 予焦啦!針對外部中斷的機制,...

鐵人賽 Software Development DAY 3

技術 DAY3: RISC-V: 不懂 CSR 那就放棄吧(二)

tags: 鐵人賽 0. 前言 昨日已經先介紹了一部分的 CSR 還沒看過的人,可以先去複習昨日文章之後,再觀看本篇會較恰當喔,今日就讓我們一同繼續認識 CSR...

鐵人賽 Software Development DAY 6

技術 DAY6: RISC-V: 三分鐘學會 PLIC 流程之外部中斷

tags: 鐵人賽 0. 前言 前幾日已經介紹完,基本 risc-v 的知識了,還沒觀賞的朋友請先行觀看前幾日的文章,會較恰當喔特權模式CSR 介紹(一)CSR...

鐵人賽 Software Development DAY 4

技術 組譯器與連結器 (下)

本文目標 了解連結器與常見的連結方式 Lazy-binding 建立對 elf file format 的基本認知 連結器的用途 連結器讓我們能夠對各個獨立...

鐵人賽 Software Development DAY 16

技術 Hello, OS!

資料傳輸 常見的資料傳輸方式有兩種: Serial將一串資料拆成多個資料,一次傳一個資料。 pros: 成本低 Parallel有多條傳輸線,因此可以...