📜  协处理器 |计算机架构

📅  最后修改于: 2022-05-13 01:57:01.910000             🧑  作者: Mango

协处理器 |计算机架构

介绍 :
如果在微处理器芯片中,可以添加特殊用途的新电路来执行特殊任务或对数字执行操作,以卸载核心 CPU 的工作。然后 CPU 可以更快地工作。

我们可以在电机运行时使用传送带做一些额外的工作。因此,更有效地利用了电机。同样,当我们运行复杂的应用程序时,辅助处理器(即协处理器)处理工作的数学部分。

什么是协处理器?

  • 协处理器多次被称为数学处理器。当协处理器执行例行数学任务时,核心处理器从这种计算中解放出来,节省了时间。通过从核心 CPU 中获取专门的处理任务,协处理器减少了主微处理器的压力,使其能够以更高的速度运行。
  • 协处理器可以执行特殊任务,例如复杂的数学计算或图形显示处理。它们执行此类工作的速度比核心 CPU 快。结果,系统的整体计算机速度增加。
  • 对于 ARM 处理器,我们可以附加协处理器。添加协处理器时,我们需要扩展Core CPU的指令集或添加可配置的寄存器,以增加处理能力。协处理器接口允许将几个协处理器连接到 ARM CPU。

协处理器如何工作?
协处理器通过卸载 CPU 的特定任务来帮助系统更有效地运行。他们可以

  1. 独立型——
    它与 CPU 以异步方式工作。每当它执行任何任务/某些计算时,都不会与 CPU 同步。协处理器可以在这里独立做出决定。然后 CPU 可以完成自己的工作,而不必担心协处理器的工作。不是同步等待,而是释放发出请求的 CPU 来执行另一个任务。
  2. 直接控制型——
    直接控制类型,例如浮点单元——由作为 CPU 指令集一部分的协处理器指令控制。发起请求的 CPU 等待或检查,直到协处理器完成操作。协处理器在这里不是独立的,而是由主 CPU 管理或控制的。 CPU 和协处理器在这里同步工作。

处理器的设计和实现方式使其可以向多个协处理器发送数据和指令。这些协处理器旨在与内核协调执行,并以相同的方式流水线化。

通过添加一组新的专用指令,协处理器可以扩展指令集。例如,为了处理向量浮点 (VFP) 操作,可以将一系列专用指令添加到正常的 ARM 指令集中。当指令被解码并且作为协处理器指令遇到时,该指令被传递到适当的协处理器。但是,如果协处理器不存在或在其指令集中找不到指令,则 ARM 会抛出未定义的指令异常。

协处理器的属性:

  1. 没有主微处理器,协处理器就无法函数。
  2. 主处理器必须识别和分离程序中的计算密集型指令。
  3. 具有密集计算量的指令由协处理器执行。
  4. 主处理器处理所有其他活动。

协处理器的功能:

  • 协处理器无法从内存中检索指令、管理内存、直接执行指令(流控制类型)、执行 I/O 操作等。
  • 协处理器依赖主机(主)处理器来检索协处理器指令并处理与协处理器无关的所有其他操作。
  • 协处理器不是系统的主处理器。
  • 协处理器可以执行:浮点算术运算,如加、减、乘、计算给定数字的平方根、估计给定数字的对数值等(对于浮点值),或信号、字符串、图形处理或加密/解密等
  • 协处理器支持计算机定制,因此如果客户不需要额外的性能,则无需付费。

示例 – 英特尔 8087 协处理器:
Intel 8087 是第一个适用于 16 位运算的数学协处理器。它是为与英特尔 8086 微处理器配对而构建的。它的主要目的是减少应用程序提供输出所需的时间(需要高浮点计算)。
随着与主处理器一起引入协处理器,人们注意到应用程序的性能从 20% 提高到 500%。
8087 协处理器性能 – 每秒大约 50 千次浮点运算 (KFLOPS)。

8087协处理器功能图

Intel 8087 协处理器支持:

  • 整数
  • BCD
  • 单精度浮点数
  • 双精度浮点数
  • 扩展精度(80 位)浮点数

该图显示了协处理器与 8086 微处理器的连接。
大多数协处理器都有——算术模块、临时寄存器和逻辑模块。