www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]1976 年,迪斯科還大行其道,冷戰(zhàn)正處于高潮,而我要到 9 年之后才出生。那年,正是 Cray-1 在計(jì)算機(jī)領(lǐng)域大顯身手之際,個(gè)人計(jì)算當(dāng)時(shí)還處于發(fā)展的初期(MITS Altair 一年前剛剛推出),同時(shí) Control Data 和 IBM 等公

1976 年,迪斯科還大行其道,冷戰(zhàn)正處于高潮,而我要到 9 年之后才出生。那年,正是 Cray-1 在計(jì)算機(jī)領(lǐng)域大顯身手之際,個(gè)人計(jì)算當(dāng)時(shí)還處于發(fā)展的初期(MITS Altair 一年前剛剛推出),同時(shí) Control Data 和 IBM 等公司統(tǒng)領(lǐng)高端市場。Cray-1 是人們印象中用于定義“超級(jí)計(jì)算機(jī)”的傳奇機(jī)器之一。其采用獨(dú)特的 C 型結(jié)構(gòu),運(yùn)行速度高達(dá)驚人的 80 MHz,桌面電腦直到 20 年之后才能達(dá)到這樣的速度。Cray 速度快,也極富吸引力。

現(xiàn)在,讓我們把時(shí)間快進(jìn)到 33 年后,那是 2009 年初的一個(gè)清晨,我起床后也想擁有一臺(tái) Cray 超級(jí)計(jì)算機(jī)。

我首先要回顧一下基于 FPGA 的復(fù)古計(jì)算機(jī)技術(shù)。我 2007 年 12 月從南加州大學(xué)畢業(yè)并獲得 BSEE 學(xué)位,當(dāng)時(shí)我把它稱作“計(jì)算機(jī)招魂術(shù)”。作為新生代電子工程師,我對(duì)神秘的計(jì)算機(jī)架構(gòu)特別感興趣,覺得正好可以借此提高我的 Verilog 水平。我畢業(yè)時(shí)為自己買了一套 Digilent 公司的 Spartan®-3E 1200 開發(fā)板當(dāng)禮物。我的第一臺(tái)計(jì)算機(jī)則是 1980 年代的老古董 NonVon-1。它屬于首批“大型并行”機(jī)之一,類似于同樣古老但更為成功的 Connection Machine 系列(不過主要用于數(shù)據(jù)庫)。這是一臺(tái)非常有趣的設(shè)備,采用 8 位處理器的二進(jìn)制樹狀結(jié)構(gòu)(帶 1 位 ALU)。

Cray-1 是人們印象中用于定義“超級(jí)計(jì)算機(jī)”的傳奇機(jī)器之一。其采用獨(dú)特的 C 型結(jié)構(gòu),運(yùn)行速度高達(dá)驚人的 80 MHz,桌面電腦直到 20 年之后才能達(dá)到這樣的速度。

經(jīng)過幾個(gè)月的折騰,我總算造出了一臺(tái) 31 節(jié)點(diǎn)的超級(jí)計(jì)算機(jī),不過其計(jì)算能力還比不上現(xiàn)今任何一塊手表。雖然這東西沒什么用處,卻讓我明白了摩爾定律的巨大作用,也激發(fā)我進(jìn)一步動(dòng)手的欲望。

首臺(tái) NonVon-1 獲得成功后,我又開始尋找新的項(xiàng)目(我的 Verilog 技能仍比較欠缺)。我認(rèn)識(shí)到,低端 FPGA 已經(jīng)能夠處理一些比較高級(jí)的硬件了,目前甚至 32 位軟處理器都比較常見了。我努力尋找一個(gè)能煥發(fā)新生的新目標(biāo),也考慮了不少選擇,包括 UNIVAC 這臺(tái)有趣的設(shè)備,不過它確實(shí)有點(diǎn)太老了。 Digital Equipment 公司的 PDP 系列已經(jīng)被硬件仿真過。Z80 設(shè)備的軟件仿真器也非常常見。因此,我想到了 Cray。

Cray-1 是什么?

Cray-1 是 Seymour Cray 于 20 世紀(jì) 70 年代初離開 Control Data 后所成立新公司 Cray Research 推出的首臺(tái)設(shè)備。當(dāng)時(shí)該設(shè)備計(jì)算能力強(qiáng)大,需要占用整個(gè)房間來放置計(jì)算機(jī)和磁盤才能保證數(shù)據(jù)接收。此外,它還擁有一個(gè)全職工程師團(tuán)隊(duì)來確保正常運(yùn)行,甚至還需要自備發(fā)電設(shè)備才能確保加電啟動(dòng)。該設(shè)備重新定義了當(dāng)時(shí)的“超級(jí)計(jì)算機(jī)”(畢竟這是 Cray),而且幸運(yùn)的是它的設(shè)計(jì)美妙而簡單,相關(guān)資料也非常齊備(圖 1 所示)。Cray-1 硬件參考手冊(在因特網(wǎng)上很容易找到)非常詳細(xì),現(xiàn)在的用戶往往只能拿到黑盒子,看到這么詳細(xì)的說明肯定會(huì)感到震驚。幾乎所有運(yùn)算代碼、寄存器及時(shí)序圖都得到了妥善而詳盡的保留。

這臺(tái)計(jì)算機(jī)本身是一款64 位流水線處理器,順序指令發(fā)送,只有 128 條獨(dú)特指令。它采用類似 RISC 的指令集,所有指令都既可在存儲(chǔ)器和寄存器(加載或存儲(chǔ)指令)之間,也可在兩個(gè)操作數(shù)寄存器和一個(gè)目的地寄存器之間(全部算術(shù)/邏輯指令)。指令為 16 位或 32 位長。該設(shè)備使用三種不同類型的寄存器:地址、標(biāo)量和矢量寄存器。地址寄存器為 24 位寬,并能夠讓設(shè)備對(duì)高達(dá) 4 Megaword (32 MB) 的主存儲(chǔ)器進(jìn)行尋址。標(biāo)量寄存器為 64 位寬,用于計(jì)算。每個(gè)矢量寄存器包括 64 個(gè) 64 位寄存器,從而能夠在進(jìn)行大矩陣科學(xué)計(jì)算時(shí)確保出色的性能。

圖 1 — 讓計(jì)算機(jī)愛好者感到幸運(yùn)的是,Cray 的架構(gòu)設(shè)計(jì)美妙而簡單,而且相關(guān)資料保存完好。

在 CPU 中,指令可發(fā)送給 13 個(gè)獨(dú)立的全流水線“功能單元”。高強(qiáng)度的流水線功能對(duì)實(shí)現(xiàn) Cray 當(dāng)時(shí)極高的 80MHz 時(shí)鐘頻率而言至關(guān)重要。不同的功能單元處理邏輯操作、移位、乘法等。比方說,一個(gè)浮點(diǎn)乘法指令需要 7 個(gè)周期才能完成,但計(jì)算機(jī)每個(gè)周期都能發(fā)出一條新的乘法指令(假定不存在寄存器沖突)。該設(shè)計(jì)會(huì)產(chǎn)生一種有趣的情況,即沒有“除法”指令,而是采用倒數(shù)近似值除法。也就是說,我們不是計(jì)算 X / Y,而是計(jì)算 (1 / Y) * X。單獨(dú)的浮點(diǎn)“倒數(shù)近似值”函數(shù)單元可在 14 個(gè)時(shí)鐘周期內(nèi)計(jì)算出倒數(shù)。

馬拉松

我剛開始著手這一項(xiàng)目時(shí),并不完全確定是否能靠自己的力量重新構(gòu)建如此復(fù)雜的計(jì)算設(shè)備。原始的Cray-1花了整個(gè)工作團(tuán)隊(duì)多年的時(shí)間才設(shè)計(jì)和構(gòu)建完成。我有無足夠的決心做下去呢?(結(jié)果是我確實(shí)做下去了。)我的FPGA能否真的滿足要求?(結(jié)果是不能滿足。)即便設(shè)計(jì)比較簡單而直接,但設(shè)計(jì)規(guī)模仍然較大(目前需要約5,600行Verilog代碼,而且數(shù)量還在不斷增多)。我必須要保持信念。構(gòu)建自己的超級(jí)計(jì)算機(jī)是一場馬拉松,而不是一場沖刺賽。我只能一步步穩(wěn)扎穩(wěn)打地前進(jìn)。

我開始逐一創(chuàng)建功能單元。就像改裝汽車一樣,構(gòu)建完整的計(jì)算機(jī)也必須熟悉設(shè)計(jì)的各個(gè)方面,這是一種全新的體驗(yàn)。我探索乘法器和加法器設(shè)計(jì)。我重新打開教科書研究浮點(diǎn)算法。我學(xué)習(xí)如何使用Newton Raphson法三次迭代計(jì)算30位精度的倒數(shù)近似值。(我前面提到過硬件參考手冊的詳細(xì)度吧?)功能單元逐一成型。

這完全是一項(xiàng)業(yè)余時(shí)間的項(xiàng)目,因此項(xiàng)目只能一點(diǎn)點(diǎn)地慢慢推進(jìn)。我從最簡單的模塊開始,很輕松地就完成了兩個(gè)地址功能單元(一個(gè)簡單的加法器和一個(gè)乘法器)。進(jìn)入標(biāo)量函數(shù)單元時(shí)(一個(gè)加法器、一個(gè)邏輯單元、一個(gè)移位器和一個(gè)總體 (population)/
前導(dǎo)零計(jì)數(shù) (leading zero count)),進(jìn)度就放緩了。處理三個(gè)浮點(diǎn)函數(shù)單元(一個(gè)加法器、一個(gè)乘法器和麻煩的倒數(shù)近似值單元)時(shí),我已經(jīng)感到動(dòng)力不足了。如前所述,這就是一場馬拉松,不是一場沖刺賽。我2009年初開始著手Cray-1項(xiàng)目,可能在這個(gè)項(xiàng)目上總共花了19到20個(gè)月的時(shí)間。

隨后我的工作進(jìn)度再度加快,開始接近浮點(diǎn)單元設(shè)計(jì)的尾聲,在矢量單元方面的推進(jìn)速度也開始加快。如前所述,Cray-1設(shè)計(jì)作為一款具有高計(jì)算強(qiáng)度的巨型機(jī),擁有8個(gè)矢量寄存器,每個(gè)都包含64個(gè)64位寄存器。矢量指令執(zhí)行時(shí),比方說進(jìn)行加法計(jì)算,每個(gè)運(yùn)算對(duì)象錄入后每個(gè)周期都添加并存儲(chǔ)在第三個(gè)矢量上(結(jié)果矢量)。

Cray-1支持一個(gè)出色的特性,即“矢量鏈”。比方說,矢量加法單元只需三個(gè)周期即能生成首個(gè)結(jié)果。如果我們將兩個(gè)含有64個(gè)條目的矢量相加,我們希望在所有64個(gè)條目都完成加法計(jì)算前就可以對(duì)結(jié)果進(jìn)行操作。矢量鏈?zhǔn)刮覀兡軌驅(qū)⒓臃ㄆ鲉卧慕Y(jié)果直接“鏈接”到另一個(gè)單元的輸入,不必等待操作結(jié)束。我們可在獲得首個(gè)結(jié)果的兩個(gè)周期后讓結(jié)果與第三個(gè)矢量相乘。對(duì)于一些大型矩陣計(jì)算而言,在80 MHz頻率上我們幾乎可以保持每個(gè)時(shí)鐘周期兩次浮點(diǎn)操作,也就是峰值速率達(dá)160MFLOPS!直到20世紀(jì) 90年代中期,普通臺(tái)式電腦還不及Cray-1的水平。

有了功能單元,我已經(jīng)能看到長夜將近的黎明曙光了。顯然,只需添加一些膠合邏輯就差不多完工了。是的,確實(shí)接近完工了。不過我發(fā)現(xiàn),膠合邏輯的工作量其實(shí)很大。盡管Cray-1的相關(guān)存檔非常齊備,但齊備的程度還不夠。我非常清楚,我在一些不大不小細(xì)節(jié)的逆向工程方面遇到了困難,如指令發(fā)布、冒險(xiǎn)檢測以及矢量鏈等。有些問題,比如較寬的64位數(shù)據(jù)總線可用分立式邏輯芯片更方便地解決,而不必使用面向較窄數(shù)據(jù)路徑的FPGA。矢量寄存器在布線時(shí)總是讓我頭疼。

此外,我還要修改一些特性。Cray-1采用16組全SRAM存儲(chǔ)器系統(tǒng),體積跟我的冰箱差不多大,其4Megaword存儲(chǔ)器可實(shí)現(xiàn)每秒640MB的帶寬,我開發(fā)工具套件所用的簡陋的DDR存儲(chǔ)器芯片肯定達(dá)不到這樣的性能。我使用幾乎所有的FPGA片上BRAM也只能獲得4 kiloword的存儲(chǔ)器空間,這是我的Cray目前面臨的最大瓶頸。而且我也必須忽略掉一些特性:

用于與磁盤驅(qū)動(dòng)器和“主機(jī)式”微型計(jì)算機(jī)進(jìn)行通信的 DMA 類 I/O 通道和快速上下文切換支持。我要是能找到設(shè)備可用的存儲(chǔ)器和相關(guān)軟件,或許可以再添加進(jìn)這些特性。

硬件障礙

我在此簡要介紹一下在設(shè)計(jì)過程中遇到的一些與FPGA相關(guān)的難題。首先,我最初的Spartan-3E 1200芯片已經(jīng)證明不能滿足要求。我在設(shè)計(jì)中添加了Cray的龐大矢量寄存器后,芯片有限的邏輯資源就不夠用了。這時(shí)我開始有些犯憷,因?yàn)檫@時(shí)我的項(xiàng)目已經(jīng)推進(jìn)了1年多時(shí)間了,而且較大型FPGA的價(jià)格看似貴了很多。更大的Virtex® 芯片能方便地滿足我的設(shè)計(jì)要求,但開發(fā)板的成本已經(jīng)超出了我?guī)啄昱d趣愛好所能承受的預(yù)算范疇。幸運(yùn)的是,Digilent還出售了一款稍大型的Spartan-3E 1600開發(fā)板,價(jià)格對(duì)業(yè)余愛好者來說還能承擔(dān)。實(shí)踐證明,這塊開發(fā)板對(duì)滿足整個(gè)系統(tǒng)要求已經(jīng)足夠了(顯著擴(kuò)展了我所使用BRAM的容量)。

我遇到的另一個(gè)問題就是速度問題。盡管摩爾定律發(fā)展了30多年,但Cray-1原始的80MHz設(shè)計(jì)對(duì)我可憐的Spartan-3E而言還是太高了。我的原始設(shè)計(jì)最高速度大約為33 MHz,關(guān)鍵路徑在級(jí)聯(lián)加法器中,那是用在我簡陋的浮點(diǎn)乘法器實(shí)施方案中的。幸運(yùn)的是,Spartan-3E配套提供眾多18位硬件乘法器,能夠?qū)⑺俣忍嵘浇?0 MHz(面積卻節(jié)省了5%),但這時(shí)設(shè)計(jì)的其它部分又遇到了麻煩。Cray-1具有大量64位數(shù)據(jù)路徑,以及復(fù)雜的指令發(fā)布邏輯,這將Spartan-3E上的周期時(shí)間限制在20納秒左右。目前我還算滿意,而且較新的Spartan-6芯片將能滿足8-0的水平要求。

外殼構(gòu)造

硬件已經(jīng)基本可以正常工作了,我開始投入一項(xiàng)有趣的工作,進(jìn)行外殼構(gòu)造。當(dāng)然,電路設(shè)計(jì)是所有工程師都感興趣的部分,不過我也要讓自己的Cray-1看上去像個(gè)Cray-1的樣子,這同樣有趣。打造外殼的工作正好也讓我的朋友Pat能試試他的新型CNC銑床。我去了幾趟Home Depot,在Pat的車庫里度過了一個(gè)繁忙的周六(見圖2),總算獲得了一個(gè)很像小型Cray的外殼。開發(fā)板為方形,我必須在基座方面多些創(chuàng)意(方形和C形不太搭配),不過該板尺寸很小,也就是說我設(shè)計(jì)的Cray-1的尺寸正好是正常Cray-1的十分之一。

 

圖 2 — 把標(biāo)志性的 C 型外殼做好還真要花些功夫,當(dāng)然也少不了老友的鼎力相助。

我接下來又花了幾周的時(shí)間去打磨、噴漆和拋光,最后還去了趟當(dāng)?shù)氐目椢锏辏宰屛业男⌒虲ray-1也跟原型機(jī)一樣有了特色化的內(nèi)置仿皮座了,這樣Mattel的新計(jì)算機(jī)工程師芭比娃娃終于有個(gè)地方歇腳了!

軟件

CPU基本可以正常工作了,外殼也已經(jīng)就位,我準(zhǔn)備宣布勝利了。我能夠毫無問題地執(zhí)行一些簡單的指令回環(huán)和程序。不過能不能使用真正的軟件呢?我全新的Cray-1有一大遺憾,就是完全缺乏軟件,而且沒有軟件的計(jì)算機(jī)著實(shí)沒什么價(jià)值。不幸的是,Cray-1就誕生在一個(gè)沒有因特網(wǎng)的時(shí)代,主要出售給一些聽起來冠冕堂皇的政府機(jī)構(gòu)。我花了幾個(gè)月的時(shí)間在因特網(wǎng)上尋找軟件,但還是一無所獲。我給一些在國家實(shí)驗(yàn)室工作的朋友發(fā)了電子郵件,甚至還根據(jù)信息自由法案 (Freedom of Information Act) 向國家核安全機(jī)構(gòu)(此處是指政府嚴(yán)密監(jiān)察的名單)發(fā)函,但還是一無所獲。

感到自己確實(shí)需要更多幫助,我最終決定在互聯(lián)網(wǎng)上求助。我在自己網(wǎng)站的micro-Cray頁面上發(fā)出了求助呼吁(同時(shí)展示我可愛的比例僅為正常Cray-1十分之一的外殼),而且還通過Twitter賬戶向一些朋友介紹該項(xiàng)目,通過因特網(wǎng)資源尋找?guī)椭?。幾天之后,一些新聞?wù)军c(diǎn)都得知了我的故事,從全球各地給我發(fā)來大量電子郵件。不少電子郵件都是同情我經(jīng)歷的Cray愛好者發(fā)來的懷舊信。然而,最終有人表示有大摞大摞紙質(zhì)版的幾十年前的源代碼,九軌磁帶,甚至還有微縮膠片。有人還發(fā)電子郵件給我提供一份20年前的博士論文,包括一種少見的編程語言的Cray兼容編譯器的源代碼(當(dāng)然,需要在同樣少見的編程語言中編寫)??磥砣藗儽4孢^時(shí)軟件和文檔以備今后之需,還真能應(yīng)不時(shí)之需啊。

未來

我的縮微版大型機(jī)今后該怎么辦呢(圖 3)?我還想解決這臺(tái)設(shè)備的一些故障并添加缺失的特性。我還沒有完全解決軟件問題,不過情況已經(jīng)有所改觀。一位熱心網(wǎng)友找到了20世紀(jì)80年代末基于DOS的Cray仿真器,它同時(shí)也可作為簡單的匯編程序(在Windows 7中也能正常運(yùn)行)。相比直接使用8位機(jī)器碼,用Cray匯編語言編程簡直是一個(gè)夢想。如果我能讀取老式介質(zhì),我或許就能獲得源代碼,運(yùn)行至少一種操作系統(tǒng),并使用真正的Fortran編譯器。

 

圖 3 — 基于 Spartan-3E 的微縮版大型機(jī)的最終成型圖


另外,我的冷門愛好還引發(fā)了計(jì)算機(jī)歷史博物館 ( h t t p : / / w w w .computerhistory.org/ ) 的興趣,或許我的微縮版Cray有朝一日會(huì)歸隱于加利福尼亞的山景城。不過同時(shí)我也開始設(shè)想下一個(gè)項(xiàng)目了。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉