计算机体系结构-第2章 指令系统
- 格式:ppt
- 大小:484.50 KB
- 文档页数:7
第二章计算机指令集结构设计名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
@2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点2.3常见的三种通用寄存器型机器的优缺点各有哪些指令集结构设计所涉及的内容有哪些(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)((6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)^(6)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
中国地质大学(武汉)计算机学院吴湘宁计算机体系结构习题及答案第一章基础知识1.名词解释翻译解释模拟仿真透明性程序访问局部性[答案]略2. 一个经解释实现的计算机可以按功能划分为四级. 每一级为了执行一条指令需要下一级的N条指令. 若执行第一级的一条指令需要的时间为K ns, 那么执行第二、三、四级的一条指令各需要多少时间?3. 计算机系统按功能划分层次结构的好处主要体现在哪些方面?[答案] (1) 有利于理解软件, 硬件和固件在系统中的地位和作用;(2) 有利于理解各种语言的实质和实现途径;(3) 有利于推动计算机系统结构的发展;(4) 有利于理解计算机系统结构的定义.4. 什么是透明性? 对计算机系统结构, 下列哪些是透明的? 哪些是不透明的?1) 存储器的模m交叉存取; 2) 浮点数据表示; 3) I/O系统是采用通道方式还是I/O处理机方式; 4) 阵列运算部件; 5) 数据总线宽度; 6) 通道是采用结合型的还是独立型的; 7) 访问方式保护; 8) 程序性中断; 9) 串行、重叠还是流水控制方式; 10) 堆栈指令; 11) 存储器的最小编址单位; 12) Cache存储器.[答案] 一种本来是存在的事务或属性, 但从某种角度看却好像不存在, 称为透明性.对计算机系统结构来说透明的是: 1), 4), 5), 6), 9), 12)对计算机系统结构来说不透明的是:2), 3), 7), 8), 10), 11)5. 什么是计算机体系结构? 什么是计算机组成? 什么是计算机实现? 并说明三者的关系和相互影响?[答案] 计算机系统结构是计算机系统的软, 硬件分界面, 是机器语言程序员或是编译程序员所需了解的计算机属性;计算机组成是计算机系统结构的逻辑事项;计算机实现是计算机组成的物理实现.三者的关系和互相影响为:(1) 具有相同系统结构的计算机可以采用不同的组成;(2)(2) 一种计算机组成可以采用多种不同的计算机实现;(3) 计算机组成、计算机实现对计算机系统结构有着很大的影响;(4) 计算机系统结构的设计不应限制计算机组成和实现技术,应能用于高档机,也可用于低挡机;(5) 在不同时期, 计算机系统结构,、组成和实现所包含的内容会有所变化,三者之间的界线常常很模糊.6. 从机器(汇编)语言程序员角度看, 以下哪些是透明的?1) 指令地址存储器; 2) 指令缓冲器; 3) 时标发生器; 4) 条件码寄存器; 5) 乘法器; 6) 主存地址寄存器; 7) 磁盘外设; 8) 先行进位链; 10) 通用寄存器; 11) 中断字寄存器.[答案] 对机器(汇编)语言程序员来说透明的有: 2), 3), 5), 6), 8), 9)对机器(汇编)语言程序员来说不透明的有: 1), 4), 7), 10), 11)7. 假设在一台40 MHz处理机上运行200 000条指令的目标代码, 程序主要由四种类型的指令所组成. 根据程序跟踪实验结果, 各类指令的混合比和每类指令的CPI值如表1.9所示.(1) 试计算在单处理机上执行上述该程序时的平均CPI;(2) 根据(1)所得到的CPI, 计算相应的MIPS速率及程序的执行时间.[答案] (1) 2.24 CPI (2) 17.86 MPIS; 0.0112 s8. 某工作站采用时钟频率为15 MHz、处理速率为10 MIPS的处理机来执行一个程序,假定每次存储器存取为1周期延迟, 试问:(1) 此计算机的有效CPI是多少?(2) 假定将处理机的时钟频率提高到30 MHz, 但存储器子系统速率不变, 这样, 每次存储器存取需要两个时钟周期. 如果30%的指令每条只需要一次存储存取, 而另外5%的指令每条需要两次存储存取, 还假定已知混合程序的指令数不变, 并与原工作站兼容, 试求改进后的处理机性能.[答案] (1) 1.5 CPI; (2) 15.8 MPIS9.什么是并行性?它分为哪两种类型?开发计算机系统并行性的主要技术途径有哪三个?沿这些途径分别发展出什么类型的计算机?[答案]略10.实现软件移植的途径有哪些?[答案]略11.什么是Flynn分类法,按照Flynn分类法可将计算机系统分为哪几类?[答案]略第二章指令系统1. 名词解释数据类型、数据表示、规格化浮点数、Huffman编码、扩展编码、RISC[答案]略2. 某模型机有8条指令I1~I8, 它们的使用频度分别为0.3, 0.3, 0.2, 0.1, 0.05, 0.02, 0.02, 0.01.(1) 试分别用Huffman编码和平均码长最短的等长扩展码(限定为两种码长)对其操作码进行编码.(2) 分别计算Huffman编码和等长扩展码编码的平均长度.[答案] (1) 操作码的Huffman编码和2-4等长扩展码编码如下表1所示.(2) Huffman编码的平均长度为2.38位; 等长扩展码编码的平均码长为2.8位.3. 某模型机有10条指令I1~I10, 它们的使用频度分别为0.3, 0.24, 0.16, 0.12, 0.07, 0.04, 0.03,0.02, 0.01, 0.01.(1) 计算机采用等长操作码表示时的信息冗余量.(2) 要求操作码平均码长最短, 试设计操作码的编码, 并计算所设计操作码的平均长度. (3) 设计2-5扩展操作码编码,并计算平均码长.(4) 设计2-4(2/8)等长扩展码编码,并计算平均码长. [答案] (1) 采用等长操作码表示时的信息冗余量为33.5%. (2) 操作码的Huffman编码如表2所示, 此种编码的平均长度为2.7位.(3) 操作码的2-5扩展码编码如表2所示, 此种编码的平均长度为2.9位.(4) 操作码的2-4(2/4)等长扩展码编码如表2所示, 此种编码的平均长度为2.92位.4. 何谓指令格式的优化? 操作码和地址码的优化一般采用哪些方法?[答案] 指令格式的优化是指通过采用多种不同的寻址方式, 地址制, 地址形式和地址码长度以及多种指令字长, 并将它们与可变长操作码的优化表示相结合, 就可以构成冗余度尽可能少的指令字. 操作码的优化采用扩展操作码编码法. 地址码优化有以下四种方法:(1) 在指令中采用不同的寻址方式;(2)(2) 在指令中采用多地址制;(3) 同一种地址制还可以采用多种地址形式和长度, 也可以考虑利用空白处来存放直接操作数或常数等;(4) 在以上措施的基础上, 还可以进一步考虑采用多种指令字长度的指令.5. 若某机设计有如下指令格式的指令:三地址指令12种, 一地址指令254种, 设计指令的长度为16位, 每个地址码字段的位数均为4位. 若操作码的编码采用扩展操作码, 问二地址指令最多可以设计多少种? [答案] 二地址指令最多可以设计48种.6. 一台模型机共有九条指令I1~I9, 各指令的使用频度分别为0.3,0.2,0.2,0.1,0.08,0.6,0.03, 0.02, 0.01. 该模型机有8位和16位两种指令字长. 8位字长指令为寄存器----寄存器(R--R)二地址类型, 16位字长指令为寄存器----存储器(R--M)二地址变址寻址类型.(1) 试设计有两种码长的扩展操作码, 使其平均码长最短, 并计算此种编码的平均码长. (2) 在(1)的基础上, 该机允许使用多少个可编址的通用寄存器?(3) 若采用通用寄存器作为变址寄存器, 试设计该机的两种指令格式, 并标出各字段的位数.(4) 计算变址寻址的偏移地址范围.[答案] (1) 操作码的2-5扩展码编码如表3所示, 此种编码的平均长度位2.9位.2) 在(1)的基础上, 该机允许使用8个可编址的通用寄存器.(3) 该机的两种指令格式及各字段的位数如下:R-R型: 操作码OP (2位) | 源寄存器RS (3位) | 目的寄存器Rd (3位)R-M型: 操作码OP (5位) | 源寄存器RS (3位) | 变址寄存器RX (3位) | 偏移地址 (5位)(4) 变址寻址的偏移地址范围为-16~+15.7. 简述CISC的特点.[答案] CISC的特点如下:(1) 庞大的指令系统;(2) 采用了可变长度的指令格式;(3) 指令使用的寻址方式繁多;(4) CISC指令系统中包括一些用于特殊用途的指令, 各种指令的使用频度相当悬殊.8. 从指令格式, 寻址方式以及平均CPI三个方面, 比较经典CISC和纯RISC体系结构.[答案] 略9.简述RISC设计的一般原则。
第一章计算机系统结构的基本概念从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。
位串字串和位并字串基本上构成了SIMD。
位片串字并的例子有:相联处理机STARAN,MPP。
全并行的例子有:阵列处理机ILLIACIV。
从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。
存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。
例子有并行存储器系统,以相联存储器为核心构成的相联处理机。
处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
擅长对向量、数组进行处理。
例子有阵列处理机。
指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。
例子有多处理机,计算机网络,分布处理系统。
并行性的开发途径有时间重叠(Time Interl eaving ),资源重复(Resou rceReplication),资源共享(ResourceSharing)。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
例子有阵列处理机,相联处理机。
资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。
例子有多处理机,计算机网络,分布处理系统。
SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。
这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。
虚拟机: 用软件实现的机器。
翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。
解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。
执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。
计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。
在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。
计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。
系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。
Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。
包括时间局部性和空间局部性。
CPI: 每条指令执行的平均时钟周期数。
测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。
存储程序计算机: 冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。
计算机系统结构第2章第⼆章指令系统第⼀节指令系统设计概述⼀、指令系统概述1、指令系统的设计、应⽤及实现(1)指令系统的设计*机器指令:计算机硬件实现的运算或操作的命令;第i 种格式:OP i A 1A 2编码⽰例:00110 000~111 000~111功能⽰例:A 1←(A 1)+(A 2)第j 种格式:OP j A 编码⽰例:10110 000~111功能⽰例:A←(A)+1*指令系统设计:定义所有机器指令的格式(含编码)。
*指令系统:所有机器指令的集合;第1种:第2种:…第n 种:OP 1A 1A 2OP 2A OP n A 1A 2…(2)指令系统的应⽤第i种指令应⽤⽰例a:00110 000 001 功能AH←(AH)+(AL)⽰例b:00110 011 000 功能BL←(BL)+(AH)应⽤程序⽰例:从主存地址为2000H开始的100个元素累加求和机器指令格式机器指令程序汇编程序1011wreg data 1011001001100100 CX←1001011100100000000 00100000LP:BX←2000H1011000000000000 AL←0 0000000w mod reg r/m 0000000100000111AL←AL+[BX] 01000reg 01000001 BX←BX+1 11100010 disp 11100010 11111000 LOOP LP*指令系统应⽤:按指令格式要求,根据应⽤需要、编写程序中的指令(即指令格式的实例)。
(3)指令系统的实现指令功能实现步骤—ID 对IR 的OP 译码,⽤输出信号控制某⼀部件⼯作;ID 对IR 的A 译码,⽤输出信号控制相关REG 的读/写;信号有效时间由时序部件及该指令功能实现步骤决定。
指令操作或运算—部件功能实现及数据传递等的组合。
*指令系统实现:按指令格式要求,⽤硬件实现指令功能。
*设计/应⽤实现三者关系:类似C 语⾔设计、⽤C 语⾔编程、C 语⾔编译及执⾏平台!☆指令系统的实质—软件与硬件之间的界⾯(“约定”)!指令译码器ID I OP A 内部总线CPU ID D 功能部件1功能部件n …寄存器1寄存器m…指令寄存器IR :……存储总线MAR/MDR2、指令系统涉及内容(1)指令格式包含信息分析第i种指令格式:OP i A1A2②数据:(A1)=OP i⽀持类型的地址为A1的数据①操作:A1←(A1) OP i(A2) 或A 2←(A2) OP i(A1)硬件⽀持的数据类型(含数据长度)可存放数据部件类型、部件的编址⽅式部件中同⼀数据地址的表⽰⽅式(2)涉及内容*指令集结构:指令集总体框架,如存放部件、寄存器数量;*指令集功能:⽀持操作的类型;*数据表⽰:操作⽀持的数据类型、数据存储格式等。
第二章计算机体系结构属性优选软件与硬件的功能分配是计算机体系结构设计的关键,是确定计算机体系结构属性的基础,而计算机体系结构属性包括数据表示、指令系统、存储部件管理(含寻址技术、数据存放、程序定位、存储保护)、总线与输入输出控制(含中断机构)等方面的内容。
为避免与计算机组成原理等其它课程重复,本章从软硬件功能分配出发,着重讨论计算机体系结构属性的优化或选择技术。
2.1 数据表示及其格式结构【问题小贴士】信息感觉媒体多种多样,从外部形态来看,有数值布尔的、字符文字的、图形图像的、声音视频的等。
理论上任何外部形态的数据均可以采用二进制数表示,但由于效率与通用性的限制,对一台特定计算机来讲,仅部分外部形态的数据实现了数据表示,所以数据表示配置是最基础的软硬件功能分配。
①一个整数如26、一个字符如E等数据与一个树、一个文件等数据,它们各自有什么共性,它们是否都可以采用二进制编码直接表示出来呢?若可以,举例说明怎样表示?若不可以,为什么呢?②不同类型数据做同一运算的运算规则是不同的,如整数加是末位对齐、实数加是小数点对齐,所以数据做运算之前,应该区分其类型。
高级语言是通过类型说明语句指示了数据类型,那么机器语言是如何指示数据类型呢?若采用8086汇编语言来编写二个8421码十进制数相加程序时,在“ADD”指令之后必须配置“DAA”指令,为什么?③在“计算机组成原理”课程中已知:浮点数通常采用IEEE 754标准,该标准规范了许多格式参数如阶码基值、尾数基值、尾数位数、阶码位数等,而这些参数对浮点数特性是有影响的如阶码位数越多、浮点数范围越大等,那么这些参数权衡选取的依据是什么呢?怎样权衡选取呢?④上述问题的解决涉及许多具体操作方法,还需要通过练习来掌握直至熟悉。
2.1.1 数据表示及其选取原则1. 数据类型及其分类人们可能接触到的不同外部形态的感觉媒体很多,这些感觉媒体信息必须采用若干位二进制数来表示,由此便形成了许多类型。
第一章计算机体系结构的基本概念1.1名词解释:2.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序,在执行过程中,N+1级程序不再被访问。
3.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级指令,依此重复执行。
4.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。
5.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
6.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。
7.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行的时间不同。
8.兼容机——不同厂家生产的、具有相同体系结构的计算机。
9.计算机组成——计算机体系结构的逻辑实现。
10.计算机实现——计算机组成的物理实现。
11.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存储器中。
指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。
12.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。
13.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
14.资源重复——在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
15.资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。
16.同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中能并行执行的多个任务的机器。
17.异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中不同任务的机器。