计算机体系结构-第2章 指令系统
系统结构讲义-2
码元分配:从树根开始,对每个中间结点的左右2个分支边各赋予
一位代码“0”和“1”(“0”在哪一侧不限)。读出从根结点到任一片树叶 的路径上依次出现的代码位就排成了这个事件(即指令)的完整编码。 由于频度高的事件较晚被合并,它的编码位数也就较少,符合Huffman压 缩原则。
上面所说的频度值就是各事件实际出现次数的百分比, 它是理论出现概率的近似值。 例:假设一台模型计算机共有7种不同的操作码,已 知各种操作码在程序中出现的概率如下表,利用Huffman 编码法进行操作码编码。 指令 概率 I1 0.45 I2 0.30 I3 0.15 I4 0.05 I5 0.03 I6 0.01 I7 0.01
第二章 指令系统
2.3 指令格式的优化设计
指令格式的优化是指如何用最短的二进制位数表示指令的操作码信息和 地址码信息,使指令的平均字长最短,同时便于译码。
指令的组成 操作码 地址码
1) 指令的操作种类。 2) 所用操作数数据 类型。
1) 操作数地址。 2) 地址附加信息。 3) 寻址方式。
指令格式的优化设计目标: 1) 使程序中指令的平均字长最短,节省程序的存储空间。 2) 指令格式要规整,减少硬件译码的复杂程度。
1632和64位固定32位指令时钟频率随技术发展而变化随技术发展而变化寄存器堆824个通用寄存器32192个分离的整数和浮点寄存器堆指令系统规模和类型约300条多于48种指令类型大都基于寄存器寻址方式约12种包含间接变址寻址35种只有取存寻址存储器高速缓存设计较早使用合一高速缓存有些使用分离高速缓存大多数使用分离的数据和指令高速缓存cpi及平均cpi120个周期平均4个简单操作1个周期平均约15个cpu控制大多数用微程序控制有些使用硬连线控制大多数用硬连线控制没有控制存储器代表性商品化处理器intelx86vax8600ibm390mc68040intelpentiumamd486和cyrix686sunultrasparcmipsr10000powerpc604hppa8000digitalalpha21164混合混合ciscriscciscrisc体系结构体系结构pentiumpropentiumpro处理器的处理器的ciscriscciscrisc体系结构体系结构分分基于基于riscrisc核心核心dbab将将x86x86代码转化为代码转化为riscrisc指令指令
计算机系统结构课后答案chap2-answer
第二章计算机指令集结构设计名词解释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设计的一般原则。
02325计算机系统结构复习资料
第一章计算机系统结构的基本概念从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。
位串字串和位并字串基本上构成了SIMD。
位片串字并的例子有:相联处理机STARAN,MPP。
全并行的例子有:阵列处理机ILLIACIV。
从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。
存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。
例子有并行存储器系统,以相联存储器为核心构成的相联处理机。
处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
擅长对向量、数组进行处理。
例子有阵列处理机。
指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。
例子有多处理机,计算机网络,分布处理系统。
并行性的开发途径有时间重叠(Time Interl eaving ),资源重复(Resou rceReplication),资源共享(ResourceSharing)。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
例子有阵列处理机,相联处理机。
资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。
例子有多处理机,计算机网络,分布处理系统。
SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。
北理工计算机体系结构习题解答
*1
32000 *
2
15000
*
2
8000
*
2)
*
(
40
1 *106
)
3.875*103秒
21
1-11 假设在一台40MHz处理机上运营200,000条指令旳目旳代码,程序主要
由四种指令构成。根据程序跟踪试验成果,已知指令混合比和每种指令所 需旳指令数如下:
指令类型
CPI
指令混合比
算术和逻辑
1
6
第1章 基础知识
仿真
用一种机器(A)旳微程序直接解 释 实 现 另 一 种 机 器 ( B) 旳 指 令 系 统,从而实现软件移植旳措施
被仿真旳机器称为目旳机,进行 仿真旳机器称为宿主机,解释微 程序机器称为仿真微程序
7
第1章 基础知识
并行性
指能够同步进行运算或操作旳特 征,它有两重含义:
40
第2章
(1)最优Huffman H=- ∑Pi×log2Pi
=0.25×2+0.20×2.322+0.15×2.737+ ……
=2.96
41
I10
I9
I8
I7
I6
I5
I4
I3
I2
0.02
0.03
0.04
0.05
0.08
0.08
0.10
0.15
0.20
1
1 0
0
0.05
0.09
1
0
1
0
0.17
原来存在旳事物或属性,从某个角 度看却好象不存在
软件兼容
程序能够不加修改地运营在各档机 器上,区别仅在于运营时间不同
计算机系统结构--《张晨曦、王志英》课后习题参考答案
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。
这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。
虚拟机: 用软件实现的机器。
翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。
解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。
执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。
计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。
在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。
计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。
系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。
Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。
包括时间局部性和空间局部性。
CPI: 每条指令执行的平均时钟周期数。
测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。
存储程序计算机: 冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。
LEC03_指令系统结构-计算机体系结构(第2版)-胡伟武-清华大学出版社
VAX
简单、定长指令,硬件 完成同一任务指令
简单、每条指令时钟数 数多,定长指令浪
少,主频高
费空间
指令执行周期长,
不用取数直接用,指令 访存操作数在指令
紧凑,空间效率高
中位数多,指令间
相关性较难判断
指令长度变化大,
完成同一任务指令最 执行指令周期变化
少,指令最紧凑
大,访存瓶颈,指
• 例子:不同指令系统完成C=A+B的指令序列, 假设A、B、C在内存中不同的单元
Stack
Push A Push B Add Pop C
Accumulator
Register (registermemory)
Load A
Load R1, A
Add B
Add R1, B
Store C
Store C, R1
• 应用要求指令系统保持兼容
• 更新计算机时,兼容老的应用
12
指令系统的分类
13
指令系统的分类
• 从功能上分类
• 算术与逻辑运算、转移、访存、系统指令…
• 从指令使用数据的方式
• 堆栈型、累加器型、寄存器型...
• 从指令编码
• 定长、变长
14
指令系统的类型
• 堆栈型(Stack):零地址指令
Register (load-store)
Load R1,A Load R2,B Add R3,R1,R2 Store C R3
16
17
寄存器指令再分类
• 分类标准
• 运算操作中操作数的个数 • 运算操作中存储器操作数的个数
访存个数/操 作数个数
机器例子
优点
计算机系统结构第2章
计算机系统结构第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章计算机体系结构属性优选
第二章计算机体系结构属性优选软件与硬件的功能分配是计算机体系结构设计的关键,是确定计算机体系结构属性的基础,而计算机体系结构属性包括数据表示、指令系统、存储部件管理(含寻址技术、数据存放、程序定位、存储保护)、总线与输入输出控制(含中断机构)等方面的内容。
为避免与计算机组成原理等其它课程重复,本章从软硬件功能分配出发,着重讨论计算机体系结构属性的优化或选择技术。
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.异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中不同任务的机器。
计算机系统结构课后答案chap2-answer
第二章计算机指令集结构设计2.1 名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点?2.3常见的三种通用寄存器型机器的优缺点各有哪些?2.4 指令集结构设计所涉及的内容有哪些?(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
2.5 简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点?CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
计算机系统结构 第二章自考练习题答案
第二章数据表示与指令系统历年真题精选1. 计算机中优先使用的操作码编码方法是( C )。
A. BCD码B. ASCII码C. 扩展操作码D. 哈夫曼编码=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾2.浮点数尾数基值rm数值为( D )。
A. 1/2B. 15/16C. 1/256D. 255/2563. 自定义数据表示包括(标志符)数据表示和(数据描述符)两类。
4. 引入数据表示的两条基本原则是:一看系统的效率是否有提高;二看数据表示的(通用)性和(利用)率是否高。
5. 简述设计RISC的一般原则。
6. 简述程序的动态再定位的思想。
7. 浮点数表示,阶码用二进制表示,除阶符之外的阶码位数p=3,尾数基值用十进制表示,除尾符外的尾数二进制位数m=8,计算非负阶、规格化、正尾数时,(1)可表示的最小尾数值;(2)可表示的最大值;(3)可表示的尾数个数。
8. (1)要将浮点数尾数下溢处理成K—1位结果,则ROM表的单元数和字长各是多少并简述ROM表各单元所填的内容与其地址之间的规则。
(2)若3位数,其最低位为下溢处理前的附加位,现将其下溢处理成2位结果,设计使下溢处理平均误差接近于零的ROM表,以表明地址单元与其内容的关系。
同步强化练习一.单项选择题。
1. 程序员编写程序时使用的地址是( D )。
A.主存地址 B.有效地址 C.辅存实地址 D.逻辑地址2. 在尾数下溢处理方法中,平均误差最大的是( B )。
A.舍入法 B.截断法 C.恒置“1”法 D.ROM查表法3. 数据表示指的是( C )。
A .应用中要用到的数据元素之间的结构关系B .软件要处理的信息单元之间的结构关系C .机器硬件能识别和引用的数据类型D .高级语言中的数据类型说明语句4. 标志符数据表示中的标志建立由( A )。
A .编译程序完成B .操作系统完成C .高级语言编程时完成D .汇编语言编程时完成5. 堆栈型机器比通用型机器优越的是( C )。
计算机系统结构 第 2 章 指令集结构
2.1 指令系统结构的分类
• • • • • • 1. 指令系统分类的准则 ⑴ 在CPU中操作数的存放方法。 ⑵ 在每条指令中,显式指明的操作数个数。 ⑶ 操作数的寻址方式。 ⑷ 指令系统所提供的操作类型。 ⑸ 操作数的类型与大小。
2014-3-8
10
2.指令系统结构的分类
• • • • 按在CPU中操作数的存放方法可分为: ⑴ 堆栈型 ⑵ 累加器型 ⑶ 通用寄存器型
2014-3-8
21
4. 编址单位
• ⑴ 字编址:以访问一次设备所获得的信息量 为单位进行编址。 • ⑵ 字节编址:以字节为单位进行编址。 • ⑶ 位编址:按二进制位编址。
2014-3-8
22
按字节编址时需解决的问题
• ① 多字节数据的存放顺序 • 小端排序:将一个字中的低位字节存放在低地址 单元中。 • 大端排序:将一个字中的高位字节存放在低地址 单元中。 • 小端排序符合从右向左进位的硬件习惯;大端排 序符合程序员从左向右的编程习惯。
• 5. 按地址寻址方式(略,P47)
• 寻址方式的使用频度:
• R寻址->直接->变址->单字位移->自增->R间址->自减 • 高 -------------------------- 低
2014-3-8
26
2.2.2 按内容访问方式
• • • • • 1. 按内容访问方式 按照要访问的数据的内容访问内存。 2. 联想存储器(相联存储器、按内容访问存储器) 满足按内容访问方式的存储器。 联想存储器的主要特点:以并行方式在存储器中 查找所需信息的内容。 • 3. 按内容访问的方法 • 通过硬件将要访问的内容与存储单元的内容进行 比较,若相同,则进行访问。
计算机系统结构(课后习题答案)
第一章电脑系统结构的基本概念1.有一个电脑系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现假设需第i级的N 条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
note: 由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。
而现在第i 级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级需(N/M)条指令来完成第i级的计算量。
所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡〔硬件〕上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明电脑系统结构、电脑组成与电脑实现之间的相互关系与影响。
答:电脑系统结构、电脑组成、电脑实现互不相同,但又相互影响。
〔1〕电脑的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
02325计算机系统结构复习资料全
第一章计算机系统结构的基本概念从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。
位串字串和位并字串基本上构成了SIMD。
位片串字并的例子有:相联处理机STARAN,MPP。
全并行的例子有:阵列处理机ILLIAC IV。
从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。
存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。
例子有并行存储器系统,以相联存储器为核心构成的相联处理机。
处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
擅长对向量、数组进行处理。
例子有阵列处理机。
指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。
例子有多处理机,计算机网络,分布处理系统。
并行性的开发途径有时间重叠(TimeInterleaving),资源重复(Resource Replication),资源共享(Resource Sharing)。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
例子有阵列处理机,相联处理机。
资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。
例子有多处理机,计算机网络,分布处理系统。
SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。
计算机体系结构第2章试题答案
1、堆栈型通用寄存器型2、累加器型堆栈型3、堆栈累加器4、累加器一组寄存器5、能够使编译器有效地使用寄存器表达式求值方面6、有2个还是3个操作数有多少个存储器操作数7、寄存器-寄存器型寄存器-存储器型8、寄存器-存储器型存储器-存储器型9、一个寄存器操作数一个存储器操作数10、立即数偏移11、指令条数执行时钟周期数(CPI)12、实现的复杂度执行时钟周期数(CPI)13、各种偏移量大小的使用情况指令所使用的立即值大小的范围14、强化指令功能实现软件功能向硬件功能转移15、尽可能地降低指令集结构的复杂提高性能的目的16、提高传送指令功能增加程序控制指令功能17、提高运算型指令功能提高传送指令功能18、算术逻辑运算复杂指令集计算机19、指令时钟数精减指令集计算机20、LOAD STORE21、80% 20%22、计算机体系结构的复杂性运行速度慢23、跳转分支24、跳转过程调用25、条件分支过程返回26、目标地址27、条件28、和程序计数器(PC)相加的值相加的偏移量PC相对寻址29、指令中表示目标地址的字段的长度与它被载入的位置无关30、算术和逻辑运算数据传输31、数据传输控制32、操作数表示操作数类型33、压缩十进制二进制编码十进制(非压缩十进制)34、变长编码格式固定长度编码格式35、操作码字段地址码字段36、地址码字段各种寻址方式37、寄存器数目寻址方式类型38、指令平均字目标代码大小39、将寻址方式编码于操作码中为每个操作数设置一个地址描述符40、32 立即值偏移(79个)41、寄存器寻址寄存器间接寻址42、多种长度的整型数据浮点数据43、寄存器(通用寄存器和浮点寄存器)存储器45、源操作数地址码目的操作数地址码立即数编码46、LOADT和STORE操作分支和跳转操作47、ALU操作浮点操作48、寄存器-寄存器通用寄存器R049、I J50、双精度浮点单精度浮点(100个)三名词解释1、指令集结构:指令集结构是软硬件的交界面,CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。
名词解释计算机的指令系统
名词解释计算机的指令系统计算机的指令系统是指计算机硬件与软件之间的沟通桥梁,它定义了计算机能理解和执行的指令集合。
指令系统负责将用户编写的高级语言或机器语言程序转化为计算机可以理解和执行的底层指令,同时也决定了计算机的体系结构、功能和性能。
一、指令系统的基本概念指令系统由一系列指令组成,每个指令都包含了操作码和操作数。
操作码决定了指令的类型,例如,加法指令、乘法指令、内存读取指令等。
操作数则是指令的操作对象,它可以是寄存器、内存地址或常数。
指令通过操作码来告诉计算机需要执行的具体操作,通过操作数来指定操作所需的数据。
二、指令格式和寻址方式指令格式是指令的组织形式,通常包括操作码、寄存器编号和操作数。
不同的计算机体系结构采用不同的指令格式,如紧凑指令格式、变长指令格式、定长指令格式等。
寻址方式决定了指令如何找到操作数所在的存储位置,常见的寻址方式包括直接寻址、立即寻址、寄存器寻址、间接寻址等。
三、指令执行过程指令的执行过程通常包括取指、分析、执行和写回四个阶段。
取指阶段从内存的指令存储区读取下一条指令,分析阶段解析指令,确定操作类型和操作数,并进行必要的地址计算。
执行阶段根据指令的操作类型执行相应的操作,并根据需要访问内存或寄存器来获取或存储数据。
最后,写回阶段将执行结果写回寄存器或内存。
四、指令系统的设计方法指令系统的设计目标是通过合理的指令集合和编码方式来满足计算机的功能需求,同时提高计算机的性能和效率。
指令系统的设计方法主要有以下几种:精简指令集(RISC)和复杂指令集(CISC)的设计方法、定制指令扩展(ISA Extension)的设计方法、向量指令扩展(SIMD)的设计方法等。
五、指令系统与计算机性能的关系指令系统的设计和优化直接影响计算机的性能。
合理的指令系统可以提高计算机的运算速度、存储器访问效率和程序流水线的利用率。
通过减少指令的数目,简化指令的格式,增加寄存器的数量等方法,可以提高指令系统的效率。
第2章 计算机体系结构 习题与答案
第二章习题(P69-70)一、复习题1.简述冯∙诺依曼原理,冯∙诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯∙诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。
这3条合称冯∙诺依曼原理OgtiojD。
冯∙诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。
(P51-P54)r1fI4bu。
2.简述计算机体系结构与组成、实现之间的关系。
答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。
计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。
同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。
计算机实现,是计算机组成的物理实现,就是把完成逻辑设计的计算机组成方案转换为真实的计算机。
计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。
在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。
(P47-P48)28BoSAn。
3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。
(P55)4.简述RISC技术的特点?答:从指令系统结构上看,RISC体系结构一般具有如下特点:(1)精简指令系统。
可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;hJslBtf。
计算机体系结构知识点汇总
第一章电脑体系结构的基本概念1.电脑系统结构的经典定义程序员所看到的电脑属性,即概念性结构与功能特性。
〔电脑组成:指电脑系统结构的逻辑实现。
电脑实现:电脑组成的物理实现〕2.电脑系统的多级层次结构:1.虚拟机:应用语言机器->高级语言机器->汇编语言机器->操作系统机器2.物理机:传统机器语言机器->微程序机器3.透明性:在电脑技术中,把这种本来存在的事物或属性,但从某种角度看又好似不存在的概念称为透明性。
4.编译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序5.解释:对于高一级机器上的程序中的每一条语句或指令,都转去执行低一级机器上的一段等效程序。
6.常见的电脑系统结构分类法有两种:Flynn分类法、冯氏分类法〔按系统并行度P m:计算机系统在单位时间内能处理的最大二进制位数〕进行分类。
Flynn分类法把电脑系统的结构分为4类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)IS指令流,DS数据流,CS〔控制流〕,CU〔控制部件〕,PU〔处理部件〕,MM,SM〔表示存储器〕7.电脑设计的定量原理:1.大概率事件优先原理〔分配更多资源,到达更高性能〕2.Amdahl定理:加速比:S n=T0(加速前)T n(加速后)=1(1−Fe)+Fe/Se(Fe为可改良比例〔可改良部分的执行时间/总的执行时间〕,Se为部件加速比〔改良前/改良后〕3.程序的局部性原理:时间局部性:程序即将使用的信息很可能是目前使用的信息。
空间局部性:即将用到的信息可能与目前用到的信息在空间上相邻或相近。
4.CPU性能公式:1.时钟周期时间2.CPI:CPI = 执行程序所需的时钟周期数/IC3.IC(程序所执行的指令条数)8.并行性:电脑系统在同一时刻或者同一时间间隔内进行多种运算或操作。
同时性:两个或两个以上的事件在同一时刻发生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
)
×2+
i1 (0.15+0.13+0.12+0.09+0.08+0.07+0.03+0.01)×4
2.1.1 操作码的优化表示 操作码的表示方法通常有三种,等长操作码,
Huffman编码法和扩展编码法,下面分别介绍。
第2章 指令系统
1. 等长操作码 对于采用等长操作码的指令系统,若指令系统中共 有N种不同功能的指令,则指令系统中的所有指令的操 作码长度固定为┌log2N┐位。等长操作码的操作码长度 规整,有利于简化硬件设计,减少指令译码时间。如 IBM370指令系统,指令操作码的长度固定为8位。
第2章 指令系统
要采用Huffman编码法表示操作码,必须先知道各种 指令在程序中出现的概率,这通常可以通过对已有典 型程序进行统计得到。
现设有一台模型机,共有10种不同功能的指令,各指令的 使用频度如表2.1所示。若用等长的操作码表示需用4位。 按信息论的观点,当各种指令的出现是相互独立的时候 (当然实际情况并不都是如此),操作码的信息源熵(信 息源所包含的平均信息量)H为-∑pi log pi,由于操作码信 息是用二进制表示,则H=-∑pi log2pi。其中pi表示第i种操 作码在程序中出现的概率。
第2章 指令系统
为减少信息冗余量,可改用Huffman编码。Huffman 编码的一般过程为:
(1)利用Huffman算法,构造Huffman树; (2)Huffman树的所有左分支用一位代码的“1”表示, 右分支用一位代码的“0”表示,反过来表示也可以; (3)从根结点开始,沿线到达各频度指令所经过的代 码序列即为该频度指令的Huffman编码。 值 得 说 明 的 是 , 构 造 的 Huffman 树 以 及 各 指 令 的 Huffman编码均不是唯一的,但采用Huffman编码的操 作码的平均长度是唯一的。
指令使用频度pi 0.17 0.15 0.15 0.13 0.12 0.09 0.08 0.07 0.03 0.01
Huffman编码 10 000 001 010 110 0110 0111 1110 11110 11111
操作码长度li 2 3 3 3 3 4 4 4 5 5
3-4扩展码编码 000 001 010 011 100 101 1100 1101 1110 1111
10
pi•li=0.17×2+(0.15+0.15+0.13+0.12)×3+
(i01 .09+0.08+0.07)×4
+(0.03+0.01)×5
=3.15位
第2章 指令系统
表2.2 操作码的Huffman编码法和3-4扩展码编码法
指令序号
I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
第2章 指令系统
扩展操作码编码是介于等长操作码编码和Huffman编 码之间的一种编码方式,使操作码的长度只限于有限 的几种码长(如这里只有两种码长)。为便于实现和 分级译码,一般采用等长扩展。在表2.2中,若采用2-4 等长扩展操作码编码,其操作码的平均码长为:
10
pi•li=
(
0.17+0.15
.06+0.09×3.47 +0.08×3.64+0.07×3.84+0.03×5.06+0.01×6.64 =3.10位
这说明表示这10条指令,操作码平均只需3.1位。采 用4位等长操作码表示的信息冗余量为:
第2章 指令系统
操作码的实际平均长度-H 4 - 3.10
操作码的实际平均长度
= 4
=22.5%
操作码长度li 3 3 3 3 3 3 4 4 4 4
第2章 指令系统
3. 扩展操作码 Huffman编码法是最优化的编码方法,但这种编码方 法形成的操作码很不规整,10种指令就有4种不同的操 作码长度,既不便于译码,也不实用。所以,在此基 础上再结合采用等长操作码的编码方法,可以得到如 表2.2右部的所谓扩展操作码编码。
第2章 指令系统
表2.1 某模型机指令使用频度举例
指令序号 I1 I2 I3 I4 I5
指令使用频度pi 0.17 0.15 0.15 0.13 0.12
指令序号 I6 I7 I8 I9 I10
指令使用频度pi 0.09 0.08 0.07 0.03 0.01
第2章 指令系统
按表2.1的数据,得 H=0.17×2.56+0.15×2.74+0.15×2.74+0.13×2.94+0.12×3
• 指令系统设计必须由软件设计人员和硬件设 计人员共同来完成.
第2章 指令系统
2.1 指令格式的优化
指令由操作码和地址码两部分组成。指令格式的优 化指的是如何用最短的位数来表示指令的操作信息和地 址信息,使程序中指令的平均字长最短。因此指令格式 的优化包括操作码的优化和地址码的优化两部分。
第2章 指令系统
第2章 指令系统
2. Huffman编码 Huffman编码法是1952年由Huffman首先提出的一种 编码方法,开始主要用于电报报文的编码。如26个英 文字母中,e、t等的使用频率最高,用短码表示;q、x 等的使用频率很低,用长码表示。这样,可以缩短整 个报文的长度,减少报文的传送时间。Huffman编码不 仅可用于代码压缩,也可用于程序压缩、存贮空间压 缩和时间压缩等。
第2章 指令系统
1.00 1
0 0.40
1
0.23
1 0
0.11 0
1
0 0.04
1
0
0.01
0.03
0.07
0.12
0.17
0.60
1
0
0.30 1
0.17
0
1
0
0.08
0.09
0.13
0.30
1
0
0.15
0.15
图2.1 利用Huffman树进行操作码编码
第2章 指令系统
对于表2.1构造的Huffman树如图2.1所示。根据 Huffman树设计的Huffman编码如表2.2所示。Huffman 编码的平均码长为:
第2章 指令系统
第2章 指令系统
2.1 指令格式的优化 2.2 CISC 2.3 RISC 2.4 后RISC
第2章 指令系统
• 指令系统是软件与硬件之间的一个主要分界 面,也是他们之间互相沟通的一座桥梁。 硬件设计人员采用各种手段实现指令系统, 而软件设计人员则使用这些指令系统编制系 统软件和应用软件,用这些软件来填补指令 系统与人们习惯的使用方式之间的语义差距。