chiudi X
Age of Empires Definitive Edition in DIRETTA

Segui la diretta sui nostri canali YouTube - Twitch - Facebook

PULPino, Bologna e Zurigo insieme per un processore open-source a basso consumo

PULPino, Bologna e Zurigo insieme per un processore open-source a basso consumo

L'Università di Bologna e l'ETH Zurich collaborano ad un progetto per un processore open-source e royalty-free per applicazioni wearable e Internet of Things

di Andrea Bai pubblicata il , alle 17:31 nel canale Processori
 

I Ricercatori dell'ETH Zurigo e dell'Università di Bologna hanno sviluppato PULPino, un processore open-source ottimizzato per operatività a basso consumo energetico e destinato applicazioni nel campo dei dispositivi indossabili e dell'universo Internet of Things.

Lo sviluppo collaborativo e open-source, ormai abbastanza comune per quanto riguarda il software software, ha solo raramente partorito qualcosa di interssante sul fronte hardware. Uno degli esempi più famosi è Arduino, per il quale il progetto del PCB è pubblicamente disponibile, anche se i chip presenti sono comunque sviluppati in forma proprietaria.

Un gruppo di ricercatori coordinati dal professor Luca Benini ha reso invece di pubblico dominio l'intero progetto di uno de microprocessori, derivato dal progetto PULP - Parallel Ultra Low Power. PULPino è un processore a 32-bit progettato per i dispositivi alimentati a batteria e in grado di consumare pochissima energia. Anche le istruzioni aritmetiche sono open source, con il processore che è stato reso compatibile con un set di istruzioni RISC-V sviluppato dalla University of California - Berkeley.

Il processore ha un singolo elemento di elaborazione, a differenza di PULP che è caratterizzato da un cluster di quattro elementi di calcolo, ed è dotato di RAM semplificata per dati e istruzioni. PULPino è stato implementato in FPGA nel 2015. Il core PULPino è chiamato RI5CY ed è un'implementazione in-order a con pipeline quattro stadi di RISC-V. Per consentire l'operatività di sistemi embedded come FreeRTOS, viene supportato un subset delle specifiche riservate.

Quando il core è in idle la piattaforma può essere messa a funzionare in modalità low power, dove solamente una semplice event-unit è attiva e risveglia il core nel caso si verifichi un evento. La prima implementazione PUPLino, chiamata "Imperio" ha passato la fase di tape-out nel mese di gennaio 2016 ad opera di UMC per un processo CMOS a 65 nanometri. La piattaforma PULPino è disponibile per simulazioni RTL, per FPGA e per SoC, include un port di FreeRTOS ed opera alla frequenza di 400MHz e a 1,2V di tensione, per un consumo di 32,8mW.

"In molti esempi recenti di hardware open-source, l'uso è ristretto da diritti di marketing esclusivi e da clausole di non concorrenza. Il nostro sistema, comunque, non ha alcun vincolo quando si tratta di licenza" ha sottolineato Benini. Il team osserva che PULPino può essere utilizzato in orologi e bracciali smart, in sensori per il monitoraggio di funzioni fisiologiche o sensori per Internet of Things. PULPino viene inoltre già usato in altri progetti di ricerca in istituti Svizzeri ed Europei e alla Cambridge University.

Resta aggiornato sulle ultime offerte

Ricevi comodamente via email le segnalazioni della redazione di Hardware Upgrade sui prodotti tecnologici in offerta più interessanti per te

Quando invii il modulo, controlla la tua inbox per confermare l'iscrizione

21 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Cloud7604 Aprile 2016, 17:46 #1
opera alla frequenza di 400MHz e a 1,2V di tensione, per un consumo di 32,8mW.


1,2V???
Mi sembra uno sproposito.... sicuri?
demon7704 Aprile 2016, 17:49 #2
PULPino!?!?
Ma che nome è?????
blindwrite04 Aprile 2016, 18:20 #3
1.2V a 65nm è il voltaggio standard.
viscm04 Aprile 2016, 18:32 #4
Immaginate se fosse progettato e costruito a 14nm, quanto consumerebbe?
Dumah Brazorf04 Aprile 2016, 19:26 #5
Molto pulp...

Link ad immagine (click per visualizzarla)

Per l'IoT c'è già l'ESP8266 che costa niente e ha il wifi, oppure non ho capito per niente il campo di utilizzo di questo processore.
AleLinuxBSD04 Aprile 2016, 21:20 #6
Tutto bello, ma ritengo più che probabile che il tutto si tradurrà in scarsi risultati in rapporto agli investimenti..
Motivazioni:
- conflitto di interesse con gli oligopolisti del mercato che possono avvalersi di marketing e potere lobbistico
- distribuzione

Ora dato che questi denari, probabilmente, sono pubblici, malgrado niente viene detto nella notizia, mi domando perché debba perpetuarsi la malsana consuetudine di sperperarlo, anziché seguire la stessa logica privata, dei profitti o, almeno, andare in pari.
L'entità statali potrebbero riuscire a rompere gli equilibri privati oligopolistici, semplicemente, introducendo progetti utili, nella PA.
Invece che pensare progetti fini a se stessi oppure con speranze di diffusione, senza però porre nessuna basa solida perché questo possa avvenire, lasciando il tutto al livello di casualità.
lucusta04 Aprile 2016, 21:53 #7
Originariamente inviato da: viscm
Immaginate se fosse progettato e costruito a 14nm, quanto consumerebbe?

1.9mW, ma mi terrei almeno a 3, per stare sicuri...
a quel punto lo fai consumare una 20, ma tiri su' la frequenza...
comunque sono W non Wh, quindi e' un conteggio impulsivo medio, ossia un ciclo standard operativo in cui la maggior parte del tempo la CPU e' spenta.
probabile che a cicli operativi full abbia un consumo di 100-200 volte superiore (se poi pero' sta' fermo per 100 o 200 cicli, alla fine ti consuma quello, ma devi pur raffreddarlo per i picchi di calore che emana in funzionamento)...
arunax04 Aprile 2016, 23:59 #8

Qualche precisazione

Ciao a tutti,

sono uno dei membri del team di PULP a Bologna e Zurigo nonché un lettore di HW upgrade da una decina d'anni. È quindi molto bello vedere il nostro duro lavoro comparire anche qui

Vorrei però precisare alcuni punti che vedo sono saltati fuori nei commenti:
- PULP (Parallel Ultra-Low Power) è un progetto di ricerca per la creazione di una piattaforma a bassissimo consumo di energia. La chiave principale è lavorare a frequenze molto basse (da una decina fino a un centinaio di megahertz) operando a tensioni di alimentazione vicino alla tensione di soglia (near-threshold computing) e recuperare performance utilizzando il parallelismo. In questo modo si massimizza l'efficienza energetica, ovvero il costo in energia di ciascuna operazione elementare è molto più basso rispetto alla metodologia "tradizionale" di utilizzo del silicio. Lo scopo scientifico è dunque abilitare applicazioni relativamente molto complesse con la spesa energetica ed economica che oggi è associata ai microcontrollori più elementari (di classe Cortex-M) - questi microcontrollori sono tipicamente usati in situazioni che richiedano notevole autonomia energetica (es. ricaricare la batteria una volta in N anni, come in un pacemaker), ma ovviamente non permettono calcoli molto complessi.
- PULPino è un sistema di classe microcontrollore che abbiamo introdotto come prima fase della release open source di PULP. Non si tratta di un prodotto che voglia "competere" su un mercato specifico, meno che meno fare concorrenza ad un prodotto finito come può essere Arduino. Si tratta invece di un design digitale consistente di un buon numero di IP in SystemVerilog, già testate su silicio in diverse tecnologie incluse UMC 65nm ed ST 28nm FD-SOI nell'ambito del più largo progetto di PULP. Lo scopo è abilitare piccole e medie aziende come startup ad elevata tecnologia a portare le loro idee sul mercato senza dipendere dalle costose IP sviluppate esternamente e senza i costi notevoli associati a design e verifica interni di nuove IP. Ovviamente rimangono i costi di tapeout su silicio, ma il fatto di utilizzare IP che sono già state testate su diverse tecnologie aiuta, diminuendo il rischio.
- last but not least, terrei a precisare che il progetto PULP è finanziato in parte tramite bandi di progetti europei, in particolare per quanto riguarda gli stipendi di noi dottorandi/assegnisti di ricerca; un'altra notevole parte dei costi viene da contratti fra università e aziende private che pagano perché li aiutiamo a sviluppare certe tecnologie, oppure finanziano tapeout per sperimentare la loro tecnologia. Che qualcuno parli automaticamente di "sperpero" di denaro pubblico senza avere la benché minima idea di cosa il progetto dica o faccia mi sembra francamente un po' ingeneroso. Considerato anche che vi posso assicurare che chi lavora su questo progetto e progetti simili non lo fa certo per guadagnare tantissimo, ma lavorando molto soprattutto per tanta passione e curiosità scientifica.

Se qualcuno ha curiosità o domande (o critiche) le potete rivolgere a me qui o per mail, oppure contattarci tramite il nostro sito http://pulp-platform.org o @pulp_platform su Twitter.

Ciao!

Francesco
Bellaz8905 Aprile 2016, 01:13 #9
Originariamente inviato da: arunax
...


Ciao! Innanzitutto vorrei complimentarmi. E' un progetto molto interessante ed e' bello sapere che certa conoscenza non e' solo appannaggio della grande industria. Inoltre trovo che avere un processore di questo tipo completamente documentato possa enormemente aiutare chi si vuole interessare allo sviluppo di queste soluzioni.

Avete in programma di fare delle presentazioni sul vostro progetto? Sara' disponibile un devkit pubblicamente acquistabile basato su questo core?
cdimauro05 Aprile 2016, 07:26 #10
@arunax: non credo che l'IP di ARM o MIPS (che penso siano i diretti concorrenti del vostro progetto) costino allo stesso modo. Esistono diverse architetture, più o meno complesse, e probabilmente il costo dell'IP è associata alla loro complessità.

Non ho dati in merito, ma credo sia ragionevole pensarlo.

Lasciando un attimo da parte la questione IP, avete effettuato dei benchmark (prestazioni, densità del codice, consumi, gate richiesti dall'implementazione) con i vostri concorrenti?

P.S. Ho letto tutti i datasheet dell'architettura, e in effetti il fatto che ARM non abbia presentato una versione di Thumb per ARMv8 vi pone, almeno al momento, in netto vantaggio, anche se PULP supporta soltanto i 32-bit, ma RISC-V è disponibile anche a 64-bit, per future implementazioni.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^