Estratto del documento

La tastiera e il mouse sono dispositivi di input che utilizziamo per fornire istruzioni al calcolatore.

Questo schema ricorda lo schema di Von Neumann, il promo schema di calcolatori. Ho una serie di

dispositivi di input, che forniscono istruzioni al calcolatore, una CPU che manipola ed esegue

programmi. Una memoria con interazione bidimensionale attraverso cui si prendono programmi, si

eseguono e si salvano le soluzioni nella memoria; e dispositivi di output attraverso cui si mostrano

le soluzioni agli utenti.

Una CPU, il cuore del calcolatore, come va a eseguire le istruzioni di un programma? Un

programma è una sequenza di istruzioni, scritte in un particolare linguaggio di programmazione. La

CPU fa 3 step:

1. FETCH: la CPU legge l’istruzione che gli serve del programma dalla memoria secondaria e va

a prendersi l’istruzione. Noi scriveremo programmi con Phyton, e quindi scriveremo istruzioni

in un formato che si avvicina al linguaggio naturale, se le fornissimo alla CPU, non accade nulla

perche essa non è in grado di ragionare su istruzioni scritte in questa maniera; essa ragiona su

istruzioni scritte su un linguaggio binario (sequenze di zero e uno). Dati che quest’istruzione

non può essere eseguita così com’è, c’è una seconda fase:

2. DECODE: in questa fase la CPU ottiene una versione binaria delle istruzioni scritte in Phyton,

a fare questa traduzione da codice altolivello a codice binario, c’è un componente specifico del

linguaggio di programmazione che lo fa. La CPU interpreta le istruzioni, le decodifica. Ogni

istruzione è un’operazione che noi effettuiamo sulla memoria; può essere un’operazione

aritmetica, la lettura di un database, può essere semplice o molto complessa. Una volta

decodificata un’istruzione essa viene eseguita; decodificata significa che viene compresa dalla

CPU in formato binario, poi viene eseguita.

3. EXECUTE, poi i risultati vengono memorizzati all’interno di opportuni registri, celle di

memoria.

Cosa sono i registri? Essi sono celle di memoria di supporto che la CPU utilizza nel momento in

cui va a eseguire le operazioni.

Una CPU al proprio interno ha vari tipi di registri (celle di memoria specifiche per la CPU, che si

trovano direttamente dentro la CPU). Essendo all’interno della CPU, la CPU può accedere a questi

registri molto rapidamente, quasi in maniera immediata rispetto alla RAM, la connessione con essa

richiede uno specifico bus di sistema che è più lento rispetto alla comunicazione che avviene con i

registri nella CPU, questo perché i registri nella CPU stanno all’interno di essa.

Le CPU possono avere numerosi registri tra cui:

PC (Program Counter) è quel registri che si occupa di memorizzare l’indirizzo dell’istruzione

⁃ successiva da eseguire. Quando si esegue in istruzione ci viene fornito un indirizzo alla cella di

memoria in cui si trova l’istruzione, la CPU va in quella cella di memoria, esegue l’istruzione e

il Program Counter viene aggiornato all’indirizzo dell’istruzione successiva. È un registro

fondamentale per eseguire in maniera sequenziale le istruzioni del programma.

ACC (Accumulatore) registro che si occupa di memorizzare i risultati delle operazioni

⁃ eseguite attraverso le nostre istruzioni.

Ora parliamo delle due memorie principali che esistono all’interno di un calcolatore e di una terza

memoria che è di supporto, la memoria Cache.

La RAM (Random Access Memory)

Random Access Memory, significa memoria ad accesso casuale, questo significa che è formata da

⑪ varie celle, e ogni cella è formata da un particolare indirizzo. Noi possiamo accedere a vari indirizzi

di memoria. Memoria ad accesso casuale significa che qualsiasi indirizzo di memoria io voglio

accedere impiegherò sempre lo stesso tempo. Mentre alcune memorie in passato consentivano un

accesso sequenziale, quindi prima di arrivare alla 10 devo andare in quelle precedenti, questa no, ho

un accesso diretto a qualsiasi cella con lo stesso tempo.

② È una memoria volatile, i dati memorizzati nella RAM, una volta che non esiste più tensione di

corrente, cioè una volta che spengo il pc le informazioni le perdo.

Quando si acquista un computer la memoria RAM è sempre minore di quella secondaria. Per questo

③ motivo dato che la capienza della RAM è minore della capienza della memoria secondaria, la RAM

viene sovrascritta quando la CPU opera sui vari programmi.

La RAM viene riempita in maniera più veloce, quindi la CPU deve ragionare con quali programmi

riempire la RAM e quali lasciare alla memoria secondaria.

La CPU in base quali programmi deve eseguire elimina dalla RAM quei frammenti di programma

che non servono, quindi va a metterli nella memoria secondaria, e va a caricare la RAM con le

istruzioni necessarie per l’esecuzione del programma attuale.

Nella RAM, una volta acceso il pc, viene caricato immediatamente il sistema operativo. Esso è il

primo programma che viene caricato nella RAM perché perennemente in esecuzione, e un

⑫ frammento della RAM è sempre occupato dalle istruzioni del sistema operativo. Quindi la RAM è

fondamentale per il sistema operativo, per memorizzare i programmi prima della loro esecuzione

(voglio eseguire un word, le istruzioni vengono caricate sulla RAM, la CPU può operare su quelle

istruzioni), e memorizzare i dati utente provenienti dalle periferiche (in genere i dati e le soluzioni

di un programma vengono memorizzate o nei registri o nelle memorie secondarie; se sto eseguendo

un programma e ho bisogno di soluzioni intermedie vengono messe nella RAM perché servono

subito).

Perché si distingue tra RAM e memoria secondaria? Perché andrebbe tutto perso e perchè è più

lenta. La comunicazione tra la memoria secondaria e la CPU avviene attraverso il bus condiviso di

sistema attraverso cui passa tutto, ed è molto lento rispetto alla connessione tra la CPU e la ram

perché avviene attraverso un canale di comunicazione dedicato, che consente una comunicazione

più veloce.

Esiste un altro tipo di memoria, la memoria cache, esse sono altre celle di memoria. Sono memorie

intermedie tra la CPU e la RAM, e consentono una comunicazione ancora più veloce. Sono parti di

memoria collegate alla CPU e quando dobbiamo eseguire operazioni critiche (quelle in cui l’utente

aspetta il feedback) anzichè passare per la RAM, memorizziamo istruzioni critiche in queste

memorie cache.

Queste celle di memoria hanno capienza molto ridotta 128 kilobyte, e hanno lo scopo di velocizzare

al massimo istruzioni urgenti per la CPU. Sono memorie molto piccole, possiamo salvare

pochissime istruzioni. Le istruzioni poi vengono sovrascritta nella ROM.

Esistono più livelli di cache, L1, L2, L3, L1 sono le più piccole e più rapide, L3 sono le più grandi e

più lente. La CPU, quindi prima di passare per la RAM passa per le cache, collegate direttamente

alla CPU.

Mentre la CPU ha un collegamento secondario con la RAM, e un collegamento condiviso con la

ROM, qui il collegamento è diretto.

Il tempo medio di accesso alla RAM è di 50-70 nanosecondi mentre inferiore di 10 nanosecondi per

accedere alla memoria cache.

Ricapitolando: la CPU ha bisogno di un particolare dato, prima cerca il dato nella cache (la sua

memoria preferenziale), se lo trova lo utilizza e lo legge, se non lo trova passa alla RAM. Quando

reperisce il dato dalla RAM se è necessario sposta quel dato nella cache, in maniera tale che può

lavorare su quel programma in maniera più rapida.

La ROM, il disco rigido, una memoria secondaria; esso è l’acronimo di Read Only Memory,

poiché questa veniva scritta e poi veniva solo letta. È rimasto questo termine, ma ora la

caratteristica è che è una memoria ad accesso casuale, è quindi indifferente il tempo con il quale si

1 accede ad una cella di istruzione indipendentemente da dove sia locata l’istruzione nella cella.

È una memoria non volatile, ma permanente, significa che i dati che memorizzo rimarranno salvato

2 nell’hardisk anche dopo che non c’è tensione elettrica. Questa è la differenza sostanziale, anche

quella della comunicazione è un’altra differenza ovvero che la comunicazione tra la CPU e la ROM

è molto lenta poiché ho un canale di comunicazione condiviso.

La ROM viene utilizzata per memorizzare i programmi, ma c’è un software molto importante, che

consente all’utente di interagire con il computer, è un software che gestisce l’interazione con il

computer, il sistema operativo.

Il primo software che viene lanciato è Bios, verifica che tutti i componenti hardware del pc stanno

in buona salute, siano vivi, non ci siano problemi hardware. È un software dove posso andare a

verificare lo stato dei vari componenti hardware del mio pc, ma anche a operare scelte di

configurazione del pc a basso livello.

Quali sono le funzioni principali del Bios?

1. verifica che i componenti hardware siano sani se non lo fossero agisce con dei beep.

2. Carica i driver (i driver sono i programmi che consentono il funzionamento dei componenti

hardware come la scheda video. Quando accendo il pc i driver non stanno nella RAM, dopo

aver verificato che i componenti hardware sono sani, vado a caricare i driver, vado a lanciare i

driver: metto i software che mi servono per far funzionare l’hardware nella RAM, i driver

devono essere sempre nella RAM, perché sempre funzionante).

3. Check della memoria, si fanno controlli sul funzionamento della memoria

4. Viene caricato il primo software necessario per l’interazione con il pc, il sistema operativo

(Windows, Mac).

Tecnicamente accendiamo il pc, si stabilizza una tensione elettrica, viene inviato un comando di

reset alla CPU, questo comando è legato a una cella permanente, un indirizzo di jump (che è in

grado di interpretare solo questo comando di reset) la CPU fa partire il Bios che controlla lo stato

dell’hardware, carica i driver, carica il sistema operativo e il sistema operativo carica tutti gli altri

software.

Le schede periferiche consentono di interagire in modalità input (tastiere, mouse) o in modalità

output (stampanti, schede video) tra il calcolatore e un ente.

Come sono collegate le due memorie tra di loro? In realtà le due memorie non hanno un

collegamento diretto tra loro, ma sono collegate tramite un bus di sistema, tramite il canale di

comunicazione condiviso.

Schede di rete: consentono la connessione a internet, possono essere wired (via cavo) o wireless.

Un programmatore non scrive istruzioni in un linguaggio macchina, negli anni i software hanno

sempre scritto in modalità diversa da una notazione binaria cioè utilizzando istruzioni sempre più

vicin

Anteprima
Vedrai una selezione di 3 pagine su 6
Calcolatori elettronici  Pag. 1 Calcolatori elettronici  Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Calcolatori elettronici  Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ludovicaa.ioffredi di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Marrella Andrea.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community