蘇黎世聯邦理工學院(ETH Zurich)與義大利波隆納大學(University of Bologna)的研究人員共同開發出一款開放源碼的處理器PULPino,專為低功耗的穿戴式裝置與物聯網(IoT)應用最佳化。

開放源碼和協同開發是當今軟體世界的標準作法,例如Linux。儘管也有一些像OpenRISC與Opencores等硬體計劃,開放源碼的硬體在板級開發時更能取得較大動能。例如Arduino與Raspberry Pi的PCB設計可公開取得。然而,這些開發板上所採用的晶片仍然是專有的。

如今,這支由ETH Zurich教授Luca Benini帶領的研究團隊已將其微處理器系統的一項完整設計公開在公共領域了,這就是PULP計劃(平行超低功耗)的衍生系統。

32位元的PULPino是專為以電池供電的超低功耗裝置而設計,其算術指令也是開放源碼的:研究人員們打造的這款處理器可相容於加州大學柏克萊分校(UC Berkeley)所開發的RISC-V開放源碼指令集。

![20160406 ETH NT02P1](//images.eettaiwan.com/15mr7p4rjmth/2MHfQbicusCg6GUoA0uC4W/615107489ee436eabd1a4b6ee421cfac/20160406_ETH_NT02P1.jpg)PULP採用4 核心的處理器設計
(來源:ETH Zurich)

PULPino是更通用的PULP之簡化版,內建單一處理元素以取代4處理元素叢集,而且也簡化了指令與資料RAM,並於2015年時採用FPGA建置。根據官網的簡報資料,PULPino核心稱為RI5CY,是一種RISC-V的4階循序管線建置。

研究人員開發的處理器核心可媲美ARM Cortex-M4核心,擁有趨近於1 的每週期數指令集,支援基礎整數指令集(RV32I)、壓縮指令集(RV32C)以及部份支援乘法指令集擴展(RV32M)。它為硬體迴路建置了非標準擴展、後遞增加載與儲存指令集、ALU與MAC作業。為了執行FreeRTOS等嵌入式作業系統,並支援特權規格子集。當核心閒置時,該平台可切換至低功耗模式,在出現事件/中斷時僅啟動單一事件單元並喚醒核心作業。

PULP四核心IC採用Globalfoundries的28nm製程,已於2015年11月投片;首批ULPino核心設計則在2016年1月採用聯電(UMC)的65nm CMOS製程投片。PULPino平台可用於RTL模擬,實現FPGA與SoC。擁有完整的除錯支援,包括FreeRTOS;作業於400MHz時脈頻率與1.2V的電壓,晶片功耗約32.8mW。

![20160406 ETH NT02P2](//images.eettaiwan.com/15mr7p4rjmth/EfPJMZgz6KeWw4mYmOWaA/c963c14db44887c6a750a8f8eb090222/20160406_ETH_NT02P2.jpg)PULPino (Imperio)晶片圖
(來源:ETH Zurich)

根據研究人員表示,使用PULPino的授權將會「十分寬鬆」,而且也與正開發中的另一開放源碼處理器lowRISC一致。

「從最近許多開放源碼硬體的例子來看,使用權經常受到獨家銷售權與非競爭條款的限制,」Benini說,「但我們開發的系統並未針對授權附加任何限制條件。」

研究人員預計,PULPino可以用來驅動智慧手錶、監測生理功能的感測器或物聯網傳感器。 PULPino目前已經用於瑞士與歐洲研究機構的其他研究計劃,以及英國劍橋大學(Cambridge University)。

Benini認為,歐洲的中小企業(SME)應該也會對PULPino感興趣,因為他們經常無法負擔開發ASIC的成本。透過開放來源的免授權費設計,可望大幅降低開發成本,從而使SME與ETH受惠。

編譯:Susan Hong

(參考原文:Swiss Open-Source Processor Core Ready For IoT,by Peter Clarke)