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

读书·基于RISC-V和FPGA的嵌入式系统设计·第3章

72.8051单片机的弊端和指令集架构CISC的缺点

76.RV指令集的特征(⭐)

特权架构和特权指令集是相关但不完全相同的概念。

  • 特权架构(Privileged Architecture)指的是计算机体系结构中用于实现特权级操作的硬件和软件机制。特权架构定义了处理器如何管理特权级别(如操作系统)和用户级别(如应用程序)之间的权限和访问控制。在特权架构中,特权指令集是一部分,用于执行特权级别的操作。

  • 特权指令集(Privileged Instruction Set)是处理器指令集架构中的一部分,用于执行特权级别的操作,例如访问受保护的资源、更改系统状态等。这些指令通常只能由特权级别的程序(如操作系统内核)来执行,用户级别的程序无法直接执行这些指令。

正交分割(Orthogonal Separation)是一种设计原则,旨在将不同功能或权限的部分分开,使它们彼此独立、互不干扰。在计算机系统中,正交分割通常指将用户级指令和特权级指令分开,以提高系统的安全性和稳定性。通过正交分割,用户程序无法直接执行特权指令,从而减少系统受到恶意攻击的风险。

应用二进制接口(Application Binary Interface,ABI)是一种定义了应用程序与操作系统或硬件之间接口规范的标准。ABI规定了二进制程序如何与操作系统进行交互,包括函数调用约定、寄存器使用、数据对齐、异常处理等方面的规范。

在计算机体系结构中,应用二进制接口扮演着至关重要的角色:

  1. 界定应用程序与操作系统的交互方式:ABI规定了二进制程序如何与操作系统进行通信和协作,确保应用程序能够正确地在特定的操作系统环境中运行。
  2. 促进不同编程语言和编译器之间的互操作性:通过遵循ABI标准,不同编程语言和编译器生成的二进制代码可以在相同的操作系统上运行,实现互操作性。
  3. 提高软件的可移植性:遵循ABI标准的软件可以在不同的计算机体系结构或操作系统上运行,降低了软件移植的难度。
  4. 简化软件开发和维护:开发人员可以依赖ABI规范来编写代码,而不必过多关注底层的硬件或操作系统细节,从而简化了软件开发和维护过程。

总之,应用二进制接口在计算机体系结构中扮演着桥梁的角色,连接了应用程序和操作系统之间的交互,促进了软件的可移植性、互操作性和开发效率。

 

将用户指令集和特权架构做正交分割可以使不同特权架构的处理器在应用二进制接口(ABI)层面做到代码相互兼容的原因如下:

  1. 统一接口规范:通过将用户指令集和特权架构分开设计,可以确保应用程序与操作系统之间的接口规范是统一的,不受特权架构的影响。这样,无论不同特权架构的处理器内部如何实现,只要它们遵循相同的ABI规范,就可以保证应用程序在各种处理器上都能正确运行。

  2. 屏蔽底层细节:正交分割将用户指令和特权指令分开,使得应用程序无需直接访问特权级别的操作,从而屏蔽了底层特权架构的差异。应用程序只需调用操作系统提供的标准接口,而不必关心不同特权架构处理器的具体实现细节。

  3. 提高可移植性:由于ABI定义了应用程序与操作系统之间的标准接口规范,因此遵循ABI规范的应用程序可以在不同特权架构的处理器上运行,实现了代码的可移植性。即使处理器的特权架构不同,只要它们支持相同的ABI,就可以保证应用程序的兼容性。

综上所述,通过正交分割将用户指令集和特权架构分开设计,可以使得不同特权架构的处理器在应用二进制接口层面做到代码相互兼容,从而提高了软件的可移植性和互操作性。

 78.指令延迟槽的作用

79.开场白,收场白代码

79.毫码程序

83.编译器对高级语言函数调用约定产生的影响

85.RV对条件编码的舍弃

85.立即数符号位扩展

--------------------

中间都是指令讲解,我看过《架构设计之道》,所以有所了解,就暂且不看了

---------------------

114.关于开场白与收场白的处理

读到3.6特权架构暂且结束

本次进度达到1/3,时间:14:30 - 17:20  2h + 50min

                                         20:00 - 22:30  2h + 30min

                                         22:40 - 24:30  1h + 50min

        统共: 约7个小时阅读,读到了117页,速度不太快。

                        因为有些章节是之前了解过的,重新看一遍,大概是自己读着读着又神游物外了

                        大概21:00之后出问题比较大,也就是占7小时的3.5净小时,一半的低效时间

                        原因分析:晚上约人出去谈事情,校园跑完了还记录失败,分神有点厉害

--------------------------------------------------------------------------------------------------------

明天课少,争取把书本看完,然后开始看代码相关的操作事宜

http://www.lryc.cn/news/312560.html

相关文章:

  • 本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)
  • MacOS安装反编译工具JD-GUI 版本需要1.8+
  • 计算机大数据毕业设计-基于Flask的旅游推荐可视化系统的设计与实现
  • java实现pdf转word
  • 【操作系统概念】 第4章:线程
  • STM32/GD32——I2C通信协议
  • Apache Paimon 使用之Creating Catalogs
  • IntelliJ IDEA分支svn
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • Vue开发实例(七)Axios的安装与使用
  • 2024.3.6
  • 抖音视频批量采集软件|视频评论下载工具
  • 苹果 Vision Pro零售部件成本价格分析
  • Seurat 中的数据可视化方法
  • ImportError: cannot import name ‘InterpolationMode‘
  • HSRP和VRRP
  • C及C++每日练习(1)
  • Oracle 12c dataguard查看主备库同步情况的新变化
  • 时间序列-AR MA ARIMA
  • Spring Boot(六十六):集成Alibaba Druid 连接池
  • leetcode 经典题目42.接雨水
  • 高防服务器的主要作用有哪些?
  • 【30 天 JavaScript 挑战】学习笔记
  • 生成 Linux/ubuntu/Debian 上已安装软件包的列表
  • 精品中国货出海wordpress外贸独立站建站模板
  • 使用Animated.View实现全屏页面可以向下拖动,松开手指页面返回原处的效果
  • 【教程】uni-app iOS打包解决profile文件与私钥证书不匹配问题
  • 预约自习室
  • 网络安全审计是什么意思?与等保测评有什么区别?
  • HarmonyOS学习——HarmonyOS习题