MIL-STD-1750A是美国于1980年年初公布的一种军标,它详细定义了机载计算机的指令系统结构。实现这种指令系统结构的计算机一般被称为1750计算机。该标准并不规定实现这种指令系统的硬件途径及具体的实现细节,也不规定计算机如外形尺寸、运算速度、容量及温度范围等特性。因此,IBM、通用动力公司等都推出了自己的1750计算机。随着硬件技术的发展,1750计算机的结构和性能也在不断发展。这些计算机虽然速度越来越快、体积越来越小,但它们都是符合同一种军标MIL-STD-1750A的计算机。因为1750计算机体积缩小、功耗降低,所以它更适合作为嵌入式计算机,用于航空电子分系统。
1750A系统是一个高性能的嵌入式系统。系统基于MIL-STD-1750A指令集。MIL-STD-1750A、80286/386、68000和MicroVax Ⅱ是四种评价很高的标准。1750A系统包含先进的CMOS微处理器和一些支持芯片,其结构如图3-3所示。
图3-3 1750A系统结构图
1750A CPU是一个通用的16位微处理器,有较高的定点和浮点性能,而且有很好的实时支持。该CPU执行16位和32位整数运算、32位和48位浮点数运算。1751 MMU/COMBO的主要功能是存储管理和块保护,提供扩展地址,提供保护机制(存取锁和存取键),提供EDAC(汉明码)校验。1752 PIC的主要功能是内建系统测试、CPU与存储器间的接口,具体包括产生存储器的读写选通信号、奇偶校验、看门狗定时器。
MA31750是一款单芯片微处理器,可实现完整的MIL-STD-1750A指令集架构。处理器执行所有强制性指令,其中,中断、故障处理、内存扩展、控制台、定时器A和B及其相关的可选指令也完全符合MIL-STD-1750A的要求。MA31750通过使用具有24×24位乘法器和32位ALU的32位内部总线结构来实现。其他性能增强功能包括32位移位网络、多端口寄存器文件和专用地址计算单元。
MA31750具有片上奇偶校验生成和检查功能,以增强系统完整性。还集成了全面的内置自检,允许随时验证处理器功能。通过使用I/O空间中命令/数据寄存器的并行接口支持控制台操作,产生几个离散输出信号以最小化外部逻辑。
MA31750微处理器是MIL-STD-1750A指令集架构的高性能实现。图3-4是1750B内部功能框图。该架构依靠32位移位网络和24位并行乘法器,这是提升MA31750整体高性能的关键特性。MA31750擅长的浮点运算,通常应用于许多信号处理算法中,因此对系统性能具有重大影响。
图3-4 1750B内部功能框图
P1750A系列CPU是一款基于MIL-STD-1750A的16位通用处理器,采用CMOS/SOS工艺,在30 MHz主频下可达到30MIPS运算能力。1750A系列的CPU已在FY-1、FY-3等卫星中应用,包括姿轨控计算机和数管计算机。基于1750A体系结构的星载计算机具有产品稳定性好、可靠性高的特点。目前在轨卫星使用的1750A系列CPU多为进口芯片,主要包括P1750系列、BX1750系列和31750系列。这三类芯片不但器件引脚、封装形式、时序关系不同,其配套的MMU芯片也不尽相同。
使用进口CPU芯片存在诸多不利因素:首先,由于国外对这些芯片的禁运,目前已经无法采购;其次,进口芯片更换导致各型号产品技术状态变化,产品化设计难度大;最后,芯片更换造成的技术状态变化还需要进行复杂的验证试验。国产P1750套片全面兼容进口P1750、P1753、P1754芯片。国产套片的考核验证包括地面验证和在轨验证两部分,主要内容包括套片时序设计、抗辐照性能、工程样机考核试验和在轨考核应用等。
SM1750为深圳国微电子有限公司研制的对标进口PACE1750A的国产处理器,实现MIL-STD-1750A指令系统结构,支持32位和48位浮点算术运算,提供多种故障、中断管理能力,包含24个用户可访问寄存器和2个可编程时钟,采用SOICMOS工艺技术抗总剂量≥150 Krads(Si)、抗单粒子翻转能力≤10 -8 /天位。
SM1750是由6个主要模块组成,采用可高度并行执行的流水线结构的16位微处理器。SM1750BRQC功能框图如图3-5所示。
图3-5 SM1750BRQC功能框图
在CPU内部有三条总线进行连接,分别为A-bus、B-bus和C-bus。数据和地址通过16位信息总线与外界进行信息交换,SM1750BRQC的各个部件在一个典型的机器周期内将完成以下8项基本操作:
(1)在执行部件中执行微指令。
(2)一条新的指令被预取并放置到流水线中。
(3)下条指令的地址被准备好。
(4)第一条指令在流水线中进行译码。
(5)微码存储器ROM输出的微码被锁存到微码寄存器。
(6)通过中断屏蔽寄存器和中断优先级逻辑,处理中断悬挂寄存器的值。
(7)新的中断信号被锁存到中断悬挂寄存器中。
(8)所有当前故障被锁存到故障寄存器中。
P1750A微处理器是1750系统的核心。它是一个通用的16位微处理器,具有较高的定点和浮点性能,有很好的实时支持。1750A微处理器完全实现MIL-STD-1750A指令系统结构的所有要求;它可以实现20 MHz、30 MHz、40 MHz三种主频,以满足不同系统的吞吐量要求。1750A微处理器支持的数据类型包括位、字节、16位和32位整数、32位和48位浮点数。它支持13种寻址方式;可直接寻址空间为65 536个字,在配置有MMU时,可寻址空间2M字。该微处理器具有用于多机系统的性能;有两个16位的完全可编程的定时器/计数器TIMERA和TIMERB。为了进行实时支持,1750A CPU可接收并服务16个带优先级的中断,其中9个来自芯片外部。MIL-STD-1750A将各种异常记录在故障寄存器,然后产生一个“机器故障”中断。1750A微处理器还为开发、测试和维护提供一个控制台接口。
综上所述,其特点可归纳如下:
(1)有定点乘除运算及浮点运算。
(2)完全支持MIL-STD-1750A指令系统结构的要求。
(3)具有16个优先级的中断处理功能。
(4)具有两个16位完全可编程定时器/计数器。
(5)具有控制台接口,以便于调试和维护。
(6)高度并行。
1750A是美军标的16位计算机的指令系统,具有多种寻址方式,有16个通用寄存器和5个专用寄存器。
共有16个通用寄存器(R0~R15),其中:
(1)R0和R1为浮点和双精度操作累加器。
(2)R2为单精度操作累加器。
(3)R2、R10为函数调用时的参数。
(4)R15为堆栈指针。
(5)R12、R14为基址寄存器。
5个专用寄存器分别为:
(1)指令计数器(IC)。用于程序定序的16位寄存器。
(2)状态寄存器(SW)。采用16位的状态寄存器,表示指令执行的结果和先前发生的事件。
(3)故障寄存器。用于表示机器错误状态的16位寄存器,并用来产生机器中断。
(4)中断屏蔽寄存器。由软件控制,每一屏蔽对应一个系统中断。
(5)中断悬挂寄存器。由软件和硬件控制,用来改变指令计数器的内容指向悬挂的中断请求。一个悬挂中断位对应一个中断,在启动中断处理程序前,由硬件进行清除产生中断的中断悬挂位。
SM1750BRQC有16层中断,其中9个外部的(PIR0,2,8,10~15)和7个内部的(PIR:1,3,4,5,6,7,9)。9个外部中断中有2个(IOL1INT,IOL2INT)是电平触发,其他的根据系统设置寄存器中的中断模式位来确定电平或是边沿触发。所有的中断都存储在悬挂中断寄存器(PIR)中,同时也能被屏蔽于屏蔽寄存器中,见表3-2。
表3-2 中断优先说明
续表