2015年10月18日 星期日

旋風計算機

文章日期:2012-01-29 05:05
旋風計算機(Whirlwind),一款由麻省理工大學研製的早期電子計算機。引入了當時先進的實時處理理念,並最先採用顯示器作為輸出設備,與以往機械系統的電子置換不同,擁有世界首款成熟的作業系統。其設計理念直接被美國空軍SAGE防空系統繼承,並對20世紀60年代的商用計算機產生巨大影響。

背景

第二次世界大戰中,為訓練轟炸機飛行員,美國海軍曾向麻省理工大學探詢,是否能夠開發出一款可以控制飛行模擬器的計算機。軍方當初的設想只是希望通過該計算機將飛行員模擬操作產生的數據實時反映到儀表盤上。與之前的模擬設備不同,軍方要求該計算機應基於空氣動力學設計,與實物無限接近,以便進行各種航空訓練。
麻大方面對軍方給予了肯定答復。於是海軍以旋風計劃為名,開始向該工程提供資金,Jay Wright Forrester被選任為項目負責人。研發人員起初開發的是大型模擬計算機,準確度和靈活度均不符合標準。更加大型的作業系統成為研發的必然,然而難度不堪設想。
1945年,項目組成員傑里・克勞福德在觀看過埃尼阿克的試運行後提出,可以以數碼式計算機作為項目的解決方案。其優點在於,由追加程序取代追加零件,將有可能提高模擬的準確度。當時的主流觀點認為,計算機擁有極其高速的運算速度,無論如何復雜的模擬,理論上均可實現。
當時的計算機只能夠進行每次一項任務的批處理作 業。運算數據提前輸入,計算機應用已輸入數據進行運算,最後生成運算結果。但這不足以滿足旋風系統的要求。設想中的旋風系統需要對實時變化的輸入數據進行 連續運算,這其中,速度成為最關鍵的問題。以往的計算機都是將運算結果印刷輸出,極其耗時,而旋風系統的速度無法提升,則意味著飛行模擬的復雜程度將受到 極大限制。

詳細

[编辑] 設計與製造

1947年,Forrester 等人完成了高速程序內置式計算機的設計。當時的計算機多採用「bit串聯」的方式運行,即對每段代碼的字元進行逐一運算,而代碼的長度通常為48bit或 60bit。由於該模式性能惡劣,旋風改用「bit並聯」,並安裝了能夠並行處理16bit的計算通路。忽略存儲速度不計,其計算速度相當於主流機型的 16倍。時下的所有電腦幾乎都採用了這一模式,但並行規模已擴大到32bit至64bit。
旋風機先為每條指令指定存儲地址再進行運算。其原理與採用逆波蘭表示法計算器類似,即所有操作符均位於操作數之後,區別僅在於旋風機不存在堆棧。為盡可能的利用有限的存儲空間,旋風機的地址寬度被設定為11bit,附加識別16到32種命令所需的5bit,合計16bit。據說,馮諾依曼在獲悉旋風機的字長只有16bit之後,當即對旋風機失去興趣(馮的興趣在於科學技術運算,為提高精度必須延長字長)。
翌年,實體機開始生產,共175人參與,其中70人為技術人員,耗時三年,於1951年4月20日問世。旋風機的開發最早是應海軍的要求,最終卻被美國空軍的SAGE系統應用。海軍方面每年要為該項目提供數百萬美元的經費,業已失去興趣。1949年,蘇聯第一顆原子彈試爆成功,美國空軍為加以應對,最終將旋風機攬入懷中。

旋風機的「磁芯」

旋風機起初的運算速度只有20kips,投入實用還有相當距離。問題主要集中在主存儲器——威廉士管的使用上。為解決難題,Forrester曾嘗試過使用螺旋狀磁帶代替,效果不佳,最終選擇了磁芯存儲器。由此,旋風機的運算速度得以提升至原來的2倍(40kips)。
由於磁芯存儲器的應用,旋風機的運算速度成為當時的世界第一。加法速度8微秒,乘法25.5微秒,除法57微秒(除去存儲器讀取時間)。使用磁鼓存儲器時8500微秒的讀取時間在改用磁芯存儲器之後僅為8微秒。
旋風機的高速化使得SAGE系統的開發成為可能,並開始量產AN/FSQ-7。生產商為IBM,並非當時實力雄厚的RCA。此後,IBM又將旋風機的實時技術應用到了SABRE系統當中(機票預約系統)。AN/FSQ-7的量產始自1957年,建築物,輸電設施,通信網路等配套設施也於同期開始建設。

旋風機的後話

1959年6月30日為止,旋風機II 一直在為SAGE系統提供技術支持。70年代後期,原項目組成員Bill Wolf以每年1美元的價格將其借出。後被Kenneth Harry Olsen購得,並最終將旋風機贈予史密森尼學會
旋風機由大約5000根電子管構成。Kenneth Harry Olsen曾嘗試過保持旋風機的原有設計,並將其電晶體化,這便是世人熟知的TX-0。在TX-0獲得成功之後,Olsen又計劃開發規模更大的TX-1。由於期望過高困難重重,最終只完成了小型化的 TX-2。而TX-2本身也存在諸多問題,不久,Olsen從項目中退出,另組DEC公司。該公司生產的PDP-1集TX-0,TX-2的先進理念於一身,成為小型機的典範。

寄件者 2012年1月29日
旋風計算機的元件
寄件者 2012年1月29日
Circuitry from core memory unit of Whirlwind
旋風計算機的核心記憶裝置
寄件者 2012年1月29日
Core stack from core memory unit of Whirlwind.
旋風計算機的核心記憶裝置核心堆棧
寄件者 2012年1月29日
Whirlwindの磁気コアメモリ装置
旋風計算機的核心記憶儲存裝置

參考文獻

沒有留言:

張貼留言