指令系统例题
(1)画出操作码扩展图;
(2)画出指令译码逻辑;
(3)计算操作码平均长度。
[解]:
000
(1)操作码扩展图: 011
100
101 110
110 111
111
×××
(地址码)
×××
×××
4:16译码器 …
(16条)
6:64译码器
…
(64条)
×××
4:16译码器 …
(16条)
(3)操作码平均长度L:
各类指令操作码的总位 长
指令总条数
4 3 16 6 64 9 16 12 8.7 4 16 64 16
使用操作码扩展方法的基本原则:
(1) 使用频率高的指令,应分配短的操作码;使用频率低的指令 则相应地分配较长的操作码。
例:某指令系统字长16位,每个地址码位长为6位,若已知有 二地址指令M条;零地址指令N条,问:系统可有单地址指令 多少条?
[解]:设:有单地址指令X条 指令字长16位,地址码6位,∴ 二地址指令可有:24条 已知有二地址指令M条,可用于扩展: (24-M) ∴单地址指令可有: (24-M)×26 已设:有单地址指令X条,可用于扩展: [(24-M)×26-X] ∴零地址指令N条为: [(24-M)×26-X]×26 =N
:
×××
000 :
111 000
: 111 000 : 000
×××
××× ×××
×××
000
111 000
001
×××
××× ×××
××× ×××
×××
000
111
4条三地 址指令
16条二地 址指令
64条单地 址指令
16条零地 址指令
(2)指令译码逻辑图:
(操作码)
×××
译码 启动
3:8译码器
(4条)
(2) 应尽量减少操作码的平均码长,有效地缩短操作码在程序 中的长度,既节省存储空间、又可缩短指令的平均译码时 间,提高程序的运行速度,减小控制器的复杂性。
例:某计算机的指令系统指令字长16位,操作数地址需4位, 采用操作码扩展法增加指令条数。已知该系统已有三地址指 令M条、二地址指令N条、没有零地址指令,问:最多还有 多少条单地址指令? [解]: 已知指令字长16位,操作数地址需4位,则: 对于三地址指令:操作码长度为(16-4×3)=4 位;
可解得: X= (24-M)×26-N/26
(可有24条指令) 对于二地址指令:操作码可扩展4 位; 对于单地址指令:操作码又可扩展4 位。 ∵已知三地址指令M条,∴剩下的组合(24-M)可用于扩展;
又已知二地址指令N条,∴剩下的组合[(24-M)×24-N]可用于扩展; ∵ 没有零地址指令,
∴ 单地址指令的条数为: [(24-M)×24-N] ×24
s7-200指令应用实例(3)
2. 设置中间单元 在梯形图中,若多个线圈都受某一触点串并联电路的控制,为了简化电路,在梯形图中可设置该电路控制的存储器的位,如图所示,这类似于继电器电路中的中间继电器 。
4. 外部联锁电路的设立 为了防止控制正反转的两个接触器同时动作造成三相电源短路,应在PLC外部设置硬件联锁电路。 5.外部负载的额定电压 PLC的继电器输出模块和双向晶闸管输出模块一般只能驱动额定电压AC 220V的负载,交流接触器的线圈应选用220V的。
输出 Q0.1 H1 //抢答席1上的指示灯 Q0.2 H2 //抢答席2上的指示灯 Q0.3 H3 //抢答席3上的指示灯
(3)程序设计 抢答器的程序设计如图4-35所示。本例的要点是:如何实现抢答器指示灯的“自锁”功能,即当某一抢答席抢答成功后,即使释放其抢答按钮,其指示灯仍然亮,直至主持人进行复位才熄灭;如何实现3个抢答席之间的“互锁”功能。
4.2.3编程注意事项及编程技巧
1.梯形图语言中的语法规定 (1)程序应按自上而下,从左至右的顺序编写。 (2)同一操作数的输出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出。如图所示。
(3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储器SM0.0(该位始终为1)来连接,如图所示。
TONR T××,PT
TOF T××,PT
2. 时基 按时基脉冲分,则有1ms、10ms、100ms 三种定时器。不同的时基标准,定时精度、定时范围和定时器刷新的方式不同。 (1)定时精度和定时范围。 定时器的工作原理是:使能输入有效后,当前值PT对PLC内部的时基脉冲增1计数,当计数值大于或等于定时器的预置值后,状态位置1。 其中,最小计时单位为时基脉冲的宽度,又为定时精度; 从定时器输入有效,到状态位输出有效,经过的时间为定时时间, 即:定时时间=预置值×时基。 当前值寄存器为16bit,最大计数值为32767,由此可推算不同分辨率的定时器的设定时间范围。CPU 22X系列PLC的256个定时器分属TON (TOF)和TONR工作方式,以及3种时基标准,如表4-4所示。 可见时基越大,定时时间越长,但精度越差。
0104指令系统的优化例题
①用此思想可对操作码进行优化。 ②对地址码的优化:
6.设计RISC机器的一般原则及 可采用的基本技术有那些?
答:一般原则: (1)确定指令系统时,只选择使用频度很高的指令及
少量有效支持操作系统,高级语言及其它功能的 指令. (2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成; (4)扩大通用寄存器个数,一般不少于32个,尽量减 少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。
(4)用流水和延迟转移实现指令,即可让本条指令执 行与下条指令预取在时间上重叠。另外,将转移 指令与其前面的一条指令对换位置,让成功转移 总是在紧跟的指令执行之后发生,使预取指令不 作废,节省一个机器周期。
(5)优化设计编译系统。即尽力优化寄存器分配,减 少访存次数。不仅要利用常规手段优化编译: 还 可调整指令执行顺序,以尽量减少机器周期等。
答:指令格式的优化指如何用最短位数表示 指令的操作信息和地址信息,像程序中指 令的平均字长最短。
Huffman压缩的基本思想是,当各种事件发 生概率不均等时,采用优化技术对发生概 率最高的事件用最短的位数(时间)来表示 (处理),而对出现概率较低的事件,允许采 用较长位数(时间)来表示(处理),会导致表 示(处理)的平均位数(时间)的缩短。
(4)由于指令系统庞大,指令的使用频度不高,降 低系统性能价
格比,增加设计人员负担。
RISC的问题:(1)由于指令少,在原CISC上一条
由于RISC和C1SC各有优缺点:(1)在设计 时,应向着两者结合,取长补短方表示数据信息, 其存储空间利用率低,运算速度要快。( ×)
1.4 指令系统的优化 习题课
4 STC15F2K60S2 单片机的指令系统例题
第4 章STC15F2K60S2 单片机的指令系统例题例4.1 分析执行下列指令序列后各寄存器及存储单元的结果。
MOV A, #30HMOV 4FH, AMOV R0, #20HMOV @R0, 4FHMOV 21H, 20HMOV DPTR,#3456H解:分析如下:MOV A, #30H ;(A)=30HMOV 4FH, A ;(4FH)=30HMOV R0, #20H ;(R0)=20HMOV @R0, 4FH ;((R0)) =(20H)=(4FH)=30HMOV 21H, 20H ;(21H)=(20H)=30HMOV DPTR,#3456H ;(DPTR)=3456H所以执行程序段后:(A)=30H,(4FH)=30H,(R0)=20H,(20H)=30H,(21H)=30H,(DPTR)=3456H52例4.2 将扩展RAM 2010H 中内容送扩展RAM 2020 单元中,用Keil C 集成开发环境进行调试。
解:(1)编程如下:ORG 0MOV DPTR,#2010H ;将16 位地址2010H 赋给DPTRMOVX A,@DPTR ;读扩展RAM 2010H 中数据至累加器AMOV DPTR,#2020H ;将16 位地址2020H 赋给DPTRMOVX @DPTR,A ;将累加器A 中数据送入外RAM 2020H 中END(2)按第4 章所学知识,编辑文件与编译好上述指令,进入调试界面,设置好被传送地址单元的数据,如66H,如图4.6 所示。
图4.6 程序执行前,设置2010H 地址单元内容与2020H 地址单元的状态单步或全速执行这4 条指令,观察程序执行后2010H 地址单元内容的变化。
53图4.7 程序执行后,2010H 地址单元内容与2020H 地址单元内容的变化从图4.6 和图4.7 可知,传送指令执行后,传送目标单元的内容与被传送单元的内容一致,同时,被传送单元的内容也不会改变。
计算机组成原理.各章例题
第一章计算机系统概论例1,冯·诺依曼机工作的基本方式的特点是什么?解:冯·诺依曼机工作的基本方式的特点是:按地址访问并顺序执行指令。
冯·诺依曼机工作原理为:例2,Cache是一种A. ______存储器,是为了解决CPU和主存之间B. ______不匹配而采用的一项重要硬件技术。
现发展为多级cache体系,C. ______分设体系。
解:A. 高速缓冲B. 速度C. 指令cache与数据cache例3,完整的计算机应包括那些部分?解:完整的计算机应包括配套的硬件设备和软件系统。
例4,计算机系统的层次结构是怎样的?解:计算机系统的层次结构如图:第二章 运算方法和运算器例 1.设机器字长32位,定点表示,尾数31位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最大负数是多少? (2)定点原码小数表示时,最大正数是多少?最大负数是多少? 解:(1最大正数:数值 = (231 – 1)10最大负数: 数值 = -(231 – 1)10 (2)定点原码小数表示: 最大正数值 = (1 – 231 )10最大负数值 = -(1–231 )10例2.已知 x = - 0.01111 ,y = +0.11001, 求 [ x ]补 ,[ -x ]补 ,[ y ]补 ,[ -y ]补,x + y = ? ,x – y = ?解:[ x ]原 = 1.01111 [ x ]补 = 1.10001 所以 :[ -x ]补 = 0.01111[ y ]原 = 0.11001 [ y ]补 = 0.11001 所以 :[ -y ]补 = 1.00111 [ x ]补 11.10001 [ x ]补 11.10001 + [ y ]补 00.11001 + [ -y ]补 11.00111 [ x + y ]补 00.01010 [ x - y ]补 10.11000所以: x + y = +0.01010 因为符号位相异,结果发生溢出例3.设有两个浮点数 N 1 = 2j1 × S 1 , N 2 = 2j2 × S 2 ,其中阶码2位,阶符1位,尾数四位,数符一位。
基本功能指令系统
2
二、基本功能指令
基本功能指令的操作数 可用寄存器 指令 助记符 继电器 定时/ 定时 索引 寄存器 计数器 寄存器 DT × × × × × × × × × × × 常数 H × × 索引 修正值 × × ×
WX WY WR SV EV TM预置值 × × × 预置值 CT预置值 × × × 预置值 SR × ×
7
二、基本功能指令
1、TMR、TMX和TMY指令(定时器) TMR、TMX和TMY指令 定时器) 指令( 例:
8
二、基本功能指令
1、TMR、TMX和TMY指令(定时器) TMR、TMX和TMY指令 定时器) 指令( 例:
9
二、基本功能指令
1、TMR、TMX和TMY指令(定时器) TMR、TMX和TMY指令 定时器) 指令( 例:
10
二、基本功能指令
1、TMR、TMX和TMY指令(定时器) TMR、TMX和TMY指令 定时器) 指令( 例:
11
二、基本功能指令
1、TMR、TMX和TMY指令(定时器) TMR、TMX和TMY指令 定时器) 指令( 例:
12
二、基本功能指令
2、CT计数器指令 CT计数器指令 指令功能: 指令功能: CT指令是一个减计数型的预置计数器 指令是一个减计数型的预置计数器。 CT指令是一个减计数型的预置计数器。当计 数输入端信号由OFF变为ON OFF变为ON时 计数值减1 数输入端信号由OFF变为ON时,计数值减1,当 计数值减为零时,计数器为ON,使其接点动作。 计数值减为零时,计数器为ON,使其接点动作。 ON
10s
时序图
10s
例题说明: 例题说明:
接通时, 秒后, 当X0接通时,定时器开计时,10秒后,定时时间到,定时器对应的 接通时 定时器开计时, 秒后 定时时间到, 常开触点T1接通 使输出继电器Y0导通为 接通, 导通为ON; 断开时, 常开触点 接通,使输出继电器 导通为 ;当X0断开时,定时器 断开时 复位,对应的常开触点T1断开 输出继电器Y0断开为 断开, 断开为OFF。 复位,对应的常开触点 断开,输出继电器 断开为 。
计算机组成原理-第4章 指令系统
0000 0001
AA11
AA22
AA33
…
…
…
…
1110 A1 A2 A3
1111 0000 1111 0001
AA22
AA33
…
…
…
…
1111 1110 A1 1111
0000 0001
AA33
…
…
…
…
1111 1111 1110 A3
1111 1111 1111 0000 1111 1111 1111 0001
操作码字段
地址码字段
•操作码:表征指令的操作特性和功能。不同指令有不 同编码。
•地址码:指定参与操作的操作数的地址。
4.2 指令格式
一、操作码设计 1、分类 • 固定长度操作码:操作码的长度固定,且集中放在指令字 的一个字段中 – 便于译码,扩展性差 • 可变长度操作码:操作码的长度可变,且分散放在指令字 的不同字段中 – 能缩短指令平均长度;指令的译码复杂
2、操作码位数的确定 1)要点:组成操作码字段的位数取决于指令系统的指令条数。 2)举例 • 指令系统8条指令8=23 3位操作码 • 指令系统32条指令32=25 5位操作码 • 指令系统2n条指令n位操作码
3) 扩展(可变长度)操作码技术
•基本思路: • 让操作数地址个数多的指令操作码 字段短些,让操作数地址个数少的 指令操作码字段长些
– 等长指令字结构:在一个指令系统中,各种指令字长度是相等的。结 构简单,取指快、译码简单
– 变长 指令字结构: …………………,…………………….不相等 结 构灵活,可提高编码效率,控制复杂
4.1指令系统的基本概念
4、指令系统:一台机器中所有机器指令的集合。它对计算机性能的影响主要体 现在三个方面: – 机器的硬件结构 – 机器的系统软件 – 机器的适用范围
课后习题三(第三、六、八、九章)
课后习题三(第三、六、八、九章)1、CPU是指( B )A. 控制器B. 运算器和控制器C. 运算器、控制器和主存D. 运算器、控制器、主存和I/O2、指令系统中采用不同寻址方式的目的主要是( B )A. 可降低指令译码难度B. 缩短指令字长、扩大寻址空间、提高编程灵活性C. 实现程序控制D. 提高指令执行速度3、零地址运算指令在指令格式中不给出操作数地址,它的操作数来源自( C )A. 立即数和栈顶B. 暂存器C. 栈顶或隐含约定的位置D. 存储器4、单地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个数常采用( C )A. 堆栈寻址方式B. 立即寻址方式C. 隐含寻址方式D. 基址寻址方式5、二地址指令中,操作数的物理位置安排,描述正确的是( C )A. 两个主存单元(且依然在现指令系统中采用)B. 栈顶和次栈顶C. 主存单元或寄存器D. 两个同时为寄存器不允许使用6、操作数在寄存器中的寻址方式称为( C )寻址A. 直接B. 立即C. 寄存器直接D. 寄存器间接7、寄存器间接寻址方式中,操作数在( C )A. 通用寄存器B. 堆栈C. 主存单元D. I/O外设中8、变址寻址方式中,操作数的有效地址是( C )A. 基址寄存器内容加上形式地址B. 程序计数器内容加上形式地址C. 变址寄存器内容加上形式地址D. 形式地址本身9、采用基址寻址可扩大寻址范围,且( B )A. 基址寄存器内容由用户确定,在程序执行过程中一般不可变B. 基址寄存器内容由操作系统确定,在程序执行过程中一般不可变C. 基址寄存器内容由用户确定,在程序执行过程中可随意变化D. 基址寄存器内容由操作系统确定,在程序执行过程可随意变化10、变址寻址和基址寻址的有效地址形成方式类似,但是( C )A. 变址寄存器内容在程序执行过程中是不可变的B. 在程序执行过程中,变址寄存器和基址寄存器的内容可以随意变化C. 在程序执行过程中,变址寄存器的内容可随意变化D. 以上均不对11、堆栈寻址中,设A为累加器,SP为栈顶指针,[SP]为其指向的栈顶单元,如果进栈的动作顺序是(SP)-1→SP,(A)→[SP],那么出栈的动作顺序是( A )A. [SP] →(A),(SP)+1→SPB. (SP)+1→SP,[SP] →(A)C. (SP)-1→SP,[SP] →(A)D. [SP] →(A),(SP)-1→SP12、设变址寄存器为X,形式地址为D,某机具有先变址再主存间址的寻址方式,则这种寻址方式的有效地址为( C )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D13、设变址寄存器为X,形式地址为D,某机具有先主存间址再变址的寻址方式,则这种寻址方式的有效地址为( B )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D14、运算型指令的寻址和转移类指令的寻址不同点在于( A )A. 前者取操作数,后者决定程序转移地址B. 前者计算转移地址,后者取操作数C. 前者是短指令,后者是长指令D. 前者是长指令,后者是短指令15、指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现( C )A. 程序的条件转移B. 程序的无条件转移C. 程序的条件转移和无条件转移D. 以上均不对16、设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+1 PC。
微机原理与接口技术7-8086指令系统例题
8086指令系统例题算术运算指令:例8-2 在数据段1000H起连续4个字节存贮单元中存放着一个八位已组合(已压缩)的BCD数,它后面四个字节存贮单元存放着另一个八位已组合的BCD数,求其和,和存入数据段1800H起连续4个字节存贮单元。
例8-3在数据段1000H起连续3个字节存贮单元中以未组合数形式存放着一个3位BCD数,将它除以4,商存入2000H起三字节存贮器,余数存入第四个字节。
例8-4 如DA1、DA2、DA3、DA4均是十六位无符号立即数,计算。
假定加减运算中无进/借位,除法运算无溢出。
商存入AX,余数存入DX。
例8-5 如DA5、DA6、DA7、DA8均是十六位带符号立即数,计算。
假定加减运算、除法运算无溢出。
商存入AX,余数存入DX。
逻辑运算指令(位操作指令):例8-6 BX中有一个两位ASCII数(十位在BH,个位在BL),将它们压缩成已组合的两位BCD 数,送AL。
串操作指令:例8-7 将物理地址为21000H起80H个字存贮器中的数据送到43000H起的存贮块串中去。
例8-8 将物理地址20000H起1000H(4K)字存贮区清零。
控制转移指令:例8-9 如有两个八位无符号数变量α、β,比较其大小,如α < β,跳转至LOCAT1。
例8-10 两个十六位无符号数变量α与β,比较其大小,如α > β,转移至LOCAT2。
例8-11 如α、β为两个带符号十六位数变量,比较其大小,如α > β,则跳转至LOCAT3。
例8-12 在数据段DS首址为FIRST的存贮区中有一个N个字的数组,统计其中的正数、负数的个数,将它们(个数)分别存放于SI、DI中(0算正数)。
8086汇编语言程序的格式:例8-13 在数据段中定义十个字的无符号数,然后将它们按从大到小的顺序重新排列。
1。
CH3_8086指令系统-陈裕国
寄存器操作数:
参加运算的数存放在指令给出的寄存 器中,可以是16位或8位。
例:
MOV AX,BX
MOV DL,CH 接下页
存储器操作数
参[ ]
立即数或寄存器
接下页
存储器操作数例
例: MOV AX,[1200H] MOV AL,[1200H]
立即数 寄存器
存储器
快!
接下页
六、CISC和RISC指令系统
CISC指令系统
指令的功能强,种类多,高级语言和机 器语言间的距离缩小; 指令系统复杂,难使用。 指令功能较弱,种类少,格式简单; 多数指令在一个计算机周期内完成; 对存储器的结构和存取速度要求较高。 返回
RISC指令系统
答:(1)源操作数是内存寻址中的寄存器间接寻址, EA=BX;目的操作数是寄存器寻址;传送的是字数据。
(2)源操作数是内存寻址中的相对基址变址寻址, EA=BX+DI+0004H;目的操作数是寄存器寻址;传送 的是字数据。 返回
3.3
8086指令系统
一、数据传送类指令 二、算术运算指令 三、逻辑运算指令 四、移位指令 五、串操作指令 六、控制转移指令 七、处理器控制指令 返回
PUSH指令(进栈操作指令)
指令格式:PUSH src 功能:SP-2→SP(隐含操作) ; 将字数据src送到EA=SP的堆栈段内;
例:PUSH AX
设AX=1020H
接下页
PUSH指令(进栈操作指令)
返回
POP指令(出栈操作指令)
指令格式:POP dst 功能:将EA=SP的字送到目的操作dst中。 SP+2→SP
例题习题
例题解析与练习第一次2009年11.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()。
A.指令操作码的译码结果B.指令和数据的寻址方式C.指令周期的不同阶段D.指令和数据所在的存储单元2010年12.下列选项中,能缩短程序执行时间的措施是()。
Ⅰ.提高CPU时钟频率Ⅱ.优化数据通路结构Ⅲ.对程序进行编译优化A.仅Ⅰ和ⅡB.仅Ⅰ和ⅢC.仅Ⅱ和ⅢD.Ⅰ、Ⅱ和Ⅲ2011年12.下列选项中,描述浮点数操作速度指标的是()。
A.MIPS B.CPI C.IPC D.MFLOPS2012年12.假定基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。
若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是()。
A.55秒B.60秒C.65秒D.70秒2013年12. 某计算机主频为1.2GHz,其指令分为4类,它们在基准程序中所占比例及CPI如下表所示。
该机的MIPSA、100B、200C、400D、60015、用海明码对长度为8位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为()A、2B、3C、4D、5练习1、冯·诺依曼机的工作方式的基本特点是()A、多指令流单数据流B、按地址访问并顺序执行指令C、堆栈操作D、存储器按内容选择地址2、冯·诺依曼机的基本工作方式为()A、控制流驱动方式B、多指令流多数据流方式C、微程序控制方式D、数据流驱动方式3、下列选项中不是冯·诺依曼机的最根本特征的是()A、以运算器为中心B、指令并行执行C、存储器按地址访问D、数据以二进制编码,并采用二进制运算4、以下说法中,正确的是()A、控制器能理解、解释并执行所有的指令及存储结果B、一台计算机包括输入、输出、控制、存储及算术逻辑运算五个单元C、所有的数据运算都在CPU的控制器中完成D、都不对5、在CPU的组成中不包括()A、运算器B、存储器C、控制器D、寄存器6、指令流通常是()A、从主存流向控制器B、从控制器流向主存C、从控制器流向控制器D、从主存流向主存7、数据流通常是()A、从主存流向控制器B、从控制器流向主存C、从控制器流向运算器D、在运算器和主存之间流动8、下列不同进制的数中,最大的是()A、(0.101)2B、(0.62)10C、(0.52)8D、(0.75)169、以下数中最小的为()A、(101001)2B、(52)8C、(101001)BCDD、(233)1610、“春”字的机内码为B4BAH,由此可以推算出它在GB2312-80国家标准中所在的区号是()A、19区B、20区C、3区D、35区11、信息序列16位,若构成能纠正一位错发现两位错的海明码,至少需()位校验位A、4B、5C、6D、712、采用CRC校验码时,若生成多项式G(X) = X4+X+1,则对应的二进制编码为()A、11000B、10010C、11111D、1001113、采用CRC校验码时,若生成多项式G(X) = X4+X+1,其校验位的位数是()A、3B、4C、7D、1514、从用户观点看,评价计算机系统性能的综合参数是()A、指令系统B、吞吐率C、主存容量D、主频率第二次2009年12.一个C语言程序在一台32位机器上运行。
