中央处理器——指令周期

一、基本概念
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等

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值