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