辅助处理器系统是为了减轻中央处理器(CPU)的工作负荷而设计的一系列组件,其主要组成部分包括通信、启动、硬件管理控制、系统参数修正、存储等功能。

作用

辅助处理器的作用在于分担原本应由CPU承担的部分任务,从而提升计算机的整体性能。具体而言,浮点运算通常由专用的算术协处理器负责,这种硬件实现的方式相比软件模拟具有更高的效率。在早期的计算机体系结构中,如486之前的架构,协处理器与CPU是分离的实体。而在486及Pentium之后的架构中,协处理器则集成在同一个芯片上。如果缺少协处理器,则CPU需要通过软件仿真的方式来实现浮点运算,这种方式相对缓慢。在多CPU系统中,可以通过特定的命令查看参与浮点运算的进程数量。

DMA控制器

DMA控制器主要用于处理外部设备与内存之间,以及内存内部不同地址空间之间的数据传输。在EISA和MCA结构的计算机中,许多外部设备控制器都集成了总线 Master DMA芯片,这些芯片能够自主完成DMA操作,而不依赖主板上的DMA控制器。然而,在ISA结构的计算机中,以及一些较早的MCA结构计算机和特定的外设控制器,由于仅支持24位地址,因此只能访问起始的16MB内存。在这种情况下,CPU需要处理起始16MB内存与其他内存之间的数据传输。此外,一些外部设备控制器,如IDE硬盘控制器和较早的SCSI主接口卡,不具备DMA功能,也需要CPU来完成外部设备与内存之间的数据传输。

图形接口卡

图形接口卡利用局部总线结构的优势,实现了与CPU相同的运行速度,显著提升了图形子系统的性能。

UART单元

UART单元作为串口的一部分,负责异步地接收和发送串行线上的输入输出操作。UART上的缓冲区提高了CPU处理串行线I/O的效率。特别是智能串口卡,能够处理原本应由CPU完成的字符处理工作。

可编程中断控制器(PIC)

可编程中断控制器(PIC)在外部设备向CPU发起中断请求时发挥作用。操作系统有效地利用了这些资源,分配系统负载,减轻了CPU的压力,降低了CPU成为系统瓶颈的可能性。

系统结构

辅助处理器系统的结构包含多个模块,分别为:

- 通信管理模块:包括12C通信驱动模块和1-Wire通信驱动模块等,用于辅助处理器的通信功能。

- 启动模块:负责辅助处理器系统的引导和启动过程。

- 硬件管理模块:涵盖按键驱动、ADC驱动、PWM驱动、LED驱动、CAMERA驱动等多个子模块,分别对相应的硬件进行控制和管理。

- 参数管理模块:处理辅助处理器系统中的各种参数。

- 存储管理模块:包含了DS2502驱动模块和Flash存储模块,分别用于存储基本信息和辅助处理器系统的代码和数据。

型号举例

8087是一款旨在增强8086/8088处理器数值运算能力的辅助处理器。它与8086/8088共同构成一个完整的系统,以弥补8086/8088在数据运算方面的不足。8087采用大规模集成电路设计,封装在一个标准的40引脚双列直插式管壳中。8087会获取CPU提供的队列状态信息,并确保与CPU保持同步,然后按照自己的指令集进行解码和操作。8087的机器指令前五位是固定的,这一特性使其能够在混合指令流中与CPU协同工作。通过监控CPU发出的状态信号,8087能够确定何时从指令流中提取指令。当指令字节或字在本地缓存中变得可用时,8087将与CPU同时接收总线上的信息,解析指令,并将其传递给NEU(数据处理单元)。

参考资料