在微处理器芯片中,添加了新的电路来完成特殊任务,还添加了对数字的操作来卸载CPU核心工作,这样CPU就可以非常快速地工作。像协处理器这样的辅助处理器主要用于计算机中,以实现图形显示处理和宽算术计算等特殊任务。与CPU相比,该处理器被设计为非常有效地执行这些任务,因此可以提高计算机的整体速度。本文讨论了协处理器–架构、工作及其应用。


什么是协处理器?

与计算机的主处理器(如CPU)并排工作的处理器被称为协处理器。该处理器也被称为辅助计算机处理器。通过使用该处理器,可以执行一些困难的数学计算,如屏幕上显示的图形、信号处理、字符串处理、浮点运算、输入输出接口等。

ding="async" class="size-medium wp-image-43731" src="https://uploads.9icnet.com/images/aritcle/20230518/Coprocessor-300x188.jpg" alt="Coprocessor" width="300" height="188" sizes="(max-width: 300px) 100vw, 300px">
协处理器

协处理器体系结构

类似于8087协处理器的体系结构如下所示。通常,这种协处理器与微处理器并行工作。该协处理器由英特尔开发,用于16位8086系列微处理器。当处理器与微处理器结合工作时,计算部分由处理器简单处理&这允许CPU利用资源执行各种其他活动。

下图表示8087协处理器的体系结构。该体系结构包括两个主要单元,如控制单元和数字执行单元,也称为NEU。

8087 Coprocessor Architecture
8087协处理器体系结构

在控制单元中,有各种单元,如数据缓冲器、控制和状态字寄存器、共享操作数队列、异常指针、寻址和总线跟踪单元。数字执行单元主要包括微码控制单元、寄存器堆栈、可编程移位器、临时寄存器、算术模块、指数模块和共享操作数队列。

协处理器中的控制单元用于控制数字执行单元负责的指令执行(IE)。大多数情况下,数字执行单元的微码控制单元(CU)从协处理器的控制单元获得数字指令。这个协处理器有完整的8个寄存器,每个寄存器有80位,每个寄存器都用于后进先出堆栈。协同处理器指令将在其上发生的操作数存在于寄存器堆栈中。

现有堆栈通过3位SP(堆栈指针)指向,该SP保存范围从000到111的二进制值,以显示8个堆栈寄存器。它在后进先出模式下以循环堆叠的方式工作。但是,一旦发生重置操作,指针就可以通过二进制值“000”进行初始化。

数字数据的三种分类,协处理器的功能是压缩十进制数、实数和二进制整数。二进制整数有三种类型:16位字整数、32位短整数和64位长整数。80位BCD格式表示压缩的十进制数,而实数有3种类型;32位短实数、64位长实数和80位临时实数。

为了在协处理器中传输数字数据使用16位指数总线或64位尾数总线协处理器包括一个16位的控制字和一个16比特的状态字。

控制字被写入控制寄存器&这是以协处理器最初将控制字写入存储器位置的方式进行的。之后,协处理器只需使用存储位置读取控制字,并将其存储在控制寄存器中。

类似地,状态字的读取方式使得处理器将状态寄存器中的数据发送到存储器的某个位置。此外,该协处理器从存储器的特定位置读取状态寄存器。因此,这意味着处理器和微处理器通过主存储器相互通信。

协处理器是如何工作的?

协处理器主要设计用于8086和8088处理器。协处理器用于通过卸载特定的CPU任务来帮助系统更有力地运行。一旦该处理器与微处理器组合工作,那么在编写程序时,微处理器和协处理器的指令都被集成在其中。汇编语言程序中指令的开头有一个“F”,表示协处理器的指令,而没有“F”前缀的指令表示微处理器的指令。

首先,微处理器从内存位置提取指令,并将其顺序加载到队列中,同时8087协处理器也读取并存储内部队列中的指令。因此,这意味着,每一条指令都可以通过协处理器和处理器读取,但在执行时,协处理器和微处理器都可以执行其特定指令的执行。这意味着,该指令被读取和解码。如果微处理器检查是否存在协处理器的指令,则该指令被视为“否”操作。类似地,如果这个协处理器接近微处理器的任何指令,那么它将被视为不操作。

协处理器的类型

根据制造商的不同,有不同的协处理器,如下所示。

英特尔8087协处理器

Intel 8087是一款专门设计的协处理器,用于执行包括浮点值和整数值在内的数学计算。有时,它也被称为数字数据处理器和数学处理器。这是一个适用于英特尔80188、8086、80186和8088处理器的数字协处理器。8087协处理器包括八个80位通用寄存器,这些寄存器作为堆栈执行。因此,所有浮点运算都是简单地使用来自堆栈和外部存储器的数据执行的。

Intel 8087 Coprocessor
英特尔8087协处理器

英特尔8087协处理器只支持BCD、整数、单精度和双精度浮点数,还支持扩展精度浮点数。一旦8087处理器从内存加载数据,它就会在内部进行转换,以扩展精度数字&此外,所有计算都是通过这个数字执行的。

因此,从双精度数字切换到单精度数字,否则从64位整数切换到32位/16位整数不会显著提高性能。8087协处理器不仅由英特尔制造,AMD、Cyrix和IBM也制造这些协处理器。

摩托罗拉68881

摩托罗拉68881是一款协处理器,主要用于第二代摩托罗拉68K微处理器,如摩托罗拉68030和68020。理论上,这种协处理器与早期的68000或68010个CPU一起用作外围设备。

Motorola 68881
摩托罗拉68881

摩托罗拉68881协同处理器的功能就像一个内存映射设备。一旦主CPU加载协同处理器的指令,它就将指令代码写入CIR(协同处理器接口寄存器),这些寄存器被映射在CPU的地址空间内,然后,它从其中一个CIR寄存器读取协同处理器的响应。

摩托罗拉68881/668882协处理器用于IBM RT PC工作站、Sun Microsystems Sun-3工作站、NeXT Computer、Apple Computer Macintosh II系列、Amiga 3000、Sharp X68000、Convergent Technologies MightyFrame、TT、Atari Mega STE和Falcon。这些处理器也用于一些第三方雅达利和Amiga产品,如68000的内存映射设备。

苹果运动协处理器

苹果公司的M系列协处理器被称为运动协处理器,用于苹果移动设备。第一个协处理器设计于2013年,用于从内置的陀螺仪、加速度计和罗盘中收集传感器数据,并使用主CPU卸载收集的传感器数据。

Apple Motion Coprocessors
苹果运动协处理器

M系列苹果协处理器只需收集过程并存储传感器的数据,即使设备处于休眠状态,应用程序也可以在设备再次通电后恢复数据。因此,这减少了从设备中消耗的电力,并节省了电池的寿命。

处理器和协处理器之间的区别

处理器和协处理器之间的区别包括以下几点。

加工机

协处理器

处理器是计算机中的主要处理单元,根据指令执行不同的算术、逻辑和控制操作。 协处理器是一种为主处理器提供支持的特殊处理器。

 

处理器处理所有的主要工作

 

协处理器只处理一些其他的事情,比如图形和算术计算。
它处理逻辑运算和数学计算,并向其他组件生成控制信号,用于同步任务。 它根据类型执行信号处理、数学运算、网络和密码。
处理器维持整个计算机的正常工作。 该处理器有助于提高系统性能,并从CPU中卸载繁重的任务。

优势

协处理器的优点包括以下几点。

  • 与核心CPU相比,协同处理器只是更快地处理更专业的任务
  • 这些处理器易于使用,也是最受欢迎的处理器。
  • 它通过从CPU中提取特殊的处理任务来减少微处理器的压力,从而使其以更高的速度运行。
  • 该处理器通过扩展指令集或提供配置寄存器,有助于扩展CPU的处理功能。

缺点

协处理器的缺点包括以下几点。

  • 协处理器无法从内存中恢复指令、直接执行指令、管理内存、执行I/O操作
  • 它取决于主处理器来重新获得协处理器指令&处理与协处理器无关的所有其他操作。
  • 这不是系统的主要处理器。
  • 没有主微处理器,协处理器就无法工作。

应用

协处理器的应用包括以下内容。

  • 协处理器用于执行一些更专业的任务,例如图形显示处理或复杂的数学计算。
  • 协处理器只是用来减轻计算机CPU的负担。
  • 这个处理器与计算机的中央处理器并行工作。
  • 与主处理器相比,该处理器执行高级数学运算的速度要快得多,如根、对数、三角函数等。
  • 协处理器增加了主处理器的功能。
  • 协处理器执行不同的操作,如信号处理、浮点运算、字符串处理、图形、通过外围设备的I/O接口、密码学等。
  • 这些处理器是早期台式计算机中连接到主板的独立芯片。
  • 协处理器处理CPU任务以提高整体性能。

因此,这是对协处理器及其应用的概述。此处理器也称为数学处理器。与核心CPU相比,协处理器执行不同任务的速度非常快。因此,计算机系统的总体速度增加了。此处理器可以连接到ARM处理器。一旦添加了它,我们就需要增加核心CPU的指令集,或者包括可配置的寄存器,以提高处理能力。这里有一个问题要问你,什么是微处理器?