Architettura di un calcolatore Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von Neumann) indica uno schema a blocchi che descrive il comportamento di un “esecutore sequenziale a programma memorizzato” Rappresenta lo schema di base secondo cui è strutturato qualsiasi elaboratore indipendentemente dalla classe I blocchi fondamentali della struttura di un elaboratore: CPU Esecutore delle azioni Memoria Lista delle azioni e dei dati + bus di trasmissione Dispositivi I/O In / out dati ¾esecutore sequenziale a programma memorizzato Il termine “esecutore” sta ad indicare che la CPU compie “azioni” nei confronti degli altri dispositivi, prendendo o modificando informazioni dalla memoria, prendendo o fornendo informazioni ai dispositivi di I/O Memoria CPU Dispositivi I/O ¾esecutore sequenziale a programma memorizzato Il termine sequenziale intende che le azioni sono svolte dalla CPU una alla volta in successione. Le azioni che realizzano una funzione nel suo complesso si succedono con grande rapidità (velocità della CPU) La misura della rapidità con cui sono eseguite le azioni è dettata dalla frequenza di clock che indica il numero di azioni elementari al secondo eseguite da una CPU (es. 2 GHz significa due miliardi di azioni al secondo). ¾esecutore sequenziale a programma memorizzato Il termine programma indica che la CPU esegue le azioni che sono indicate in una lista di istruzioni codificate (algoritmo). Questo concetto è legato al fatto che l’ esecutore: “non sa “a priori” cosa fare ma esegue sempre una lista di istruzioni ¾esecutore sequenziale a programma memorizzato Il termine memorizzato indica che il programma (la lista di istruzioni) deve essere memorizzato in memoria centrale in forma binaria affinché la CPU possa leggere le istruzioni ,interpretarle ed eseguirle. In memoria centrale oltre alle istruzioni codificate dei programmi in corso di esecuzione ci sono anche i dati associati a tali programmi Modello carta e penna ¾Nell’azienda Rossi,tutto il personale è ammalato, tranne il sig. NERI (il custode) ¾C’è necessità assoluta di predisporre i cedolini paga degli impiegati ¾Al sig. Neri che fortunatamente sa leggere e scrivere viene detto di occuparsene ¾Neri tenta di rifiutare “non l’ho mai fatto” ¾Viene convinto dal direttore che gli descrive su un foglio tutta la sequenza di operazioni da compiere Porta Portalalacalcolatrice calcolatricesulla sullatua tuascrivania scrivania Porta Portablocco blocco fogli foglipresenze presenzesulla sullatua tuascrivania scrivania Per Perogni ognifoglio foglio presenze presenzeopera operacome comesegue: segue: Leggi Legginominativo, nominativo,ore orepresenze, presenze,quota quotaoraria oraria Imposta Impostasulla sullacalcolatrice calcolatricevalore valoreore orepresenze presenze**quota quotaoraria oraria Trascrivi Trascrivisu sufoglio fogliobusta bustapaga paganominativo nominativoed edimporto importocalcolato calcolato sulla sullacalcolatrice calcolatrice foglio istruzioni Il Sig. Neri opera autonomamente e risolve il problema Neri capisce che potrà compiere altre attività, purchè gli venga detto come operare e gli vengano forniti gli strumenti per operare ..potrà fare carriera Si evince che un problema può essere risolto, purchè sia disponibile: Una Unadescrizione descrizionedettagliata dettagliataeeprecisa precisadelle delleoperazioni operazioninecessarie necessarie (programma); (programma);nell’esempio nell’esempioililfoglio foglioistruzioni. istruzioni. Una Unaentità entitàcapace capacedi dileggere, leggere,capire capirecosa cosalegge, legge,operare operaresecondo secondo quanto quantoletto, letto,capace capacedi discrivere scrivere(NERI) (NERI) Le Leinformazioni informazionida datrattare trattare(blocco (bloccofogli foglipresenze) presenze) Uno Unostrumento strumentodi dicalcolo calcolo(calcolatrice) (calcolatrice) Un Unsupporto supportodi diuscita uscitaper perle leinformazioni informazioniprodotte prodotte(cedolini (cedolinipaga) paga) Modello carta e penna processore Foglio ingresso (periferica IN) Foglio istruzioni (memoria centrale) Foglio uscita (periferica OUT) Calcolatrice (unità aritmetica) Altra attività del sig. NERI Cambiare foglio istruzioni e eventualmente foglio ingresso Schema di principio di un elaboratore Nel tempo, nell’architettura delle macchine, per elevare le velocità di funzionamento di un calcolatore sono state apportate modifiche rispetto al modello di Von Neumann La natura rigidamente sequenziale del modello non consentiva il sovrapporsi di operazioni. Tutte le operazioni erano gestite sequenzialmente dalla CPU. Per ovviare a tale limitazione : macchine biprocessori Un ‘altra variante è dettata dall’utilizzo dei processori dedicati (canali) con il compito di scaricare la CPU dalla gestione di attività specifiche (es. l’I/O). I canali una volta attivati lavorano in autonomia in contemporanea alla CPU. L’autonomia ai canali (inizia a lavorare) è dettata sempre dalla CPU Per attivare un canale, nell’architettura si è introdotto un segnale di interruzione (interrupt) che viene lanciato da una unità esterna quando chiede attenzione alla CPU per operare. Alla ricezione la CPU può attivare,se esiste, il corrispondente canale. Allo stesso modo, quando un canale ha terminato la sua attività lancia alla CPU un analogo segnale (interrupt di fine attività) I primi canali implementati sono stati quelli dedicati all’i I/O ed alle operazioni sui numeri reali (coprocessori matematici). Oggi sono attivi processori dedicati alla grafica, alla acquisizione di segnali analogici,……. L’introduzione dei canali e del sistema delle interruzioni porta al parallelismo nello svolgimento di attività. Nello stesso istante possono essere attivi: -il canale di output per stampare dati, -il canale di input per prelevare dati da tastiera -la CPU per altre operazioni. Altra modifica al modello Von Neuman è data dalla introduzione della memoria cache (una memoria “accessoria “ del processore) La memoria cache è impiegata per contenere dati o istruzioni di presunto prossimo utilizzo del processore e siccome è dotata di tempo di accesso molto basso rispetto alla memoria centrale, i vantaggi operativi per il processore sono notevoli CPU CPU CACHE CACHE CENTRALE CENTRALE La comunicazione fra i blocchi –Il bus La Cpu comunica con la memoria e con i dispositivi di I/O tramite tre canali (fisicamente collegamenti in rame) detti genericamente bus Un bus è un insieme di fili conduttori, che possono trasferire segnali elettrici di tipo logico. Il termine bus sta ad indicare che il collegamento è condiviso da più dispositivi. Un dispositivo collegato ad un bus può potenzialmente mettersi in comunicazione con un qualsiasi altro dispositivo collegato allo stesso bus. I bus collegano due unità alla volta con l’abilitazione di una alla trasmissione e di un’altra alla ricezione. Il tutto avviene sotto il controllo della CPU. A seconda delle informazioni trasportate: ¾bus dati (data bus) ¾bus indirizzi (address bus) ¾bus comandi (control bus) Bus dei dati: per il trasferimento delle informazioni tra CPU-memoria o tra CPU-I/O. Bus degli indirizzi : per la selezione dell’elemento di memoria (cella) o dell’elemento di I/O coinvolto nella operazione di trasferimento di informazioni (lettura o scrittura). Bus comandi :utilizzato dalla CPU per indicare ai dispositivi cosa essi devono fare. Tipici segnali del control bus sono quelli di read e write mediante i quali la CPU in dica ai dispositivi se devono leggere un dato dal data bus o scriverlo su di esso Stampante Modem Mouse Tastiera Controller Controller disco disco porte porte Scheda Scheda video video CPU CPU Scheda Scheda audio audio RAM RAM bus Disegno schematico di un Personal Computer Scheda Scheda rete rete Il numero di bit dell’address bus indica : -la capacità di indirizzamento della CPU, ossia la sua capacità di gestire la dimensione della memoria centrale ed il numero di dispositivi di I/O. Un address bus ad N bit consente la selezione di 2N registri. Ad esempio, un processore a 32 bit può indirizzare 232 locazioni (da 0 a 1334879296) ovvero una memoria di 4 GB. Parimenti la dimensione del data bus caratterizza la velocità di scambio delle informazioni tra i diversi dispositivi in quanto con m fili solo m bit possono viaggiare in contemporanea. Lo scambio di informazioni tra tutti i componenti utilizzando “l’autostrada” dei bus si caratterizza per le seguenti regole: -la CPU è l’unico fornitore di indirizzo all’address bus -Memorie e dispositivi di I/O “ascoltano” l’address bus per attivarsi quando su di esso compare il proprio indirizzo identificativo -Il dispositivo attivo deve interpretare i segnali del control bus per eseguire i comandi della CPU -Le memorie prelevano dati dal data bus o immettono dati in esso in funzione del comando impartito dalla CPU -I dispositivi di input possono solo immettere dati sul bus; quelli di output solo prelevarli