ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente il computer riceve i dati e le istruzioni in ingresso (input) e dopo averli elaborati li restituisce in uscita (output) trasformati in risultati. 1
Entrato in contato con il progetto ARCHITETTURA DI VON NEUMANN per la realizzazione di Eniac, uno dei primi importanti computer, tra il 1944 e il 1945 sviluppò l'architettura di computer che prende il suo nome ed è alla base dei moderni calcolatori elettronici. Lo schema si basa su quattro componenti fondamentali: 1. CPU o unità centrale di elaborazione (in italiano UCE) che si divide a sua volta in: o o Unità operativa, nella quale uno dei sottosistemi più rilevanti è l'alu (unità logicoaritmetica) Unità di controllo 2. Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory) 3. Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati 4. Unità di output, necessaria affinché i dati elaborati possano essere restituiti all'operatore. 2
3
Unità centrale di elaborazione CPU La C.P.U. ( Central Processing Unit) elabora i dati eseguendo le operazioni richieste dal programma. regolata da un orologio (clock). Velocità del clock in MHz milioni di cicli al secondo Istruzione più cicli di clock al secondo La CPU è composta da : l unità logico-aritmetica detta ALU l unità di controllo detta CU registri 4
L A.L.U (Arithmetic Logic Unit) ha il compito di eseguire le operazioni aritmetiche e logiche sui dati provenienti dalla memoria nell ambito dell algebra di Boole Struttura ALU Rete logica: insieme di circuiti elettronici elementari che consentono operazioni aritmetiche (ADD,SUB,MUL,DIV) operazioni logiche (AND, OR, NOT) Uno o più registri accumulatori Un registro di stato 5
Unità di controllo La C.U. (Control Unit) ha il compito di gestire e controllare il funzionamento di tutte le componenti del computer; ha quindi funzioni di tipo decisionale e di coordinamento 6
Registri di uso generale Manipolazione temporanea di dati e indirizzi per semplificare le operazioni e renderle più veloci, evitando l intervento continuo della memoria esterna. Classificazione: Accumulatore (ACC) registro istruzioni (Instruction Register) registro indirizzi (Address Register) Registri generici Registri floating-point 7
Registro istruzione contiene in linguaggio binario il Codice binario di una istruzione (la codifica dipende dal linguaggio macchina) Registri floating-point sono usati per memorizzare numeri a virgola mobile. Registri di uso speciale contatore di programma ( Program Counter) registro parola di stato (Process Status-Word) flags di stato (C,Z,V,S) puntatore di stack (Stack Pointer) 8
Registro parola di stato-psw Informazioni riguardanti lo stato del sistema flag C (carry) (presenza di riporti):vale 1 se la somma precedente ha fornito un riporto o la differenza precedente ha fornito un prestito (borrow) flag Z (zero): flag V (overflow) flag S (segno) flag P (parità) vale1 se il risultato dell ultima operazione è uguale a zero se esiste un traboccamento nell esecuzione di operazioni aritmetiche vale 1 se il risultato dell ultima operazione è negativo vale 1 se l operazione precedente ha dato un risultato che ha un numero pari di bit con valore uno 9
Puntatore di stack-sp Registro utilizzato per indirizzare, secondo le istruzioni del programma, una opportuna zona della Ram, denominata area di stack Utilità: utilizzo e gestione di sottoprogrammi (procedure e funzioni) e interruzioni, realizzando così istruzioni di salto 10
Lo stack frame è un segmento logico che contiene: parametri della funzione o procedura variabili locali della funzione o proceduraù l'indirizzo dell'istruzione successiva alla chiamata Il registro SP punta alla cima dello stack 11
Struttura della CPU 12
Ciclo del processore Fetch Decode execute 13
Fase fetch decode execute Cosa fa Acquisizione dell'istruzione (Instruction Fetch): l UC preleva l istruzione indirizzata da PC e la pone nel registro IR. Ciò avviene inviando l indirizzo dal PC tramite l address bus alla RAM e ricevendo il dato da questa tramite il data bus. Decodifica : in base al codice operativo contenuto nel registro IR l UC individua la lunghezza (L) dell istruzione, il tipo di operazione (somma, sottrazione.) e su quali operandi dovrà agire. Poi l UC aggiorna il valore del registro PC, valore necessario per poter eseguire l istruzione successiva da eseguire. Esecuzione: l UC esegue l istruzione inviando eventualmente alla ALU gli opportuni segnali per eseguire l istruzione 14
Ciclo CPU 15
Ricapitolando 16
17