制作一个RISC-V的操作系统二-RISC-V ISA介绍

文章目录

  • ISA的基本介绍
    • 啥是ISA
    • 为什么要设计ISA
    • CISCvsRISC
    • ISA的宽度
    • 知名ISA介绍
  • RISC-V历史和特点
  • RISC-V发展
  • RISC-V ISA 命名规范
  • 模块化的ISA
  • 通用寄存器
  • Hart
  • 特权级别
  • Control and Status Register(CSR)
  • 内存管理与保护
  • 异常和中断

ISA的基本介绍

啥是ISA

接口规范:可理解为一种标准
Microarchitecture:微架构(是对指令集架构的一种硬件上的实现,如两种硬件架构都可以实现x86,那么可称这两种硬件架构是微架构)
在这里插入图片描述

为什么要设计ISA

为上层软件提供一种抽象,制定规则和约束,让编程者不用操心具体的电路结构或者说不用担心导致硬件运行出问题

CISCvsRISC

在这里插入图片描述

ISA的宽度

在这里插入图片描述
ISA的宽度和指令的宽度无关(即不能说32位的机器,那么指令也是32位)

知名ISA介绍

在这里插入图片描述
CISC:X86
RISC:图中剩下都是

RISC-V历史和特点

在这里插入图片描述

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

RISC-V发展

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

RISC-V ISA 命名规范

在这里插入图片描述
RV32IMA:32位 I模块 M模块 A模块

模块化的ISA

在这里插入图片描述
在这里插入图片描述
32位和64位的指令都是32位,而使用压缩指令集即可使指令为16位
在这里插入图片描述

通用寄存器

在这里插入图片描述

Hart

一个CU:一个指令流
Hart相当于一个指令流
在这里插入图片描述

特权级别

在这里插入图片描述

Control and Status Register(CSR)

在这里插入图片描述

内存管理与保护

Lock:不能使用
在这里插入图片描述

异常和中断

异常会跳转到异常处理程序,执行完后再回来继续执行原指令
中断也跳转到中断处理程序,执行完后再回来执行原指令的下一条指令
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/210514.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合常见问题

目录 Java集合 1.前言2.集合3.Collection接口类3.1 List接口3.1.1 ArrayList(常用)3.1.2 LinkedList(常用)3.1.3 Vector(不常用) 3.2 Set接口3.2.1 HashSet(常用)3.2.2 LinkedHash…

万兆光模块:单模光纤和多模光纤的选择指南

随着网络技术的不断发展,数据传输的速度也越来越快。在这样的背景下,万兆光模块逐渐成为了数据中心和网络设备的必备组件。而在选择万兆光模块时,用户通常会面临一个难题:选择单模还是多模?本文易天光通信将为您解析。…

Web端功能测试的测试方向有哪些?

一、功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链接到…

多模块项目打包lib成aar

首先 我们要理解原理lib和app的gradle配置区别 plugins { id com.android.application } plugins { id "com.android.library" } assembleDebug(assembleRelease)两者分别生成是apk 和aar 对于app来说有包名、有版本号而library没有。 接…

WordPress免费插件大全清单【2023最新】

WordPress已经成为全球范围内最受欢迎的网站建设平台之一。要让您的WordPress网站更具功能性、效率性,并提供卓越的用户体验,插件的选择与使用变得至关重要。 WordPress插件的作用 我们先理解一下插件在WordPress生态系统中的作用。插件是一种能够为Wo…

【shell】

shell 一、shell简介二、shell脚本的执行方式三、shell变量3.1 shell变量介绍3.2 shell变量的定义3.1.1 基本语法3.2.2 定义变量的规则3.2.3 将命令的返回值赋予变量 四、环境变量的设置4.1 基本语法: 五、位置参数变量5.1 基本介绍5.2 基本语法 六、预定义变量6.1 …

C++ Primer 第十六章 模板与泛型编程 重点解读

文章目录 1 定义模板1.1 类模板成员函数的实例化:1.2 在类代码内简化模板类名的使用:1.3 令模板自己的类型参数成为友元(C11)1.4 模板类型别名1.4.1 typedef1.4.2 为模板定义类型别名(C11) 1.5 函数模板与类模板的区别1.6 使用类的…

【Vulnhub 靶场】【CEREAL: 1】【困难】【20210529】

1、环境介绍 靶场介绍:https://www.vulnhub.com/entry/cereal-1,703/ 靶场下载:https://download.vulnhub.com/cereal/Cereal.ova 靶场难度:困难 发布日期:2021年5月29日 文件大小:1.1 GB 靶场作者:Thomas…

外包干了4年,技术退步明显...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

Rocky Linux 9.3 为 PowerPC 64 位带回云和容器镜像

RHEL 克隆版 Rocky Linux 9.3 今天发布了,作为红帽企业 Linux 发行版 CentOS Stream 和 Red Hat Enterprise Linux 的免费替代版本,现在可供下载。 Rocky Linux 9.3 是在 Rocky Linux 9.2 发布 6 个月之后发布的,它带回了 PowerPC 64 位 Lit…

如何正确使用高防IP?高防IP使用教程

随着网络攻击的日益猖獗,越来越多的企业开始重视网络安全,并选择使用高防IP来保护自己的服务器。但是,使用高防IP并不是简单的开通服务就能够达到防护效果的,它需要正确的使用方法才能够发挥出应有的作用。 本文将向大家介绍如何正…

公有云迁移研究——AWS DMS

大纲 1 什么是DMS2 DMS的作用3 DMS在迁移的时候都做些什么4 在使用DMS的时候我们需要做些什么5 操作5.1 创建两个数据库终端节点5.2 创建迁移任务 6 可能遇到的问题7 总结 在本地机房或其他云往AWS上做迁移时,往往会遇到数据库迁移的任务。如果数据量不是特别大&…

一篇吃透大厂面试题,2024找工作一帆风顺。

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

MySQL -DDL 及表类型

DDL 创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification:[DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 1.CHARACTER SET&#xff1a…

Python查看文件列表

os.listdir 是 Python 的一个内置函数,用于列出指定目录中的所有文件和子目录。它接受一个字符串参数,即要列出内容的目录的路径。 列出当前工作目录中的所有文件和子目录 files_and_dirs os.listdir() print(files_and_dirs) 列出指定目录中的所…

支付宝沙箱支付

1. 二维码 1.1 什么是二维码: ​ 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。 ​ 二维条码/二维码&…

LeetCode437.路径总和III

看完题目我就拿直接用递归写了如下代码: class Solution {private int ans;public int pathSum(TreeNode root, int targetSum) {ans 0;dfs(root, targetSum, 0);return ans;}public void dfs(TreeNode root, int targetSum, int sum){if(root null)return;sum r…

深入解析JVM内存结构:Metaspace、堆与垃圾收集器

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

Mysql进阶-事务锁

前置知识-事务 事务简介 事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 就比如: 张三给李四转账1000块钱&#xff0…

龙迅#LT8311X3 USB中继器应用描述!

1. 概述 LT8311X3是一款USB 2.0高速信号中继器,用于补偿ISI引起的高速信号衰减。通过外部下拉电阻器选择的编程补偿增益有助于提高 USB 2.0 高速信号质量并通过 CTS 测试。 2. 特点 • 兼容 USB 2.0、OTG 2.0 和 BC 1.2• 支持 HS、FS、LS 信令 • 自动检测和补偿 U…