从头开发一个RISC-V的操作系统(一)计算机系统漫游

文章目录

目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。

前提

这个系列的大部分文章和知识来自于:完结 循序渐进,学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春,以及相关的github地址。

在这个过程中,这个系列相当于是我的学习笔记,做个记录。

计算机的硬件组成

计算机通过总线连接不同的设备,CPU(Central Processing Unit) 和 内存(Memory)之间通过IO桥进行连接。程序保存在硬盘(Disk)中。一个简易的CPU主要有算数逻辑单元(Arithmetic Logical Unit)、控制单元(Control Unit)、寄存器(Register)三部分,其中ALU用来做计算,CU用来取指令、译码等,寄存器用来存储数据。

计算机有两种架构:冯诺依曼架构和哈佛架构,它们之间的区别是:冯诺依曼架构会将指令和数据存储在一个memory里,而哈佛架构会将指令和数据分别存储在两个memory里。

程序的存储与执行

当我们有一个.c程序,通过编译器进行编译链接后就会输出一个可执行文件(也就是二进制文件,包括了指令和数据),当我们运行这个可执行文件时,首先它会被加载到内存中,然后CU会在内存读取这些指令(取指),然后对每一条指令进行解析(译码),最终执行每一条指令。CU里有一个指令寄存器和一个程序计数器,它们的作用分别是对指令进行译码和记录指令在内存中的地址(我们知道,指令是保存在内存中的,所以我们必须知道某一条指令在内存中的地址,才可以获取它)。

操作系统

CPU根据不同的指令集架构(ISA)进行设计,应用程序在计算机中是最顶层的,硬件是最底层,它们的中间是操作系统。应用程序和操作系统之间有一个接口,称为系统调用。操作系统和底层硬件之间也有一个接口,称为指令集架构。

相关推荐
OpenAnolis小助手19 小时前
RISC-V 基础软件的工程化与性能优化实践
性能优化·操作系统·龙蜥社区·risc-v
电子科技圈8 天前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
OpenAnolis小助手8 天前
多租户公有云共享 CXL 内存池场景下的内存卸载研究
人工智能·操作系统·龙蜥社区·risc-v·agentic os
@嵌入式扫地僧11 天前
沁恒 MRS Agent RISC-V 开发提效实战:从自然语言需求到芯片工程落地全流程指南
risc-v·代码生成·嵌入式ai·开发效率·沁恒mrs
dadaobusi11 天前
riscv64 ubuntu linux version
risc-v
MounRiver_Studio16 天前
原生集成AI 能力的 RISC-V IDE:第三代 MounRiver Studio 正式发布
ide·ai·agent·risc-v
Imagination官方博客16 天前
从开源驱动到完整软件栈:Imagination 助力 RISC-V 图形生态发展
开源·risc-v
国科安芯17 天前
开放指令集的空间之路:RISC-V微控制器在商业航天中的生态价值与自主性评述
嵌入式硬件·mcu·risc-v·低轨卫星·商业航天·抗辐射
潜创微科技17 天前
CH592:集成 BLE 的青稞 RISC-V 无线 MCU
c语言·单片机·risc-v·无线投屏·低延迟·沁恒
dadaobusi18 天前
学习:RISC-V 虚拟化/H 扩展 语境 VTW 和 VTVM
risc-v