计算机体系结构-第2章 指令系统

合集下载

系统结构讲义-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

计算机系统结构课后答案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计算机系统结构复习资料

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版)-胡伟武-清华大学出版社

LEC03_指令系统结构-计算机体系结构(第2版)-胡伟武-清华大学出版社
X86, 68000
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章

计算机系统结构第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)涉及内容*指令集结构:指令集总体框架,如存放部件、寄存器数量;*指令集功能:⽀持操作的类型;*数据表⽰:操作⽀持的数据类型、数据存储格式等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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章 指令系统
• 指令系统是软件与硬件之间的一个主要分界 面,也是他们之间互相沟通的一座桥梁。 硬件设计人员采用各种手段实现指令系统, 而软件设计人员则使用这些指令系统编制系 统软件和应用软件,用这些软件来填补指令 系统与人们习惯的使用方式之间的语义差距。
相关文档
最新文档