[Linuxtrent] Re: GCC 3.1

  • From: Matteo Ianeselli <m.ianeselli@xxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sun, 19 May 2002 18:31:25 +0200

Marco Ciampa writes:

 > perdona l'ignoranza (beata) ma a che serve il MMIX?

A Knuth, a vendere libri, penso :-)

+++

Scherzi a parte: in The Art of Computer Programming, tutte le
implementazioni d'esempio sono fatte in un assembly (il MIXAL) per
l'ipotetica macchina MIX, che se quando Knuth ha iniziato a scrivere
l'opera non era poi cosi` strana, guardata con gli occhi di oggi viene
da chiedersi se chi l'ha pensata e` nato nella stessa galassia...

La scelta di usare come architettura per gli esempi una CPU ipotetica
era stata dettata puramente dal fatto che Knuth non voleva dover
riscrivere tutti gli esempi ogni volta che un linguaggio di alto
livello o una particolare architettura passavano di moda (e di mode ne
son passate TANTE).

Tuttavia il tempo passa, i byte son da otto bit punto e stop, il
complemento a due regna sovrano e Knuth riconosce che MIX adesso come
adesso sarebbe veramente un po' troppo fuori dalle rotaie anche per
chi studia computer science a livello completamente astratto...
Dopotutto, anche Knuth ha bisogno di non far perdere di vista la
foresta a furia di far vedere alberi.

Per cui (in collaborazione anche con progettisti di vere CPU) s'e`
messo a progettare MMIX, che ha il piccolo merito di essere
un'architettura non troppo distante da quella delle CPU RISC che si
possono trovare attualmente in giro.

Oltre a questo, e` in corso un lavoro di riscrittura in MMIX degli
esempi di The Art of Computer Programming, e forse un giorno vedranno
la luce - ma probabilmente non prima della pubblicazione del quarto
volume della serie.

MMIX come target del GCC mi sa piu` di goliardata che altro, ma
chissa`... considerando la fame di macchine virtuali che c'e` in giro
di questi tempi (JVM, CLI, Parrot, Inferno, Amiga, Internet C++, i
vari ambienti Lisp e Scheme, etc. etc. etc.) forse non e` una cosa
proprio del tutto da ridere. :-)
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: