第二章 指令系统

指令系统是软件和硬件分界面的一个主要标志

数据类型:

(1)数据表示:面向硬件、指令系统

(2)数据结构:面向软件、应用领域

数据表示指的是能由机器硬件直接识别和引用的数据类型

确定哪些数据类型用数据表示来实现的原则主要有:

(1) 缩短程序的运行时间

(2) 减少CPU与主存储器之间的通信量

(3)

这种数据表示的通用性

浮点数据表示

浮点数表示方法要研究的核心内容是:数据字长与这种数据表示方式的表数范围、表数精度和表数效率之间的关系

rm 尾数的基,q: 阶码长度,p: 尾数长度

浮点数尾数基值的选择

结论:在浮点数字长确定之后,尾数基值(rm)取2或4具有最高的表数精度和最大的表数范围

采用隐藏位表数方法:因为格式化浮点数尾数最高位一定与尾数符号位相反,因此可以隐藏一位。

尾数基值(rm)取2,采用隐藏位表数方法,是最佳的浮点数表示方法。具有最高的表数精度、最大的表数范围、表数效率最高。

原码、反码、补码:

计算机储存有符号的整数时,是用该整数的补码进行储存的,0的原码、补码都是0,正数的原码、补码可以特殊理解为相同,负数的补码是它的反码加1

补码的设计目的是:⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计

数据表示:带标志符的数据表示

自定义数据表示

数据描述符用于表示多维或结构比较复杂的数据

数据描述符与标志符的主要区别:标志符通常只作用于一个数据,而数据描述符要作用于一组数据

标志符通常与数值一起存放在同一个数据单元中;而数据描述符一般单独存放,独立占据一个存储单元

寻址技术

寻址技术的主要研究内容:编址方式、寻址方式、定位方式

寻址技术研究的对象主要有:寄存器、主存储器、堆栈、输入输出设备

在分析各种寻址技术优缺点的基础上,如何选择和确定采用哪种寻址技术

编址单位包含的信息量就是指每个房间有几位。

字编址:实现起来最容易的一种编址方式

字节编址:适应非数值计算的需要,可从任意位置开始访问优点:不浪费存储器资源,缺点:可能需要二个存储周期。从一个存储字的起始位置开始访问

优点:一个存储周期完成 缺点:浪费存储器资源,从地址的整倍数位置开始访问

位编址:是一种很有应用前景的编址方式

需要编址的设备有:通用寄存器、主存储器、输入输出设备

编址方式有:

(1)三个零地址空间:通用寄存器、主存储器、输入输出设备分别进行编址

(2)两个零地址空间:通用寄存器独立编址,主存储器和输入输出设备统一编址

(3)一个零地址空间:通用寄存器、主存储器、输入输出设备统一编址

(4)隐含编址方式:没有零地址空间(堆栈计算机)

并行存储器的编址技术

当一个主存储器由多个完全独立的存储模块组成时

两种方法:

(1)地址码高位交叉编址目的:扩大存储器容量

(2)地址码低位交叉编址(实际上是一种采用流水线方式工作的并行存储器)目的:提高存储器速度

寻址方式:寻找操作数及数据存放单元的方法称为寻址方式。

立即数寻址方式

寄存器寻址方式VLIW:Very Long

Instruction Word(超长指令字)

主存寻址方式

(1)直接寻址方式

(2)间接寻址方式

(3)变址寻址方式

(4)相对寻址方式

(5)基址寻址方式

采用变址寻址方式编程优于间接寻址方式编程

间接寻址方式与变址寻址方式的区别:

(1)间接寻址方式:间接地址在主存储器中,没有偏移量

(2)变址寻址方式:基地址在变址寄存器中,带有偏移量

间接寻址方式与变址寻址方式的优缺点:

(1)实现的难易程度

间接寻址:易 变址寻址:难

(2)指令的执行速度

间接寻址:慢 变址寻址:快

(3)对数组运算的支持

间接寻址:差 变址寻址:好

注意:变址寻址方式中的偏移量是带符号的,自动变址,前变址与后变址

定位方式

将指令和数据中的逻辑地址(相对地址)转换成主存储器的物理地址(绝对地址)的过程,称为程序的定位。根据程序中指令和数据的主存物理地址的确定时间,定位方式分为三种:直接定位、静态定位、动态定位

源程序:(名称空间)符号指令、数据说明、输入输出说明

目的程序:(逻辑地址空间)

主存储器:(主存物理空间)

在程序装入主存储器之前,程序中的指令和数据的主存物理地址就已经确定了的称为直接定位方式。采用直接定位方式的前提条件是:程序员在编写程序时,或编译程序在对原程序进行编译时,就已经确切知道该程序应该占用的主存物理空间,因此,他们可以直接使用实际的主存物理地址来编写或编译程序。

在程序装入主存储器的过程中随即进行地址变换,确定指令和数据的主存物理地址的称为静态定位方式。静态定位方式要求程序在运行之前,在装入主存储器的过程中集中一次完成地址变换,把那些带有标识的指令或数据中的逻辑地址全部变换成主存储器的物理地址。静态定位方式允许程序每次运行时装入到不同的主存物理空间中。

在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位方式。动态定位方式必须有硬件支持,它采用与变址寻址方式相同的方法,把程序的逻辑地址转换为主存的物理地址。

指令=操作码(OPC)+地址码(A)

操作码的表示方法通常有三种:

(1)固定长度操作码

(2)Huffman编码法

(3)扩展编码法

复杂指令系统(CISC)

1、20%与80%规律

20%的指令使用频率比较高,占据了80%的处理机时间

2、VLSI技术(超大规模集成技术)的发展引起的问题

软硬件的功能分配问题

为了实现复杂的指令,不仅增加了硬件的复杂程度,而且使指令的执行周期大大加长

减少指令平均执行周期数是RISC思想的精华

RISC的关键技术

1、延时转移技术(一定不能改变原来程序的数据相关关系)

转移指令好象被延迟执行了,称为延时(迟)转移技术;

指令序列的调整由编译器自动进行;

调整指令序列时一定不能改变原来程序的数据相关关系。

2、指令取消技术

在许多情况下找不到可以用来调整的指令,此时采用指令取消技术

3、重叠寄存器窗口技术

重叠寄存器窗口技术的基本思想:在处理机中设置一个数量比较大的寄存器堆,并把它划分成很多个窗口。

4、指令流调整技术

优化编译器必须分析程序的数据流和控制流。当发现指令流有断流可能时,要调整指令序列。

存储器的性能:速度、容量、价格

存储系统对应用程序员是透明的,并且,从应用程序员看它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。

二种存储系统:

(1)Cache和主存储器构成的Cache存储系统对应用程序员和系统程序员都是透明的

(2)主存储器和磁盘存储器构成的虚拟存储系统对应用程序员是透明的,对系统程序员是不透明的

虚拟存储器(页式,段式,段页式)

地址映像:把虚拟地址空间映像到主存地址空间,即将用户用虚拟地址编写的程序按照某种规则装入到主存储器中

地址变换:在程序被装入主存储器后,在实际运行时,把多用户虚地址变换成主存实地址(内部地址变换)或磁盘存储器地址(外部地址变换)

段式存储器的优点

1、程序的摸块化性能好

2、便于数据程序共享

3、程序的动态的连接,调度

4、便于实现信息保护

段式存储器的缺点

1、地址变换所花的时间长

2、主存储器的利用率低

3、对辅存的管理比较困难

页式存储器的优点

1、主存储器的利用率比较高

2、页表相对比较简单

3、地址印象和变化速度比较快

4、对辅存的管理比较容易

页式存储器的缺点

1、程序的摸块性能不好

2、页表很长,占用空间大

目录表

压缩页表的存储容量,用一个容量比较小的高速存储器来存放页表,从而加快页表的查表速度

慢表是一个全表,快表只是慢表的一个部分副本,而且只存放了慢表中很少的一部分,慢表(按地址访问)、快表(按内容相联访问)

计算机系统存数及取数方式,计算机系统结构总结2相关推荐

  1. 51Nod-1002 数塔取数问题【DP】

    1002 数塔取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值. 每次只能走到下一层相 ...

  2. 2022-5-20 吃月饼(something wrong), 数塔取数问题, 制铁棒, 子段统计, 炮兵阵地

    1. 吃月饼 有一块月饼,是正三角形的,又被分割成了许多块小正三角形的月饼,里面有若干块被吃掉了.现在想要在这块月饼中再找一个由小正三角形月饼的正三角形月饼,而且要求面积最大的. 样例解释: 大月饼的 ...

  3. 计算机系统的3t性能目标是什么,计算机系统结构习题.doc

    计算机系统结构习题 第一章 计算机系统的多级层次结构从上到下的顺序分别是 . . . . . . 以往对计算机系统的设计方法有 设计和 设计,它们分别适用于 设计和 设计. 研究计算机系统结构的重点是 ...

  4. 计算机组成原理学习笔记————计算机指令,MIPS指令集,存储器操作数,数据传送指令,取数存数指令

    计算机语言 现在计算机编程常用的语言是C,C++,Java等高级语言,但计算机第层是将高级编程语言的代码编译成二进制代码形式的指令才能执行.所以计算机语言中的基本单词是二进制形式的指令,一台计算机的全 ...

  5. 算法.动态规划 导航/数塔取数字问题

    目录 前言 从1+1开始 总结下概念 地图到图 回头看 代码 动态规划经典问题 前言 下面的概念和公式可能会吓到你,看不懂没关系,就是让你恶心的.反正我看着也挺恶心,专业就是让你看不懂,看懂了怎么能叫 ...

  6. 数据分析只能当一辈子取数机?可能你缺少这个基础思维

    前几天写了一篇数据分析思维的文章,反响不错.我决定再写一些数据分析思维方面的文章. 数据分析的方法很多,思维的技巧也很多,面对具体问题的时候,如何选择合适的方法?古人说"运用之妙,存乎一心& ...

  7. SQL新手必看!详细的「取数拆解」和「提速方案」来了!

    唐亦六安 | 作者 知乎 | 来源 https://zhuanlan.zhihu.com/p/113239595 刚接触sql那会,我总是遇到很多问题,写的sql太过于冗杂或无从下手:连接逻辑不太清晰 ...

  8. P1288 取数游戏II

    题目描述 有一个取数的游戏.初始时,给出一个环,环上的每条边上都有一个非负整数.这些整数中至少有一个0.然后,将一枚硬币放在环上的一个节点上.两个玩家就是以这个放硬币的节点为起点开始这个游戏,两人轮流 ...

  9. Vijos1451圆环取数[环形DP|区间DP]

    背景 小K攒足了路费来到了教主所在的宫殿门前,但是当小K要进去的时候,却发现了要与教主守护者进行一个特殊的游戏,只有取到了最大值才能进去Orz教主-- 描述 守护者拿出被划分为n个格子的一个圆环,每个 ...

最新文章

  1. 【hibernate框架】核心开发接口-saveOrUpdate方法与delete方法
  2. 怎样才能高效的在家办公或者远程办公呢?
  3. mysql 多级分类_数据库多级分类相关行排列在一起的查询
  4. export mysql home_mysql的Linux下安装笔记
  5. 作者:伍筱聪(1989-),女,中国科学院上海天文台助理工程师
  6. 小米手环4 NFC版将全渠道开售:垃圾分类超智能
  7. 【Flink】FLink 使用EXACTLY_ONCE 报错 FlinkKafkaInternalProducer
  8. MariaDB Centos7 下安装MariaDB
  9. 脾气好的领导不是好领导
  10. C语言实现windows进程遍历
  11. html实现点赞效果,js实现点赞效果
  12. 浅谈 voip 未來企業通信
  13. 配置 Logback 异步 Appender 时注意顺序
  14. java反射机制历史_java的反射机制浅谈
  15. idea配置mysql失败_IDEA配置数据库连接失败的问题
  16. 常见Http响应头部 responses header
  17. 小趴趴--知乎精华回答的非专业大数据统计
  18. 八皇后问题(又名: 高斯八皇后)
  19. 用迭代法求Daubechies小波的尺度函数
  20. 瓦伦达效应:在大是大非面前不要在乎结果所带来的后果,你就会成功!

热门文章

  1. Python id() 函数
  2. 在MFC对话框中快速集成三维控件
  3. QT ToolBar 工具栏浮动状态
  4. LeetCode-Partition List-分割链表-链表操作
  5. VIJOS国庆节模拟赛之繁星春水
  6. 数据结构树之二分查找树
  7. Fedora 34 Beta发布:引入GNOME 40巨大桌面升级
  8. 姚文详(Joseph Yiu):《ARM Cortex-M0权威指南》中文版目录
  9. 连休8天!关于2020年国庆节、中秋节放假安排的通知!!!
  10. Python 从入门到精通:一个月就够了!