CH2 指令系统

右键点击查看图像,查看清晰图像

X-mind

CH2 指令系统

数据表示

定义

  • 指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型
  • 确定哪些数据类型用哪些数据表示实现,是软硬件取舍问题的关键

目的

  • 缩短程序运行的时间
  • 减少CPU与主存间的通信量
  • 数据表示的通用性和利用率

浮点数的表示方法

  • 表示方式

    • 尾数
    • 阶码
  • 表示范围

  • 表示的国际标准

    • 32位
  • 1位符号位

    - 8位阶码e

    - 23位尾数m

  • 64位

    • 11位阶码
  • 尾数和阶码的基值皆为2

  • 误差

  • 表数效率

    • 当尾数基值位2时,表数效率为50%
    • 尾数基值越高,表数效率越高

浮点数的格式设计

浮点数的舍入处理

  • 恒舍法
  • 恒置法
  • 下舍上入法
  • R*舍入法
  • 查表法

警戒位

  • 警戒位位数的设计

寻址技术

编址方式

  • 主要是字长

    • 字编址

      • 常用
    • 字节编址

      • 常用
    • 位编址

    • 块编址

寻址方式

  • 寻址方式的选择

    • 立即数寻址

      • 适用于数据比较短
    • 面向寄存器寻址

    • 面向主存储器寻址

      • 间接寻址

      • 变址寻址

        • 有地址偏移量
        • 常用
    • 面向堆栈寻址

定位方式

  • 直接定位
  • 静态定位
  • 动态定位
  • 用于定位程序运行所需的指令和数据的地址

指令系统设计

指令格式的优化

  • 节省程序的存储空间
  • 指令格式尽量规整,便于译码

指令的组成

  • 操作码(OPC)

    • 三种编码方法

      • 固定长度

        • 许多RISC处理器采用定长操作码
        • 规整
        • 译码简单
        • 缺点:浪费信息量
      • Haffman编码

        • 利用haffman树进行操作码编码
        • 虽然节省,但很不规整
        • 与地址码组成定长指令较为困难
      • 扩展编码

    • 优化操作码的目的

      • 节省程序存储空间
  • 地址码(A)

    • 零地址

    • 一地址

    • 普通二地址

    • 多存储器二地址

      • 对于一般商用计算机,多采用多寄存器结构二地址指令
    • 三地址

    • 用变址寻址方式缩短地址码长度

指令系统的功能设计

  • 必要的5类基本指令

    • 数据传送类指令
    • 运算类指令
    • 程序控制指令
    • 输入输出指令
    • 处理机控制与调试指令
  • 指令系统的性能

    • 完整性

      • 必备5类指令
    • 规整性

      • 对称性
      • 均匀性
    • 高效率

    • 兼容性

复杂指令系统

  • CISC

    • 复杂指令系统

      • 用一条指令代替一连串指令
      • CISC中,20%的指令占据了80%的处理时间
  • RISC

    • 精简指令系统

      • 符合硬件要求的规整性

      • 特征

        • 简单而统一格式的指令译码
        • 大部分指令可以单周期执行完成
        • 只有LOAD和STORE指令可以访问主存储器
        • 简单的寻址技术
        • 采用LOAD延迟技术
      • RISC思想的精华

        • 减少CPI
      • RISC的关键技术

        • 延时转移技术
        • 指令取消技术
        • 重叠寄存器窗口技术
        • 以硬件为主固件为辅
      • 特点

        • 优点

          • 指令系统比较简单,对称,均匀
          • 寻址方式简单易用
          • 指令周期调序很方便
        • 缺点

          • 软硬件设计要求高
          • 要设计复杂的子程序
  • VLIW

    • 超长指令字系统

      • 特征

        • 一种显式指令级并行指令系统
        • 在一条超长指令中,可以有多条可以同时执行的指令
        • 并行度高
      • 指令极并行性

        • 超标量处理机
        • 超流水线处理机
      • 主要特点

        • 采用显式并行指令计算
        • 指令级并行度高
        • 硬件结构规整,简单
        • 编译器的实现难度大

XMind - Trial Version

计算机体系结构——CH2 指令系统的更多相关文章

  1. 计算机体系结构的铁律(iron law)

    计算机体系结构的铁律可由下面公式来描写叙述: 从Programmer的角度来看,处理器的性能就是运行程序的耗费的时间.所以用Time/Program来刻画处理器性能.而这个简单的公式背后是有很丰富的内 ...

  2. 计算机体系结构总结_Pipeline

    Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 在前面一节里我们有了一块简单的RISC CPU,包括 ...

  3. 计算机体系结构——CH5 标量处理机

    计算机体系结构--CH5 标量处理机 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH5 标量处理机 先行控制技术 指令得重叠执行方式 顺序执行方式 一次重叠执行方式 二次重叠技术 ...

  4. 计算机体系结构——CH4 输入输出系统

    计算机体系结构--CH4 输入输出系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH4 输入输出系统 输入输出原理 特点 实时性 与设备无关性 异步性 输入输出系统的组织方式 ...

  5. 计算机体系结构——CH3存储系统

    计算机体系结构--CH3存储系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH3存储系统 存储系统原理 主要性能 速度 容量 价格 两种存储系统 Cache与主存储器 虚拟存储 ...

  6. 计算机体系结构——CH1基本概念

    CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研 ...

  7. UNIX环境高级编程——计算机体系结构基础知识

    无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为等都会产生异常. 通常操作系统把虚拟地址空间 ...

  8. 计算机体系结构——流水线技术(Pipelining)

    本文导读: 一.并行技术 .并行技术分类 .新技术的设计与实现 .指令周期 二.流水线技术 .什么是流水线 .指令重叠方式 .流水工作设计 .流水线的描述方法(时空图) .流水线特点 三.流水线的分类 ...

  9. 计算机体系结构-内存调优IPC OOMK

    man ipc [root@server1 proc]# man ipcIPC(2)                     Linux Programmer’s Manual             ...

随机推荐

  1. how to using js to realize notes feature on the website

    how to using js to realize notes feature on the website js & notes demos https://medium.com/brow ...

  2. macOS 显示/隐藏 AirPlay

    macOS 显示/隐藏 AirPlay AirPlay Sidecar 必须用相同的 Apple ID 登录 mac 和 ipad, 才能使用! https://www.apple.com/macos ...

  3. Big O Complexity Graph

    Big O Complexity Graph Big O === O() 算法复杂度速查表 数据结构 数组排序算法 Quicksort O(n log(n)) O(n log(n)) O(n^2) O ...

  4. flutter & dart & vs code & bug

    flutter & dart & vs code & bug Waiting for another flutter command to release the startu ...

  5. Java之HTTP网络编程(一):TCP/SSL网页下载

    目录 一.简介:HTTP程序设计 1.HTTP系统设计 2.HTTP客户端工作过程 3.HTTP服务端工作过程 二.基于TCP Socket的HTTP网页下载 三.基于SSL Socket的HTTPS ...

  6. close() 和fluse()区别

    1.close()默认包含了一次flush()操作,关闭之后,就不能再写入了. 2.flush()刷新,flush()之后,可以接着写入. 3.缓冲区默认大小是8192字节,如果小于8192字节,不会 ...

  7. TKMybatis

    TKMybatis与Mybatis-plus都是mybatis的扩展,有相同的地方,也有不同的地方. 1.导入坐标 <!--mybatis依赖--> <dependency> ...

  8. vue-axios插件、django-cors插件、及vue如何使用第三方前端样式库:element/jQuery/bootstrap

    目录 一.vue的ajax插件:axios 1.安装axios 2.axios参数 二.CORS跨域问题(同源策略) 1.Django解决CORS跨域问题方法 三.前端请求携带参数及Django后台如 ...

  9. 图解CyclicBarrier运动员接力赛

    图解游戏规则 大家都知道运动员短跑接力赛,今天我们并不是讲接力赛,我们讲"接力协作赛",需要我们重新定义下游戏规则:如下图所示 现在有运动员A,B,先定义游戏规则:赛道目前是300 ...

  10. Flask:基本结构

    在大多数标准中,Flask 都算是小型框架,小到可以称为"微框架".但是,小并不意味着它比其他框架的功能少.Flask 自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强 ...