深入解析MC68882浮点协处理器:高性能计算的理想之选

电子说

1.4w人已加入

描述

深入解析MC68882浮点协处理器:高性能计算的理想之选

在当今的电子设计领域,浮点协处理器对于提升系统的计算能力起着至关重要的作用。MC68882作为一款经典的浮点协处理器,以其卓越的性能和广泛的兼容性,成为了众多工程师的首选。本文将深入剖析MC68882的技术细节,为电子工程师们提供全面的参考。

文件下载:MC68882CEI16A.pdf

一、MC68882概述

MC68882是飞思卡尔半导体公司推出的一款HCMOS增强型浮点协处理器,它完全实现了IEEE二进制浮点算术标准(ANSI - IEEE Standard 754 - 1985),可与摩托罗拉M68000系列处理器配合使用。作为MC68881的升级版,MC68882在引脚和软件上与MC68881兼容,并且优化了接口,性能比MC68881提高了1.5倍以上。它采用VLSI技术,为系统设计师提供了功能强大且体积小巧的解决方案。

二、主要特性

2.1 数据寄存器与精度

  • 浮点数据寄存器:拥有八个通用浮点数据寄存器(FP0 - FP7),支持80位扩展精度实数数据格式(64位尾数加1位,15位有符号指数),确保了高精度的计算。
  • 算术单元:配备67位算术单元,能够进行快速计算,中间精度高于扩展精度格式,大大提高了计算效率。
  • 移位器:67位桶形移位器可实现高速移位操作,用于数据归一化等操作。

2.2 数据转换与指令集

  • 数据转换硬件:具备特殊用途的硬件,可实现二进制实数内存操作数与内部扩展格式之间的高速转换。
  • 指令集:拥有46条指令,包括各种算术运算,完全符合IEEE 754标准,支持IEEE标准定义的所有函数,如三角函数和超越函数等。

2.3 数据类型与常量

  • 数据类型:支持七种数据类型,包括字节、字和长字整数,单精度、双精度和扩展精度实数,以及压缩二进制编码十进制字符串实数。
  • 常量:片上ROM中提供24个常量,如π、e和10的幂等,方便用户进行计算。

2.4 其他特性

  • 虚拟内存/机器操作:支持虚拟内存/虚拟机操作,通过FSAVE和FRESTORE指令实现状态的保存和恢复。
  • 高效机制:具备高效的过程调用、上下文切换和中断处理机制,与主处理器协同执行指令,支持多条浮点指令的并发执行。
  • 总线兼容性:可与任何主机处理器配合使用,支持8位、16位或32位数据总线。

三、协处理器概念与接口

3.1 协处理器角色

MC68882在以MC68020或MC68030为主处理器的系统中作为协处理器,通过M68000协处理器接口提供逻辑扩展;在以MC68000、MC68008或MC68010为主处理器的系统中作为外围处理器。

3.2 接口特性

  • 通信方式:主处理器与MC68882通过标准M68000总线周期进行通信,通信不依赖于单个设备的架构。
  • 时钟独立性:主处理器和MC68882可以以不同的时钟速度运行,提高了系统的灵活性。
  • 地址计算:所有有效地址计算由主处理器完成,数据传输也由主处理器根据MC68882的请求进行。
  • 并发执行:支持指令的并发执行,提高了系统的吞吐量,同时保持程序员的顺序执行模型。
  • 异常处理:主处理器根据MC68882的请求处理异常,通过FSAVE和FRESTORE指令支持虚拟内存/虚拟机系统。

四、硬件概述

4.1 整体架构

MC68882采用HCMOS工艺,支持MC68020或MC68030的虚拟机架构。其架构对用户而言是M68000系列架构的逻辑扩展,与MC68020或MC68030配合使用时,可视为一个拥有八个整数数据寄存器、八个地址寄存器和八个浮点数据寄存器的处理器。

4.2 编程模型

  • 浮点数据寄存器:八个80位浮点数据寄存器(FP0 - FP7),类似于整数数据寄存器,可用于任何指令。
  • 控制寄存器:32位控制寄存器,包含异常陷阱使能位和用户可选择的舍入和精度模式位。
  • 状态寄存器:32位状态寄存器,包含浮点条件码、商位和异常状态信息。
  • 指令地址寄存器:32位指令地址寄存器,记录最后执行的浮点指令的主处理器内存地址,用于异常处理。

4.3 内部处理单元

  • 总线接口单元(BIU):负责与MC68020或MC68030通信,包含协处理器接口寄存器、寄存器选择和DSACK时序控制逻辑,以及用于监控与主处理器通信状态的状态标志。
  • 转换单元(CU):包含特殊用途硬件,用于二进制实数数据格式与内部扩展格式之间的转换,减轻了算术处理单元(APU)的工作负载。
  • 算术处理单元(APU):包含八个80位浮点数据寄存器和32位控制、状态和指令地址寄存器,还拥有高速67位算术单元、桶形移位器和ROM常量。控制部分包含时钟发生器、两级微码序列器、微码ROM和自测试电路。

五、性能优势

5.1 并发执行

MC68882能够并发执行多条浮点指令,充分利用算术处理单元(APU),减少其空闲时间,提高了计算效率。

5.2 优化指令

优化的FMOVE指令执行速度比MC68881快两倍,进一步提升了性能。

六、数据格式

6.1 浮点数据格式

  • 单精度和双精度:符合IEEE标准,是主要的浮点格式,用于大多数实数计算。
  • 扩展精度:同样符合IEEE标准,用于临时变量、中间值或需要额外精度的场景。

6.2 压缩十进制字符串实数数据格式

支持压缩BCD字符串的传输和转换,可自动将其转换为扩展精度实数,方便进行各种操作。

七、指令集

7.1 指令分类

MC68882的指令集分为六类:移动指令、多寄存器移动指令、单目操作、双目操作、条件分支/设置/陷阱指令和杂项指令。

7.2 具体指令

  • 移动指令:实现数据在MC68882与内存或MC68020/MC68030数据寄存器之间的转换和移动。
  • 多寄存器移动指令:可一次性移动多个浮点寄存器,用于上下文切换和中断时的状态保存和恢复。
  • 单目操作:对一个操作数进行操作,结果存储在浮点数据寄存器中,如平方根、绝对值等。
  • 双目操作:对两个操作数进行操作,结果存储在第二个操作数所在的浮点数据寄存器中,如加法、减法等。
  • 条件分支/设置/陷阱指令:根据条件进行分支、设置或陷阱操作,类似于M68000系列处理器的整数指令。
  • 杂项指令:包括与状态、控制和指令地址寄存器的移动操作,以及虚拟内存/机器状态的保存和恢复指令。

八、寻址模式

MC68882不进行地址计算,由主处理器根据指令要求进行寻址模式计算。它支持M68000系列的各种寻址模式,如立即寻址、后增量寻址、前减量寻址、数据或地址寄存器直接寻址,以及MC68020和MC68030的索引/间接寻址模式。

九、兼容性

9.1 与MC68881的兼容性

使用MC68882替换MC68881无需硬件更改和用户软件修改,但为保证浮点异常模型符合顺序执行模型,需要对系统级软件进行一些修改。

9.2 异常处理要求

在处理浮点异常时,需要执行FSAVE指令,设置BIU标志字,并在RTE指令之前执行FRESTORE指令。

十、信号描述

10.1 输入输出信号

MC68882的输入输出信号包括地址总线、数据总线、SIZE信号、地址选通信号、芯片选择信号、读写信号、数据选通信号、数据传输和大小确认信号、复位信号、时钟信号、感测设备信号、电源输入和接地信号等。

10.2 信号功能

  • 地址总线(A0 - A4):用于主处理器选择协处理器接口寄存器的位置。
  • 数据总线(D0 - D31):作为MC68020/MC68030与MC68882之间的通用数据传输总线。
  • SIZE信号:与A0引脚配合,配置MC68882在8位、16位或32位系统数据总线上的操作。
  • 其他信号:各信号在不同的操作中发挥着特定的作用,如地址选通信号指示地址有效,芯片选择信号使能主处理器对MC68882的访问等。

十一、接口方法

11.1 与MC68020/MC68030的接口

根据数据总线的位数(8位、16位或32位),MC68882与MC68020/MC68030的连接方式不同,通过不同的引脚配置和数据连接实现。

11.2 与MC68000/MC68008/MC68010的接口

作为外围处理器,MC68882与MC68000、MC68008或MC68010的连接也根据数据总线位数(8位或16位)进行不同的配置,同时芯片选择解码与系统相关。

十二、电气规格

12.1 最大额定值

包括电源电压、输入电压、工作温度和存储温度等参数,确保设备在安全范围内工作。

12.2 热特性

介绍了热阻的相关参数,如结到环境的热阻(θJA)和结到外壳的热阻(θJC),并提供了计算芯片结温的公式,强调了良好的热管理对降低结温的重要性。

12.3 直流电气特性

包括输入电压、输入泄漏电流、输出高电压、输出低电压、输出低电流、功耗、电容等参数,为电路设计提供了参考。

12.4 交流电气特性

针对时钟输入和读写周期的时序要求进行了详细说明,包括频率、周期时间、时钟脉冲宽度、上升和下降时间等参数,确保设备在不同时钟频率下的正常工作。

十三、引脚分配与机械数据

13.1 引脚分配

提供了MC68882在引脚网格阵列(PGA)和塑料引脚芯片载体(PLCC)两种封装下的引脚分配图,方便工程师进行硬件设计。

13.2 机械数据

给出了两种封装的尺寸和公差等机械数据,为产品的机械设计提供了依据。

MC68882浮点协处理器以其丰富的功能、卓越的性能和广泛的兼容性,为电子工程师在设计高性能计算系统时提供了强大的支持。通过深入了解其技术细节,工程师们可以更好地发挥MC68882的优势,设计出更加优秀的产品。你在实际设计中是否使用过MC68882呢?遇到过哪些问题?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分