计组_数据通路

2024.06.20:计算机组成原理数据通路学习笔记


9.1 数据通路的组成

  • 机器指令的执行是在数据通路中完成的
  • 通常将指令执行过程中数据所经过的路径(包括路径上的部件)称为数据通路
  • ALU、通用寄存器、PSW、MMU(地址转换结构)、cache、浮点运算逻辑、异常和中断处理逻辑都属于数据通路的一部分

MMU地址转换机构,之前学过两种地址,逻辑地址或者虚拟地址,物理地址或者存储地址。这两种地址是必须要进行一个转换的。

CPU往往会给出1个逻辑地址,我们需要通过MMU的转换,把它换成1个主存地址,才可以真正地去访存

  • 数据通路由控制部件进行控制,控制部件不属于数据通路
  • 数据在数据通路里面进行流通
  • 控制部件就是控制数据如何在数据通路里面进行流通
  • 指令执行要用到的元件分为操作元件(组合逻辑元件)和存储元件(状态元件)

9.1.1 操作元件(组合逻辑元件)

一个没有记忆功能的器件,本身没有什么特殊功能

  • 关键点1:组合逻辑元件是不受到时钟信号控制的
  • 关键点2:组合逻辑元件是没有存储功能的

注意:由于操作元件没有存储功能,因此需要在必要的时候给输出端去设置一个寄存器,去暂时地保留经过这个部件的输出

例子:多路选择器MUX
在这里插入图片描述
常见的操作元件:多路选择器、加法器、ALU、译码器


9.1.2 存储元件(状态元件、时序逻辑元件)

  • 具有存储功能,输入状态在时钟控制下被写到电路中,并保持电路的输出值不变,直到下一个时钟到达
  • 输入端状态由时钟决定何时被写入,输出端状态随时可以读出

常见存储元件:暂存器、锁存器、IR、PC、通用寄存器组、输出端带三态门的寄存器、带清零功能的寄存器、带自增功能的寄存器、带移位功能的子寄存器


9.2 数据通路的基本结构

9.2.1 单总线数据通路

在这里插入图片描述

(1) MAR、MDR

通过MAR和MDR来完成存储器和CPU之间的信息传送

  • MAR为存储器地址寄存器
  • MDR为存储器数据寄存器

(2) 寄存器组(右上角)

通用寄存器之间传递数据

  • 首先总线是传输信号线,无法存储信息
  • 同一时刻只能由一个部件把信息送到总线

在这里插入图片描述


(3) 算数&逻辑运算(ALU)

ALU是一个没有记忆功能的组合逻辑电路,想要进行正确的运算,需要把两个操作数送入ALU的输入端,并在正确的ALU控制信号的控制下进行
在这里插入图片描述
这些操作不能同时进行,因为任何时刻只能将一个寄存器的内容送到总线。任何一步结束时结果要送到某个寄存器的输入端(保存到寄存器)。因此,该操作需要三个时钟周期(节拍)

ALU的控制信号可以是:加add、减sub、与and、或or、传送mov、取反not、取负neg等


(4) 如何进行主存的读取

从主存中读取一个字(指令或数据或数据的地址)
在这里插入图片描述

(5) 如何进行主存的写入

在这里插入图片描述


9.2.2 三总线数据通路

多总线结构在执行指令时所需要的步骤大为减少
在这里插入图片描述
将所有寄存器的输入端和输出端连接到不同的总线上,因此,同一个时钟周期内就可以传送多个数据。

以ALU为例,取代寄存器,就是让输出结果所在的总线(内总线C)上面不要传任何数据


9.2.3 单周期数据通路(专用数据通路(避免去使用公用的总线,对硬件要求高))

  • 最简单的非总线结构处理器是单周期处理器单周期处理器指其所有指令周期都为一个时钟周期
  • 单周期数据通路即是单周期处理器中的数据通路
  • 在单周期数据通路中,取指令、指令译码、取操作数、执行运算、存结果、更新PC等所有操作都需在一个时钟周期内完成

时钟周期是计算机最小的时间单位

为保证单周期数据通路的所有指令都在一个时钟周期内完成,其时钟周期应该以最复杂指令所用周期为准,所以单周期处理器的时钟周期特别长,指令执行速度很慢


注意:单总线数据通路和三总线数据通路,它俩属于总线式的数据通路,而对于单周期CPU(专用数据通路)来说,它一般不会使用总线,但是它也可以配合总线


9.2.4 RISC

流水线技术和单周期的CPU ,它是两个并行的,两类,是不可能同时发生的

精简指令集里所有的指令都可以在一个时钟周期内完成,注意它之所以可以保证所有的指令都在这么短的时间内完成,并不是因为它是一个单周期的CPU上运行的指令集,而是它采用了流水线。

  • RISC架构的简单性使其理论上适合单周期CPU设计,单这种设计在实际的高性能计算中很少使用,因为它限制了处理器的时钟速度和整体性能
  • 相反,现代RISC处理器更倾向于使用流水线和其他高级技术来提高性能,尤其是在商用和工业应用中。
  • 单周期设计更常见于教学和简单的嵌入式系统中,这些系统对性能的需求相对较低

9.2.5 单周期&多周期CPU对比

在这里插入图片描述

部件利用率

  • 单周期CPU:低、大部分时间都在保持信号
  • 多周期CPU:高

CPI

  • 单周期CPU:1
  • 多周期CPU:>=1

一个时钟周期在干嘛

  • 单周期CPU:完成一条指令
  • 多周期CPU:一个步骤占用一个时钟周期(将整个CPU的执行过程分为几个阶段,每个阶段用1个时钟去完成)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麻溜学习

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值