top of page

Computer for dummies part 3

  • Immagine del redattore: fabio
    fabio
  • 23 gen 2024
  • Tempo di lettura: 2 min


La mia saponetta é andata. No, non é un problema di igiene personale, saponetta é uno di quei piccoli router portatili della misura di un pezzo di sapone che pescano dalla rete dati a cui sei abbonato é te la restituiscono come Wi-Fi.

Sopravviveremo alla sua dipartita, c'é di peggio nella vita.

Dunque, torniamo alla nostra CPU basica, architettura Von Neumann, che potrebbe essere il 6502 o lo Z80 oppure persino l'intel 8080 che fu impiegato nel primo pc sfornato da IBM.

Dentro ci sono alcune cose principali.

  • Decodifica di istruzione

  • Control unit

  • Alu

Sono tutti nomi misteriosi. Cominciamo dalla control unit che a sua volta dentro ha 3 registri fondamentali

  • Contatore di programma o PC

  • Puntatore di stack

  • Flags

Il contatore di programma contiene l'indirizzo di memoria dove si trova la prossima istruzione da eseguire.

Quindi il gioco é semplice, l'unità di controllo mette il valore del contatore di programma sul bus indirizzi. La memoria risponde mettendo il valore 98 sul bus dati. 98 va a finire in un registro detto registro di istruzione dove la decodifica di istruzione va a pescare. Eh, oh bella, la decodifica di istruzione dopo aver scartabellato il suo manuale, scopre che 98 é il codice che richiede di Muovere nell'accumulatore il dato all'indirizzo $xxxx. Normalmente la si rappresenta come LDA $xxxx (load to A the data at address $xxxx).

La decodifica di istruzione sa anche che dopo 98 ci saranno altri 2 bytes I quali contengono $xxxx

Quindi I 2 bytes vengono caricati, ad esempio valgono 1000 é quindi messi ancora una volta sul bus indirizzi ottenendo il valore 36 dalla memoria (36 é il dato contenuto nell'indirizzo 1000). E finalmente 36 verrà spostato nell'accumulatore. Il quale non é che un registro della ALU nel quale vengono eseguite le operazioni.

Abbiamo fatto il primo step. Il contatore di programma viene incrementato di 3 (perché l'istruzione precedente era lunga in totale 3 bytes) ed il nuovo valore messo sul bus indirizzi. Otteniamo 57. La decodifica di istruzione trova che 57 significa aggiungi $yyyy all'accumulatore. Viene rappresentata come ADA $yyyy.

Andiamo a vedere cosa c'é in $yyyy e troviamo ad esempio 1001 dove troviamo il dato 19. Alla fine 19 viene aggiunto all'accumulatore dove già c'é 36 ed otteniamo 55.

La prossima istruzione ci chiedere di Muovere l'accumulatore alla locazione $zzzz che scopriremo essere ancora 1000 dove il nostro 55 andrà a finire al posto del precedente 36.

Questa sequenza é la scomposizione della riga di programma in alto livello (ad esempio C) A=A+B

See you next




 
 
 

7 Comments


fabio
fabio
Jan 23, 2024

Lo scopo di queste che Ari ha chiamato lezioni ma io non sono un professore e quindi si tratta solo di chiacchierate, é quello di mostrare la logica di questo Oggetto, il computer, che pervade la nostra vita. E non é solo il laptop ma anche il telefono, il televisore, sulle nostre auto praticamente ogni funzione é controllata da un piccolo o grande computer. La centralina abs, la centralina motore sono computer con il cosiddetto software embedded ovvero dentro c'é un solo programma e la centralina esegue solo quello. Ma anche la centralina fari, persino la centralina del portellone hanno un computer. Io stesso ho scritto Gbytes di software per il controllo dell'indicatore velocità. Gli Adas sono un'altra spatafiata …


Like
fparigi
Jan 23, 2024
Replying to

Fabio io credo invece che siano lezioni ma non nel termine barboso e rottura di palle a cui si associa la parola lezione ma nel senso di siegazioni da parte di uno che conosce le cose di cui parla e gente che e' inetressata a scoprire cose nuove. Come ha detto Ari neanche io credo che alla fine ne sapro' molto di piu' ma come hai detto una delle cose che mi affascina e capire che dietro tante cose ci sia in primo luogo l'intelligenza umana e non cose fatte a caso o per miracolo divino e noi colpevolmente diamo per scontato certe cose o peggio denigriamo con la solita frase "ma cosa ci vuole". Ora e' chiaro che molti…

Like

ari.cauzzi
ari.cauzzi
Jan 23, 2024

Grazie per queste belle lezioni di informatica Fabio, le trovo molto interessanti. Magari non mi resterà molto, i miei neuroni sono alla frutta ormai, ma mi piace cercare di capire come funzionano le cose, che si tratti di motori computer o altro.

Aspetto la parte 4 :)


Like
fabio
fabio
Jan 23, 2024
Replying to

Ari e anche Flavio, chiedete spiega di ciò che non vi é chiaro. Dal mio punto di vista sono reminescenze dei miei corsi di laurea che mi hanno accompagnato per tutta la mia vita lavorativa. In alcuni punti posso essere stato reticente, altrove posso proprio essermi spiegato male.

Ad esempio un punto ostico di solito é l'indirizzamento perché prima di arrivare al dato cercato si passa attraverso alcuni passaggi "virtuali" che a volte sconcertano.

Vi risparmio l'indirizzamento indiretto.


Like

willygb
willygb
Jan 23, 2024

Grazie Fabio, mi fai ricordare i miei primi esperimenti con le schede perforate quando da Padova i dati venivano mandati a Bologna per l’elaborazione, era il 1970. Il mio primo incontro con un computer fu con un PDP 11 con gli anellini di ferrite, riusciva addirittura a mandare l'output su una telescrivente 😳. Bei tempi, l’intelligenza artificiale non c’era ancora e bisognava arrangiarsi con quella, poca o tanta, naturale 😀

Like
willygb
willygb
Jan 23, 2024
Replying to

mi stavo dimenticando 🤷🏻‍♂️… all'epoca dei primi home computer mi presi un Texas Ti 99/4A e lo Zx Spectrum era un termine di paragone, con Vic 20 e Commodore 64 (questo roba da ricchi): l’immagine è stata la spinta per l’intervento

Like

©2019 by Romboidale. Proudly created with Wix.com

bottom of page