• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

8086 nello Schuttle?

weyes

Membro Senior
#4
Evidentemente no se lo Shuttle funziona come si deve. Non ti sembra?

Noi siamo abituati a ragionare in termini diversi a volte per esigenze reali (FS nel nostro caso) e a volte perche' indottrinati dalla moda o dal mercato.

Casi come quello dello Shuttle non sono infrequenti. Il processore e' scarso (oggi) ma non pensiate che vi giri sopra niente di particolarmente esoso in termini di risorse. Quello che conta e' solo l'affidabilita' al 100%.
E a volte non si puo' passare agevolmente ad una versione di CPU superiore perche' il software non compila ad esempio. O perche' vi sono parti scritte in assembler o mille altri motivi.
 

Poeta

The Boss
Staff Forum
Admin
#10
Vuoi terminare la fase di rientro?
Premi ALT-F4 :D:D:D
 
#11
Ciao,

come diceva Weyes, per applicazioni mission-critical come l'elettronica di bordo di una navicella spaziale, l'affidabilità è tutto. Aggiungerei anche, per esperienza diretta, che il contenere le dimensioni del software è estremamente importante. Sullo Shuttle, dove tutto è limato al millimetro, snellire il software di sistema anche di un solo kB può fare la differenza (oltre che aiutare l'affidabilità: righe di codice che non ci sono non possono avere bug :D )

L'8086 ha tutte le carte in regola da questo punto di vista: è un processore estremamente semplice se comparato a quelli odierni ("solo" alcune centinaia di migliaia di transistor, rispetto alle svariate centinaia di milioni delle CPU x86 dei giorni nostri) e quindi affidabile; in più, essendo lui il capostipite della famiglia x86 da cui discendono tutte le CPU con cui oggi noi lavoriamo o giochiamo, non ha subìto tutte quelle aggiunte di istruzioni macchina (operazioni a 32 bit + i vari casini multimediali tipo MMX, SSE, SSE2, 3DNow!, SSE3 ecc.ecc.) che hanno caratterizzato nel tempo i nuovi processori x86. Ne consegue che il set di istruzioni è piccolo, snello e consente di contenere la dimensione del software che ci viene sviluppato sopra (suppongo che per motivi di efficienza e compattezza sarà software scritto in gran parte direttamente in linguaggio assembly).

Se l'applicazione dell'8086 sullo shuttle è quella di gestire l'avionica di bordo, direi che la scelta è quantomai azzeccata. Non mi aspetto che vengano usati gli 8086 anche per compiti più gravosi, tipo calcoli orbitali o cose del genere, perché in questo ambito l'8086 ha due grosse controindicazioni, ovvero l'aritmetica limitata (l'8086 è una macchina a 16 bit, e quindi le operazioni aritmetiche eseguibili in un passo solo possono implicare un range limitato di valori numerici) ma soprattutto la totale mancanza di un supporto nativo per i numeri in virgola mobile (la famosa unità FPU, Floating Point Unit, che è diventata "di serie" solamente dall'80486DX in poi). Senza contare che l'8086, al contrario del suo successore 80286, non ha alcuna funzione a supporto del multi-tasking, e anche la memoria che può indirizzare è abbastanza limitata (1 MB), potremmo dire addirittura ridicola per gli standard odierni.

Ciao
Filippo