《计算机组成原理》 II – 唐朔飞老师

1 理解微操作命令

连通

假设触发器1(D1)的输出通过导线连接到触发器2(D2)的输入。在时钟信号同步下,当给D1一个输入时,D2也将根据D1的输出作为输入产生一个对应的输出。

数据传输

如果要求D2的输出与D1输出一致,则需要在D1与D2连接的线路上加一个转换的电路T1。D1的输出经T1后成为与D1的输入一样的信号,那么D2的输出就跟D1一样。此时,这个过程就可以看做是将D1的数据 传输给了D2。数据的传输就是一个连通的过程。

控制信号 -- 微操作命令

在D1和D2实现数据传输的导线上再加一个门控电路M1,M1在默认状态下不具备数据传输(连通导线)的功能(引脚Cin的状态为0),只有使Cin为1时才连通导线。当给M1的Cin给一个1信号时,导线连通,D1的数据就通过导线传输给了D2。这里给Cin的信号就是一个控制导线连通的信号(微操作命令)。CPU内的CU会根据指令的操作码来产生一个或者一串这样的控制信号去作用在指定的门控电路的Cin之上,让数据能得到传输。这样的由CU产生的一个或者一串的信号就是一个微操作命令

指令周期包含多个微操作命令

组成指令周期的每个阶段(取指,间址,执行,中断各阶段)通常由多个微操作组成。这些微操作的执行由微操作命令来使能(驱动)。如完成取指过程,CU首先需要产生使能PC寄存器与MAR寄存器线路上的门控电路的控制信号,使PC内容传输给MAR;CU还需要产生使能存器被读的控制信号……等等。

2 微操作命令例

未采用CPU内部总线方式的数据通路和控制信号的关系如下图。图中未画出每个寄存器的输入或输出控制门,只标出了控制这些门电路的控制信号Ci。也未画出读写存储器的控制信号(涉及到时可认为CU与存储器MM是连通的)。省去了IR到MAR的数据通路(可认为IR到MAR的数据通路是通的)。可认为ACC寄存器到MDR寄存器的通路是通的。

Figure1. 未采用CPU内部总线方式的数据通路和控制信号

(1) 写出取指周期的全部微操作。

(2) 写出取数指令“LDA  M”、存数指令“STA  M”、加法指令“ADD  M”(M均为主存地址)在执行阶段所需的全部微操作。

(3) 当上述指令均为间接寻址时,写出执行这些指令所需的全部微操作。

(4) 写出无条件转移指令“JMP  Y”和结果为0则转指令“BAZ  Y”在执行阶段所需的全部微操作。

CU输出的控制信号的目的地为Ci指向的门电路。

(1) 取指阶段的微操作

[1] PC --> MAR:控制信号C0有效,打通PC寄存器与地址寄存器MAR的通路,PC内的数据传输到MAR中。

[2] 1 -- >R: CU向存储器发一个读信号,存储器处于可被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] MDR-- >IR :  C3控制信号有效,MDR传输给IR。

[5] OP(IR)-->CU:将IR中指令的操作码字段传输给CU。

[6] (PC) + 1--> PC:PC内容自动加1。

(2)“LDA M”,“ STA M”,“ADD M”指令执行阶段的微操作

LDA              M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] MDR -->ACC:控制信号C12有效,将MDR中的数据存到ACC寄存器中。

STA        M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >W:使能存存器被写状态。

[3] ACC -- >MDR:控制信号C12有效,将要写入存储器中M地址的数据写入MDR。

[4] MDR -- > MM(MAR):C1,C2控制信号有效,MDR中的数据写往存存器M的M地址之上。

ADD       M:

[1] AD(IR) --> MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

[4] (ACC) + (MDR) -- > ACC:控制信号C7,C6有效,将读到的数据与ACC中的内容送到ALC相加,C8控制信号有效,将ALU相加的结果送入ACC中。

(3) M为间址时“LDA M”,“ STA M”,“ADD M”指令执行阶段的微操作

当M为间址时,需要增加间址周期的微操作。

[1] AD(IR) -- > MAR:控制信号C5有效,IR指令中的地址码字段送给MAR。

[2] 1 -- >R:使能存存器被读状态。

[3] MM(MAR) --> MDR :C1,C2控制信号有效,存储器之上的MAR地址的内容通过数据总线传输到MDR中。

此后,3条指令的第一个微操作都是MDR -->MAR,其余微操作不变。

(4) “JMP Y”,“BAZ Y”执行阶段的微操作

JMP              Y:

AD(IR) --> PC:控制信号C10有效,将IR内容中的地址码送往PC。

BAZ              Y:

Z·AD(IR) --> PC:当Z=1(结果为0)则将地址给PC。

[2014.10.22 - 15:43]

R《CC》Note Over.

理解CU微操作命令(控制信号)相关推荐

  1. 【计组期末复习】机器周期和时钟周期、控制单元的功能:取指周期的微操作命令、取数指令的微操作、存数周期的微操作

    概念:机器周期和时钟周期 1.机器周期 机器周期可看做是所有指令执行过程中的一个基准时间,机器周期取决于指令的功能及器件的速度.确定机器周期时,通常要分析机器指令的执行步骤及每-一步骤所需的时间.例如 ...

  2. 每日一题:讲一讲你理解的微服务架构?

    点击上方 ,选择 设为星标 优质文章,及时送达 原文来自 GitHub 开源社区 Doocs,欢迎 Star 此项目,如果你有独到的见解,同样可以参与贡献此项目. 面试题 讲一讲你理解的微服务架构? ...

  3. git的简单理解及基础操作命令

    前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制管理>这本书(偏理论,内容完善,很不错),针对所学 ...

  4. 第二章 理解Reactive微服务和Vert.x

    微服务并不是一个新的东西.它源自1970年代的研究,最近火了起来是因为微服务可以让我们更快速地改变.更方便地实现价值,提高灵活性.微服务源自actor-based系统.服务设计.自动化系统.domai ...

  5. 计算机组成原理 三种加法微操作命令

    1.ADD X : 取指周期: PC→MAR 1→R M(MAR)→MDR MDR→IR OP(IR)→CU (PC)+1→PC 执行周期: Ad(IR)→MAR 1→R M(MAR)→MDR (MD ...

  6. STA X(X为主存地址)指令发出的微操作命令

    什么是STA X Store the value of accumulator into memory address X 将累加器值存储在地址为X的主存中 微命令: 取指周期: T0 PC -> ...

  7. 9.2-控制单元CU的功能(学习笔记)

    [README] 本文总结自bilibili<计算机组成原理(哈工大刘宏伟)>的视频讲解,非常棒,墙裂推荐: [1]CU功能(CPU内部不采用总线方式) 控制单元的功能: CU发出各种控制 ...

  8. 计算机组成原理学习笔记(第三部分 CPU部分)

    学习视频 随看随记 MAR(主存地址寄存器)和MDR(主存数据寄存器)不是CPU的组件,但是常常把他们两个集成到CPU中. ()中保存的是地址,或者寄存器,表示地址或寄存器中的内容.例如AD(IR): ...

  9. cpu的内容——cu的功能。操作命令的分析 || 微程序设计思想

    微程序设计思想就是 每一条机器指令编写成一个微程序, 每一个微程序包含若干条微指令, 每一条微指令对应一个或几个微操作命令.

最新文章

  1. PyTorch 的 Autograd详解
  2. linux svn配置教程,linux svn搭建及配置
  3. java项目中.classpath,.settings,.project,mymetadata文件的作用
  4. R语言观察日志(part20)--包的组件之R代码
  5. no amd graphics driver怎么解决_《英雄联盟手游》卡顿怎么解决 游戏设置优化教程...
  6. iphone黑屏转圈_iphone7无限转圈黑屏怎么回事?
  7. luogu P2470 [SCOI2007]压缩
  8. 水星怎么设置网速最快_水星无线路由器如何设置网速限制 水星路由器怎么让别人网速限制方法...
  9. activiti的springboot模块
  10. java对接微信公众号
  11. matlab神经网络常用函数
  12. 【备忘】Pr基本操作
  13. 安岷老师 精益生产管理专家
  14. uniapp 启动页视频
  15. 【C++】实现一个日期计算器
  16. 【项目实战】Java POI之Word导出经典案例一
  17. java对接支付宝当面付支付和查询
  18. 给定秒数 seconds ,把秒转化成小时、分钟和秒
  19. android手电筒的源代码,Android,求打开手电筒最简练的代码
  20. kubeadm部署k8s直接证书100年

热门文章

  1. QT入门之UI设计界面
  2. PCB做SET连片,转批量时发现利用率非常低,有遇到过吗?
  3. QQ音乐银河音效技术实践——音乐重放效果的补偿与修饰
  4. iphone二手机在哪里回收比较好(哪里回收的价格最高)
  5. 再次登顶GitHub,阿里内网首次自曝炫彩版微服务响应式与K8S手册
  6. js 实现筋斗云效果(点击tab栏里面的某个地方,会有图片移动到此地方)
  7. 微生物群落组装过程(assembly processes)
  8. 一个利用html5的图片裁剪功能(已解决ios压扁缩放等bug)
  9. 不用群发,就可以查看你被哪些微信好友删除了
  10. ANDROID下获取IMSI及IMEI码