FPOA挑戰(zhàn)FPGA——新型可重構(gòu)邏輯芯片擁有大規(guī)模并行化陣列
摘要: 本文介紹的新型可重構(gòu)邏輯芯片FPOA擁有大規(guī)模并行化陣列,有望在市場上與FPGA等可配置產(chǎn)品展開競爭。
關(guān)鍵詞:FPOA;FPGA;陣列
兩大公司—Altera和Xilinx—統(tǒng)治著FPGA市場,只為少數(shù)幾家較小的玩家在細(xì)分市場的開拓方面留下了一點(diǎn)空間。找出一條能繞過這兩家巨無霸的道路成為一個挑戰(zhàn)。一家小公司就接受了這樣的挑戰(zhàn)—MathStar。該公司成立于1997年,總部在Hillsboro,Oregon。
MathStar于2004年9月提供了第一種基于FPOA技術(shù)的器件的樣品,然后根據(jù)客戶的反饋對其進(jìn)行了數(shù)次改進(jìn)。經(jīng)過改進(jìn)的芯片的樣品于2005年8月開始供應(yīng),MathStar目前正在研發(fā)另一款預(yù)計(jì)于明年交付的芯片。該公司宣稱其產(chǎn)品在12項(xiàng)設(shè)計(jì)中得到了應(yīng)用。
對象陣列,而非門陣列
MathStar將其器件的架構(gòu)稱為可現(xiàn)場編程的對象陣列(field-programmable object array,F(xiàn)POA)。它由基于SRAM的可編程邏輯構(gòu)成,與常規(guī)的FPGA非常類似,但它能在更抽象的層次上進(jìn)行編程。設(shè)計(jì)者是與預(yù)先定義了功能的單元所構(gòu)成的大規(guī)模并行陣列打交道,而不是對那些門陣列修修補(bǔ)補(bǔ)。
這些單元中的大多數(shù)是完全相同、可以自主運(yùn)行的ALU或者乘法-累加器(MAC)單元。其他的單元則是由ALU和MAC所分享的寄存器陣列。第一種FPOA器件擁有400個上述這些類型的16bit單元,相互間通過緊密耦合的互連架構(gòu)綴連起來。芯片的外圍是SRAM庫、外部內(nèi)存接口、高速并行I/O端口以及通用I/O(GPIO)端口。
陣列中所缺少的是一個控制處理器。一個FPOA需要某種主控控制器,如RISC處理器或者微控制器。這一需求使FPOA置身于FPGA和功能齊備的微處理器之間的灰色地帶中。它是一個完全可編程的運(yùn)算機(jī),但它需要一個外部的控制器來完成位流的初始加載以及結(jié)果的檢索。大多數(shù)FPGA也需要主控控制器,雖然某些帶有片上的硬件處理器核,而另一些可以依靠自身的門陣列來提供軟處理器核。
MathStar宣稱,通過用定制化設(shè)計(jì)的功能單元來對FPOA進(jìn)行預(yù)定義,就可以讓FPOA發(fā)揮出高于采用通用可編程邏輯的FPGA的性能。該公司的第一種器件,MOA1400D,就可以以高達(dá)1.0GHz的速度運(yùn)行—這遠(yuǎn)遠(yuǎn)快于常規(guī)的FPGA。因?yàn)槠?00種單元中的每一種在每個時鐘周期中可以執(zhí)行一次操作,理論上最大的處理吞吐量為每秒4000億次操作(BOPS)。此外,MathStar擔(dān)保,其器件始終以最高的時鐘頻率運(yùn)行。這相對于傳統(tǒng)的FPGA而言是一個巨大的優(yōu)勢—編程者需要在門陣列上實(shí)現(xiàn)復(fù)雜的設(shè)計(jì)時,F(xiàn)PGA常常必須以低于其最高頻率的時鐘頻率運(yùn)行。
MathStar的架構(gòu)的另一個優(yōu)勢在于適合在成熟的CMOS工藝上制造,而這些工藝并不存在那些最新建立的、代價昂貴的工藝線中所存在的漏電流問題。TSMC在其0.13mm低壓工藝(LVOD)上制造MOA1400D,所制造出的產(chǎn)品在運(yùn)行主要的應(yīng)用時的典型功耗低于20W。批量達(dá)1 000時,最快的1.0GHz器件的價格為285美元。
基本組成單元—“硅對象”
MathStar顯然在其FPOA架構(gòu)中融入了某種思想。陣列的基本組成單元是16bit的功能單元和寄存器陣列,MathStar將這些單元稱為“硅對象”(商標(biāo)名而已)。這些是完全定制化的邏輯模塊,并非標(biāo)準(zhǔn)的單元或者用通用門陣列綜合而成的模型。定制化的電路設(shè)計(jì)可以容許更高的時鐘頻率,同時節(jié)省硅片面積和功耗。圖1示出了3種遍布第一款FPOA芯片的“硅對象”。
圖1 MathStar最初創(chuàng)建了3種類型的硅對象:16bit ALU、16bit的乘法-累加(MAC)單元和64輸入寄存器陣列。硅對象的設(shè)計(jì)可以保證互換性,因此不同的FPOA芯片的陣列中,這些對象的構(gòu)成情況是不同的
每一種硅對象的物理尺寸都正好相等,而與互連架構(gòu)的I/O接口也完全一致,因此在陣列內(nèi)部,它們是可以互換的。也就是說,MathStar可以生成陣列規(guī)模各異、各種硅對象組成情況也不相同的新型FPOA芯片。一旦完成研發(fā),該陣列就專門用于該器件,客戶可以對該陣列進(jìn)行編程,但是不能更改其排列或者硅對象的編制。從這個意義上來說,F(xiàn)POA更類似于一個大規(guī)模的并行微處理器,而不是一個由門陣列堆砌而成的FPGA。它的可編程邏輯可以在更高的層次上完成編程,編程過程更接近于應(yīng)用軟件級,而不是邏輯門級。
在更高層次上的可編程性意味著較低的靈活性。不過一片F(xiàn)POA不僅僅是一片由16bit的功能單元組成的大規(guī)模的并行陣列芯片。密集交織的互連架構(gòu)使得設(shè)計(jì)者能將硅對象編組,而這種方式無法利用傳統(tǒng)的處理器中的多功能單元來實(shí)現(xiàn)。從這個意義上來說,F(xiàn)POA更像是一個FPGA,而非微處理器。例如,設(shè)計(jì)者可以將多個硅對象捆綁到一起,來執(zhí)行32bit或者寬度更大的運(yùn)算,或者并行執(zhí)行多個任務(wù)?;蛘?,設(shè)計(jì)者也可以將多個硅對象構(gòu)成的鏈條鏈接起來,以便以流水線方式來執(zhí)行串行任務(wù)。FPGA是由邏輯門組成的一片空白芯片,而FPOA則是由功能單元、寄存器陣列和互連構(gòu)成的一片空白芯片。
正如圖2所示出的那樣,MOA1400D擁有256個ALU、64個MAC單元和80個寄存器陣列,硅對象的總數(shù)達(dá)到了400個,排列成20
評論