Prof. V. Catania Modello Architetturale di un SdE Prof. V. Catania Laboratorio di Calcolatori A.A. 2003/2004 Sistema di elaborazione Prof. V. Catania Modello architetturale di un sistema di elaborazione Sistema di Elaborazione MACCHINA PROGRAMMA entità attiva entità passiva LINGUAGGIO 1 Esempio: leggere e sommare K numeri Prof. V. Catania Vedi animazione Macchine e Linguaggi Prof. V. Catania • Una istruzione definisce una trasformazione atomica • Concetto di stato Modello FUNZIONALE: Descrive la macchina come puro esecutore del proprio linguaggio TUTTE LE MACCHINE PASCAL SONO FUNZIONALMENTE IDENTICHE 2 Macchine e Linguaggi Prof. V. Catania Modello REALIZZATIVO: Descrive come la macchina è realizzata Mf = Mf ' Mr = Mr ' DETERMINISMO EVOLUZ. degli STATI Programma in esecuzione Stato iniziale DATI in ingresso Macchine e Linguaggi Prof. V. Catania DATI P(L) L M 3 Macchine e Linguaggi Prof. V. Catania DATI P(Pascal) Pascal Macchina Pascal Modelli organizzativi e gerarchie di macchine Prof. V. Catania DATI P(L2) L2 P12(L1) L1 M1 M2 La realizzazione della macchina M2 attraverso M1 (per estensione di M1) avviene mediante P12(L1). Il programma che realizza M2 a partire da M1 è un compilatore (traduttore) o un interprete. Problemi: – Efficienza – Virtualizzazione 4 Gerarchie di macchine Prof. V. Catania Un sistema di elaborazione è costituito da una gerarchia di macchine realizzate a partire da una macchina estremamente elementare Gerarchie di macchine Prof. V. Catania perché realizzare una gerarchia? Ln P(n-1)n L2 P(n-1)n L1 M1 M2 Mn 5 Gerarchie di macchine Prof. V. Catania ASTRAZIONE PRESTAZIONI FACILITA’ DI PROGRAMMAZ. TRADE-OFF Il numero e le caratteristiche generali dei livelli di macchine che costituiscono un sistema di elaborazione sono ormai consolidati nella maggior partedei sistemi di elaborazione La macchina processo Prof. V. Catania È la macchina che esegue il programma prodotto dai compilatori Linguaggio: binario, dipende dal sistema di elaborazione 6 Elementi comuni a tutti i processi Prof. V. Catania • • • • • Memoria del processo Programma in esecuzione in memoria Presenza di un registro Program Counter Meccanismo di esecuzione (ESECUTORE) Stato del processo: contenuto di memoria + contenuto dei registri Istruzioni: codice operativo + operandi Memoria Prof. V. Catania Consente di immagazzinare informazioni in formato digitale ORGANIZZAZIONE bit 0 1 2 • K-1 WORD 0 WORD 1 indirizzi dati porte dei dati porte degli indirizzi WORD N-1 7 Memoria Prof. V. Catania E’ costituita da un insieme di locazioni, ciascuna in grado di memorizzare una parola (word) di K bit {K = 1, 8, 16, 32, 64} La capacità di memoria esprime la quantità di informazioni massima in essa memorizzabile. Ad es. 1 Mbyte = 2 20 byte, ovvero 2 20 word di 1 byte Memoria Prof. V. Catania COSA CONSENTE: LA SCRITTURA: consente di memorizzare una parola in una determinata posizione (indirizzo) LA LETTURA: consente di memorizzata posizione leggere in una una parola determinata La scrittura di una parola sovrascrive il contenuto precedente. La lettura di una parola non altera il contenuto memorizzato. 8 Memoria - Scrittura Prof. V. Catania IN SCRITTURA: • sulla porta degli indirizzi si deve fornire l’indirizzo (la posizione) della locazione su cui memorizzare la parola • sulla porta dei dati si deve fornire la parola (configurazione di bit) da scrivere 10010011 dati indirizzi 10010011 Memoria - Lettura Prof. V. Catania IN LETTURA: • sulla porta degli indirizzi si deve fornire l’indirizzo (la posizione) della locazione da leggere • sulla porta dei dati si ottiene la parola (configurazione di bit) memorizzata in quell’indirizzo 01011001 dati indirizzi 01011001 9 Memoria - Numero di bit per indirizzo Prof. V. Catania Un indirizzo è costituito da un insieme di bit che codifica la posizione di una parola Ad es.: Se la memoria è di 1 Kbyte (210 byte) occorrono 10 bit (lg2 210 = 10) per specificare un indirizzo. Unità centrale di processo (CPU) Prof. V. Catania Sovrintende all’esecuzione di un programma immagazzinato nella memoria di processo (mem. Centrale) e coordina il funzionamento dei vari blocchi costituenti il computer. Una data CPU è caratterizzata da un proprio set di istruzioni, ovvero dall’insieme di istruzioni che essa è in grado di eseguire Ciascuna istruzione è codificata in binario, in modo che sia riconoscibile dalla CPU. Un programma è eseguibile dalla CPU se: Ø È costituito da istruzioni appartenenti al set di istruzioni della CPU Ø Tutte le istruzioni sono codificate in binario e memorizzate sequenzialmente nella memoria centrale 10 Unità centrale di processo (CPU) Prof. V. Catania istruzione 1 istruzione 2 istruzione 3 . . . ultima istruzione Formato delle istruzioni Prof. V. Catania Istruzione: codice operativo + operandi codice operativo operandi 11 Unità Centrale di Processo (CPU) Prof. V. Catania Una CPU è costituita da due componenti: UNITÀ DI CONTROLLO: esegue le istruzioni dei programmi, coordina le attività dei vari blocchi che costituiscono la macchina, controlla il flusso delle istruzioni tra CPU e Memoria. UNITÀ LOGICO-ARITMETICA: esegue le operazioni artimetiche (somma, sottrazione, prodotto, divisione) e le operazioni logiche (ad es. verifica se un valore è maggiore, minore o uguale ad un altro valore) Meccanismo di Esecuzione Prof. V. Catania All’interno della CPU vi sono delle unità di memorizzazione, i REGISTRI, su ciascuno dei quali è possibile memorizzare una word. La dimensione di tale word (in bit) determina il parallelismo della CPU ovvero l’unità di informazione che la CPU può processare in parallelo durante la propria attività 12 Meccanismo di Esecuzione Prof. V. Catania Fra i vari registri di una CPU, due hanno un ruolo particolare: PC (Program Counter): è utilizzato dalla CPU per memorizzare l’indirizzo della memoria dove risiede la prossima istruzione da eseguire. Ogni qualvolta la CPU termina l’esecuzione di una istruzione usa il PC per accedere alla prossima istruzione da eseguire. IR (Instruction Register): viene usato dalla CPU per memorizzare l’istruzione appena letta dalla memoria Meccanismo di Esecuzione Prof. V. Catania Unità centrale e ALU (Arithmetic Logic Unit) collaborano con la memoria in un processo distinto in quattro fasi che porta al completamento di un CICLO MACCHINA 13 Dentro il Computer Prof. V. Catania La scheda madre Prof. V. Catania 14 Macchina ASSEMBLER Prof. V. Catania Si realizza per eliminare la difficoltà di lavorare con il linguaggio binario Linguaggio ASSEMBLER Programma assemblatore Linguaggio binario del proc. PROCESSO Macchina ASSEMBLER Macchina ASSEMBLER Prof. V. Catania Alcune differenze tra L.B. e L.A.: 1. i codici operativi binari sono sostituiti da codici simbolici 2. Presenza di direttive non rispondendi a istruzioni in L.B. 3. Si possono usare simboli (labels) al posto di indirizzi binari Vedi esempio programma assembler 15 Compilazione ASSEMBLER Prof. V. Catania Il processo di traduzione ha come input il codice Assembler e come output il codice in Linguaggio Binario. Quest’ultimo deve fare riferimento alla memoria di processo dove, in una fase successiva, dovrà essere caricato per potere essere eseguito. Il traduttore, oltre a generare il codice binario per ciascuna istruzione Assembler, deve associare all’istruzione tradotta un indirizzo della memoria di processo dove essa andrà caricata per essere eseguita! L’output del traduttore (Assemblatore), per ciascuna istruzione È del tipo: <indirizzo> <codice binario istruzione> ES. 0100001 1111000100001100 Esempio di compilazione Prof. V. Catania Vedi animazione 16 Macchina HW e SO Prof. V. Catania Macchina HW: è la macchina su cui è realizzato il processo SO: è il programma (in L.M.) che realizza il processo sulla macchina hw Gli N processi realizzati dal S.O. sono N macchine complete, ognuna con la propria memoria (dove è caricato il programma) e il proprio program counter. Macchina HW e SO Prof. V. Catania Più in generale: PROG.1 PROG.2 PROG.N PROC. 1 PROC. 2 PROC. N SISTEMA OPERATIVO Linguaggio Macchina Macchina Hardware 17 Macchina HW e SO Prof. V. Catania PC PC PC PROG.1 PROG.2 PROG.N PROCESS 1 PROCESS 2 PROCESS 1 Motivazione: Migliore sfruttamento delle risorse della macchina hw Macchina HW e SO Prof. V. Catania Requisiti della macchina hw: • La macchina hw interpreta alcune istruzioni del processo (LEGGI, SCRIVI, ecc.) come dei salti a degli indirizzi prefissati corrispondenti ai SERVIZI di Sistema • SERVIZI DI SISTEMA: svolgono azioni richieste da un processo garantendo che l’esecuzione del servizio sia per il processo equivalente all’esecuzione di una normale istruzione (anche quando il processo viene momentaneamente sospeso) 18 Macchina HW e SO Prof. V. Catania Modello funzionale della macchina HW Non deterministico a causa della presenza di interruzioni Il meccanismo delle interruz. porta la macchina ad eseguire un salto ad un indirizzo prefissato ogni qual volta si verificano particolari eventi La presenza delle interruz. consente alla macchina HW di passare dall’esecuzione di un processo a quella di un altro processo o servizio che si sia reso eseguibile. Realizzazione della macchina HW Prof. V. Catania È costituita da sottosistemi funzionali collegati dal sistema di comunicazione SISTEMA DI COMUNICAZIONE PROCESSORE MEMORIA PERIFERICA MACCHINA HARDWARE 19 Realizzazione della macchina HW Prof. V. Catania Ciascun sottosistema è realizzato con dei componenti elementari, le porte logiche, la cui combinazione da luogo a circuiti più complessi, quali reti combinatorie e sequenziali Non si può comunque affermare che i livelli inferiori alla macchina hw sono certamente hw mentre i livelli superiori sono certamente sw. Es: realizzazione di U.C. a microistruzioni Modello architetturale di un computer Prof. V.Catania Prof. V. Catania Sistema di comunicazione CPU MEMORIA CENTRALE ADATTATORI (CONTROLLER) PERIFERICA ADATTATORI … (CONTROLLER) PERIFERICA 20