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. UIKit and SwiftUI

    UIKit and SwiftUI Live Preview Try Again or Resume refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许 ...

  2. d3 & hexagon

    d3 & hexagon https://bl.ocks.org/mbostock/5249328 https://bl.ocks.org/vasturiano/e70e14483fe01eb ...

  3. scroll tabs

    scroll tabs https://github.com/NervJS/taro-ui/blob/dev/src/components/tabs/index.tsx https://github. ...

  4. nasm astrcspn函数 x86

    xxx.asm %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export ast ...

  5. Flutter: 设置简单的启动屏

    更多代码参考 有短暂的白屏时间 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter ...

  6. centos7下载和安装 通过xshell连接,有手就行,小白教程

    下载步骤: https://mirrors.aliyun.com/centos/?spm=a2c6h.13651104.0.0.3c3712b2NaHUdY 点击下载或者复制链接到迅雷下载 下载好以后 ...

  7. IDEA重新安装之后配置GIT

    注:此方法可用于配置gitlab也可用于配置github 1.在github中创建一个账号:https://github.com/join?source=header-home 2.下载并安装git: ...

  8. Hyperf-JsonRpc使用

    Hyperf-JsonRpc使用 标签(空格分隔): php 安装扩展包 composer require hyperf/json-rpc composer require hyperf/rpc-se ...

  9. Google单元测试框架gtest之官方sample笔记2--类型参数测试

    gtest 提供了类型参数化测试方案,可以测试不同类型的数据接口,比如模板测试.可以定义参数类型列表,按照列表定义的类型,每个测试case都执行一遍. 本例中,定义了2种计算素数的类,一个是实时计算, ...

  10. Linux内核的TCP协议栈和内核旁路的选择?

    [前言]最近在实习公司用到了solarflare的万兆网卡,用到了网卡的openonload技术还有TCPDirect模式代码的编写,其理论基础都是内核旁路.网上关于内核旁路技术的介绍基本就两篇,我结 ...