您的位置 首页 解答

根据FPGA的同享总线开关网络完成多CPU同享内存

围绕小卫星体积小、重量轻和价格低廉的特点,一个多CPU共享内存的系统(CPU仍然采用有相应宇航级器件的8086)将是比较合适的选择。同时为了提高共享内存的数据通信带宽,使其不成为整个系统的瓶颈,本文提

现代小卫星,通常指80年代今后开展起来的小卫星。它建立在微电子技能,计算机(包含软件)、微型光学和机械、轻型复合材料及高精机械加工的基础上,是航天高技能开展的产品。尽管现代小卫星的体积和分量很小,本钱和危险都很低,但因为选用了高新技能,整个小卫星的容量和功用,即小卫星的功用密度是很高的。并且小卫星组成星座可拓展全新的应用范畴,能满意通讯、遥感、对地观测、科学技能实验及军事等各方面的需求。因而,现代小卫星已作为大卫星的必要弥补在上述范畴显示出特有的优势,引起了世界各国,包含许多开展我国家和尚无卫星研发才能的中小国家的遍及注重。

但是,近地空间和大气环境影响着空间体系的规划、质量、复杂性、可应用的高科技技能和本钱,激烈地影响空间体系的工作功用和作业寿数。一些空间环境的彼此影响也约束了空间体系技能潜力的发挥,使部件或分体系作业不正常,乃至损坏。等离子环境,特别是处于对地停止轨迹的等离子环境,能使装在卫星外表面的设备和部件不均匀带电,这些外表电荷发生的电压或许超越击穿电压,然后导致静电放电,足以破坏电子元器材。许多高能空间辐射乃至深化到绝缘器材内部,在绝缘电缆和线路板中发生静电放电。这种体电荷能搅扰分体系信号或中止电子器材的正常作业。辐射带中的抓获粒子、太阳耀斑质子和银河宇宙射线能在微电子器材中诱发单粒子翻转工作。这种高能辐射的总剂量效应降低了微电子器材、太阳电池阵和灵敏器材的功用。因而,为确保整个体系的正常工作和寿数,许多当地都有必要选用宇航级的器材和进行冗余规划。

单就星载计算机而言,到目前为止,高集成密度、高功用的CPU和内存还没有相应的宇航级器材,在星上用的最多的仍是8086和1750A等核加固的、抗辐射的、低带宽、低MIPS的CPU,靠单片CPU很难满意现代和未来小卫星星上自主办理、自主定规、对地观测图象的紧缩和传输、硬件功用软件化等许多要求;并且单片CPU一旦损坏,将导致整个卫星失效,又因为其价格极端贵重,选用冗余的计划必然大大进步小卫星的本钱。而在选用多CPU并行处理技能后,不只能够满意星上计算机数据处理才能的要求,并且添加了整个体系的可靠性。一到两片CPU的损坏不致引起整个卫星的失效,至多在体系重装备后丢失一些功用,乃至能够在确保必定可靠性的前提下,考虑选用军用级的、价格相对廉价,密度和功用都较高的CPU。

环绕小卫星体积小、分量轻和价格低廉的特色,一个多CPU同享内存的体系(CPU依然选用有相应宇航级器材的8086)将是比较适宜的挑选。一起为了进步同享内存的数据通信带宽,使其不成为整个体系的瓶颈,本文提出了一个用ASIC规划一个同享总线开关网络(简称SBSN,下同),组合成Omega网络的计划,以消除对某一组内存的总线竞赛,完成多CPU对同享分组存储体系的低位穿插并行拜访。

1 SBSN完成的Omega网络

SBSN是一个2×2的开关,能够级联使用以完成个CPU和个内存组的衔接,这样的衔接共有N级,从输入到输出顺次编为0~N-1,通过对二进制意图内存组的编码来操控数据途径:从高位开端的第I位为0时,第I级的2×2开关的输入端与上输出端衔接,不然输入端与下输出端衔接(参见图1)。

从理论上说,选用SBSN,N(=,k为正整数)个CPU一次拜访通过只能占10。16%,一切其它的置换将引起堵塞。但尽管如此,N个CPU的Omega网络完成非堵塞衔接最多需求通过的次数为,从总体上讲,Omega网络的选用能添加内存总线的带宽,大大进步总线数据的吞吐才能。

2 SBSN的规划与完成

作为同享总线开关网络,SBSN首要是处理总线之间的同享竞赛与抵触死锁,将来自多个CPU的内存读写信号分配到相应的内存模块组。其内部结构框图如图2所示。

为了描绘CPU间的同享与竞赛,咱们把CPU对内存组的拜访分为HOLD,READY,RUN这三种联系。当一个CPU进入总线读写之后,SBSN在总线周期的前两个时钟将CPU发送到总线上的数据进行锁存:假如数据通路已被占用,当时CPU就会进入HOLD状况,直到数据通路开释。也就是说,假如有两个或两个以上的CPU要求一起对同一内存组进行拜访的话,则只能有一个CPU取得拜访权,其它的有必要等候该CPU总线读写周期的完毕,在此之后,处于 HOLD状况的优先级最高的CPU才会被开释;假如通路疏通,SBSN通过一个时间短的READY状况后,在输出端口仿真出CPU总线周期前两个时钟的时序信号,向下一级传递。在抱负状况下,8个CPU能够一起对内存进行拜访,即8个CPU都处在RUN状况。

因为体系在工作进程中,总是由CPU自动向内存宣布读或写的恳求,并不存在一个环状闭合的数据通路,所以不会有抵触死锁的状况呈现。

SBSN能够支撑高位穿插和低位穿插这两种对存储体系的拜访办法:对20位地址总线来说,假如采纳低位穿插寻址办法,那么体系方针模块的编码由地址总线的 A2,A1给出,A0和BHE信号用来对低8位和高8位寻址;假如采纳高位穿插寻址办法,那么体系方针模块的编码由地址总线的高四位决议,详细选用哪两位,则取决于内存的编址。低位穿插首要用于对同享内存的并行拜访,高位穿插则首要用于一CPU对另一CPU的部分内存(双口)进行拜访。

选用硬件描绘言语(HDL)的输入办法进行SBSN的规划,尽管有或许会献身一些FPGA资源,但方便了在不同厂家的FPGA上进行逻辑归纳和完成的进程。因为宇航级的FPGA在XILINX和ACTEL都有出产,但两者完成的机理不同:XILINX的FPGA是SRAM型的,因而使用时还有必要装备相应的SROM以完成对FPGA片子的加电下载,但它能够进行屡次刷新和修正,便于在规划阶段进行调试;ACTEL的宇航级FPGA选用的熔断丝技能,只能一次编程下传,实践应用时不需任何辅佐器材,但缺陷是规划的每一次修正都有必要换用新的FPGA片子。关于原理样机阶段而言,首要着眼于功用和时序的完成,因而本文选用XILINX公司的商业级FPGA(XCS20-4PQ208C)进行规划与调试。XCS20-4PQ208C归于SPARTAN系列,是 XILINX公司新近推出的产品。与4000系列比较,SPARTAN中去掉了许多不常用的资源,在价格上能够廉价许多,关于SBSN来讲,最重要的是满意其多达140个用户的I/O,因而选用XCS20-4PQ208C是交融了功用、容量和价格的一个归纳挑选。
关于其它将来或许在星上选用的高功用CPU,例如80386,因为其32位地址总线和32位数据总线是分隔的,做在同一块FPGA内部将会面对I/O数缺乏的问题。因而有必要将地址总线、数据总线、操控总线分在两块彼此耦合的片子上完成,但其完成原理与SBSN是完全相同的。

SBSN是咱们在进步星上计算机处理才能方面一个有利的测验。假如能以一个相对简略、廉价而又高可靠性的体系,到达3~4倍的加速比因子,那么,对小卫星工作来说,将是一件很有含义的工作。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/195547.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部