中央处理器——指令周期
一、基本概念
1、指令执行过程

即:

2、指令周期
取指令、分析指令到执行完该指令所需的全部时间
(1)、从内存取出一条指令并执行这条指令的时间总和
(2)、指令功能不同,其指令周期不同
3、机器周期
又称CPU周期,把一个指令周期划分为若干机器周期
(1)、通常用从内存读取一条指令字/数据字的最短时间来规定CPU周期
(2)、不同的指令,可能包含不同数目的机器周期
4、时钟周期
又称T周期,一个机器周期包含若干时钟周期
(1)、一个机器周期分为若干个相等的时间段,每个时间段称为一个T周期
(2)、是处理操作的最基本单位
①、ALU完成一次正确的运算
②、寄存器间的一次数据传送

二、定义一个指令集
引:
(1)、6条指令,单字长,字长位1B,定长指令
①、MOV 寄存器数据传输 RR型
②、LAD/STO 取数/存数 RS型
③、ADD/AND 加法/逻辑与 RR型
④、JMP 跳转 RS型
(2)、格式设计
①、MOV

②、LAD

③、STO

④、ADD

⑤、AND

⑥、JMP

(3)、指令编码


(4)、指令周期设置
①、访问内存
②、使用一次总线传输数据
(5)、取指周期
①、对这个指令集来说,所有指令取指周期都一样
②、CPU工作:
从指令存储器取出指令
PC+1,为取下一条指令做好准备
对取到的指令操作码进行译码,以确定进行什么操作

1、MOV
执行周期:将数据从R1传送到R0,只需要一个CPU周期
①、OC送出控制信号到通用寄存器,选择R1做源寄存器,选择R0做目标寄存器
②、OC送出控制信号到ALU,指定ALU做传送动作
③、OC送出控制信号,打开ALU输出三态门C1,将ALU输出送到DBUS上
④、OC送出控制信号,将DBUS上的数据打入到DR
⑤、OC送出控制信号,将DR中的数据打入R0

2、LAD
执行周期
(1)、第一个CPU周期
①、OC送出命令打开IR输出三态门C3,将指令中的直接地址码6放到DBUS上
②、OC发出操作命令,将地址码6装入AR,数存进行地址译码
(2)、第二个CPU周期
③、OC发出读命令,数存将6号单元数据读出到DBUS上
④、OC发出命令,将DBUS上的数据打入到DR
⑤、OC发出命令,将DR中的数据打入R1

3、STO
执行周期
(1)、第一个CPU周期
①、OC送出操作命令到通用寄存器,选择R3做数据存储器的地址单元
②、OC送出控制命令,打开通用寄存器输出三态门C2,将地址放到DBUS上
③、OC发出操作命令,将地址装入AR
(2)、第二个CPU周期
④、OC发出操作命令,选择(R2)作为数存的写入数据
⑤、OC发出操作命令,打开三态门C2,将数据放到DBUS上
⑥、OC发出操作命令,将数据写入数存单元

4、ADD
执行周期
①、OC送出控制信号到通用寄存器,选择R1做源寄存器,选择R2做目标寄存器
②、OC送出控制信号到ALU,指定ALU做R1和R2的加法操作
③、OC送出控制命令,打开ALU输出三态门C1,将运算结果送到DBUS上
④、OC送出控制命令,将DBUS上的数据打入DR,ALU产生的进位信号保存在PSW中
⑤、OC送出控制命令,将DR装入R2

5、JMP
执行周期
①、OC发出操作命令,打开指令寄存器IR的输出三态门C3,将IR中的地址码发送到DBUS上
②、OC发出操作命令,将DBUS上的地址码打入到PC中

三、方框图
又称指令流程图,用来表示指令周期
1、矩形方框
表示一个CPU周期,其内容表示数据通路
2、菱形框
表示判断或测试,时间上依附前一个方框的CPU周期,不独占一个CPU周期
3、公操作符号~
表示指令执行完毕后CPU的一些共性操作,如中断请求、DMA等
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
