指令流程

上传人:小** 文档编号:57157855 上传时间:2018-10-19 格式:DOC 页数:5 大小:88KB
返回 下载 相关 举报
指令流程_第1页
第1页 / 共5页
指令流程_第2页
第2页 / 共5页
指令流程_第3页
第3页 / 共5页
指令流程_第4页
第4页 / 共5页
指令流程_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《指令流程》由会员分享,可在线阅读,更多相关《指令流程(5页珍藏版)》请在金锄头文库上搜索。

1、CPUCPU 指令流程指令流程一、一、 能被能被 CPUCPU 直接使用直接使用的操作数存放位置:的操作数存放位置:1.CPU 内的寄存器中,如 R0,R1,R2,R3 等; 2.主存储器的存储单元中,包括 cache 的存储单元中,以及外设接口的寄存器中,但外存 如硬盘、光盘、U 盘等中的操作数不能被 CPU 直接使用,必须调入主存单元中; 由于主存的容量比 CPU 内的寄存器的容量大成百上千倍,因此,99%以上的操作数存 放在主存储器中,即 CPU 使用的操作数主要从主存储器的存储单元中存取。二、必须掌握的寻址方式:二、必须掌握的寻址方式:由上可知,能被 CPU 直接使用的操作数要么存放在

2、 CPU 内的寄存器中、要么存放在 主存储器的存储单元中,而最主要的是存放在主存储器的存储单元中,因此,如何从主存 储器的存储单元中获取所需的操作数就是问题的关键。1.立即寻址方式:由指令直接给出操作数。无需从 CPU 内的寄存器中、主存储器的存储单 元中获取操作数,因而该种寻址方式速度最快。助记符表示:无 寻址过程:无2.寄存器(直接)寻址方式:在指令中给出寄存器号,在指定的寄存器中存放着操作数。 操作数存放在 CPU 内的寄存器中,无需访问主存,因而该种寻址方式速度很快。助记符表示:R R 的种类及编号: R0(000) , R1(001) , R2(010) , R3(011) , SP

3、(100) , PC(111),PSW(101) 寻址过程:无指令中给出的寄存器号是 Ri(按上述编码则代码为) ,从寄存器 Ri中可直接 读取操作数 S,寻址方式如下:OP地址 1地址 2(寄存器 Ri 的编 号)寄存器寻址方式示意图例:若 CPU 中寄存器内容如下,现指令中给出寄存器号为 011,按寄存器寻址方式读 取操作数。 R0 1000H R1 2000H R2 3A00H R3 3C00H 按寄存器寻址方式定义,读得的操作数 S=3C00H。寻址过程:寄存器号 操作数 操作数 S 与寄存器 Ri 的关系为: S=(Ri )Ri 操作数 SRi3寄存器间接寻址方式:若指令中给出的地址

4、码是寄存器编码,被指定的该寄存器中存放 的是操作数地址,按照该地址访问某主存单元,该单元的内容为操作数,这种寻址方式称 为寄存器间接寻址。助记符表示:(R) R 的种类及编号: R0(000) , R1(001) , R2(010) , R3(011) , SP(100) , PC(111),PSW(101)寻址过程:寄存器号 操作数地址 操作数简化为:Ri MAR 将 Ri 操作数地址送 MARM MDR C/D 将操作数从主存单元取回送 CPU指令在地址段给出的是寄存器号 Ri,从 Ri中读出的是操作数地址 A,按地址码 A 访 问主存,从相应单元中读取操作数 S,寻址方式如下:RiA操作

5、数 S主存寄存器间接寻址方式示意图A(操作数地址)操作数 S 与寄存器 Ri 的关系为: S=(Ri ) )例 下面分别列出寄存器中存放内容,以及主存储器数据区的地址与单元内容之间的 对应关系。若指令中给出寄存器号为 001,按寄存器间址方式读取操作数。 寄存器: R0 1000HR1 2000HR2 3000H 主存单元:1000H 3A00H2000H 2C00H3000H 3B00H 按寄存器间址方式定义,指令指定的寄存器为 R1,从中读得操作数有效地址(R1) =2000H,据此访问主存储器。读得操作数为 S= (R1)= 2C00H。4自增型寄存器间址方式:这是寄存器间址的一种变型,

6、若指令中给出存放操作数地址的 寄存器号,从寄存器中读出操作数地址后,寄存器内容加 1,这种寻址方式称为自增型寄存器 间接寻址。RiMOP地址 1地址 2(寄存器 Ri的编号)助记符:(R)+ 加号在括号之后,形象地表示先操作(从寄存器中读取地址,按修改 前的地址访问主存,读取或写入操作数) ,后修改(指针内容加 1) R 的种类及编号: R0(000) , R1(001) , R2(010) , R3(011) , SP(100) , PC(111),PSW(101)指令中在地址段给出的是寄存器号 Ri,从 Ri中读出的是操作数地址 A,按地址码 A 访问主存,从相应单元中读取操作数 S,同时

7、,对寄存器 Ri 中的内容加 1,寻址方式如下:RiA操作数 S主存自增型寄存器间接寻址方式示意图A(操作数地址)A+1,修改 Ri 的内容寻址过程:寄存器号 操作数地址 操作数Ri 内容加 1简化为: Ri MAR 将 Ri 操作数地址送 MARM MDR C/D 将操作数从主存单元取回送 CPURi + 1 Ri 将 Ri中的内容在运算器中加 1 操作数 S 与寄存器 Ri 的关系为: S=(Ri ) ) 下面分别列出了寄存器内容,以及主存储器数据区的地址与单元内容之间的对应关系。 若指令中给出寄存器号为 010,按自增型寄存器间址方式读取操作数,并修改指针。 寄存器: R0 1000HR

8、1 2000HR2 3000H 主存单元:3000H A300H3001H BC00H 按自增型寄存器间址方式定义,指令指定的寄存器为 R2,从中读得操作数有效地址 (R2)= 3000H,按照该地址访问主存储器,读得操作数为 S= (R2)= A300H;R2 内容加 1 后,指针内容修改为(R2)=3001H。照此继续,通过重复执行这同一条指令就可以沿着地址 码增加的方向,访问从 3000H 单元开始的一段连续区间。OP地址 1地址 2(寄存器 Ri的编号)RiM5. 自减型寄存器间址方式:这是寄存器间址的又一种变型,若指令中给出寄存器号,被指定 的寄存器内容减 1 后作为操作数地址,按照

9、该地址访问主存储器,相应的主存单元内容为 操作数。 助记符:(R) R 的种类及编号: R0(000) , R1(001) , R2(010) , R3(011) , SP(100) , PSW(101) 与单纯的寄存器间址方式相比,助记符中多了一个“”号,但是位于(R)之前, 这形象地表示:先修改(指针内容减 1) ,后操作(按修改后的地址从主存储器中读取或写 入操作数) 。 指令在地址段给出的是寄存器号 Ri,将 Ri中的内容减 1 作为操作数地址 A,按地址码 A 访问主存,从相应单元中读取操作数 S。寻址方式如下:RiA操作数 S主存自减型寄存器间接寻址方式示意图A操作数地址A-1A-

10、1寻址过程描述为:寄存器号 操作数地址(Ri)1 操作数 简化为: Ri 1 MAR, Ri 将 Ri中的内容在运算器中减 1,即为操作数地 址 M MDR C/D 将操作数从主存单元取回送 CPU操作数 S 与寄存器 Ri 的关系为: S=(Ri 1 ) ) 下面分别列出寄存器内容,以及主存储器数据区的地址与单元内容之间的对应关系。 若指令中给出寄存器号为 010,按自减型寄存器间址方式修改指针,并读取操作数。 寄存器: R0 1000HR1 2000HR2 3000H 主存单元: 2FFEH A300H2FFFH 27FFH3000H BC00H 按照自减型寄存器间址方式定义,指令指定的寄

11、存器为 R2,将 R2 的内容减 1 后作为 操作数地址(R21)= 3000H1= 2FFFH,从地址 2FFFH 单元中读得操作数 S= (R21) = 27FFH。OP地址 1地址 2(寄存器 Ri的编号)RiM总结寻址方式:要求的有 4 种 (!)寄存器(直接)寻址方式:Ri无(2)寄存器间接寻址方式:(Ri)Ri MAR 将 Ri 操作数地址送 MARM MDR C/D 将操作数从主存单元取回送 CPU(3)自增型寄存器间址方式:(Ri)+Ri MAR 将 Ri 操作数地址送 MARM MDR C/D 将操作数从主存单元取回送 CPURi + 1 Ri 将 Ri中的内容在运算器中加

12、1 (4)自减型寄存器间址方式: (Ri)Ri 1 MAR, Ri 将 Ri中的内容在运算器中减 1,即为操作数地 址 M MDR C/D 将操作数从主存单元取回送 CPU三、取指令的步骤 程序的运行表现为从主存中取指令(到 CPU 内的 IR 寄存器)以及在 CPU 内执行该指令 的过程,尽管各种指令类型并不相同,当从主存中取指令的操作却相同。 执行任何一条指令的公共步骤FT: PC MAR 将存放指令的地址送 MARA M IR , PC+1 PC 将指令从主存取回到 IR 中,同时改变 PC 的内容,为取下一条指令做准备 四、指令类型 1 MOV 指令 2 双操作数类指令:加 ADD、减 SUB、与 AND、或 OR、异或 EOR 五种 3 JMP 类指令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号