计算机体系结构——CH2 指令系统
CH2 指令系统
右键点击查看图像,查看清晰图像
X-mind
CH2 指令系统
数据表示
定义
- 指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型
- 确定哪些数据类型用哪些数据表示实现,是软硬件取舍问题的关键
目的
- 缩短程序运行的时间
- 减少CPU与主存间的通信量
- 数据表示的通用性和利用率
浮点数的表示方法
表示方式
- 尾数
- 阶码
表示范围
表示的国际标准
- 32位
1位符号位
- 8位阶码e
- 23位尾数m64位
- 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 指令系统的更多相关文章
- 计算机体系结构的铁律(iron law)
计算机体系结构的铁律可由下面公式来描写叙述: 从Programmer的角度来看,处理器的性能就是运行程序的耗费的时间.所以用Time/Program来刻画处理器性能.而这个简单的公式背后是有很丰富的内 ...
- 计算机体系结构总结_Pipeline
Textbook:<计算机组成与设计——硬件/软件接口> HI<计算机体系结构——量化研究方法> QR 在前面一节里我们有了一块简单的RISC CPU,包括 ...
- 计算机体系结构——CH5 标量处理机
计算机体系结构--CH5 标量处理机 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH5 标量处理机 先行控制技术 指令得重叠执行方式 顺序执行方式 一次重叠执行方式 二次重叠技术 ...
- 计算机体系结构——CH4 输入输出系统
计算机体系结构--CH4 输入输出系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH4 输入输出系统 输入输出原理 特点 实时性 与设备无关性 异步性 输入输出系统的组织方式 ...
- 计算机体系结构——CH3存储系统
计算机体系结构--CH3存储系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH3存储系统 存储系统原理 主要性能 速度 容量 价格 两种存储系统 Cache与主存储器 虚拟存储 ...
- 计算机体系结构——CH1基本概念
CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研 ...
- UNIX环境高级编程——计算机体系结构基础知识
无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为等都会产生异常. 通常操作系统把虚拟地址空间 ...
- 计算机体系结构——流水线技术(Pipelining)
本文导读: 一.并行技术 .并行技术分类 .新技术的设计与实现 .指令周期 二.流水线技术 .什么是流水线 .指令重叠方式 .流水工作设计 .流水线的描述方法(时空图) .流水线特点 三.流水线的分类 ...
- 计算机体系结构-内存调优IPC OOMK
man ipc [root@server1 proc]# man ipcIPC(2) Linux Programmer’s Manual ...
随机推荐
- UIKit and SwiftUI
UIKit and SwiftUI Live Preview Try Again or Resume refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许 ...
- d3 & hexagon
d3 & hexagon https://bl.ocks.org/mbostock/5249328 https://bl.ocks.org/vasturiano/e70e14483fe01eb ...
- scroll tabs
scroll tabs https://github.com/NervJS/taro-ui/blob/dev/src/components/tabs/index.tsx https://github. ...
- nasm astrcspn函数 x86
xxx.asm %define p1 ebp+8 %define p2 ebp+12 %define p3 ebp+16 section .text global dllmain export ast ...
- Flutter: 设置简单的启动屏
更多代码参考 有短暂的白屏时间 import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter ...
- centos7下载和安装 通过xshell连接,有手就行,小白教程
下载步骤: https://mirrors.aliyun.com/centos/?spm=a2c6h.13651104.0.0.3c3712b2NaHUdY 点击下载或者复制链接到迅雷下载 下载好以后 ...
- IDEA重新安装之后配置GIT
注:此方法可用于配置gitlab也可用于配置github 1.在github中创建一个账号:https://github.com/join?source=header-home 2.下载并安装git: ...
- Hyperf-JsonRpc使用
Hyperf-JsonRpc使用 标签(空格分隔): php 安装扩展包 composer require hyperf/json-rpc composer require hyperf/rpc-se ...
- Google单元测试框架gtest之官方sample笔记2--类型参数测试
gtest 提供了类型参数化测试方案,可以测试不同类型的数据接口,比如模板测试.可以定义参数类型列表,按照列表定义的类型,每个测试case都执行一遍. 本例中,定义了2种计算素数的类,一个是实时计算, ...
- Linux内核的TCP协议栈和内核旁路的选择?
[前言]最近在实习公司用到了solarflare的万兆网卡,用到了网卡的openonload技术还有TCPDirect模式代码的编写,其理论基础都是内核旁路.网上关于内核旁路技术的介绍基本就两篇,我结 ...