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