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

超标量处理器设计5-指令集体系

1. 简介

指令集体系(ISA)是规定处理器的外在行为的一系列内容的统称,它包括基本数据类型,指令,寄存器,寻址模式,存储系统,中断,异常等内容。

2. 指令类型

  1. 算术指令(add/ xor)
  2. 访存指令(load/store)
  3. 分支指令(branch/jump/return)

3. 异常类型

  1. 处理器的外部事件引起的异常(interrupt)
  2. 虚拟地址到物理地址的转换引起的异常(page fault)
  3. 指令自身引起的错误(undefine, 用户态的非法指令,整数运算时产生溢出)
  4. 指令自身引起的异常(trap)

4. 异常处理

从处理器外部看起来,产生异常的指令之前的所有指令都已经完成了,而这条产生异常的指令及其之后的所有指令都不允许完成。处理器会跳转到对应的异常处理程序的入口地址,开始执行异常处理程序。
截屏2025-05-13 20.50.04.png

5. 小结

  1. 为啥以前用CISC,而现在常用RISC
    以前的内存贵,如果一条指令可以执行很多操作,那么程序总的指令条数就少,程序的代码量少,减少内存的占用。同时寄存器也贵,随着通用寄存器的个数增加,用于编码的rs/rd的位宽也增加,指令码的整体位宽也增加,当然就希望指令功能越复杂越好,从而减少内存占用。
    首先在CISC指令集中,指令的周期数长,并且发现80%的指令只有在20%的时间内被使用。同时,CISC中通用寄存器的个数较少,就会导致程序频繁访问内存,随着CPU和访存时间的差距越来越大,就希望减少内存访问,从而采用RISC.
  2. ARM指令集和MIPS指令集的区别
    ARM支持多种寻址方式,如寄存器间接寻址,变址寻址等,能方便地访问内存中的数据结构。MIPS寻址相对简单,有利于简化硬件设计。
    在立即数的处理上,ARM的立即数位宽有限,额外增加移位量来支持多个数据,但是仍然无法满足32bit的立即数,因此许多立即数需要通过访问存储器来实现,但是MIPS可以通过两条指令来实现该功能,立即数都是16bit,两条指令完成拼接。
http://www.xdnf.cn/news/429319.html

相关文章:

  • uniapp+vue3开发项目之引入vuex状态管理工具
  • 修改(替换)文件中的指定内容并保留文件修改前的时间(即修改前后文件的最后修改时间保持不变)
  • 我们该如何使用DeepSeek帮我们减负?
  • 深度Q网络(DQN)的基本概念
  • 【WebApi】YiFeiWebApi接口安装说明
  • JVM Optimization Learning(七)-GC
  • HttpSession 的运行原理
  • 利用自适应双向对比重建网络与精细通道注意机制实现图像去雾化技术的PyTorch代码解析
  • C语言中的assert
  • Trae IDE:AI深度集成的智能开发环境
  • Linux下使用systemd部署c++服务
  • 星云智控自定义物联网实时监控模板-为何成为痛点?物联网设备的多样化-优雅草卓伊凡
  • 武汉大学无人机视角下的多目标指代理解新基准!RefDrone:无人机场景指代表达理解数据集
  • 推荐算法工程化:ZKmall模板商城的B2C 商城的用户分层推荐策略
  • c++STL-通用(反向)迭代器适配器
  • vue 中绑定样式 【style样式绑定】
  • Deepseek+Xmind:秒速生成思维导图与流程图
  • 聊天项目总结
  • 《操作系统真象还原》第十四章(2)——文件描述符、文件操作基础函数
  • 浅聊一下数据库的索引优化
  • 基于PHP的九宫格抽奖系统设计与实现 九宫格抽奖系统开发与实现(PHP+MySQL)抽奖逻辑、奖品发放与活动管理
  • 《Python星球日记》 第67天:Transformer 架构与自注意力机制
  • spring中的@Async注解详解
  • 随言随语(十二):盖章
  • jackson-dataformat-xml引入使用后,响应体全是xml
  • 龙虎榜——20250513
  • 专栏特辑丨悬镜浅谈开源风险治理之SBOM与SCA
  • 基于AI的报告平台
  • CSS3 选择器完全指南:从基础到高级的元素定位技术
  • 『大模型笔记』Langchain作者Harrison Chase专访:环境智能体与全新智能体收件箱