3.3 数据通路的功能

数据通路的功能

数据通路

数据通路:数据在功能部件之间传送的路径,来表示信息从哪里开始、中间经过哪些部件、最后传到哪。

  • 数据通路的基本结构类型:
    • CPU内部单总线方式
    • CPU内部多总线方式
    • 专用数据通路方式

总线

  • 总线:BUS —— 公共汽车,大家都可以用,但同一时间内承载额能力有限。

  • 内部总线:同一部件内连接各部件的总线

    • 如CPU内部连接各寄存器及运算部件之间的总线;
  • 系统总线:同一台计算机系统的各部件

    • 如CPU、内存、通道和各类I/O接口间互相连接的总线。
  • 控制信号:由控制部件产生的控制信号用以建立数据通路

数据流动的类型

  • 寄存器与寄存器之间
    • 如从PC流向MAR
  • 寄存器与主存之间
    • 如存储器与MDR
  • 寄存器与ALU之间
    • MDR与ALU

1、寄存器与寄存器之间数据传送【高频】

例:把PC内容送至MAR,实现传送操作的流程及控制信号为:

  • ( PC ) → Bus PCout有效,PC内容送到总线
  • Bus → MAR MARin有效,总线内容送到MAR
    • 也可写为:(PC) → Bus → MAR
    • 也有的教材写为:PC → Bus → MAR
      • 后面要注明:哪些信号是有效的
      • 哪种写法、有没有( )这里暂且不谈。重要的是描述清楚数据流向

3.3 数据通路的功能

就是要输出的out有效、输入的就in有效信号

2、CPU与主存之间

CPU从主存读取指令,实现传送操作的流程及控制信号为:

  • (PC) → Bus → MAR PCout和MARin有效,现行指令地址 → MAR
  • 1 → R CU发出读命令(通过控制总线发出,图中未画出)
  • M(MAR) → MDR MDRinE有效
  • MDR → Bus → IR MDRout和lRin有效,现在指令就到了IR
    • 以上两步与主存交互的,是需要用到控制信号,通过地址总线、数据总线,给出地址、得到数据

3.3 数据通路的功能

3、寄存器与ALU之间

执行算术或逻辑运算

比如一条加法指令微操作序列及控制信号为:

  • ACC中已经存到了一个数
  • Y与ALU是有一个专用的通路的,不占用BUS
  • 因为这里是单总线结构,需要先把一个数字放到暂存器Y
  • 如果是双总线,肯定不用放在Y了,就并行相加

3.3 数据通路的功能

3.3 数据通路的功能

CPU内部单总线方式-例题

设有如图所示的单总线结构,分析指令ADD (R0), R1的指令流程和控制信号。

3.3 数据通路的功能

  • ADD (R0),R1
  • 操作 目的操作数 源操作数
  • 最终结果需要放回到目的操作数的位置

1.功能

((R0)) + (R1) → (R0)

2.写出各阶段的指令流程取指周期:公共操作

取指周期

3.3 数据通路的功能

间址周期

3.3 数据通路的功能

执行周期

3.3 数据通路的功能

上一篇:mybatis plus 基础代码生成器


下一篇:一张图看懂嵌入式与PC启动流程