Visto il successo del corso per Nabbi sulla CPU, vediamo di estendere le informazioni che riguardano il processore, alle periferiche e alle interazioni con esse, immediatamente più vicine alla CPU.
Solito doveroso Disclaimer: il linguaggio estremamente semplificato e goliardico è a scopo didattico, atto a generare figure mentali elementari che possano essere costruite-assimilate dal più vasto pubblico possibile, specie quello senza minime cognizioni tecniche.
Per seguire proficuamente questo corso avanzato, è necessario avere studiato ed appreso i concetti espressi nel corso base precedente.
Suggerisco, se volete diventare veramente padroni della materia tecnica, una rilettura del corso precedente.
Lezione 1: Il BIOS
Allora... ci eravamo lasciati con queste informazioni, che dovrebbero essere state acquisite:
- Una CPU capisce SOLO il binario
- Una CPU deve contare
- Una CPU ha un Modulo di clock che scandisce il ritmo delle sue operazioni
- Una CPU esegue operazioni aritmetiche e logiche con il Modulo ALU
- Una CPU ha dei piedini, detti anche di FLAG, che indicano che è successo qualcosa di cui tenere conto
- Una CPU ha un numero elevato di Moduli Registri, che memorizzano i dati in attesa di passarli all'ALU o verso le Uscite
- Una CPU capisce SOLO il Binario, linguaggio di BASSO LIVELLO, ma l'uomo ha altre soluzioni di ALTO LIVELLO per programmarla.
- Una CPU da 8 bit in su usa i BYTE, ovvero istruzioni e dati composti da blocchi di 8 cifre, che sono anche due numeri Esadecimali
- Una CPU contiene al suo interno un Modulo FPU che si occupa delle operazioni sui numeri con la virgola
- Una CPU DEVE avere una memoria esterna dove prende le ISTRUZIONI e i DATI del programma
- Una CPU ha un BUS indirizzi per indirizzare la memoria a fornire dalla sua uscita i dati/istruzioni, che poi rientrano dentro la CPU dal BUS DATI
- Una CPU ha un piedino di RESET che porta a zero tutti i suoi registri, tutte le sue uscite e tutte le sue entrate.
In particolare avevamo studiato le comunicazioni con la menoria, attraverso il BUS indirizzi ed il BUS dati.
Sappiamo che il Bus indirizzi è solamente di uscita verso la memoria, mentre il Bus dati è bi-direzionale, per ricevere o trasmettere dati da e verso la CPU.
Guardate la direzione delle frecce: nel BUS memoria vanno solo verso l'esterno, mentre per i DATI, le frecce vanno in entrambe le direzioni
Rammento che quella descritta è una Architettura tipica Von Neuman.
Abbiamo visto che dentro la RAM c'è il programma da eseguire, distinto in numeri binari che rappresentano semplici DATI e numeri binari che rappresentano delle ISTRUZIONI da eseguire su questi DATI da parte della CPU.
Una CPU a 16 bit di indirizzamento può contare da 0000000000000000 a 1111111111111111, cioè (in Umanesco) da 0 a 65535, oppure in Exa da 0000 a FFFF. Insomma, puòà indirizzare al massimo 65535 Byte (se le uscite dati sono a 8 bit) che sono semplificati in 64K (anche se in realtà sono 65535!). Qualcuno si ricorderà i 64K del Commodore 64.
Ora analizziamo un attimo lo schema sotto:
Vedete che ci sono sul BUS 2 tiopi diversi di memoria: una ROM e una RAM.
Ora siccome anche le capre sanno che una ROM è una memoria non riscrivibile, mentre la RAM è una memoria volatile ad accesso casuale, c'è da chiedersi il perchè di due tipologie di memoria.
Nella memoria ROM (che in realtà può essere una PROM; una EPROM, o una EEPROM) vengono inserite delle funzioni base che sono previste dal produttore. In genere dall'indirizzo 0000000000000000 fino ad un certo indirizzo dettato dalla dimensione in KB di questa memoria.
Questa memoria è il BIOS: Basic Input-Output System
Il Processore legge le istruzioni ivi contenute per per fare il boot (booting= infilarsi uno stivale, calzarlo, assestamento tra piede e stivale) una metafora per indicare che il processore si calza al meglio tutte le periferiche di cui è circondato.
In quel "coso" sono memorizzati tutti i parametri delle periferiche di base della scheda madre, dati che il Processore legge al boot. Di solito le porte di cui dispone, USB, Seriali, Parallele, i Chipset, i parametri delle RAM (tempi di lettura, scrittura), indirizzi a cui trovare tutte queste periferiche, ecc.
Quindi, dopo il reset della partenza, il processore comincia a leggere dalla memoria all'indirizzo 0000000000000000 e passa al 0000000000000001 e così via.
All'accensione la RAM è VUOTA (ovviamente dopo il reset!) quindi le uniche istruzioni che può esegure la CPU sono quelle contenute nel BIOS nei primissi indirizzi della memoria.
Il Processore legge, chessò, fino alla locazione-cella 1024 (numero Umano) cioè fino alla locazione 0800 (in Exa) il programma del BIOS, poi, essendo finito il BIOS, il programma in esso contenuto, o il processore si ferma (non c'è più niente!) oppure le ultime istruzioni il BIOS dice al processore di passare ad un'altra memoria, che di norma sarebbe il Disco fisso, l'HD.
Il BIOS all'ultima istruzione che contiene, dice al processore di passare lall'HD, cioè al settore 0 di questo, chje contiene l'MBR, il Master Boot Record, ovvero il settore di avvio, che poi passerà a caricare un eventuale Sistema Operativo (DOS, Windows, LINUX, quellochevolete).
Due parole riassuntive ancora sul BIOS:
Il BIOS contiene informazione del produttore della Scheda Madre. In pratica comunica alla CPU informazioni su tutte le periferiche di cui è circondato e i loro parametri di funzionamento. Inoltre fornisce un sistema di RTC - Real Time Clock, cioè un Orologio alimentato che consente di dare data e ora assoluti anche dopo lo spegnimento (grazie ad una piccola batteria).
Il BIOS, di solito, è una lenta EPROM, quindi viene ri-memorizzata completamente nelle prime locazioni della più veloce RAM, in modo che il Processore, o il SOP, possa accedere alle sue funzioni in maniera più rapida. Questa memoria viene chiamata Memoria Shadow o Shadow Ram.
Questa memoria è INVIOLABILE! Ovvero niente e nessuno puà scrivere in questa porzione di memoria dove risisedono le funzioni basiche Hardware, che viene caricata all'avvio nei primissimi numeri della RAM.
Ho la sensazione di aver dimenticato molte cose, ma eventualmente qualcuno farà qualche domanda in merito.
Aggiorniamo il NaBBometro:
Una CPU è accompagnata da un BIOS, una porzione di memoria dove sono scritte delle funzioni base dell'Harware circostante.
Una CPU legge le primissime istruzioni dal BIOS, durante il BOOT, finito il quale poi passa a leggere le istruzioni sull'Hard Disk
Una CPU, dopo averlo letto, riscrive tutto il programma BIOS nella RAM, in modo da accedervi velocemente. Questo spazio è INVIOLABILE.
Solito doveroso Disclaimer: il linguaggio estremamente semplificato e goliardico è a scopo didattico, atto a generare figure mentali elementari che possano essere costruite-assimilate dal più vasto pubblico possibile, specie quello senza minime cognizioni tecniche.
Per seguire proficuamente questo corso avanzato, è necessario avere studiato ed appreso i concetti espressi nel corso base precedente.
Suggerisco, se volete diventare veramente padroni della materia tecnica, una rilettura del corso precedente.
Lezione 1: Il BIOS
Allora... ci eravamo lasciati con queste informazioni, che dovrebbero essere state acquisite:
- Una CPU capisce SOLO il binario
- Una CPU deve contare
- Una CPU ha un Modulo di clock che scandisce il ritmo delle sue operazioni
- Una CPU esegue operazioni aritmetiche e logiche con il Modulo ALU
- Una CPU ha dei piedini, detti anche di FLAG, che indicano che è successo qualcosa di cui tenere conto
- Una CPU ha un numero elevato di Moduli Registri, che memorizzano i dati in attesa di passarli all'ALU o verso le Uscite
- Una CPU capisce SOLO il Binario, linguaggio di BASSO LIVELLO, ma l'uomo ha altre soluzioni di ALTO LIVELLO per programmarla.
- Una CPU da 8 bit in su usa i BYTE, ovvero istruzioni e dati composti da blocchi di 8 cifre, che sono anche due numeri Esadecimali
- Una CPU contiene al suo interno un Modulo FPU che si occupa delle operazioni sui numeri con la virgola
- Una CPU DEVE avere una memoria esterna dove prende le ISTRUZIONI e i DATI del programma
- Una CPU ha un BUS indirizzi per indirizzare la memoria a fornire dalla sua uscita i dati/istruzioni, che poi rientrano dentro la CPU dal BUS DATI
- Una CPU ha un piedino di RESET che porta a zero tutti i suoi registri, tutte le sue uscite e tutte le sue entrate.
In particolare avevamo studiato le comunicazioni con la menoria, attraverso il BUS indirizzi ed il BUS dati.
Sappiamo che il Bus indirizzi è solamente di uscita verso la memoria, mentre il Bus dati è bi-direzionale, per ricevere o trasmettere dati da e verso la CPU.
Guardate la direzione delle frecce: nel BUS memoria vanno solo verso l'esterno, mentre per i DATI, le frecce vanno in entrambe le direzioni
Rammento che quella descritta è una Architettura tipica Von Neuman.
Abbiamo visto che dentro la RAM c'è il programma da eseguire, distinto in numeri binari che rappresentano semplici DATI e numeri binari che rappresentano delle ISTRUZIONI da eseguire su questi DATI da parte della CPU.
Una CPU a 16 bit di indirizzamento può contare da 0000000000000000 a 1111111111111111, cioè (in Umanesco) da 0 a 65535, oppure in Exa da 0000 a FFFF. Insomma, puòà indirizzare al massimo 65535 Byte (se le uscite dati sono a 8 bit) che sono semplificati in 64K (anche se in realtà sono 65535!). Qualcuno si ricorderà i 64K del Commodore 64.
Ora analizziamo un attimo lo schema sotto:
Vedete che ci sono sul BUS 2 tiopi diversi di memoria: una ROM e una RAM.
Ora siccome anche le capre sanno che una ROM è una memoria non riscrivibile, mentre la RAM è una memoria volatile ad accesso casuale, c'è da chiedersi il perchè di due tipologie di memoria.
Nella memoria ROM (che in realtà può essere una PROM; una EPROM, o una EEPROM) vengono inserite delle funzioni base che sono previste dal produttore. In genere dall'indirizzo 0000000000000000 fino ad un certo indirizzo dettato dalla dimensione in KB di questa memoria.
Questa memoria è il BIOS: Basic Input-Output System
Il Processore legge le istruzioni ivi contenute per per fare il boot (booting= infilarsi uno stivale, calzarlo, assestamento tra piede e stivale) una metafora per indicare che il processore si calza al meglio tutte le periferiche di cui è circondato.
In quel "coso" sono memorizzati tutti i parametri delle periferiche di base della scheda madre, dati che il Processore legge al boot. Di solito le porte di cui dispone, USB, Seriali, Parallele, i Chipset, i parametri delle RAM (tempi di lettura, scrittura), indirizzi a cui trovare tutte queste periferiche, ecc.
Quindi, dopo il reset della partenza, il processore comincia a leggere dalla memoria all'indirizzo 0000000000000000 e passa al 0000000000000001 e così via.
All'accensione la RAM è VUOTA (ovviamente dopo il reset!) quindi le uniche istruzioni che può esegure la CPU sono quelle contenute nel BIOS nei primissi indirizzi della memoria.
Il Processore legge, chessò, fino alla locazione-cella 1024 (numero Umano) cioè fino alla locazione 0800 (in Exa) il programma del BIOS, poi, essendo finito il BIOS, il programma in esso contenuto, o il processore si ferma (non c'è più niente!) oppure le ultime istruzioni il BIOS dice al processore di passare ad un'altra memoria, che di norma sarebbe il Disco fisso, l'HD.
Il BIOS all'ultima istruzione che contiene, dice al processore di passare lall'HD, cioè al settore 0 di questo, chje contiene l'MBR, il Master Boot Record, ovvero il settore di avvio, che poi passerà a caricare un eventuale Sistema Operativo (DOS, Windows, LINUX, quellochevolete).
Due parole riassuntive ancora sul BIOS:
Il BIOS contiene informazione del produttore della Scheda Madre. In pratica comunica alla CPU informazioni su tutte le periferiche di cui è circondato e i loro parametri di funzionamento. Inoltre fornisce un sistema di RTC - Real Time Clock, cioè un Orologio alimentato che consente di dare data e ora assoluti anche dopo lo spegnimento (grazie ad una piccola batteria).
Il BIOS, di solito, è una lenta EPROM, quindi viene ri-memorizzata completamente nelle prime locazioni della più veloce RAM, in modo che il Processore, o il SOP, possa accedere alle sue funzioni in maniera più rapida. Questa memoria viene chiamata Memoria Shadow o Shadow Ram.
Questa memoria è INVIOLABILE! Ovvero niente e nessuno puà scrivere in questa porzione di memoria dove risisedono le funzioni basiche Hardware, che viene caricata all'avvio nei primissimi numeri della RAM.
Ho la sensazione di aver dimenticato molte cose, ma eventualmente qualcuno farà qualche domanda in merito.
Aggiorniamo il NaBBometro:
Una CPU è accompagnata da un BIOS, una porzione di memoria dove sono scritte delle funzioni base dell'Harware circostante.
Una CPU legge le primissime istruzioni dal BIOS, durante il BOOT, finito il quale poi passa a leggere le istruzioni sull'Hard Disk
Una CPU, dopo averlo letto, riscrive tutto il programma BIOS nella RAM, in modo da accedervi velocemente. Questo spazio è INVIOLABILE.
Ultima modifica: