jump to navigation

Open Source Hardware March 2, 2006

Posted by laspinanelfianco in Hardware, Open Source.
trackback

Noi tutti (o quasi tutti) sappiamo che cos’è il software open source: un patrimonio di programmi per computer scritti (quasi sempre) da volontari e rilasciati (quasi sempre in modo gratuito) al “pubblico dominio” sotto un insieme veramente minimo di condizioni (che venga citato l’autore, etc.). Ne trovate una descrizione dettagliata a Wikipedia .

Ma che cos’è, o cosa potrebbe essere, l’Open Source Hardware?

Tecnicamente, può essere una di queste due cose: la disponibilità pubblica dei progetti di un componente, al fine di sottoporre il progetto ad una vasta opera di “peer-review” e di “cooperative design” oppure la progettazione collettiva di un componente hardware destinato ad impieghi altrettanto “comunitari”. Anche se non sono in molti a saperlo, esistono già degli esempi interessanti di entrambe queste “scuole di pensiero”. Li trovate descritti qui di seguito.

OpenSPARC e Leon

Se avete frequentato il mondo I&CT per più di qualche anno, sarete sicuramente incappati in qualche grosso server di rete o qualche workstation CAD che non era basata sui solidi processori Intel o AMD. Un esempio classico sono state le workstation IBM RISC/6000 basate sui processori RISC POWER. Un altro tipo di workstation e server molto famosi sono quelli della Sun Microsystems che sono tradizionalmente basati su particolari processori (RISC) noti come SPARC . L’ultimo rampollo di questa gloriosa dinastia si chiama UltraSPARC T1, “viaggia” come una saetta e, udite udite, è stato rilasciato come progetto Open Source nel 2005! Il progetto si chiama OpenSPARC e lo trovate qui: http://opensparc.sunsource.net/ .

In che senso OpenSPARC è Open Source? In questo momento è ancora difficile dirlo con precisione perchè Sun non ha ancora stabilito quale licenza verrà utilizzata per il materiale che sta pubblicando sul sito, tuttavia sembrano chiare le seguenti cose.

  • Non sarà possibile utilizzare questo materiale per produrre CPU alternative e concorrenti di UltraSPARC T1. Il progetto rimane coperto da brevetti e da obblighi di licenza commerciale. Tutto questo và naturalmente ad aggiungersi alla difficoltà di produrre CPU di questo livello presso sedi diverse da quelle di Sun.
  • Sarà invece possibile sia esaminare il progetto, attraverso i progetti CAD ed i programmi che verranno rilasciati da Sun, che contribuire al suo miglioramento. Questo dovrebbe permettere anche di sapere nei dettagli (finalmente!) cosa c’è dentro una delle varie CPU commerciali.

Date queste premesse è abbastanza ovvio che non si tratta di un progetto pensato per la comunità, nel senso abituale del termine in ambito software. Piuttosto si tratta di un ambizioso e coraggioso progetto di “shared knowledge” a livello universitario. I vantaggi più grossi li avrà sicuramente Sun, che vedrà aumentare di varie volte la quantità di neuroni che lavorano sulla CPU. La comunità di volontari otterrà soprattutto dei vantaggi di carattere “pedagogico” (maggiore conoscenza diretta delle CPU Sun).

Oltre a OpenSPARC, esiste però una implementazione completamente Open Source di SPARC chiamata Leon. La trovate qui: http://www.gaisler.com/products/leon2/leon.html . Questa implementazione porta la politica di openness di Sun alle sue massime conseguenze. Leon, infatti, può essere usato, ad esempio come “core” per sistemi SOC (System On a Chip) sia in progetti universitari che commerciali.

Il Progetto OpenCores

OpenCores è qualcosa di molto diverso da OpenSPARC. Si tratta di una comunità, ormai consolidata e molto attiva, che si dedica alla progettazione e, in alcuni casi, alla produzione su scala artigianale di processori per applicazioni particolari (ASIC. Vedi anche ASIC a Wikipedia Inglese) e CPU usando tecniche come l’FPGA. La trovate a questa URL: http://www.opencores.org/ .

Più esattamente, OpenCores si occupa della progettazione e del testing in modalità “cooperativa” di “cores” per circuiti integrati, cioè di sottosistemi logici che vengono poi integrati all’interno di CPU e altri processori prodotti in grande serie. Un esempio classico sono i sottoinsiemi logici che agiscono come FPU o come DSP. Presso la pagina Project di OpenCores è possibile vedere che l’attività di questo gruppo và dalle unità aritmetiche fino ai DSP passando per le unità di comunicazione e per intere CPU. Di particolare interesse sono i SOC (System On-a Chip) che incorporano su un singolo chip tutte le funzionalità di un intero PC (o, più esattamente, di un sistema embedded).

Nel repertorio di progetti di OpenCores non mancano nemmeno i progetti di intere CPU, come OpenRISC 1000 (vedi anche http://en.wikipedia.org/wiki/OpenRISC ) e MiniMIPS . Questi progetti vengono creati in Verilog o VHDL e testati su piattaforme FPGA o altri sistemi PLD.

Potete trovare altre informazioni anche alle seguenti URL.

Se avete altre comunità od iniziative da segnalare, usate lo spazio commenti qui sotto.

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: