当前位置: 首页 > article >正文

制作一个RISC-V的操作系统一-计算机系统漫游

文章目录

  • 计算机的硬件组成
  • 两种架构
  • 程序的存储与执行
  • 程序语言的设计和进化
    • 一个mini计算机
  • 编程语言的进化
  • 存储设备的层次结构
  • 操作系统

计算机的硬件组成

所有硬件由总线连接起来
在这里插入图片描述

两种架构

总线个数不同,Memory储存内容不同
在这里插入图片描述

程序的存储与执行

首先编译和链接某c文件,此时得到的可执行文件在磁盘中
当要运行时才将其加载进入内存。
把机器指令取到寄存器,然后翻译,再执行,然后再取指,如此循环
通过晶振,即主频,主频越快循环越快
将内存中的指令一条一条执行

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

程序语言的设计和进化

一个mini计算机

假设此时实现a+b
在这里插入图片描述
a+b的实现可分为图中的四步
指令的编码方式不同
第1,2,4个用的是第一种
第3个用的是第三种(此时最高两位无意义,因为用不到)

在这里插入图片描述
PC指向要运行的指令的地址(将要运行)
此时指向第一个位置的内容,将该位置的内容放入指令寄存器
在这里插入图片描述
翻译指令寄存器的内容
在这里插入图片描述
执行第一条指令
在这里插入图片描述
执行第二条指令
在这里插入图片描述
执行第三条指令
在这里插入图片描述
执行第四条指令
在这里插入图片描述

编程语言的进化

在这里插入图片描述

存储设备的层次结构

把用得多的放到离CPU近的地方
在这里插入图片描述

操作系统

系统调用是应用程序到操作系统的接口
指令集架构ISA又是操作系统到硬件的接口

操作系统作用

  • 防止应用程序有错误时直接访问硬件导致硬件出问题
  • 向应用程序提供简单一致的抽象接口来访问复杂的多种外设硬件

感觉就是个中间人防止应用程序直接访问硬件造成的一些不好的影响
在这里插入图片描述


http://www.kler.cn/news/156316.html

相关文章:

  • 问CHAT:怎样保持数据库中数据的完整性?
  • 23种设计模式之C++实践(二)
  • java基础之HashSet详解
  • uniapp连接蓝牙称(接收,发送)
  • Oracle下统计平均用餐时间、用餐总量、好评率
  • Mars3d标绘的时候通过绑定单击事件,查询点击落点的图层类型
  • “微流控芯片建模与肿瘤标志物/感染性疾病细胞分析:合成生物学的新前沿“
  • 编织魔法——我与计算机的不解之缘
  • STL中使用[]重载的类
  • dart 控制台应用
  • 小程序如何刷新当前页面?
  • SQL server 2016安装
  • IEEE 机器人最优控制开源库 Model-based Optimization for Robotics
  • 【开源】基于JAVA的校园电商物流云平台
  • 【C++】sizeof()、strlen()、length()\以及size()用法区别
  • 【每日一题】1038. 从二叉搜索树到更大和树-2023.12.4
  • python-GC机制、装饰器、生成器、迭代器、三元表达式、列表生成式、生成器表达式、函数递归、面向对象、
  • 【数据结构】八大排序 (三)
  • 如何精准操作无人机自动停机坪?
  • (c语言进阶)作业讲解
  • Docker pull 命令
  • 网件R8500 trojan
  • 技术前沿丨Teranode如何实现无限扩容
  • 36、红外遥控(外部中断)
  • 数据库事务的隔离级别
  • PyQt实战 创建一个PyQt5项目
  • 【算法】滑动窗口题单——5.多指针滑动窗口⭐
  • LabVIEW通过编程将图形类控件的X轴显示为时间戳
  • easyrecovery2024绿色版中文语言电脑数据恢复工具
  • 网络层之SDN基本概念、路由算法和路由协议