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. 如何使用 js 实现一个 throttle 函数

    如何使用 js 实现一个 throttle 函数 原理 实现方式 "use strict"; /** * * @author xgqfrms * @license MIT * @c ...

  2. CSS & new class name

    CSS & new class name { test: /\.((s*)css|sass)$/, // test: /\.(css|scss|sass)$/, use: ExtractTex ...

  3. vscode & javascript & react & "editor.foldingStrategy": "indentation"

    vscode & javascript & react & "editor.foldingStrategy": "indentation" ...

  4. how to write an ebook that can support published by format PDF, Epub, Mobi and so on

    how to write an ebook that can support published by format PDF, Epub, Mobi and so on 如何写一本自己的电子书,支持各 ...

  5. js currying & js 科里化

    js currying & js 科里化 var test = ( function (a){ console.log(`a2 =`, a);// 1 // console.log(`b2 = ...

  6. 「NGK每日快讯」12.22日NGK第49期官方快讯!

  7. Java NIO wakeup实现原理

    本文转载自Java NIO wakeup实现原理 导语 最近在阅读netty源码时,很好奇Java NIO中Selector的wakeup()方法是如何唤醒selector的,于是决定深扒一下wake ...

  8. spring学习路径

    1.https://zhuanlan.zhihu.com/p/72581899 spring 要点记录: (1)Web服务器的作用说穿了就是:将某个主机上的资源映射为一个URL供外界访问. (2)通过 ...

  9. vue路由理解

    vue路由:就是一个菜单的概念比如说有一个菜单栏,菜单栏上有很多按钮,当你点击一个按钮时会出现不同的页面,这就是vue路由

  10. 后端程序员之路 25、Redis Cluster

    官方教程和功能介绍: REDIS cluster-tutorial -- Redis中文资料站 -- Redis中国用户组(CRUG)http://www.redis.cn/topics/cluste ...