Zėŋōfōbìå

2 febbraio 2009

Please Perform

Filed under: informatica — Tag:, — Zeno @ 15:36

1969, sbarco sulla luna. E va bene. Per quella missione venne sviluppato e realizzato quello che potrebbe essere considerato il primo computer embedded della storia.

Il AGP disponeva di un processore con 4 registri generici da 15bit (e uno di parità), per un totale di 60 registri vari, clock di 2MHz, 4KB di RAM e 72KB di ROM, sistema operativo multitasking (non preemptive) sviluppato per l’occasione da un team di 300 persone.
Il bit di parità sulla memoria di ferrite serve a limitare i flip dovuti ai raggi cosmici (non c’è schermatura da parte dell’atmosfera) . Consumo in funzione è di 70 W (sic!) mentre in low power mode poteva scendere fino a 5 W.

Aritmetica intera a complemento a 2, aritmetica a virgola mobile con complemento a 1, cosa che comporta che esistano due rappresentazioni dello 0. Ovviamente il vantaggio è che per ottenere l’opposto di un numero basta invertire ogni singolo bit della sua rappresentazione. Esistevano single precision, a doppia e a tripla precisione.

La logica non disponeva dell’operatore AND, che veniva ottenuto facendo l’OR del negato degli argomenti (DeMorgan).

I task erano divisi in due priorità, gestiti da due code distinte. Un processo ad alta priorità, qualora occupasse più del tempo accordatgli, veniva passato alla lista a bassa priorità, soluzione che permise, durante la missione Apollo 11, di garantire l’allunnaggio. Pare che infatti, a causa di quello che ora chiameremmo “mancato controllo degli argomenti di una funzione”, un processo ad alta priorità cominciò a generare errori e fu spostato alla coda a bassa priorità.

C’è un emulatore che permette di provare a scrivere codice (rigorosamente in assembler) sul BlockII, l’embedded che ha accompagnato le varie missioni Apollo. (Ho trovato anche un simulatore di modulo lunare)

L’applicativo scritto per le missioni apollo era il DSKY, aveva una tastiera numerica, qualche altro tasto per specificare i comandi, e un interfaccia a led. Gli astronauti scrivevano le istruzioni con una struttura basata su “verb” e “noun”. I verbi per dare comandi, i nomi per specificare i dati su cui i verbi agiscono. Un esempio di comando?

Verb 06, Noun 33, Enter
Ovvero: Mostra in decimale l’ora della prossima accensione del motore.

La tabella di riferimento, a fianco del DSKY, presentava un riassunto dei verbi e dei nomi più usati.

VERB LIST
50 Please Perform
51 Please Mark
53 Please mark Alt LOG

Agc Verb Noun

Please.

Se ti rivolgi al primo computer embedded della storia, sii cortese.
Chiedigli per favore.

Annunci

3 commenti »

  1. Bellissimo! “Please perform”. Ahahahah… :D

    Commento di jp — 2 febbraio 2009 @ 16:15

  2. E sperare che lo faccia! XD

    belle queste lezioni di architettura e reti logiche ipercondensate! XD

    Commento di Nemuriko — 3 febbraio 2009 @ 14:27

  3. Credo che nello spazio faccia un certo effetto pensare che il computer possa essere permaloso…
    Del resto 2001 odissea nello spazio era un film del 1968.
    :-)

    Commento di Fabrizio — 3 febbraio 2009 @ 15:00


RSS feed for comments on this post. TrackBack URI

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger hanno fatto clic su Mi Piace per questo: