iT邦幫忙

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

技術 Day-18 Page Fault Overview

前言 我們在前面花了 5 個篇章對於 trap 進行了完整的介紹,並且瞭解了 trap 處理得具體流程,今天我們將看到 page fault 所造成的 tra...

鐵人賽 Software Development DAY 23

技術 DAY23: RISC-V: IOMMU 對 VM MSI 的支援

tags: 鐵人賽 介紹 當系統中存在 IOMMU ,使運行中的 VM(virtual machine)的 guest os 可以直接控制 I/O 設備。IOM...

鐵人賽 Software Development DAY 18

技術 Day-17 Trap (supervisor mode, machine mode), conclusion Trap in xv6

前言 我們簡單的回顧來自於 user mode 的 trap 的流程,整個流程為 uservec 到 usertrap() 再到 usertrapret()...

鐵人賽 Software Development DAY 17

技術 Day-16 xv6 Trap (user mode): Trace exec()

前言 在前面我們看過了整個 trap 的流程,而在今天我們將以 exec() 這個 System call 來追蹤實際 trap 發生的情況。 exec()...

鐵人賽 Software Development DAY 22

技術 DAY22: RISC-V:AIA 之 IPI(Interprocessor Interrupts)

tags: 鐵人賽 前言 今天的 title 有回文ㄝ cool~ 介紹 默認情況下,除非平台具有不同 IPI 機制,否按照 Privileged SPEC ,...

鐵人賽 Software Development DAY 16

技術 Day-15 xv6 Trap (user mode): Trace Trap

前言 前面看完了 ecall 的前後變化,接下來我們將繼續深入追蹤 trap 的流程,查看是如何進行整個 user mode 到 supervisor mod...

鐵人賽 Software Development DAY 21

技術 DAY21: RISC-V: VS level 的 interrupt

tags: 鐵人賽 正文開始! Configuring priorities of major interrupts at VS level 如同 superv...

鐵人賽 Software Development DAY 20

技術 DAY20: RISC-V: Virtual Machines 的 interrupt

tags: 鐵人賽 0. 前言 今日來介紹 VM(virtual machine) 的 interrupt 簡介 當實作 hypervisor extensio...

鐵人賽 Software Development DAY 15

技術 Day-14 xv6 Trap (user mode): overview, ecall

Interrupt 中斷 (Interrupt) 可以用來改變 CPU 執行程式的流程,當 CPU 在執行一個程式時,可以通過 Interrupt 讓 CPU...

鐵人賽 Software Development DAY 19

技術 DAY19: RISC-V: Supervisor level 的 Interrupt

tags: 鐵人賽 0. 前言 跟昨日蠻像的,但今天是介紹 supervisor level 的部分 簡介 當 sip/siph 為 1時,sip/siph...

鐵人賽 Software Development DAY 14

技術 Day-13 Exception vs Interrupt, Trap overview Driver

Synchronize Exception (同步異常) Exception 意思為處理器在執行指令時,遇到了非預期的情況,就稱之為 Exception。 S...

鐵人賽 Software Development DAY 18

技術 DAY18: RISC-V: Machine level 的 Interrupt

tags: 鐵人賽 0. 前言 定義 major interrupt 以及 默認的優先權 下圖列出目前 risc-v 所定義 major interrupt 的...

鐵人賽 Software Development DAY 17

技術 DAY17: RISC-V: 傻傻分不清之 Duo-PLIC

tags: 鐵人賽 0. 前言 今日我們來介紹 Duo-PLIC,為何需要 Duo-PLIC 呢~update:根據最新的 SPEC 描述,RISC-V 不會將...

鐵人賽 Software Development DAY 12

技術 Day-11 xv6 process virtual address space

前言 我們昨天看到了 kernel space 中的 kernel virtual address space,今天我們會看到 user virtual ad...

鐵人賽 Software Development DAY 16

技術 DAY16: RISC-V: APLIC(四)

tags: 鐵人賽 0. 前言 昨日已經介紹 Memory-mapped control region 前 16KB 的各種暫存器,今日我們來介紹 IDC 結構...

鐵人賽 Software Development DAY 11

技術 Day-10 xv6 memory layout kernel virtual address space

前言 在昨天我們看到了 xv6 中記憶體分頁與虛擬記憶體的概念與實作的部分,有了這一些功能,我們就能夠實現作業系統中的隔離性,也就是 process 之間使用...

鐵人賽 Software Development DAY 10

技術 Day-09 xv6 Paging, Page Table

前言 在最一開始的時候,我們知道作業系統有一個很重要的目標,便是做到隔離性的部分,而隔離性這一部分的實作和虛擬記憶體管理有著很大的關係,以下將會介紹記憶體地址...

鐵人賽 Software Development DAY 9

技術 Day-08 xv6 啟動與架構

前言 今日希望通過看到整個 xv6 的啟動過程,來一步步地看到作業系統相關的設計議題,如 memory page 機制,lock,process 等等。 啟動...

鐵人賽 Software Development DAY 14

技術 DAY14: RISC-V: APLIC(二)

tags: 鐵人賽 0. 前言 昨日介紹 APLIC 基本功能與 interrupt source 範圍,今日我們繼續囉~ 1. Hart index numb...

鐵人賽 Software Development DAY 13

技術 DAY13: RISC-V: APLIC(一)

tags: 鐵人賽 0. 前言 今日來介紹 APLIC ,究竟 APLIC 的用途意義是什麼呢?以及跟 PLIC 和 IMSIC 有何不同? 1. APLIC...

鐵人賽 Software Development DAY 8

技術 Day-07 Linker Script File: kernel.ld

前言 今日的文章,將簡單的看過電腦的啟動流程,以及在 xv6 中的 bootloader 和 kernel.ld 這個檔案。 啟動概要 當電腦開機或是重新啟動...

鐵人賽 Software Development DAY 12

技術 DAY12: RISC-V: IMSIC(四)

tags: 鐵人賽 0. 前言 今日我們繼續介紹 IMSIC 今天會是 IMSIC 系列的最後一天~加油!! 1. Top external interrupt...

鐵人賽 Software Development DAY 7

技術 Day-06 RISC-V 簡介, Microkernel vs Monolithic kernel

前言 由於下面在追蹤 xv6 的相關議題,如架構與啟動,會涉及到一些暫存器的操作,以及一些暫存器操作的指令,或是在進行 System call 時,涉及的特權...

鐵人賽 Software Development DAY 11

技術 DAY11: RISC-V: IMSIC(三)

tags: 鐵人賽 0.前言 今日繼續介紹 IMSIC 加油!! 1. CSRs for external interrupts via an IMSIC 軟體...

鐵人賽 Software Development DAY 6

技術 Day-05 I/O 重導向, pipe 概念

前言 在今天我們將運用前面所學的關於檔案操作的 System call,以及 Process 相關的 System call,來實現 I/O 重導向的概念,並...

鐵人賽 Software Development DAY 10

技術 DAY10: RISC-V: IMSIC(二)

tags: 鐵人賽 0. 前言 昨日已經先簡單介紹 IMSIC 、 interrupt ID,以及 interrupt file,進天繼續介紹吧。 1. Int...

鐵人賽 Software Development DAY 5

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

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

鐵人賽 Software Development DAY 9

技術 DAY9: RISC-V: IMSIC(一)

tags: 鐵人賽 0. 前言 建議先觀看之前的文章唷 AIA 簡介 AIA 下所新增的 CSR 今天開始介紹 IMSIC,預計會分為五天,每天學習...

鐵人賽 Software Development DAY 4

技術 Day-03 Process System call

前言 在昨天我們已經順利的啟動 xv6 了,而在 xv6 中實現了 21 種 System call,今天我們將看到一些與 process 有關的 Syste...

鐵人賽 Software Development DAY 3

技術 Day-02 xv6 RISC-V 概要

前言 昨天我們快速地看過作業系統需要達成的主要目標,包含抽象,多工等等。而在這一篇章,我們將了解作業系統的主要服務以及 xv6 作業系統的相關背景,以及 xv...