




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、指令系统,第七章,2020/8/9,2,1 .什么是机械指令? 什么是指挥系统? 为什么指令系统和机器的主要功能和硬件构成之间有密切的关系,a :机器指令:各机器语言的句子叫做机器指令。 指令系统:所有机械指令的集合称为机械的指令系统机械的指令系统集中反映了机械的功能。 修正机设定修正者主要研究如何确定机械的指令系统,如何在硬件电路、芯片、设备中实现机械指令系统的功能,修正机的使用者根据机械提供的指令系统,使用汇编语言编写各种程序。 修正机使用者可以根据机械指令系统中记述的机械功能,明确知道修正机内部的发送机-存储器的构造。 有很多数据类型可以由计算机直接支持。 2020/8/9,3,3 .什
2、么是命令语长、机械语长和记忆语长? a :指令语长是指机器指令中包含的二进制代码的总位数。 命令的长度取决于从操作码的长度、操作数地址的长度和操作数地址的个数。 字的长度因命令而异。 存储字长度是指存储在一个存储单元中的二进制码的位数。 机器字长是指CPU一次可处理的中数据的位数,通常与CPU的中寄存器的位数有关。 三者的位数可以相等,也可以不同。 2020/8/9、4、4 .零地址指令的操作数是从哪里来的? 一个地址命令的其他操作数地址,通常可以用什么样的寻址方法取得,分别举一个例子进行说明。 答:零地址命令的操作数来自堆栈的堆栈顶部和子堆栈顶部。 一个寻址指令的另一个操作数通常可以隐式寻址
3、。 也就是说,另一个操作数预先存储在累加器ACC中。 6 .一个命令系统的字长为16位,地址码取4位,建议该命令系统有8条三地址命令、16条二地址命令、100条一地址命令。 解:三地址命令格式为: 444,解题构想:以三地址命令格式为该命令系统的基本格式。 在此格式的基础上,利用扩展操作码技术,对题意所要求的地址码结构的指令进行了设置和修改。 命令操作码分配方案如下:4位OP0000,A1,A2,A3; 第8条三地址指令0111,1000,0000,A2,A3; 第16条2号地址命令1000、1111、1001、0000、0000、A3; 100条第一地址命令100、0110、1010、100
4、、0110、100、冗馀编码100、1010、1010是1,零地址命令条数1010, 如果定义了可用于扩展冗馀符号的13个双地址命令,请问可以放置多少个单地址命令:双地址命令格式为: 46,双地址命令格式为此命令系统的基本格式,4位若不考虑零地址指令,则该指令系统最大可配置: 1地址指令条数=326=192条,8 .某机械指令字长16位,每1操作数的地址代码为6位,操作码长固定,指令为零零地址指令有m种,1地址指令有n种时,2地址指令最多有几种? 如果操作码的位数可变,2地址指令最多可容许多种? 解:1)在采用固定长度操作码的情况下,2地址指令格式如下: 46,在这种情况下,指令无论有多少个地
5、址,指令格式都不变。 另外,假设二号地址命令有k种,则在K=24-M-N为M=1(最小值)、N=1(最小值)时,二号地址命令最大为Kmax=16-1-1=14此时,M=(24 -K)*26-N)*26,即K=24 -(N/26 M/212 )。 当(N/26 M/212向上舍入) (N/26 M/212 ) 1时,如果k最大,则第二地址指令为Kmax=16-1=15种(作为扩展标志仅保留一种代码)。 研究:此时的地址指令根数为N=(24 - K)26 - M/26。 (倒成M/26以上)。 零地址指令根数为M=216 - 212K - 26N; k最大时(K=15 ),地址指令最大为Nmax=
6、64 - 1=63种。 零地址指令最多有Mmax=64种注意事项。 首先,请根据标题创建命令的基本格式。 2020/8/9、11、9 .比较间接地址和发射机间接地址。 间接地址和寄存器间地址可以扩大地址范围,它们形成有效地址的方式类似:间接地址由访问存储器(如果是多个地址,则需要多个访问存储器)得到有效地址的寄存器间地址的有效地址10 .试着比较基地址和索引地址。 解:比较,1 )都可以有效地扩大指令地址范围。 2 )对于基地址而言,从基地址寄存器提供基准地址,对于将地址的改变反映在移位量a的可能值中的索引地址而言,在a处提供基准地址,而地址的改变可以反映在索引值的自动修改中3 )基地址寄存器
7、的内容通常由系统程序设定,索引寄存器的内容通常由用户设定。 4 )基地址适用于程序的动态再配置,索引地址适用于数组和字符串处理,适用情况不同。 11 .描绘目的地索引和目的地索引的地址进程图像。 解:1)先索引地址,然后再索引地址的过程简单如下: EA=(IX) A、(IX) 1IX、IX、1、IR、主要存在的、IX :索引地址,设为单重间接,2 ) 之前的地址重新索引地址过程简单如下: EA=(IX) (A )、(IX) 1IX、IX、1、IR、单重间接,注意:1)缩略语EA表示有效地址,不能滥用。 2 )在模式图中标明EA (有效地址)的位置。12 .描绘利用“subr 1”指令进行操作数
8、寻址和减法过程的流程图。 减数后的结果储存在ACC中,表示间接地址指定,R1寄存器的内容为2074H。 解: SUB R1指令地址和减法过程的流程图:指令(省)、地址操作:寄存器间地址EA=(R1)=2074H、EA MAR、读、M(EA) MDR、() 、13 .执行“add *-5”指令(*是相对地址特征)的信息流程图将另一个操作数和结果存储到ACC中,(PC)=4000H。 解:由于此问题没有指定数据路径结构,因此只能大致排列信息流程图,在流程图中强调寻址过程的实现。 ADD *-5指令信息的流程图如下:指令(可省略),地址修正计算: EA=(PC)-5=4000H FFFBH=3FFB
9、H,EA MAR,读取,m(eamar )当前的传送指令的最初字节所在的地址为2000H 执行“JMP * 8”和“JMP *-9”指令时,传送指令的第2字节的内容是多少? 解:据题意,对于寻址的转发命令的格式如下:2000H 2001H 2002H,执行JMP命令时,命令的第二字节的内容不变,PC的内容为2002H。此时的转变命令的第二字节的内容分别是a1=8=00001000=08ha2=-9=1110111=f7h,其有效地址分别是ea1=(pc)8=2002h0008h=2008,即16 记忆字长等于指令字长,如果该机器的指令系统能完成108种操作,操作代码位数固定,有直接、间接、索引
10、地址、基地址、相对、即时等6种地址方式,现尝试回答以下问题。 (1)描绘地址命令格式,指出各字段的作用。 (2)该命令直接地址的最大范围。 (3)一次间接地址和多次间接地址的地址范围。 (4)即时数的范围(十进制显示)。 (5)相对于地址指定的位移量(十进制表示)。 (6)上述6个地址方式的指令中,哪个执行时间最短,哪个执行时间最长,为什么? 哪种方便程序浮动,哪种最适合排列问题? (7)如何修改指令格式,使指令的地址范围扩大到4M? (8)为了能够将一个转移指令转移到主记忆的任意位置,可以采取什么样的措施? 我简单地说明一下。 解: (1)单字长单地址指令格式: 7 3 6、OP M A、各
11、字段的作用: OP操作码字段,提供至少108种指令操作码的m地址方式代码字段。 表示6种地址方式的a形式地址字段。 指定寻址所需的格式地址。 (2)A为6位,该指令的直接地址的最大范围为26=64字(3)一次间地址的地址范围为216=64K字多次间地址的地址范围为215=32K字(4)即时数的范围:如果使用补数表现则为1 10进制数由31 -32表示,无符号数为063 (5)相对地址的位移量范围在与采用补码表示时相同的即时数范围内为31 -32,(6)在6个寻址方式中即时寻址指令的执行时间最短,此时不需要寻址由于寻址操作需要从一次访问多次,因此执行时间变得最长,此时的操作数的位置根据程序存储区
12、域的变动而变化,始终与程序存在距离,因此,相对的寻址对于程序的浮动是方便的索引(7)为了将指令的地址范围扩大到4M,需要有效地址22比特,该情况下,能够将单词长度1地址指令的格式变更为双字长,如图7、OP M A、a、16那样,指令的第一字直接被格式化直接寻址时,EA=A=16 6=22位,正好可以访问4M的地址空间。 通过a的扩展,索引、基地址、相对、即时数等地址方式也被扩展为22比特。 (8)只要能够将一个传输命令传输至主存储器中的任意位置,则能够采用上述第二字长-第一地址命令,并选择适当的地址方式来完成。 (选择直接地址可以移动到主存储器的任意位置,但选择相对地址只能在2M的范围内移动。
13、 此外,(7)和(8)的两个问题还可以通过段地址方案来实现扩展地址空间的目的(在此情况下,不需要改变指令格式)。 在任何情况下,最终得到的实际地址应该是22位。 方案2:(7)如果仍然采用单词长度命令(16位)格式,则可以以段地址方式实现,以便将命令地址范围扩展到4M。 硬件设置用于存储段地址的段寄存器DS(16位)。 指令寻址方式规定的寻址操作完成后,获取有效的寻址EA(16位),硬件自动完成段寻址,最后获取22位的物理地址。 物理地址=(DS) 26 EA注:段地址方法由硬件隐式实现。 在编程中指定的寻址过程完成,生成EA后,硬件自动完成,对用户透明。 另外,在采用方案3:(7)单词长度命
14、令(16位)格式时,也能够通过页面地址方式将命令地址范围扩大为4M。 硬件设置用于存储页地址的页寄存器PR(16位)。 在指令地址方式中增设页面地址。在需要将指令地址范围扩大到4M的情况下,当程序选择页面地址方式时,得到EA=(PR)A (有效地址=页面地址“拼接”6位形式地址)这样的22位的有效地址。 基地址与分段地址所得到的实地址的差异:1)基地址的基地址一般较长(存储器地址位数),移位量较短(=形式地址位数),相加得到的有效地址长度=基地址长度。 此时主记忆不是阶段性的。 实际的地址=有效地址=基本地址移位量段地址是基本地址的变种,如果基本地址比存储器地址短,则基本地址为段地址,而基本地
15、址称为段地址。 实际地址=段地址偏移段中的移位量(有效地址),2 )基本地址。对于通常具有机械词长度存储器地址长度的机器,可以通过直接地址校正计算来获得实际地址。 在机器字长存储器地址长度的机器中,由于CPU内部的数据路径的限制,通过编程中指定的地址校正运算而得到的有效地址长度与机器字长度相等,为了得到更长的地址字,硬件自动地利用段地址校正运算相关问题: *一般:机器语言长度=记忆语言长度* CPU内所有寄存器(包括基地址寄存器)的位数=机器语言长度,*通常:指令语言长度不一定等于机器语言长度。 由于初始的小型机的字长较短,因此指令多以机械字长为单位变化(数字长指令,例如PDP-11机),现在
16、多以字节长为单位变化(数字字节指令)。 练习问题中的指令语长=机械语长的假设只是为了简单,指令语长=记忆语长(=机械语长)的情况下,如果使用即时地址,则即时数由形式地址直接提供,但是形式地址的比特数必定不足一个单词长,所以编程为即时地址提供短的常数提示:正确选择寻址方法与编程技巧有关。 19. CPU内有32位通用寄存器32个,修改了可容纳64种操作的指令系统。 假设指令语长等于机器语长,试着回答以下问题。 (1)如果主存储器能够直接或间接地寻址,则采用“寄存器存储器”型指令,能够直接寻址的最大存储器容量是多少? 画出指令格式,说明各字段的意思。 (2)在满足(1)的基础上,作为基地址寄存器采用通用寄存器时,上述“寄存器内存”型指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仔母猪购销合同样本
- 共同使用合同样本
- 关于餐饮服务员合同标准文本
- 充电桩转卖合同样本
- 公路修建补充合同标准文本
- 仁怀酒厂收购合同样本
- 企业材料采购合同样本
- 个人服装购买合同样本
- 供货材料合同标准文本
- 体检公司采购合同样本
- 《中电联团体标准-220kV变电站并联直流电源系统技术规范》
- 2021年10月自考00567马列文论选读试题及答案含解析
- 2024年郑州黄河护理职业学院单招职业技能测试题库及答案解析文档版
- 非机动车交通管理及规划研究
- 劳务派遣及医院护工实施预案
- 华电行测题库及答案2024
- 产后病(中医妇科学)
- 苏州市2023-2024学年高一上学期期末考试数学试题(原卷版)
- 社区获得性肺炎教学演示课件
- 农村蓝莓树补偿标准
- 市级临床重点专科申报书(麻醉科)
评论
0/150
提交评论