指令格式设计

合集下载

计算机体系结构试题库—简答题

计算机体系结构试题库—简答题

计算机体系结构试题库简答题(100题)1.简述CISC结构计算机的缺点。

答:在CISC结构的指令系统中,各种指令的使用频率相差悬殊。

据统计,有20%的指令使用频率最大,占运行时间的80%。

也就是说,有80%的指令在20%的运行时间内才会用到。

CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。

CISC结构指令系统的复杂性给VLSI设计增加了很大负担,不利于单片集成。

CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。

在CISC结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。

2.RISC结构计算机的设计原则。

答:A.选取使用频率最高的指令,并补充一些最有用的指令;B.每条指令的功能应尽可能简单,并在一个机器周期内完成;C.所有指令长度均相同;D.只有load和store操作指令才访问存储器,其它指令操作均在寄存器之间进行;E.以简单有效的方式支持高级语言。

3.影响现代微处理器主频提升的主要原因由哪些答:线延迟、功耗。

4.指令集格式设计时,有哪三种设计方法答:固定长度编码、可变长编和混合编码)三种设计方法。

5.简述存储程序计算机(冯·诺依曼结构)的特点。

答:(1)机器以运算器为中心。

(2)采用存储程序原理。

(3)存储器是按地址访问的、线性编址的空间。

(4)控制流由指令流产生。

(5)指令由操作码和地址码组成。

(6)数据以二进制编码表示,采用二进制运算。

6.在进行计算机系统设计时,一个设计者应该考虑哪些因素对设计的影响答:在进行计算机系统设计时,设计者应该考虑到如下三个方面因素的影响:技术的发展趋势;计算机使用的发展趋势;计算机价格的发展趋势。

7.简述程序翻译技术的特点。

答:翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。

指令系统的设计和优化

指令系统的设计和优化

操作数的存储形式






存储器
CPU内什么地方
每条指令中显式说明的操作数个数
操作数的位置
操作类型
操作数的类型和长短
指令的分类
指令格式的优化



指令=操作码+地址码
指令格式的优化:如何用最短的位数来表示
指令的操作信息和地址信息,使程序中指
令的平均字长最短。
主要目标:


节省程序的存储空间
指令格式尽量规整,便于译码




PUSH A ;操作数a压入堆栈
PUSH B ;操作数b压入堆栈
MUL ;栈顶两数相乘,结果压回堆顶
PUSH C
ADD
PUSH D
SUB ;栈顶是分子运算的结果
PUSH E
PUSH F
ADD
DIV ;栈顶是最后运算的结果
POP X ;保存最后运算结果
关于地址码个数结论
+0.01×6.644=1.95(位)
0.45
0.30
0.15
0.05
0.03
0
0
0
0
1.00
0.55
1
0.25
1
0.01
0.01
0
1
0.02
0
1
0.05
1
0.10
1
指令序号 概率
I1
0.45
I2
0.30
I3
0.15
I4
0.05
I5
0..01
Huffman编码法
0
10
110
参数必须满足90%以上的使用频率。

计算机指令格式

计算机指令格式

(3)地址结构
指令中的地址码用来指出该指令的源操作数地址 ( 一个
(2) 对指令系统性能的要求
指令系统的性能决定了计算机的基本功能, 它的设计直接关系到计算机的硬件结构和用 户的需要。
一个完善的指令系统应满足如下四方面的 要求: •完备性 •有效性 •规整性 •兼容性
2 指令格式
一条指令应包含如下信息:
进行何种操作:即操作性质。 体现在指令中被称为操作码。 操作的对象:数据来源以及如何寻找操作数。 体现在指令中被称为地址码 操作结果:结果存放在何处。
在可变长操作码的指令系统设计中,究竟使 用何种扩展方法为好,指令的使用频度(即 在程序中出现的概率)是非常重要的依据。 即频度高的指令应分配短的操作码,频度低 的指令则分配较长的操作码。 缺点是译码系统比固定操作码复杂,增加了 设计控制器的难度,需要更多的硬件作支持。

例如: 设某台计算机有100条指令, (1) 采用固定长度操作码编码,试设 计其操作码的编码。 (2) 假如这100条指令中有10条指令的 使用概率达到90%,其余90条指令的使 用概率为10%。试采用不等长编码设计 操作码。
解:
(1)固定长度操作码编码:需7位操作码。
100个代码作为100条指令指令操作码即
0000000
0000001 … 1100011
指令0的操作码
指令1的操作码 指令99的操作码
剩下28个代码可用于增加新指令,长度都是7位。
1100100

1111111
解:可变长度操作码编码 ⑵ 10条指令:需4位操作码编码 0000 … 1001 指令9的操作码 指令0的操作码
2)方法二:扩展操作码
操作码
15-12 11-8

指令系统与汇编语言程序设计

指令系统与汇编语言程序设计

1010011i n
85 n1 n2
MOV DPTR,#d1d2 ;DPTR←d1d2
90 d1 d2
习题1:找出配对指令,实精现选p反pt 向传送。
《单片机原理及应用》教学课件
例2-4-1:顺序执行下列指令序列,求每一步执行结果。
MOV A,#30H
;A= 30H
MOV 4FH,A
;(4FH)= 30H
2-1 指令格式
一. 汇编语言指令格式 [标号:]操作码 操作数1,操作数2[;注释]
换行表示一条指令结束。 例: LOOP: MOV A,#40H ;取参数
1.标号:指令的符号地址 2.操作码:指明指令功能。 3.操作数:指令操作对象 数据、地址、寄存器名及约定符号。 4.注释行:说明指令在程序中的作用。
第2章 指令系统与汇编语言程序设计 2-1 指令格式 2-2 指令寻址方式 2-3 状态标志 2-4 MCS-51指令系统
《单片机原理及应用》教学课件
单片机指令系统概述
一、MCS-51指令分类
MCS-51单片机共有111条指令。 1.按指令所占的字节数分类
①单字节指令49条 ②双字节指令46条 ③三字节指令16条 每条指令的平均字节数:
精选ppt
《单片机原理及应用》教学课件
例:查表法求Y=X2。设X(0≤X≤15)在片内RAM的20H单元中,要 求将查表求Y,存入片内RAM21H单元。
2)指令地址
1000H 1002H 1004H 1005H 1007H 1008H 100BH
源程序
ORG 1000H
;程序起始地址
SQU: MOV A,20H ;取X
操作码和操作数是指令主体。
精选ppt

计算机设计与实践——MIPS基本指令

计算机设计与实践——MIPS基本指令

MIPS 基本指令和寻址方式:MIPS 是典型的RISC 处理器,采用32位定长指令字,操作码字段也是固定长度,没有专门的寻址方式字段,由指令格式确定各操作数的寻址方式。

MIPS 指令格式一般有三种格式: R-型指令格式 I-型指令格式 J-型指令格式R _Type 指指指指262116116316bit6bit5bit5bit5bit5bitOP : 操作码rs : 第一个源操作数寄存器rt : 第二个源操作数寄存器(单目原数据) rd : 结果寄存器 shamt :移位指令的位移量 func : 指令的具体操作类型特点:R-型指令是RR 型指令,其操作码OP 字段是特定的“000000”,具体操作类型由func字段给定。

例如:func=“100000”时,表示“加法”运算。

R[rd] ← R[rs] + R[rt]I _Type 指指指指2621163115特点:I-型指令是立即数型指令双目运算: R[rt] R[rs](OP )SignExt(imm16) Load 指令:Addr ← R[rs] + SignExt(imm16) 计算数据地址 (立即数要进行符号扩展) R[rt] ← M[Addr] 从存储器中取出数据,装入到寄存器中Store 指令:Addr ← R[rs] + SignExt(imm16) M[Addr] ← R[rt]J _Type 指令格式26316bit26bit25特点:J-型指令主要是无条件跳转指令,将当前PC 的高4位拼上26位立即数,后补两个“0”,作为跳转目标地址。

j L //goto L 指指指指指指指指指jal L //$ra 指PC+4;goto L 指指指指指指指指指R 型指令:定点运算: add / addu , sub / subu , sra , mult/multu , div/divu 逻辑运算: and / or / nor , sll / srl 比较分支: beq / bne / slt / sltu 跳转指令: jrI 型指令:定点运算: addi / addiu 逻辑运算: andi / ori 比较分支: slti / sltiu数据传送: lw / sw / lhu / sh / lbu / sb / luiJ 型指令: j / jal设计模块划分,教学安排1、MIPS格式指令系统设计2、指令存储器设计3、寄存器堆设计4、ALU设计——基本算术、逻辑单元的设计32位超前进位加法器的设计32位桶式移位寄存器的设计5、取指令部件的设计6、立即数处理单元设计7、单周期处理器设计——R型指令的数据通路设计I型指令的数据通路设计Load/Store指令的数据通路设计分支指令/转移指令的数据通路设计综合12条指令的完整数据通路设计8、ALU控制单元设计9、主控制单元的设计10、单周期处理器总体验证11、异常和中断处理及其电路实现12、带有异常和中断处理功能的处理器的设计设计示例1:指令存储器设计1、 指令存储器模块定义:指令存储器用于存放CPU 运算的程序指令和数据等,采用单端口存储器设计,设计最大为64个存储单元,每个存储单元数据宽度为32bit 。

第14讲 指令格式

第14讲 指令格式

10%。试采用不等长编码设计操作码。
(2)可变长度操作码编码
10条指令:需4位操作码编码
0000
指令0的操作码

1001
指令9的操作码
90条指令:需8位操作码编码
10100000 (160)
… 11111001 (249)
➢扩展操作码的组合方案可以有多种,但各 条指令的操作码一定不能重复,而且各指令 应能正确译码。
软件
指令系统
硬件
❖ 指令格式
指令格式与机器字长、存储器容量及指令功能都 有很大的关系。从便于程序设计、增加基本操作 并行性、提高指令功能的角度来看,指令中应包 含多种信息。但在有些指令中,由于部分信息可 能无用,这将浪费指令所占的存储空间,增加了 访存次数,从而影响速度。
一条指令要提供以下信息:即执行什么操作;操 作数到哪里去取,结果送到哪里,为了使程序自 动执行还应该指出下一条指令的地址。前者表现 为操作码、后者表现为地址码。指令格式如下
OP A1 A2 A3
1)方法一:固定格式,则最多可以设计16条三地址 指令。显然,4位基本操作码是不够的,必须向地 址码字段扩展操作码的长度。
2)方法二:扩展操作码 该指令可以包含3、2、1或0个地址。
2)方法二:扩展操作码
OP A1
操作码 地址码
15-12 11-8 7-4 3-0
A2 A3
4 位操作码
0000 0001
AA11
AA22
AA33
15条三地址指令




1110 A1 A2 A3
8 位操作码
1111 0000 1111 0001
AA22
AA33

指令的格式

指令的格式
计算机的指令格式与计算机的字长、存 储器容量及指令功能密切相关。
为提高指令功能,增加基本操作并行性, 指令中所包含的信息以多为宜;
指令太长又会增加存储空间的开销,并对机器指令执行速度产 生影响。因此,如何合理、科学地设计指令格式对整个计 算机设计是至关重要的。
指令的格式
1.1 指令的编码格式

C、操作数和结果可以分散在内存各处。
D、但是指令字长度太长。
指令的格式
1.1 指令的编码格式
1、指令字长要短,以得到时间和空间上的优势。 2、指令字长必须有足够的长度。 3、指令字长一般应是机器字符长度的整数倍以便存储系 统的管理。若机器中字符码长是L位,则机器字长最好是L, 2L,4L,8L等。 4、指令格式的设计还与如何选定指令中操作数地址的位 数有关。
指令的格式
1.1 指令的编码格式
这是一种没有操作数地址部分的指令格式。 操作码OC
这种指令有两种可能: (1)无需任何操作数。如空操作指令,停机指令等。 (2)所需的操作数是默认的:堆栈。
指令的格式
1.1 指令的编码格式
操作码OC
AC1
(1)指令中给出的一个地址即是操作数的地址,又是操 作结果的存储地址。如加1、减1、移位等单操作数指令。
(2)在某些计算机中,指令中提供的一个地址提供一个 操作数,另一个操作数是由机内硬件寄存器“隐含”地自动 提供的。所谓“隐含”是指此操作数在指令中不出现,而是 按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。 因为这个寄存器在连续运算时,保存着多条指令连续操作的 累计结果,故称为累加器(AC)。
两个字段:操作码字段+操作数地址字段 操作码字段OC 地址码字段AC
操作码

第五章 PLC的基本指令及程序设计


(4)RI,立即复位指令
用立即复位指令访问输出点时,从指令
所指出的位(bit)开始的N个(最多为 128个)物理输出点被立即复位,同时, 相应的输出映像寄存器的内容也被刷新。 用法: RI bit, N 例: RI Q0.0,1 应用举例:
LD = =I SI
I0.0 //装入常开触点 Q0.0 //输出触点,非立即 Q0.1 //立即输出触点 Q0.2, 1 //从 Q0.2 开始的 1 个 //触点被立即置 1

图5.4 LPS,LRD,LPP指令的操作过程
逻辑推入栈 逻辑读栈 逻辑弹出栈
前 iv0 iv1 iv2 iv3 iv4 iv5 iv6 iv7 iv8
后 iv0 iv0 iv1 iv2 iv3 iv4 iv5 iv6 iv7
前 iv0 iv1 iv2 iv3 iv4 iv5 iv6 iv7 iv8
T32,T96 T33~T36,T97~T100 T37~T63,T101~T255
3. 定时器指令格式

TON
通电延时型

TONR 有记忆通电延时型
TOF 断电延时型 IN—使能输入端;编程范围T0~T255; PT是预置值输入端,最大预置值32767;PT 数据类型:INT。PT寻址范围见附表1。

NETWORK 1 LD I0.0 S Q0.0, 1 NETWORK 5 LD I0.1 R Q0.0, 1
I0.0 I0.1 Q0.0
5.1.4 边沿触发指令(脉冲生成)
用途:边沿触发是指用边沿触发信号产生一个机器周 期的扫描脉冲,通常用作脉冲整形。 分类:边沿触发指令分为正跳变触发(上升沿)和负 跳变触发(下降沿)两大类。 正跳变触发指输入脉冲的上升沿,使触点ON一 个扫描周期。负跳变触发指输入脉冲的下降沿,使触 点ON一个扫描周期。 EU(Edge Up)正跳变, 无操作元件 ED(Edge Down)负跳变, 无操作元件

汇编语言程序设计_第3章 80x86指令系统


3.3.2 算术指令
1. 加法
一般形式:
ADD dest, src ; dest = dest + src
ADC dest, src ; dest = dest + src + CF
INC
dest
; dest = dest + 1
语法格式:
ADD reg/mem, reg/mem/imm
ADC reg/mem, reg/mem/imm
movsx ax, al ; 等价于cbw movsx eax, ax ; 等价于cwde movsx eax, al ; 等价于顺序执行cbw与cwde
2019/8/26
80x86汇编语言程序设计
3.3.1 数据传送指令
(3)MOVZX 一般形式: MOVZX dest, src ; src零扩展为dest;386新增 语法格式: MOVZX reg16, reg8/mem8 MOVZX reg32, reg8/mem8/reg16/mem16
2019/8/26
80x86汇编语言程序设计
3.3.1 数据传送指令
5. 堆栈操作指令
80x86系统的堆栈具有如下特点: 堆栈是在内存的堆栈段中,具有“先进后出”的特点。 堆栈只有一个出入口,即当前栈顶。当堆栈为空时,栈顶和栈底指向同一内存单
元。 堆栈有两个基本操作:PUSH(进栈)和POP(出栈)。PUSH操作使栈顶向低地
INC
reg/mem
对标志位的影响:
ADD、ADC:按一般规则影响CF、OF、SF和ZF。 INC:不影响CF,其它同ADD。 说明:ADD与ADC的2个操作数必须类型匹配,且不能同时是内存操作数。
2019/8/26

指令格式的优化设计

指令格式的优化设计指令格式的优化设计的目的是用最短的二进制位数表示指令的操作信息和位置信息,使指令的平均字长最短。

指令格式的优化设计,首先根据指令集各指令的使用频度的分布{P}对操作码进行优化设计,然后对位置i码和寻址方式的表示采取优化措施,使指令格式达到优化。

经过优化设计的指令集减少了程序的总位数,减少了程序运行的时空开销,从而提高了系统的性能。

我们首先讨论操作码的优化编码方法,然后讨论寻址技术,最后,在操作码和位置码优化表示的基础上,说明指令格式的优化设计。

一、操作码的优化设计1、操作码优化编码的方法操作码优化编码的方法有三种:定长编码、哈夫曼编码和扩展编码。

定长编码:是指所有指令的操作码长度都是相等的。

如果有n个需要编码的操作码,定长操作码的位数最少需要logn位。

2哈夫曼编码:用哈夫曼方法构造哈夫曼树进行编码。

构造哈夫曼树的方法是:每次从指令集中选出两个使用频度最小的指令,将其频度相加,形成一个节点,称为父节点,将新生成的父节点放到结点集中,从新的节点集中再选两个使用频度最少的节点生成一个新的父节点,直至节点集成为空集,就生成了一棵哈夫曼树。

每个节点的两个分支节点,称为节点,用0和1标识,上面的节点称根节点,下面的节点称为叶节点。

从最上面的根节点到一个叶节点的路径(由0和1组成的序列)就是这个叶节点的哈夫曼编码。

由于哈夫曼编码的码长种类较多。

既不利于硬件对操作码的译码,也很难与位置码配合形成长度规整的指令格式。

因此,实用的操作码编码一般不采用哈夫曼编码而采用扩展编码的方法。

扩展编码:限定使用少数几种长度码长,使用频度高的码点用短码表2 / 22示,使用频度低的码点用长码表示。

特别需要指出的是,不是所有的短码都可以作为长码的前缀,即不是任何短码都可以是任何长码的若干位。

否则,编码将会不唯一。

所以,要留下若干个短码作为长码的扩展标志,以便长码在扩展编码时使用。

这是扩展编码“扩展”一词的含义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
故最多可支持的故零地址指令数为: 3026 条
OP X1 A1 X2 A2 X3 A3
OP = 6位 X1 = X2 = X3 =3 ,共 9位 A1=A2=11, A3=10位,共 32位
47位
指令占两个存储字,取指访存2次,取2个源操作数访存2次,写结果访存1次,共5次
第五 章 5.4 指令格式设计
2
指令格式设计举例
例2 字长16位,主存64K,指令单字长单地址,80条指令。寻址方式有直接、 间接、相对、变址。请设计指令格式
解:80条指令 OP字段需要7位( 27=128 )
4种寻址方式 寻址方式特征位2位
单地址位长度:16-7-2 =7位 指令格式:
7
2
7
OP
X
A
第五 章 5.4 指令格式设计
2
指令格式设计举例
例2 字长16位,主存64K,指令单字长单地址,80条指令。寻址方式有直接、间接、
相对、变址。请设计指令格式
2
指令格式设计应用举例
例3 设某指令系统指令字长16位,每个地址码为6位。若要求设计二地址指令15
条、一地址指令34条,问最多还可设计多少条零地址指令?
OP() A1(6) A2(6)
解: 操作码按从短码到长码进行扩展编码 假定二地址指令编码: (0000 – 1110) 共15条,1111作为扩展标识; 则一地址指令编码的全集可表示为: 1111 000000 – 111111(假定扩向A1); 因一地址指令只需34条,可将全集中多余的30种编码作为向零地址指 令扩展的标识,假定为: 100010 – 111111
计算机组成原理
第五章 指令系统
5.4 指令格式设计
第五 章 5.4 指令格式设计
1
指令格式设计的主要内容
操作码字段 寻址方式
地址码字段
■ 根据指令数量的要求及是否支持操作码扩展,确定操作码字段的位数 ■ 根据对操作数的要求确定地址码字段的个数 ■ 根据寻址方式的要求,为每个地址码字段确定寻址方式字段位数 ■ 确定采用定长指令还是变长指令
7
2
7
OP
X
A
设PC寄存器16位 变址寄存器16位
•相对寻址 E=(PC)+A , 寻址范围为 :64K
•变址寻址 E=(R)+A , 寻址范围为 :64K
•直接寻址 E = A ,寻址范围为
:128
•间接寻址 E = (A), 寻址范围为 :64K
设计评价: •访问主存的方式太多 •缺立即数寻址
第五 章 5.4 指令格式设计
第五 章 5.4 指令格式设计
2
指令格式设计举例
例1 某机字长32位,采用三地址指令,支持8种寻址操作,完成60种操作,各 寻址方式均可在2K主存范围内取得操作数,并可在1K范围内保存运算结果。 问应采用什么样的指令格式?指令字长最少应为多少位?执行一条指令最多要 访问多少次主存?
解:根据题目条件,指令格式如下:
相关文档
最新文档