Architettura del calcolatore, le componenti principali
Transcript
Architettura del calcolatore, le componenti principali
Elementi di informatica Architetture degli elaboratori Il calcolatore ¾ Un calcolatore è sistema composto da un elevato numero di componenti ¾ Il suo funzionamento può essere descritto se lo si considera come un sistema strutturato in forma gerarchica ¾ Ogni componente ha una sua funzione 1 Funzionalità di un calcolatore Codifica dell'Informazione 3 Funzionalità di un calcolatore: elaborazione ¾Flessibilità Adatta a svolgere diverse tipologie di compiti ¾Modularità Ogni componente ha una funzione specifica ¾Scalabilità Ogni componente può essere sostituito con uno equivalente ¾Standardizzazione Componenti facilmente sostituibili in caso di malfunzionamento ¾Riduzione dei costi Grazie alla produzione su larga scala ¾Semplicità Di installazione ed esercizio del sistema 2 Funzionalità di un calcolatore: memorizzare dati la memorizzazione dei dati: 9 per brevi periodi (i risultati di operazioni intermedie) 9 per lunghi periodi (archivi elettronici che sostituiscono quelli cartacei) Funzionalità di un calcolatore: trasferimento dati Trasferimento dei dati: Comunicazione con l’ambiente esterno; Uso di dispositivi ausiliari “periferiche” che svolgono operazioni di ingresso uscita. 3 Funzionalità di un calcolatore: controllo L’utente la realizza impartendo comandi al calcolatore Il calcolatore coordina le risorse al fine di svolgere le operazioni corrispondenti ai comandi Il modello concettuale 4 Il modello architetturale L’architettura di riferimento ¾ Il componente principale è l’unità di elaborazione centrale (central processing unit, CPU, processore) a cui sono affidate le operazioni di controllo e coordinamento; ¾ Per la memorizzazione dei dati è presente una memoria (indirizzo); ¾ Il collegamento tra queste unità è realizzato da un bus (master-slave) 5 Lo schema di riferimento Lo schema di riferimento RAM CPU Scheda madre (motherboard ) Bus dati Bus Bus di indirizzi controllo Interfacce di I/O Interfaccia di I/O Schermo Tastiera e mouse Altoparlanti Interfacce di I/O Memoria di massa 6 Scheda madre Connettori per schede di I/O aggiuntive Zoccolo per la CPU Connettori per la memoria Connettori per dischi fissi Caratteristiche del collegamento al Bus 9 Semplicità un’unica linea di connessione Æ costi ridotti di produzione 9 Estendibilità Estendibilità aggiunta di nuovi dispositivi molto semplice 9 Standardizzabilità Standardizzabilità regole per la comunicazione da parte di dispositivi diversi 9 Lentezza utilizzo in mutua esclusione del bus 9 Limitatà Limitatà capacità capacità al crescere del numero di dispositivi collegati 9 Sovraccarico del processore (CPU) perché perché funge da master sul controllo del bus 7 Il bus Il bus può essere suddiviso in tre componenti Bus dati Bus indirizzi Bus di controllo L’esecutore Un calcolatore esegue un programma sulla base dei seguenti principi: Dati e istruzioni in memoria; I contenuti della memoria sono indirizzabili in base alla posizione; Le istruzioni vengono eseguite in modo sequenziale; 8 Tre tipologie di istruzioni ¾ Istruzioni aritmeticoaritmetico-logiche (Elaborazione dati) Somma, Sottrazione, Divisione, .. And, Or, Xor,…. Xor,…. Maggiore, Minore, Uguale,… ¾ Controlo del flusso delle istruzioni Sequenza Selezione semplice, a due vie, a n vie, … Ciclo a condizione iniziale, ciclo a condizione finale,.. ¾ Trasferimento di informazione Trasferimento dati e istruzioni tra CPU e memoria Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le relative interfacce) Elementi di una CPU ¾Unità di controllo legge le istruzioni dalla memoria e ne determina il tipo ¾Unità aritmetico logica esegue le operazioni necessarie per eseguire le istruzioni ¾Registri memoria ad alta velocità usata per risultati temporanei e informazioni di controllo; il valore massimo memorizzabile in un registro è determinato dalle dimensioni del registro; esistono registri di uso generico e registri specifici; 9 I registri sempre presenti: PC (Program Counter) Counter) indica la prossima istruzione da eseguire IR (Instruction Register) contiene una copia dell’istruzione da eseguire MAR (Memory Address Register) Register) contiene l’indirizzi di memoria dove estrarre il dato MDR (Memory (Memory Data Register) Register) contiene una copia del dato estratto dalla memoria PSW (Processor (Processor Status Word) codifica sullo stato di esecuzione dell’istruzione Struttura del data path 10 Struttura della CPU Esecuzione delle istruzioni Ciclo FetchFetch-DecodeDecode-Execute (leggileggi-decodificadecodifica-esegui) esegui) 1. Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni(IR); istruzioni(IR); 2. Incrementa in program counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva; 3. Determina il tipo dell’istruzione corrente (decodifica); (decodifica); 4. Se l’istruzione usa una parola in memoria determina dove si trova; 5. Carica la parola se necessario, in un registro della CPU; 6. Esegui l’istruzione. 7. Torna al punto 1 e inizia a eseguire l’istruzione successiva; 11 Il clock Le varie unità operano in modo coordinato dal punto di vista della temporizzazione degli eventi. Un orologio (clock) fornisce una cadenza temporale a cui tutte le attività elementari sono sincronizzate La frequenza di clock è il numero di attività elementari nell’unità di tempo (Mhz) Concorre a determinare la velocità di elaborazione Evoluzione delle CPU 12