版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上节复习 1、下列关于RISC的叙述中,错误的是( ) A、RISC普遍采用微程序控制器 B、RISC大多数指令在一个时钟周期内完成 C、RISC的内部通用寄存器数量相对CISC多 D、RISC的指令数、寻址方式和指令格式种类相对CISC少答案:A 2、某计算机的控制器采用微程序控制方式,微指令的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5、6个,问控制位共需要多少二进制位() A、5 B、6 C、15 D、33答案:C3、下列不会引起指令流水阻塞的是A.数据旁路B.数据相关C.条件转移D.资源冲突答案是:A理由是:数据旁路技术就是用于解决流水数据
2、相关的。也就是说在遇到数据相关的时候,在可能情况下可以通过数据旁路技术加以克服,其他3个选项都是指令流水线阻塞的基本原因。4、某CPU主频为1.03GHz,采用4级指令流水线,每个流水段的执行需要1个时钟周期,假设CPU执行了100条指令,在其执行过程中,没有发生任何流水阻塞,此时流水线的吞吐率为()0.25109条指令/秒0.97109条指令/秒1.0109条指令/秒1.03109条指令/秒答案: C第四章第四章 指令系统指令系统本讲内容 指令系统的基本概念 指令格式 寻址方式(重点) 指令类型 典型例题举例(重点)4.14.1指令系统的基本概念指令系统的基本概念1、指令:计算机执行某种操作
3、的命令。 微指令:是微程序级的命令,属于硬件。 宏指令:由若干条机器指令组成的软件指令,属于软件。 机器指令:简称指令,一条指令可以完成一个独立的算术/逻辑运算操作2、机器字:计算机能够直接处理的二进制数据 机器字长:计算机能够直接处理的二进制数据的位数。 决定计算机的运算精度。 通常与主存单元的位数一致。3、指令字:表示一条指令的机器字,简称指令。 指令字长:一个指令字中包含的二进制代码的位数。 单字长指令:指令字长度等于机器字长度的指令。 半字长指令:指令字长度等于半个机器字长度的指令。 双字长指令:指令字长度等于两个机器字长度的指令。 等长指令字结构:在一个指令系统中,各种指令字长度是相
4、等的。结构简单,取指快、译码简单 变长 指令字结构: ,.不相等 结构灵活,可提高编码效率,控制复杂 4.1指令系统的基本概念4、指令系统:一台机器中所有机器指令的集合。它对计算机性能的影响主要体现在三个方面: 机器的硬件结构 机器的系统软件 机器的适用范围指令系统的性能要求 完备性:是指用汇编语言编写程序时,指令系统提供的指令足够使用。 有效性:是指利用该指令系统所编写程序能够高效运行。 规整性:是指指令系统对称、匀齐、一致。 兼容性:系列机个机种上基本软件可通用。5、系列计算机: 基本指令系统相同,基本体系结构相同的一系列计算机。6、CISC:复杂指令系统计算机 RISC:精简指令系统计算
5、机7、指令助记符:为了便于书写和记忆,用3或4个英文缩写字母表示一条指令,这种缩写码称为指令助记符。4.2 指令格式 指令能反映以下信息 做什么操作 如果需要操作数,从哪里取 结果送哪里 下一条指令从哪里取 影响计算机指令格式的因素 机器的字长 存储器的容量 指令的功能 所以指令包括两个方面内容:操作码字段操作码字段地址码字段地址码字段操作码操作码:表征指令的操作特性和功能。不同指令有不同编码。地址码地址码:指定参与操作的操作数的地址。4.2 指令格式指令格式一、操作码设计1、分类 固定长度操作码:操作码的长度固定,且集中放在指令字的一个字段中 便于译码,扩展性差 可变长度操作码:操作码的长度
6、可变,且分散放在指令字的不同字段中 能缩短指令平均长度;指令的译码复杂指令的译码复杂 2、操作码位数的确定 1)要点:组成操作码字段的位数取决于指令系统的指令条数。 2)举例 指令系统8条指令8=23 3位操作码 指令系统32条指令32=25 5位操作码 指令系统2n条指令n位操作码 3) 扩展(可变长度)操作码技术扩展(可变长度)操作码技术基本思路:基本思路: 让操作数地址个数多的指令操作码让操作数地址个数多的指令操作码字段短些,让操作数地址个数少的字段短些,让操作数地址个数少的指令操作码字段长些指令操作码字段长些例例: 某机器指令长某机器指令长16位,包括一个操作位,包括一个操作码字段和码
7、字段和3个地址码字段,操作码和个地址码字段,操作码和地址码长度都为地址码长度都为4位,格式如下位,格式如下OP A1 A2 A3如果采用固定长度操作码,4位操作码最多定义16条三地址指令 3) 扩展(可变长度)操作码技术扩展(可变长度)操作码技术操作码的位数随地址数的减少而增加操作码的位数随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A311111111111100000001111011111111111111111111111111111111111100000001111111111111111111111111
8、1111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码最多最多15条三地址指令条三地址指令最多最多15条二地址指令条二地址指令最多最多15条一地址指令条一地址指令16条零地址指令条零地址指令三地址指令操作码三地址指令操作码每减少一种可多构成每减少一种可多构成24 种二地址指令种二地址指令二地址指令操作码二地址指令操作码每减少一种可多构成每减少一种可多构成24 种一地址指令种一地址指令例例1:设某台计算机有:设某台计算机有100条指令,要求:条指令,要求:1.采用固定长度操作码编码,试设计其操作码编码。采用固定长度操作码编
9、码,试设计其操作码编码。2.假设这假设这100条指令中有条指令中有10条指令的使用概率达到条指令的使用概率达到90%,其余,其余90 条指令的使条指令的使用概率达到用概率达到10%,试采用不等长编码设计一种操作码编码的方案,并求出操,试采用不等长编码设计一种操作码编码的方案,并求出操作码的平均长度。作码的平均长度。解:解:1. 采用固定长度操作码编码,需要采用固定长度操作码编码,需要7位操作码。取其中位操作码。取其中100个代码作为操作码。个代码作为操作码。000,0000110,0011之间的代码代表之间的代码代表100条指令。(长度固定为条指令。(长度固定为7)其余的其余的110,0100
10、111,1111共共28个代码可用于增加新的指令。个代码可用于增加新的指令。采用不固定长度操作码编码,可以用采用不固定长度操作码编码,可以用4位代码对位代码对10条指令进行编码,条指令进行编码,用用8位代码对位代码对90条指令进行编码。条指令进行编码。00001001对应对应10条常用的指令,条常用的指令,10101111之间的代码扩展之间的代码扩展4位,位,1010,00001111,1001之间的之间的90个代码表示其余个代码表示其余90条指令条指令0000-指令指令0的操作码的操作码 ;1000 -指令指令8的操作码的操作码 0001-指令指令1的操作码的操作码 ;1001 -指令指令9
11、的操作码的操作码 1010,00001001,1111;代表;代表16个操作码个操作码1011,0000 1011 ,1111;代表;代表16个操作码个操作码1100,0000 1100 ,1111;代表;代表16个操作码个操作码1101,0000 1101,1111;代表;代表16个操作码个操作码1110,0000 1110,1111;代表;代表16个操作码个操作码1111,0000 1111,1001;代表;代表10个操作码个操作码指令操作码的平均长度为:指令操作码的平均长度为:4*90%+8*10%=4.4 小于等长编码的小于等长编码的7位。位。剩余的编码剩余的编码1111,101011
12、11,1111(6个),通过增加个),通过增加操作码的长度进一步的扩展。操作码的长度进一步的扩展。90个操个操作码作码例例2 若某计算机要求有如下形式的指令:三地址指令4条,单地址指令254条,零地址指令16条(不要求有二地址指令)。设指令字长为12位,每个地址码长为3位,试用扩展操作码为其编码。解解: 在三地址指令中三个地址字段占33 = 9位。剩下12-9=3位作为操作码,四条指令的操作码分别为000、001、010、011。 在单地址指令中,操作码可以扩展到12-3=9位,其中前3位的代码是上述四个操作码以外的4个编码,即首位为1。编码范围是1xxxxxxxx。共有28=256个编码,取
13、其前254个,100000000111111101。剩下2个作为扩展用。 对于零地址指令,全部12位指令代码都是操作码,其中前9位剩下2个编码与后3位的8个编码正好构成16个操作码。三种指令的编码结果 操 作操 作 数图4 - 2 立 即 寻 址指 令例例3:计算机指令长度为:计算机指令长度为20位,有位,有2地址指令,地址指令,1地址指令,地址指令,0地址指地址指令。地址码长度令。地址码长度6位,问若操作码字段固定长度为位,问若操作码字段固定长度为8位,现设计出位,现设计出m条条2地址指令,地址指令,n条条0地址指令,此时该计算机最多可以设计出多少条地址指令,此时该计算机最多可以设计出多少条
14、1地址指令。地址指令。解:解:地址码地址码操作码操作码地址码地址码6620-12=8因为操作码字段固定长度为因为操作码字段固定长度为8位位2地址指令为地址指令为m条条0地址指令为地址指令为n条条最多可以设计出最多可以设计出1地址指令为地址指令为28-m-n条条=256-m-n条条例例4:计算机指令长度为:计算机指令长度为20位,有位,有2地址指令,地址指令,1地址指令,地址指令,0地址指令。地地址指令。地址码长度址码长度6位,若位,若m条条2地址指令,地址指令,n条条0地址指令,问此时该计算机最多可以地址指令,问此时该计算机最多可以设计出多少条设计出多少条1地址指令。地址指令。解:解:地址码地
15、址码操作码操作码地址码地址码6620-12=82地址指令的操作码字段为地址指令的操作码字段为8位,位, 2地址指令为地址指令为m条条因此,剩余的因此,剩余的8位定义的指令条数为位定义的指令条数为28-m,设最多可设计的设最多可设计的1地址的指令为地址的指令为y条条据题意,理论可以设计据题意,理论可以设计1地址的指令数为地址的指令数为(28-m)x26可以设计可以设计0地址的指令数为地址的指令数为(28-m)x26- y x26由于由于0地址指令为地址指令为n条,因此条,因此(28-m)x26- y x26 =n最多可以设计出最多可以设计出1地址指令为地址指令为y= (28-m)x26- n/2
16、6 4.2 指令格式(续)指令格式(续)二、地址码 根据一条指令中有几个操作数地址,指令有常被称为几地址指令。 早期计算机中的指令一般有被操作数、操作数、操作结果,因此就形成了三地址指令格式,这个也是早期计算机指令的基本格式 在地址指令格式基础上,后来又发展了二地址、一地址和零地址指令格式4.2 指令格式(续)指令格式(续)二、地址码1、零地址指令 指令格式: 特点:指令中只有操作码,没有地址码2、一地址指令 指令格式: 特点:指令中只给出一个地址,该地址既是操作数地址,又是操作结果存储地址。3、二地址指令 指令格式 特点:指令中给出两个源操作数的地址,其中一个还用于存放结果的目标地址。4、三
17、地址指令 指令格式 特点:指令中要三个操作数地址。opcodeopcodeopcodeopcodeA2AA1A3A2A14.2 指令格式(续)指令格式(续)三、二地址指令格式分类1、存储器存储器(SS)型指令: 是一种访问内存的指令格式 参与操作的数都放在内存里,从内存某单元取操作数,操作结果存放至内存另一单元 执行这种指令需多次访问内存2、寄存器寄存器(RR)型指令 是访问寄存器的指令格式 参与操作的数都放在寄存器里 指令执行不需访问内存,执行速度快3、寄存器存储器(RS)型指令 执行此类指令,既要访问内存单元,又要访问寄存器。4.2 指令格式(续)指令格式(续)四、举例1、指令格式如下,分
18、析其特点。解析 根据指令字长度与机器字长度的关系说明指令的类型 根据操作数地址个数说明该指令是几地址指令 根据指令操作码字段位数说明可以指定的指令条数 如果是二地址指令,需说明进一步指出二地址指令格式类型1)单字长(为什么?为什么?)二地址指令(为什么?为什么? )2)操作码字段7位,可以指定27=128条指令3)RR型指令(为什么?为什么? ),源寄存器和目标寄存器可分别指定16个(为什么?为什么? )OPCODE源寄存器目标寄存器15 9 7 4 3 02、解解 操作码字段为6位,可指定26=64种操作,即64条指令。 单字长(32位)二地址指令。 一个操作数在源寄存器中(共32个通用寄存
19、器),寄存器由18-22位字段编址 另一个操作数在存储器中,存储器地址由变址寄存器(共4个)内容加偏移量决定。变址寄存器可由16-17位字段编址。 该指令是RS型指令,用于访问存储器。 一种二地址RR型,RS型指令结构如下所示 6位 4位 4位 1位 2位 16位 OP 源寄存器 目标寄存器 I X D(偏移量) 其中源寄存器,目标寄存器都是通用寄存器,I为间接寻址标志位,X为寻址模式字段. D为偏移量字段.通过I,X,D的组合,可构成一个操作数的寻址方式,其有效地址E的 算法及有关说明列于下表: 寻址方式 I X 有效地址E算法 说明 (1) 0 00 E=D D为偏移量 (2) 0 01
20、指令地址=(PC)+D PC为程序计数器 (3) 0 10 E=(Rx)+D Rx为变址寄存器 (4) 1 11 E=(R) R为通用寄存器 (5) 1 00 E=(D) (6) 0 11 E=(Rb)+D Rb为基址寄存器 请写出表中6种寻址方式名称,并说明主存中操作数的位置。 (1)OP字段指定16种操作 (2)单字长二地址指令 (3)每个操作数可以指定8种寻址方式 (4)操作数可以是RR型、RS型、SS型 3.4、 指令格式如下所示,指令格式如下所示,OP为操作码字段,试分析指令格式特点。为操作码字段,试分析指令格式特点。OP - 源寄存器变址寄存器源寄存器变址寄存器 位移量位移量(16
21、位位)1510 74 3 0 (2)操作码字段操作码字段OP为为6位,可以指定位,可以指定64种操作。种操作。(3)一个操作数在源寄存器(共一个操作数在源寄存器(共16个寄存器个寄存器 ),另一个操作数在),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是存储器中(由变址寄存器和位移量决定)所以是RS型指令。型指令。 (1)双字长二地址指令,用于访问存储器。双字长二地址指令,用于访问存储器。4.3 寻址方式寻址方式一、基本概念1、操作数/指令地址 存放某个操作数/指令的存储单元编号。2、寻址方式 是指当存储器采用地址指定方式进行存储管理时,形成操作数/指令地址的方式。 指令寻址方式:形
22、成下条下条指令的存储地址的方法 顺序寻址方式 跳跃寻址方式 操作数寻址方式:形成操作数有效有效地址地址的方法4.3 寻寻 址址 方方 式式二、指令寻址方式二、指令寻址方式1、顺序寻址、顺序寻址( PC ) + 1 PC2、跳跃寻址、跳跃寻址下条指令地址由转移指令指出,与下条指令地址由转移指令指出,与PC内容无关内容无关LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃
23、寻址7顺序寻址顺序寻址8顺序存放顺序执行PC记数4.3 寻址方式(续)寻址方式(续)三、操作数寻址方式 根据指令中的形式地址形成操作数有效地址的方式称为操作数寻址方式 形式地址:指令中直接给出的地址编码 有效地址:根据形式地址和寻址方式计算出来的操作数在内存单元中的地址操作码寻址特征操作数地址指令编码形式地址操作数操作数Data内存Add有效地址4.3 寻址方式(续)寻址方式(续)三、操作数寻址方式操作数通常放在哪儿呢? 操作数包含在指令中; 操作数包含在CPU的某一个内部寄存器中; 操作数包含在主存储器中; 操作数包含在I/O设备的端口中 根据操作数放在不同的地方,从而派生各种不同的寻址方式
24、,往往不同的计算机具有不同的操作数寻址方式。常见的操作数寻址方式三、操作数寻址方式1. 隐含寻址1)要点 操作数地址隐含在指令,没有明确指出2)举例 ADD A中的累加器ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中3)寻址特点:指令字中少了一个地址字段,可缩短指令字长)寻址特点:指令字中少了一个地址字段,可缩短指令字长三、操作数寻址方式2、立即寻址1)要点 操作数直接在指令的地址字段给出2)举例 INT #33)特点 指令执行阶段不访存 程序执行时,立即数不能被修改,灵活性差3)思考 立即寻址的操作数在什么地方,存储器 o
25、r 寄存器? 立即数的地址? 操作操作数图 4-2 立即寻址指令三、操作数寻址方式(续)三、操作数寻址方式(续)3、 直接寻址1)要点 在指令格式的地址字段中直接指出操作数在内存的地址D。 E=D2)逻辑表达 S=(E)=(D)3) 寻址特点 执行阶段访问一次主存 地址字段位数决定了该指令操作数的寻址范围 操作数的地址不易修改(要修改,就必须修改地址字段)三、操作数寻址方式(续)三、操作数寻址方式(续)4、间接寻址1)要点:操作数在存储器中,指令地址字段中给出的存储器地址的单元内容是操作数在存储器中的地址。2)逻辑表示:EA = (A),Operand = (A)OPA寻址特征寻址特征AEA主
26、存主存EAA1EA A1主存主存 EA10OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数3)寻址特点执行阶段需多次访存,但可扩大寻址范围三、操作数寻址方式(续)4、寄存器方式1)要点 指令操作数地址是通用寄存器的编号 操作数在寄存器中2)表达EA = RiOperand = (Ri)OPRi寻址特征寻址特征操作数操作数R0RiRn寄存器寄存器 执行阶段不访存,执行阶段不访存,只访问寄存器,只访问寄存器,执行速度快执行速度快 寄存器个数有限,可缩短指令字长寄存器个数有限,可缩短指令字长3) 特点三、操作数寻址方式(续)三、操作数寻址方式(续)5、寄存器间接寻址1
27、)要点指令地址字段中给出的寄存器的内容是操作数在存储器中的地址2)逻辑表达EA = (R)Operand = (R)3)特点操作数操作数主存主存OPRi寻址特征寻址特征地址地址R0RiRn寄存器寄存器 有效地址在寄存器中有效地址在寄存器中操作数在存储器中操作数在存储器中执行阶段访存执行阶段访存 便于编制循环程序便于编制循环程序三、操作数寻址方式(续)三、操作数寻址方式(续)6、相对寻址1)要点程序计数器的内容是当前指令的地址操作数的有效地址由程序计数器的内容加上指令格式中的形式地址形成2)逻辑表达:EA = (PC)+A操作数操作数寻址特征寻址特征ALUOPA相对距离相对距离 A1000PC
28、主存主存1000AOP3)特点操作数地址与指令地址相差一个固定值,因此所编写程序是浮动的,可以放在内存任何位置运行而不需修改,便于程序再定位三、操作数寻址方式(续)三、操作数寻址方式(续)7、基址寻址1)要点 操作数在存储器中 指令地址字段给出一基址寄存器和一形式地址,基址寄存器的内容与形式地址之和是操作数的内存地址,基址寄存器的内容对用户而言是固定的 基址寻址面向系统,用于逻辑地址与物理地址的变换,解决程序在内存中的再定位和扩大寻址空间问题2)逻辑表达 EA = (Rb)+A Operand = (Rb)+A)3)特点 较短的形式地址长度可以实现较大的存储空间的寻址4)动态过程OPDesAM
29、od RbN寄存器寄存器Rb+DataA+N存储器存储器AA+1IA图4-8 变址寻址存储器寄存器R指令操作码操作数三、操作数寻址方式(续)三、操作数寻址方式(续)8、变址寻址1)要点操作数在存储器中,指令地址字段给出一变址寄存器和一形式地址,变址寄存器的内容与形式地址之和是操作数的内存地址。有的系统中,变址寻址完成后,变址寄存器的内容将自动进行调整。R (R) + (操作数Data的字节数)2)逻辑表达EA = (R)+A Operand = (R)+A)3)比较变址寻址:寄存器内容可变, 形式地址固定,提供基准; 面向用户,目的是实现 地址规律变化基址寻址:可扩大寻址范围 可实现程序浮动O
30、PDesAMod RxN寄存器寄存器Rx+DataA+N存储器存储器AA+1N寻址后寄存器寻址后寄存器Rx假设变址寄存器R的内容为1000H,指令中的形式地址为2000H;地址1000H中的内容2000H,地址2000H中的内容为3000H,地址3000H中的内容为4000H,则变址寻址方式下访问的到的操作数是()A.1000H B.2000H C.3000H D.4000H答案:D9.复合寻址方式间接变址寻址操作码操作码111111101000111111111111零地址指100000000111111101000011单地址指三地址指地址码 1操作码地址码 1地址码 2地址码 3变址间接
31、寻址三、操作数寻址方式(续)三、操作数寻址方式(续)三、操作数寻址方式(续)三、操作数寻址方式(续)PCIA存储器寄存器R指令操作码操作数IA存储器寄存器R指令操作码操作数A基址相对寻址 S=(R)+(PC)+A)基址间接寻址S=(R)+(A)三、操作数寻址方式(续)三、操作数寻址方式(续)9、堆栈寻址(1)基本概念1)堆栈是一种数据结构,依据“后进先出(LIFO)”的原则存储数据。2)分类寄存器堆栈寄存器堆栈采用CPU中的一组专门寄存器作为数据存放区域的一种堆栈结构,其中每个堆栈可以保存一个字的数据存储器堆栈是在主存中开辟一块区域存放数据的一种堆栈结构。存储器存储器堆栈段堆栈段栈底栈底SP栈
32、栈顶顶三、操作数寻址方式(续)三、操作数寻址方式(续)(2)存储器堆栈寻址1)概念堆栈的结构:一段内存区域。栈底,栈顶,堆栈指针(SP):是一个特殊寄存器部件是一个特殊寄存器部件, 指向栈顶指向栈顶2)堆栈操作PUSHPOP栈底栈底栈顶栈顶ASP堆栈堆栈三、操作数寻址方式(续)三、操作数寻址方式(续)压栈操作:压栈操作:PUSH Rn (SP) (Rn), SP (SP)-1ASPA堆栈堆栈A-1DataRnDataA-1SP三、操作数寻址方式(续)三、操作数寻址方式(续)出栈操作:出栈操作:POP Rn SP (SP) + 1, Rn (SP)A-2SPRnA堆栈堆栈A-1DataASPDa
33、ta(3) SP 的修改与主存编址方法有关的修改与主存编址方法有关 按按 字字 编址编址进栈进栈出栈出栈(SP) 1 SP(SP)+ 1 SP 按按 字节字节 编址编址存储字长存储字长 16 位位进栈进栈出栈出栈(SP) 2 SP(SP)+ 2 SP存储字长存储字长 32 位位进栈进栈出栈出栈(SP) 4 SP(SP)+ 4 SP页面寻址 内外存交换数据时候,以数据块为数据交换单位,形成页面寻址方式微型机中采用了段寻址方式例如要通过16位指令地址来实现寻址1M的内存空间思路:在寻址一个内存具体单元时,由一个基址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基址就是CPU中的
34、段寄存器。在形成20位物理地址时,段寄存器的16位的数会自动左移4位,然后与16位偏移量相加,即可形成所需的内存地址。这种寻址方式的实质还是基址寻址段寻址方式 操 作 操 作 数图4-2 立 即 寻 址指 令例例4:假设寄存器:假设寄存器R中的数值为中的数值为1000,地址为,地址为1000的存储器中存储的数据的存储器中存储的数据为为2000,地址,地址2000的存储器中存储的数据为的存储器中存储的数据为3000,pc的值为的值为4000,问,问在以下寻址方式下访问的指令操作数的值是什么?在以下寻址方式下访问的指令操作数的值是什么?1.寄存器寻址寄存器寻址R2.寄存器间接寻址(寄存器间接寻址(
35、R)3.直接寻址直接寻址10004.存储器间接寻址(存储器间接寻址(1000)5.相对寻址相对寻址 2000(pc)6.立即数寻址立即数寻址 #2000解:解:1.操作数的值为:操作数的值为:1000 2.操作数的值为:操作数的值为:2000 3.操作数的值为:操作数的值为:2000 4.操作数的值为:操作数的值为:3000 5.操作数的值为:操作数的值为:3000 6.操作数的值为:操作数的值为:2000例题5例题5解:(1).直接寻址,操作数在有效地址E=D的存储单元中 (2).相对寻址 (3).变址寻址,操作数在E=(RX) + D的存储单元中 (4).寄存器间接寻址,通用寄存器的内容指
36、明操作数在主存中的地址 (5).间接寻址,用偏移量做地址访主存得到操作数的地址指示器,再按地址指 示器访主存的操作数,因此间接寻址需两次访问主存.(6).基值寻址,操作数在E=(Rb) + D 的存储单元中. 例.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1.若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移以后的目标地址是( ) A、2006H B、2007H C、2008H D、2009H答案: C例、偏移寻址通过将某个寄存器内容与一个形式
37、地址相加而生成有效地址,下列寻址方式中,不属于偏移寻址方式的是() 、间接寻址 、基址寻址 、相对寻址 、编制寻址例题某 16 位机器所使用的指令格式和寻址方式如下所示,该机有两个20 位基址寄存器,四个16 位变址寄存器,十六个 16 位通用寄存器,指令汇编格式中的 S(源), D(目标)都是通用寄存器,m 是主存的一个单元,三种指令的操作码分别是MOV(OP) =(A)H ,STA(OP)=(1B)H, LDA(OP)=(3C)H, MOV 是传送指令,STA 为写数指令,LDA 为读数指令。 15 10 9 8 7 4 3 0 OP 目标 源 MOV S, D 15 10 9 8 7 4
38、 3 0 OP 基址 S 变址 位 移 量 STA S, M 15 10 9 8 7 4 3 0 OP D 20 位 地 址 LDA S, M 要求(1)分析三种指令的指令格式和寻址方式特点解 (1)第一种指令是单字长二地址指令,RR型; 第二种指令是双字长二地址指 令RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定; 第三种也是双 字二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决 定。(2)处理机完成哪一种操作所花时间最短?那一种最长?第二种指令的执行时间有时解答:处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花的时间最长
39、,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽也访问存储器,但节省了求有效地址运算的时间开销。 (3)根据已知条件:MOV(OP) = 001010 STA(OP) = 011011 LDA(OP) = 111100, 将指令的十六进制格式转换成二进制代码且比较后可知: (F0F1)H(3CD2)H 指令代表LDA指令,编码正确,其含义是把主存13CD2)H地址单元的内容取至15号寄存器。 (2856)H代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 (6FD6)H
40、是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H (1C2)H是编码错误,可改正为(28C2)H,代表MOV指令。 1111 0000 1111 0001 0011 1100 1101 0010 0010 1000 0101 0110(3)下列情况下每个十六进制指令字分别代表什么操作?其中有编码不正确时,如何改正才能成为合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H 数据传送:move, load, store 算术运算:add, sub, mult, div, comp 逻辑运算:and, or, neg, shift 程序控制:j
41、ump, branch, ret, int 输入输出:in, out 堆栈操作:push, pop 字符串:如alpha中CMPBGE, INSWH, EXTBL 系统指令:如奔腾(P.239)一、指令类型一、指令类型4.4 指令系统简介二、二、CISC和和RISC1、CISC技术的主要特点指令系统复杂。具体表现在指令数多、寻址方式多、指令格式多。绝大多数指令需要多个时钟周期才能执行完成。各种指令都可访问存储器。采用微程序控制。有专用寄存器。难以用优化编译生成高效的目标代码程序。2、RISC技术的主要特征 简化的指令系统。表现在指令数较少、基本寻址方式少、指令格式少、指令字长度一致。 以寄存器
42、寄存器方式工作。 以流水方式工作,从而可在一个时钟周期内执行完毕。 使用较多的通用寄存器以减少访存,不设置或少设置专用寄存器。 采用由阵列逻辑实现的组合电路控制器,不用或少用微程序。 采用优化编译技术,保证流水线畅通,对寄存器分配进行优化。 某模型机机器字长某模型机机器字长16位,共有位,共有64种操作,操作码位种操作,操作码位数固定,且具有以下特点:数固定,且具有以下特点:(1)采用一地址或二地址格式;)采用一地址或二地址格式;(2)有寄存器寻址、直接寻址和相对寻址(位移量)有寄存器寻址、直接寻址和相对寻址(位移量 为为 128 + 127)三种寻址方式;)三种寻址方式;(3)有)有16个通
43、用寄存器,算术运算和逻辑运算的个通用寄存器,算术运算和逻辑运算的 操作数均在寄存器中,结果也在寄存器中;操作数均在寄存器中,结果也在寄存器中;(4)取数)取数/存数指令在通用寄存器和存储器之间传送存数指令在通用寄存器和存储器之间传送 数据;数据;(5)存储器容量为)存储器容量为 1MB,按字节编址。,按字节编址。 要求设计算逻指令、取数要求设计算逻指令、取数/ /存数指令和相对转移指存数指令和相对转移指令的格式,并简述理由。令的格式,并简述理由。例例1 1 4.5 典型题目解析(1)算逻指令格式为算逻指令格式为 “寄存器寄存器 寄存器寄存器” 型,型, 取单字长取单字长 16 位。位。其中其中
44、 OP 操作码操作码 6 位,可实现位,可实现 64 种操作;种操作; M 寻址模式寻址模式 2 位,可反映寄存器寻址、位,可反映寄存器寻址、 直接寻址、相对寻址;直接寻址、相对寻址; Ri 和和 Rj各取各取 4 位,指出源操作数和目的操作数位,指出源操作数和目的操作数 的寄存器编号。的寄存器编号。RjRiMOP 6 2 4 4解:解:(2)取数)取数/存数指令格式为存数指令格式为 “寄存器寄存器 存储器存储器” 型,取双字长型,取双字长 32 位,格式如下:位,格式如下:其中其中 OP 操作码操作码 6 位不变;位不变; M 寻址模式寻址模式 2 位不变;位不变; Ri 4 位,源操作数地
45、址(存数指令)或目的位,源操作数地址(存数指令)或目的 操作数地址(取数指令);操作数地址(取数指令); A1A2共共 20 位存储器地址,可直接访问按位存储器地址,可直接访问按 字节编址的字节编址的 1MB 存储器。存储器。A2A1RiMOP 6 2 4 4解解:(3)相对转移指令为一地址格式,取单字长)相对转移指令为一地址格式,取单字长 16 位,格式如下:位,格式如下:其中其中 OP 操作码操作码 6 位不变;位不变; M 寻址模式寻址模式 2 位不变;位不变; A位移量位移量 8 位,对应位,对应 128 +127。AMOP 6 2 8解解:4.5 典型题目解析2、某计算机字长16位,
46、主存容量为640K字,采用单字长单地址指令,共有40条指令,试采用四种寻址方式(立即、直接、基值、相对)设计指令格式。解:40条指令(25=324064=26)需占用操作码字段(OP)6位,这样指令余下长度为10位。为了覆盖主存640K字的地址空间,设寻址模式(X)2位,(22=4)形式地址(D)8位,其指令格式如下: 15 10 9 8 7 0OPXD寻址模式定义如下:X= 0 0 直接寻址 有效地址 E=D(256单元)X= 0 1 间接寻址 有效地址 E= (D)(640K)X= 1 0 变址寻址 有效地址 E= (R)D (640K)X= 1 1 相对寻址 有效地址 E=(PC)D (
47、640K)其中R为变址寄存器(16位),PC为程序计数器(16位),在变址和相对寻址时,位移量D可正可负。 3、某机字长为32位,主存容量为1M字,单字长指令,有50种操作码,采用页面寻址、立即、直接等寻址方式。CPU中有PC,IR,AR, DR和16个通用寄存器,页面寻址可用PC高位部分与形式地址部分拼接成有效地址。问:(1)指令格式如何安排?(2)主存能划分成多少页面?每页多少单元?(3)能否增加其他寻址方式?解: (1)依题意,指令字长32位,主存1M字,需20位地址A19-A0。50种操作码,需6位OP,指令寻址方式Mode为2位,指定寄存器Rn需4位。设有单地址指令、双地址指令和零地
48、址指 令,现只讨论前二种指令。单地址指令的格式为:Mode=00时为立即寻址方式,指令的230位为立即数;Mode=01时为直接寻址方式,指令的190位为有效地址。双地址指令的格式为:Mode1=10时为寄存器直接寻址方式,操作数S=(Rn);Mode1=11时为寄存器间址寻址方式, 有效地址E=(Rn)。Mode2=00时为立即寻址方式,指令的13-0位为立即数;Mode2=01时为页面寻址方式;Mode2=10时为变址寻址方式,E=(Rn)+D;Mode2=11时为变址间址寻址方式, E=(Rn)+D)。(2)由于页面寻址方式时,D为14位,所以页面大小应为16K字,则1M字可分为 64个页面。可由PC的高6位指出页面号。(3)能增加其它寻址方式,例上述间址方式、变址间址寻址方式。4、 一条指令存储在存储器中地址为一条指令存储在存储器中地址为300的地方,其操作数地址字段为的地方,其操作数地址字段为301的地方,地址字段的值为的地方,地址字段的值为400,处理器中寄存器,处理器中寄存器R1中包含数据中包含数据200,在,在以下指令寻址方式下,求操作数的有效地址。(以下指令寻址方式下,求操作数的有效地址。(10分)分)(1)直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高空观景台装修合同解除
- 烟草制品行业风险管理与内部控制2025年度服务合同3篇
- 2025年草原旅游租赁服务合同范本3篇
- 2025年高校兼职教师劳动关系管理合同4篇
- 2025年石雕狮子项目可行性研究报告
- 2025年度绿色建筑能源管理承包合同4篇
- 2025年度智慧旅游平台运营合作协议书4篇
- 二零二四年度巡游出租车特许经营与智能支付系统接入合同3篇
- 二零二五年度5G通信技术部分股份转让合同2篇
- 二零二五年度木材加工钢材买卖居间合同附带仓储管理咨询4篇
- 农药合成研发项目流程
- 机电安装工程安全管理
- 2024年上海市第二十七届初中物理竞赛初赛试题及答案
- 信息技术部年终述职报告总结
- 理光投影机pj k360功能介绍
- 六年级数学上册100道口算题(全册完整版)
- 八年级数学下册《第十九章 一次函数》单元检测卷带答案-人教版
- 帕萨特B5维修手册及帕萨特B5全车电路图
- 小学五年级解方程应用题6
- 年月江西省南昌市某综合楼工程造价指标及
- 作物栽培学课件棉花
评论
0/150
提交评论