蘇黎世聯(lián)邦理工學(xué)院(ETH Zurich)與義大利波隆納大學(xué)(University of Bologna)的研究人員共同開發(fā)出一款開放源碼的處理器PULPino,,專為低功耗的穿戴式裝置與物聯(lián)網(wǎng)(IoT)應(yīng)用最佳化,。
開放源碼和協(xié)同開發(fā)是當(dāng)今軟體世界的標(biāo)準(zhǔn)作法,例如Linux,。盡管也有一些像OpenRISC與Opencores等硬體計劃,,開放源碼的硬 體在板級開發(fā)時更能取得較大動能,。例如Arduino與Raspberry Pi的PCB設(shè)計可公開取得。然而,,這些開發(fā)板上所采用的晶片仍然是專有的。
如今,,這支由ETH Zurich教授Luca Benini帶領(lǐng)的研究團(tuán)隊已將其微處理器系統(tǒng)的一項完整設(shè)計公開在公共領(lǐng)域了,,這就是PULP計劃(平行超低功耗)的衍生系統(tǒng)。
32位元的PULPino是專為以電池供電的超低功耗裝置而設(shè)計,,其算術(shù)指令也是開放源碼的:研究人員們打造的這款處理器可相容于加州大學(xué)柏克萊分校(UC Berkeley)所開發(fā)的RISC-V開放源碼指令集,。
PULP采用4 核心的處理器設(shè)計
PULPino是更通用的PULP之簡化版,內(nèi)建單一處理元素以取代4處理元素叢集,,而且也簡化了指令與資料RAM,,并于2015年時采用FPGA建置。根據(jù)官網(wǎng)的簡報資料,,PULPino核心稱為RI5CY,,是一種RISC-V的4階循序管線建置,。
研究人員開發(fā)的處理器核心可媲美ARM Cortex-M4核心,擁有趨近于1 的每周期數(shù)指令集,,支援基礎(chǔ)整數(shù)指令集(RV32I),、壓縮指令集(RV32C)以及部份支援乘法指令集擴(kuò)展(RV32M)。它為硬體回路建置了非標(biāo)準(zhǔn)擴(kuò) 展,、后遞增加載與儲存指令集,、ALU與MAC作業(yè)。為了執(zhí)行FreeRTOS等嵌入式作業(yè)系統(tǒng),,并支援特權(quán)規(guī)格子集,。當(dāng)核心閑置時,該平臺可切換至低功耗 模式,,在出現(xiàn)事件/中斷時僅啟動單一事件單元并喚醒核心作業(yè),。
PULP四核心IC采用Globalfoundries的28nm制程,已于2015年11月投片;首批ULPino核心設(shè)計則在2016年1 月采用聯(lián)電(UMC)的65nm CMOS制程投片,。PULPino平臺可用于RTL模擬,,實現(xiàn)FPGA與SoC。擁有完整的除錯支援,,包括FreeRTOS;作業(yè)于400MHz時脈頻率 與1.2V的電壓,,晶片功耗約32.8mW。
PULPino (Imperio)晶片圖
根據(jù)研究人員表示,,使用PULPino的授權(quán)將會“十分寬松”,,而且也與正開發(fā)中的另一開放源碼處理器lowRISC一致。
“從最近許多開放源碼硬體的例子來看,,使用權(quán)經(jīng)常受到獨(dú)家銷售權(quán)與非競爭條款的限制,,”Benini說,“但我們開發(fā)的系統(tǒng)并未針對授權(quán)附加任何限制條件,?!?/p>
研究人員預(yù)計,PULPino可以用來驅(qū)動智慧手表,、監(jiān)測生理功能的感測器或物聯(lián)網(wǎng)傳感器,。 PULPino目前已經(jīng)用于瑞士與歐洲研究機(jī)構(gòu)的其他研究計劃,以及英國劍橋大學(xué)(Cambridge University),。
Benini認(rèn)為,,歐洲的中小企業(yè)(SME)應(yīng)該也會對PULPino感興趣,因為他們經(jīng)常無法負(fù)擔(dān)開發(fā)ASIC的成本,。透過開放來源的免授權(quán)費(fèi)設(shè)計,,可望大幅降低開發(fā)成本,從而使SME與ETH受惠,。