嵌入式計算機的來龍去脈
電子計算機的傳統分類方法,是按照體系結構、運算速度、系統規模和適用領域分為大型、中型、小型和微型。這種計算機分類方法沿襲了約40多年。近些年來,隨著半導體、微電子和計算機等技術的快速發展及廣泛應用,現代計算機面向應用出現了兩大分支:實現智能化控制的嵌入式計算機系統,以及進行高速、海量數值計算的通用計算機系統,并據此將計算機分為嵌入式計算機和通用計算機兩大類。二者的技術發展方向不同:前者注重與對象系統密切相關的嵌入性能、控制能力及可靠性;而后者注重運算速度的提升和存儲容量的擴大。
由此,武器裝備系統中也相應出現了“嵌入式”和“通用”的計算機分類方法。軍用嵌入式計算機是指以芯片、模板、插件或控制器等形式“鑲嵌”在武器或武器系統內部,智能地完成系統功能的專用計算機,分為設備級(工控機)、板級(單板、模塊)、芯片級(MCU、SoC)。它主要用于武器控制、指揮控制、通信系統、作戰仿真、保障系統中,可執行一種或多種特定任務,具有體積小、重量輕、功耗低、適應惡劣環境、實時性強、可靠性高等特點。
可以說,是微型機時代的應用造就了嵌入式計算機。一方面,現代作戰需要計算機“嵌入”到武器裝備中,使武器系統更加智能化;另一方面,技術的發展使得計算機有可能“嵌入”到武器裝備中。作戰需求和技術可能的互動,是軍用嵌入式計算機系統得到快速發展的推動力。
嵌入式計算機的特點
基本特點
作為一種嵌入到對象體系中的專用計算機系統,“嵌入”、“專用”和“計算機”是嵌入式計算機的3個基本要素;并由此衍生出以下3個基本特點:為了“嵌入”,必須滿足嵌入對象的要求,如物理環境(小型)、作戰環境(可靠)、使用成本(價廉)等;由于“專用”,可以“裁剪”軟、硬件,使之滿足對象要求的最小配置;嵌入式計算機必須是能滿足對象系統控制要求的計算機系統。
結構特點
⑴與宿主相匹配。嵌入式計算機作為武器系統等宿主的組成部分,其體積、重量、形狀等諸多參數必須滿足宿主的不同要求;其功能要與宿主的水平相適應,過高或過低都是不理想的。
⑵實時性強。嵌入式計算機直接從傳感器獲取信息,進行實時或近實時處理,以滿足“從傳感器到射手”的時間要求。因此對信息處理、管理和分發的實時性要求很高。
⑶可靠性。嵌入式計算機大量用于空間、空中、海上等惡劣環境中,要經受高輻射、超低溫、鹽霧、振動等考驗,在星載計算機中要自主工作多年。因此對可靠性的要求極高。
⑷模塊化設計。采用商用現貨、相互使用和重復使用的硬件和軟件模塊,可大大降低成本,提高系統性能。新的嵌入式計算機大多采用整體式模塊設計方式。
應用特點
嵌入式計算機針對特定對象的應用特點,要求計算機開發人員了解對象系統的控制要求,介入體系結構、軟件技術、工程應用方面的研究。嵌入式計算機在軍事領域的應用中,形成了兩種并存的、相互補充的應用模式:①電子技術工程師以自己的應用習慣開發單片機,特點是軟、硬件的底層性和隨意性,以及與對象系統的密切相關性,但缺少計算機工程設計方法。②計算機專業人士介入,帶有明顯的計算機工程應用特點,軟、硬件平臺基于嵌入式系統,結合網絡、通信等非嵌入式底層應用。
嵌入式計算機的構成
嵌入式計算機通常由“嵌入式”微處理器、相關的硬件設備(如內部總線、接口以及外部總線)以及“嵌入式”軟件系統三個主要部分組成。
微處理器是嵌入式計算機的核心,主要產品如IBM公司的PowerPC、英特爾公司的“奔騰”和Sun公司的SPARC等系列產品。隨著絕緣體硅(SOI)、銅布線等新工藝、新技術的出現,微處理器的功能大大增強。嵌入式微處理器通常采用指令和數據分開存儲的準Harvard存儲器結構,以及指令集設計(SISC)指令組織結構。
內部總線用于插件之間的信息傳遞。由于VME內部總線能靈活地將不同廠商的異種板級產品集成于同一系統中,因此一直處于軍用系統內部總線的領先地位。PC/104和CompactPCI內部總線是后起之秀,美軍的全球定位系統和士兵便攜式系統維護工具都用到了PC/104總線。
外部總線用于主機與外設之間的數據通信。嵌入式計算機主要采用1553B總線。光纖通道肯定是未來軍用嵌入式計算機的主流技術,但可移植性差、帶寬冗余過多,短期內不會取代1553B總線。
嵌入式計算機軟件包括系統軟件和應用軟件,往往被固化。操作系統主要有VRTX、PSOS、Vx Works、Lynxos、QNX和Linux等。其中,Linux具有內核小、功能強大、運行穩定、易于定制、硬件支持廣泛、采用開放源代碼,可為以太網、光纖網和衛星網等多種聯網方式提供支持等優點,自1998年推出以來一直受到軍方的高度關注。
美軍軍用嵌入式計算機的發展
從20世紀60年代開始,美軍率先為武器系統設計各種類型的嵌入式計算機。到80年代,其先進的武器系統(如雷達、衛星、導彈、制導炸彈等)基本裝備了嵌入式計算機。如AN/UYK-43嵌入式戰術計算機,主要用于“宙斯盾”系統、先進作戰指導系統(ACDS)等艦載戰術系統,以及“三叉戟”潛艇、多用途兩棲攻擊艦等平臺。此外,武器測試設備、訓練模擬系統、后勤信息化系統也開始采用嵌入式計算機。80年代后,美軍各軍種紛紛提出軍用嵌入式計算機計劃,如陸軍“空地一體化指揮控制計算機”、海軍“E-2C飛機預警系統計算機”以及空軍“HAWK-32計算機技術計劃”等等。經過幾十年的發展,美軍鞏固了在這一領域的優勢地位,拉大了與其他國家在技術上的差距。近幾年,由于嵌入式計算機的發展已基本成熟,各軍種已不再制定專項計劃,但新型武器的研制以及現有武器的改造都會涉及到嵌入式計算機的開發與升級。美軍嵌入式計算機的發展中,有很多值得參考的經驗:
規范指令系統結構
研制嵌入式計算機之初,美軍各軍種往往分別研制適合自身需求的計算機,造成各軍種間計算機的硬件和軟件“煙囪”式發展,品種型號繁多、兼容性差、沒有統一的標準。60年代末,美軍為軍用嵌入式計算機確定了指令系統結構標準,描述了計算機結構、規定了接口標準,大大減少了硬件和軟件和種類,降低了使用多種計算機語言而引起的軟件研制、移植等諸多問題。
倡導、普及Ada語言
Ada語言是美國國防部于1979年提出的一種結構化程序設計語言。此前各軍種使用不同的編程語言(如空軍使用JOVLAL語言、陸軍使用NEBULA語言、海軍使用CM2語言),使得軟件的可移植性、兼容性大大降低。美國防部和總審計局于80年代指定Ada語言作為開發嵌入式計算機軟件的唯一編程語言,廠商若不用Ada編譯程序就不能參加軍用計算機合同的競標。90年代中期,美國調整了采辦政策,不再強制使用Ada語言,C++、Java等語言逐漸用于嵌入式計算機領域。雖然Ada語言不再是國防部唯一指定的嵌入式計算機編程語言,但由于它并行處理功能強、便于使用,經過20多年的發展已成為通用的編程語言,美軍和北約多有使用,如“阿特拉斯V”火箭軟件管理系統和“聯合防區外武器”的核心制導電子單元的軟件編程都使用了Ada語言。
采用商用技術和開放結構
過去,美國軍用計算機一直由專門廠商按軍用規格研制,對環境要求特別苛刻,價格一般是商用計算機的2倍以上。90年代后,隨著計算機技術的快速發展,商用計算機經過溫度、濕度、振動和沖擊等加固后,一般都能夠滿足軍方需求。因此,1994年,美國防部部長佩里提出了采用商用技術和產品的倡議。這樣,在引進先進技術的同時,可以降低產品價格、縮短研制周期。現在美軍新研制的嵌入式計算機已廣泛使用了現成的商用產品,并采用開放式的體系結構,在芯片、總線和操作系統選擇上遵循開放系統標準,以提高計算機的互聯、互通、互操作性,使之易于升級。軍用嵌入式計算機的未來:
一是高性能、小體積、輕型化。隨著美軍的轉型,其武器裝備必然會更趨輕型化、微型化,更易于部署。因此,嵌入式計算機所能利用的空間將非常有限,必須要減小體積、減輕重量,同時不斷提高性能。為此,超高速微處理機的電路板設計、高可靠/高組裝密度通用模塊的設計與組裝、人工智能、并行處理等關鍵技術正在開發。系統級芯片可以在單片上實現全電子系統的集成,是未來嵌入式計算機的基礎。
二是網絡化。未來戰爭是網絡化的戰爭,嵌入式計算機將作為網絡中的節點來發揮作用。分布式的嵌入式計算機通過通信手段聯網后,在戰場偵察、環境監控、人員與裝備定位、戰場監控、醫療保障、信息訪問及部隊防護等諸多方面,都比目前計算機的功能更強大。
三是智能化。如美軍積極推廣的軍隊通用訪問卡,就是使用嵌入式計算機芯片的智能識別卡,能夠對訪問軍用計算機網絡和系統的人員進行識別和授權。
四是軟件功能強大。“嵌入式”計算機的軟件功能將越來越強大,更多的功能將通過軟件而不是硬件來實現。