计算机系统的体系结构第二章数据表示、寻址方式与指令系统

上传人:san****019 文档编号:71593154 上传时间:2019-01-21 格式:PPT 页数:54 大小:5.70MB
返回 下载 相关 举报
计算机系统的体系结构第二章数据表示、寻址方式与指令系统_第1页
第1页 / 共54页
计算机系统的体系结构第二章数据表示、寻址方式与指令系统_第2页
第2页 / 共54页
计算机系统的体系结构第二章数据表示、寻址方式与指令系统_第3页
第3页 / 共54页
计算机系统的体系结构第二章数据表示、寻址方式与指令系统_第4页
第4页 / 共54页
计算机系统的体系结构第二章数据表示、寻址方式与指令系统_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《计算机系统的体系结构第二章数据表示、寻址方式与指令系统》由会员分享,可在线阅读,更多相关《计算机系统的体系结构第二章数据表示、寻址方式与指令系统(54页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据表示、寻址方式与指令系统,本章内容 引言 指令集结构的分类 计算机系统结构设计中的寻址问题 操作数的类型及大小(数据表示,浮点数,自 定义数据表示法) 指令系统的功能设计 指令格式的优化设计 指令系统的发展与改进 总结,引 言 指令系统是计算机系统软件与硬件接口与界面的一 个主要标志。 指令系统的设计必须由硬件和软件人员共同完成。 总体上而言,计算机系统本身的发展很快,但指令 系统的发展并不大,没有根本变化,指令系统与软 件之间的语义差距则越来越大。 指令系统在计算机组成原理、操作系统及汇编语言 等课程中有所涉及,本章主要从系统结构的角度分 析和设计指令系统。,2.1 指令集结构及

2、分类 1.ISA-指令集结构 2.区别不同指令集结构的主要因素 CPU中用来存储操作数的存储单元的类型,包括: 堆栈 累加器 通用寄存器组 3.将指令集结构分为三种类型 面向寄存器结构 面向堆栈结构 面向累加器结构,注:根据操作数的来源不同,面向寄存器结构又可进一 步分为: 寄存器-存储器结构(RM结构) 寄存器-寄存器结构(RR结构)所有操作数都是来自 通用寄存器组,也称为load-store结构,即:只有 load指令和store指令能够访问存储器。 对于不同类型的指令集结构,操作数的位置、个数 以及操作数的给出方式(显式或隐式)也会不同。 显式给出:用指令字中的操作数字段给出 隐式给出:

3、使用事先约定好的存储单元,4. 面向通用寄存器结构的特点: 是现代指令集结构的主流,在灵活性和提高性能方面有 明显的优势,寄存器的访问速度比存储器快,接近CPU。 寄存器存放变量的好处: 1)减少对存储器的访问,加快程序的执行速度 2)用更少的地址位(相对于存储器地址)寻址寄存器, 可有效减少程序的目标代码大小。,2.2 计算机系统结构设计中的寻址问题 要点: 编址方式 寻址方式 定位方式 2.2.1 编址方式 1.对象:Register、Memory、I/O port;通过编址使之唯一 可被访问到; 2.编址单位:Word、Byte、Bit三种。 A. Word方式:每个编址单位与设备存储器

4、访问单位相一 致,实现简单。不支持string,char的运算。 B. Byte方式:Normal mode,编址单位等于信息的基本单 位。出现的问题:存放单位和访问单位不一致。 C. Bit方式:最灵活,但太复杂,一般不用。,3、Byte编址方式下,产生的存贮和访问问题: 整数边界存储问题、大端与小端问题。 程序中数据存储位置的考虑: 可以从任意位置开始存贮和访问 优点:不浪费存贮空间; 缺点:a、访问一个变量或存贮单位可能要花2个存贮周期, 因为有可能跨越2个存贮单元。 b、RAM的R/W控制比较复杂,Read时,要用and屏蔽取 出有效的部分;Write时,要屏蔽2次完成。,从一个存贮字

5、的起始位置开始访问: 优点:R/W一次完成。 缺点:浪费RAM资源,RAM的利用率只有50%。 折衷方式:即从地址的整倍数位置开始访问。 特点:双字-地址末3位为000;(64Bits) 单字-地址末2位为00;(32Bits) 半字-地址末位为0;(16Bits) 故:R/W都能在1个周期内完成;但浪费相对更减小。 信息存贮方式问题 从左到右,从右到左的问题(即大端、小端问题)。,4、零地址空间 编址对象:register、Memory、I/O port. 编址方式: A. 三种设备独立编址;三个零地址空间 B.(Memory+I/O)一起编址+register独立2个零地 址空间 C. 所

6、有设备都统一编址。 注:Cache采用联想方式访问RAM无须编址。 问题:PC机采用何种方式编址?,2.2.2 寻址方式(以PC机为例) 1、立即数寻址方式: Add AX, 100 2、寄存器寻址方式: Add AX,BX 3、直接寻址方式: MOV AX,100 4、变址寻址方式: MOV AX,SI 5、间接寻址方式: MOV BX,offset data X MOV AX, BX 6、基址变址寻址方式:MOV AX,BX+SI 7、基址变址相对寻址:MOV AX,BX+SI+100 8、堆栈寻址方式: PUSH AX POP AX 作用: 支持高级语言编译优化,递归。 无须编址,指令码

7、最短。 支持程序的嵌套和递归调用。 实现方式:采用硬件寄存器。,2.2.3 程序装入与定位方式 1.问题描述: 如何把program(BIN)从外存装入RAM的过程。 如何将逻辑地址(LA)转成PA物理地址。,2.产生原因分析: 程序独立性要求:由OS在装入执行时动态决定程序的位置。 程序的模块化设计工作。 程序本身很大,难以一次性加载。 3.三种地址 符号地址、逻辑地址、物理地址,4.程序的定位与定位的方式 程序定位的概念:将程序中的指令和数据的逻辑地址(相对地址)转换成主存中的物理地址的过程称为定位。 三种定位方式: 直接定位方式:一般适用于单任务方式。 要求:程序员编程时已经确定好了程序

8、的地 址空间,即利用物理地址编程。 静态定位方式:由加载程序完成 特点:适合于静态链接不适合动态链接。 动态定位方式:,类似变址寻址方法,由硬件支持完成。只把主存的起始地址装入该程序对应的基址寄存器中,指令的地址不需全部修改。 优点:主存利用率高,多个用户可以共享同一个程 序段,支持虚拟存储器实现。 缺点:需要硬件支持,实现的算法比较复杂。,2.3 数据表示 1.数据类型: 数据结构:是由软件实现和处理的数据类型。 如结构、记录、表、树、图等。 数据表示:直接可以被硬件识别和处理的数据类 型。 如可直接被指令运算和处理的整数、 浮点数、向量等。 2.关键问题 关键在于确定哪些数据类型用数据表示

9、实现,而 哪些采用数据结构来实现。这本质上是一个软硬件取舍的问题。,3.基本原则 (1)有利于缩短程序的运行时间或CPI; (2)有利于减少CPU与RAM之间的数据通信量; (3)指令本身的通用性或利用率。 4.实际系统中的设计 (1)简单的、常用的、通用的数据类型采用数据 表示;如int、float、boolean、string、 stack等。 (2)复杂的数据结构一般通过数据结构实现,或 通过软硬件联合设计实现。如Table、Tree、 Link、Graph等。,5.浮点数的表示 早期主要采用定点表示法,存在编程困难、表示范围小、数据存贮的空间利用率低等不足,为此,引入了浮点数表示法。

10、主要研究的内容 1.问题:在数据字长确定的情况下,研究各种浮点数表示方式下的表数范围、精度和效率三者之间的关系。 2.目的:找到具有最大表数范围、最高表数精度和最大表数效率的浮点数表示方式。,浮点数的表示方法(科学计数法) 浮点数的存储格式,浮点数的规格化:为了在尾数中表示最多的有效位和表示数的唯一性 阶码决定了数的范围;尾数决定了数的精度; 浮点数的特性:只能表示出数轴上分散于正、负两个区间上的离散值; 浮点数格式设计问题:在浮点数的表式范围和精度均给定的情况下,确定阶码的机器位数和尾数的机器位数。,浮点数尾数的下溢处理方法:,2.4 自定义数据表示法 1.问题的提出: 数据有各种类型,如何

11、辩识则是一个重要的题。 数据类型既可以通过指令指定,也可以通过数自已表示。 当数据采用指令表示时,将产生大量的指令,使是同类型的指令也可能会因操作数类型不同而产生大量的指令。 例如IBM 370的加法指令就有8条。Intel 86x中的乘法指令也有Mul、Imul两种。鉴于以上理由,人们提出了自定义数据表示法。,2.自定义数据表示的两种方法 带标识符的数据表示法:用以定义某个数据的数据类型和数值的数据表示。 数据描述符表示法:用以定义复杂数据结构(如向量、矩阵、多维数组、记录等)的数据表示。 两者之间的差异: A.前者只作用于一个数据,而后者则作用于一组数据。 B.标识符和数值一起存放在同一个

12、单元之中,而数据描述符一般单独存放,独立占据一个单元。,带标识符数据表示法: 特点: 提供类型安全环境,采用标识符的数据表示后,数据类型的一致性检查和转换等都用硬件完成;从而缩短了目标程序的长度,减少了占用的空间。因为在Compiler中,这种数据一致性检测程序要反复使用,如能通过硬件实现加以优化,则将大大提高程序执行的效率并减小占用空间。 减少和简化了指令系统。 简化了系统程序和编译程序的设计。,存在的缺点: 指令的执行速度降低。这是因为在指定的执行过程中,要对每个标志符进行逐个解释,并判断数据是否相容,因此将导致指令本身的执行速度降低,但可使程序的宏观速度加快。 宏观时间= 设计时间+编译

13、时间+执行时间; 微观时间= 程序的实际运行时间 硬件设计的复杂性提高。 增加存储空间。,数据描述符表示法: 特点:与数据分开存放,用于描述数组、向量、记录等。 描述符格式及应用示例:,向量数据的表示法 向量处理机:有向量数据表示的处理机就是向量处理机。 向量指令的格式及向量的参数:,堆栈数据的表示,2.5 指令格式的优化设计 1.优化设计的目标: 缩短指令编码长度,节省程序存储空间。 使指令编码更加规整,以利于取指、译码操作。 2.指令的格式: 操作码 操作数1 操作数2 操作数3 3.指令的编码方式:包括定长指令、变长指令 4.操作码的编码方式: 定长编码:简单,但浪费空间。 优化编码:用

14、短编码表示常用指令,长编码表示较少使用的指令,从而减少总的存储量。,2.5.1 Huffman编码 1.信息源的熵: 2.平均码长: 3.信息的冗余量: 4.Huffman编码的三个主要特点: 变长编码 优化编码 前缀区分码(非续长编码) 缺点:码长变化过大,不利于译码的实现。,举例:,2.5.2 扩展操作编码 操作码的长度按照一种固定的模式扩展,是对Huffman编码的改进。 两种扩展方式:码点扩展法、码位扩展法。,2.5.3 地址码的优化 目标:最优的地址码个数、最短的地址码长度。 1.地址码个数的选择: A.三地址指令:(OPC,AD,AS1,AS2) 意义:AS1 OPC AS2 AD

15、 B.两地址指令:(OPC,AD,AS) 意义:AD OPC AS AD C.单地址指令:(OPC,A) 意义:OPCA A D.零地址指令:(OPC) 意义:OPC,2.缩短地址码长度的方法: 由于逻辑地址空间的大小固定的。因此,缩短的地址码长度的根本目的是用一个较短的地址码表示一个比较大的逻辑地址空间。 解决方法: A.用间接寻址方式缩短地址码的长度。即通过在RAM的低端开辟一个专门的存放地址的区域。 例如:中断向量表。 B.用变址寻址方式缩短地址码的长度,只要将基址放在基址寄存器中。 C.用寄存器间接寻址方式。 指令字格式的优化操作码、地址码的综合优化。,2.6 指令系统的功能设计 1.

16、设计的基本要求: 指令系统的完整性、规格性和高效率、兼容性。 2.基本指令系统 数据传输指令; 运算指令; 程序控制指令; I/O指令; 处理机控制指令和调试指令。,2.7 指令系统的发展与改进 计算机自40年代中叶问世以来,其ISA的发展经历了以下过程: 简单复杂极其复杂简单复杂极其复杂 2.7.1 复杂指令计算机CISC 通过增强指令的功能,把原本由软件实现的,常用的功能改用硬件的指令完成。 CISC发展方向: 1.面向目标程序的优化 优化的途径:缩短程序的执行时间,减少程序的空间。 实现途径:统计出使用频率、执行时间长的功能用硬件指令实现。,2.面向高级语言和编译程序的优化 具体措施: 增强对高级语言和编译程序支持的指令,从而达到减少目标程序长度,减少目标程序执行时间的目的。例如赋值语句、分支、循环语句的机器支持等。 高级语言计算机,如Li

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号