[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RISC-V: quanta parte del processore ha licenza libera?



> Sì, ma mi sembra che l'argomentazione sia, se mi permettete la metafora, 
> che è come avere il kernel libero senza il sistema operativo libero.

Esatto. Ma c'e` anche chi ha fatto il resto.

> E qui mi dichiaro semplicemente incompetente, cioè: ci sono tante 
> alternative libere alle altre componenti?

Tante no, ma ci sono alcune realta` (anche italiane) che ci lavorano.
Ho partecipato a due conferenze di opern risc (orconf) -- un'altra
achitettura libera -- ma alla fine si parlava piu` di riscV che di
ORsoc. Adesso non so fare nomi, ma ce ne sono una dozzina in cui le
parti chiuse sono veramente limitate (per esempio la RAM o altri
blocchi "standard" del produttore di silicio da cui si va).

L'altro uso interessante e` nelle FPGA, in cui puoi avere un sistema
completamente libero, col "solo" limite che sei inchiodato mani e
piedi (e corona di spine) al chi fa le tue FPGA.  I sistemi "white
rabbit" del cern per esempio, sono completamente liberi (software
gateware e hardware) ma l'fpga e` un po' un paletto.  Ormai ci sono
solo due venditori importanti di fpga, e il laboratorio che usa white
rabbit sull'altra marca ha avuto le sue non piccole difficolta`
iniziali. [nessun riferimento, wikipedia mi flagellerebbe] Anche qui,
la ram e altri blocchi standard (PLL e cose cosi`) si prendono a
scatola chiusa dai moduli nella FPGA in uso.

Si, l'autore del video parla di fpga, solo che non e` un settore di
nicchia come lo dipinge.  E lo stesso codice che prima compili per
fpga poi lo compili per fare il silicio con modifiche marginali(lo
dice anche lui, mi sono accorto).

Poi, come si diceva, per fare il silicio serve l'azienda. Anche i PCB
li disegno con kicad ma poi devo pagare per produrli, e i costi fissi
si vedono; quelli per il silicio sono enormi.


[128 bit]

> Beh, qualche processore ha almeno la somma a 128 (l'architettura Z dei 
> processori dei mainframe)...

Non e` come avere l'archiettura a 128 bit. 

> vedo che state tenendo in considerazione soprattutto
> l'indirizzamento della memoria,

Per numero di bit dell'architettura solitamente si intende la
dimensione "naturale" dei registri macchina e dei bus interni al
micro.  Quinti atmega (arduino) e PIC sono 8 bit, come lo z80 e il
6502, anche se hanno alcune operazioni a 16 bit.  Il motivo per cui
oggi si preferisce il 64 bit e` esclusivamente la memoria: con i
puntatori a 32 bit vedi solo 4GB, infatti il PC ha fatto l'accrocchio
chiamato PAE (page address extension), che e` solo una rivisitazione
del vecchio "high memory" del dos, dove un processore con 20 bit di
indirizzamento esterno non bastava piu`.

Io preferisco il 32 bit, personalmente, perche` gli eseguibili sono
piu` piccoli e il sistema piu` veloce. Dopo di che il mondo PC e`
obeso e installo anch'io a 64.

> ma per la crittografia non guasterebbe una bella istruzione per
> calcolare in una botta sola il prodotto di due registri a 128 bit
> :-)

Non lo metto in dubbio. Cosi` come chi ha la virgola mobile in
hardware solitamente implementa IEEE-754 a 80 bit, ma questo non ne fa
processori "a 80 bit".
 
> Comunque, di insiemi di istruzioni per una CPU che siano libere, ne 
> esistono anche altre, oltre a Risc-V...

open-risc, lm32, zpu, anche sparc e` stato liberato (e di sparc32
esistono implementazioni libere), piu` sicuramente mille altri che non
conosco. La differenza e` che riscV e` stato pensato tenendo in
considerazione tutta l'esperienza del settore, prendendo il meglio di
tutte le idee precedenti e scartando gli errori (per esempio, se
ricordo bene, non ha un registro "flags", e il manuale spiega
perche`).

grazie, saluti
/alessandro


Reply to: