“RISC +類FPGA”架構(gòu)共同提供優(yōu)異的再配置性
它與其它 CPU+FPGA 組合的不同之處在于,它把可編程邏輯電路組織為一個可編程硬件塊,位于處理器的數(shù)據(jù)路徑內(nèi)部。其結(jié)果就是一種具有新指令的RISC 機(jī)器——這些指令滿足了應(yīng)用的處理需求,但又沒有訪問常規(guī)協(xié)處理器結(jié)構(gòu)所需的系統(tǒng)開銷。
你可以在用 C/C++ 寫的單一工具流程中,通過為應(yīng)用編寫代碼,或配置各硬件元件的方式,來對該裝置編程。Banta 聲稱,該架構(gòu)非常靈活,以便處理多種計算密集型應(yīng)用,同時功能足夠強(qiáng)大,從而具有很高的成本效率;單個裝置就可以完成以前可能需要多個處理器才能完成的各種任務(wù)。
可編程部分被稱為 ISEF(指令集擴(kuò)展結(jié)構(gòu))。由于它比標(biāo)準(zhǔn) FPGA 的通用性低很多,因此單位面積邏輯功能的密度更大。不過,Stretch 公司目前既沒有披露密度,也沒有披露可編程邏輯電路的數(shù)量。它也沒有公布內(nèi)核對 FPGA 的面積之比。
代碼是以 C/C++ 編寫的應(yīng)用程序開始的,經(jīng)過一個相當(dāng)常規(guī)的剖析運(yùn)作來識別各個計算密集型回路。在識別了這些部分之后,編譯器把嵌在它們內(nèi)部的代碼轉(zhuǎn)換為針對 ISEF 邏輯的配置代碼,這樣,就程序的其它部分而言,代碼已被壓縮成單個指令。
SS架構(gòu)的創(chuàng)意在于在Xtensa可配置處理器的數(shù)據(jù)路徑內(nèi)部加入一個類FPGA的ISEF,完成針對不同應(yīng)用的可配置性設(shè)計。
它通過三條通往寄存器堆的 128 比特寬的路徑來處理 ISEF,該寄存器堆緊密集成至內(nèi)核,并可被配置來提供很寬的并行數(shù)據(jù)路徑。因此,所有數(shù)據(jù)很接近執(zhí)行單元,它在定時和功率方面的效率都很高。該公司把壓縮關(guān)鍵代碼和創(chuàng)建一項配置的過程描述為自動進(jìn)行的,不過你并不參與對配置做優(yōu)化的過程。如何知道自己擁有了最優(yōu)的解決方案?Banta 表示,當(dāng)你實現(xiàn)了對 ISEF 的一次設(shè)置,它只“接觸”數(shù)據(jù)一次——取得數(shù)據(jù),對數(shù)據(jù)做運(yùn)算,返回結(jié)果——這時,你就知道自己已經(jīng)完成了這個過程。
你可以在引導(dǎo)時利用你需要的所有運(yùn)算符一次性配置 ISEF,從而使它具有多個運(yùn)算符的寬度和深度?;蛘撸憧梢杂盟璧倪\(yùn)算符快速地加載它。你可以執(zhí)行這些任務(wù),或利用某種高速緩存型機(jī)制。Banta 聲稱,該裝置的總效率非常高,這樣在多數(shù)情況下,偶然的“高速緩存缺失”(導(dǎo)致運(yùn)算符被加載)將不再是問題。據(jù)稱,編譯幾分鐘就可以“填滿” ISEF。Stretch 公司聲稱,加載一項新的 ISEF 配置只需大約 100 微秒。
Stretch 公司已經(jīng)出示了關(guān)于 Telemark 套件的 EE-MBC(EDN 嵌入式微處理器基準(zhǔn)聯(lián)盟)結(jié)果,它們表明,優(yōu)化過程(對硬件編碼)使性能提高200 多倍。Banta 表示,更重要的是,對于相同的應(yīng)用代碼而言,運(yùn)行于 300MHz 的這種處理器在性能上超過了運(yùn)行頻率高達(dá) 720MHz 的“純”DSP。200 多倍的性能改善是針對 EEMBC 代碼的,不過任何計算密集型代碼集都應(yīng)該會達(dá)到類似的性能改善。
Banta 列舉了人們也許能夠應(yīng)用其概念的三種情況:當(dāng)人們必須使用多個處理器時;當(dāng)人們必須使用標(biāo)準(zhǔn)處理器,并通過高性能的耦合 FPGA 來卸載對關(guān)鍵功能的處理時;或當(dāng)人們必須構(gòu)建復(fù)雜的 ASIC 時。
各種 S5 部件在 I/O 能力方面有所不同,這取決于市場和價格范圍,從針對典型消費應(yīng)用的 35 美元(25,000 件)到針對電信、聯(lián)網(wǎng)、軍事以及安全應(yīng)用的大約 100 美元(10,000 件)。功率將為 1 至 3W,因此 Banta 并不推薦這種處理器用于“袖珍產(chǎn)品”。他指出,公司要“把精力集中于速度和性能”。
評論