Documento sull'architettura degli elaboratori, che esplora i livelli di macchine virtuali e le loro interazioni. Il Pdf, di Informatica per l'Università, analizza le differenze tra compilazione e interpretazione, il processo di elaborazione dei dati e il ciclo di esecuzione delle istruzioni, con un esempio dettagliato.
Mostra di più59 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Ogni livello MVi è omologo e può essere identificato e caratterizzato dalla coppia, dove:
La relazione tra i livelli segue questa regola: 0<j<i, tipicamente, j = i - 1 (cioè, ogni livello è costruito direttamente sopra il livello immediatamente inferiore), tuttavia, per motivi di efficienza, il livello inferiore usato potrebbe essere anche più distante. Ogni risorsa è primitiva al livello ed è composta dalle primitive dei livelli inferiori.
Per ora, ci interessa il livello 0, 1, 2:
Vantaggi a) Velocità di esecuzione più alta che nell'interpretazione (alta efficienza)
a) Possibilità di effettuare modiche al programma immediatamente b) Eliminazione errori sintattici in fase di compilazione b) Facilità nel trovare e correggere eventuali errori semantici c) Poter utilizzare linguaggi di alto livello diversificati e "specializzati" per comporre un'unica procedura (procedura = insieme di programmi. c) Ridotto ingombro complessivo dei programmi in quanto tutti utilizzano le stesse primitive dell'interprete.
Svantaggi a) Per effettuare modifiche al programma è necessario disporre del programma sorgente, compilarlo e rilanciarlo.
b) Velocità di esecuzione più bassa che nella compilazione b) Difficoltà nel trovare e correggere eventuali errori c) Presenza di possibili errori sintattici che si manifestano durante l'esecuzione.
Riccardo Cotani Architettura degli Elaboratori2
L'architettura degli elaboratori segue una struttura gerarchica ben definita, suddivisa in quattro livelli principali: MV1, MV2, MV3 e MV4. Ogni livello ha funzionalità specifiche e comprende ulteriori sottolivelli, il che permette di organizzare il sistema in modo più strutturato. Questa suddivisione serve a semplificare la gestione della complessità del sistema, grazie a un'astrazione progressiva: ogni livello fornisce servizi a quello superiore, nascondendo i dettagli più tecnici dell'implementazione.
Vediamolo più nel dettaglio:
Questo è il livello più alto dell'architettura, dedicato sia agli utenti finali sia agli sviluppatori di applicazioni.
Qui rientrano tutti quei sistemi che gestiscono transazioni complesse, come :
Questo livello si occupa di garantire che le operazioni transazionali avvengano in maniera corretta e affidabile. Include:
Un livello essenziale per la memorizzazione e gestione dei dati, che comprende:
DBMS relazionali e NoSQL. o
Riccardo Cotani Architettura degli Elaboratori3
o Elaborazione e ottimizzazione delle query. o Controllo dell'integrità dei dati e delle loro relazioni.
In questo sottolivello troviamo gli strumenti che permettono di scrivere e strutturare il software:
Questo livello ha il compito di gestire le risorse hardware e fornire servizi standardizzati alle applicazioni.
Si occupa della gestione e dell'ottimizzazione del sistema:
Qui rientrano funzioni fondamentali come:
Un livello essenziale per il multitasking e il coordinamento delle operazioni:
Questo livello funge da interfaccia tra il software e l'hardware fisico, consentendo il corretto utilizzo delle risorse disponibili.
Riccardo Cotani Architettura degli Elaboratori4
Si occupa di ottimizzare l'uso della memoria attraverso:
Questo sottolivello è dedicato alla comunicazione tra il sistema e le periferiche, grazie a:
Qui vengono regolati gli eventi che interrompono il normale flusso di elaborazione, attraverso:
Il livello più basso dell'architettura, dove vengono implementate le funzioni fisiche del computer.
Questo sottolivello gestisce l'esecuzione delle istruzioni macchina:
La parte centrale per le operazioni matematiche e logiche:
Riccardo Cotani Architettura degli Elaboratori5
L'insieme di componenti elettronici fondamentali:
L'hardware e il software sono strettamente interconnessi:
Il livello di microarchitettura consente di mascherare la complessità dei circuiti fisici attraverso microprogrammi, rendendo il sistema funzionalmente equivalente ai livelli superiori.
Le funzionalità di ogni livello MV possono essere espresse attraverso moduli indipendenti:
Un sistema di elaborazione può essere rappresentato come un insieme di:
Le proprietà di questa struttura includono:
Riccardo Cotani Architettura degli Elaboratori6
L'informazione è un'entità astratta che deve essere trasformata in un formato misurabile e omogeneo. Il computer utilizza il sistema binario perché:
Per garantire la qualità del segnale digitale, si utilizza un trigger, un componente elettronico che rigenera l'onda quadra corretta quando il segnale ricevuto si degrada.
L'architettura IAS (Institute for Advanced Study) rappresenta un progetto fondamentale nella storia dell'informatica, in quanto ha gettato le basi per la maggior parte degli elaboratori sviluppati successivamente, inclusi quelli moderni. Questo modello di calcolatore, ideato sotto la guida di John von Neumann, ha introdotto concetti rivoluzionari che sono ancora oggi alla base dell'architettura dei computer.
La principale innovazione dell'architettura IAS fu la collocazione del programma in memoria. Prima di questa svolta, i primi calcolatori utilizzavano un approccio in cui le istruzioni venivano inserite manualmente tramite schede perforate o altri dispositivi fisici di input, rendendo la programmazione un processo rigido e poco flessibile. Con il modello IAS, invece, il programma e i dati venivano memorizzati nella stessa unità di memoria, consentendo alla macchina di eseguire istruzioni in modo sequenziale e automatizzato.
Questa innovazione ebbe un impatto enorme, perché permise di sviluppare sistemi più flessibili e potenti, capaci di modificare il proprio comportamento in base ai dati elaborati. Inoltre, la memorizzazione del programma in memoria rese possibili la nascita di concetti come la programmazione general-purpose, in cui un'unica macchina poteva eseguire programmi diversi senza dover essere riprogrammata fisicamente ogni volta.
L'architettura IAS introdusse anche altri elementi fondamentali, come la separazione tra unità di calcolo e memoria, il concetto di ciclo di fetch-decode-execute per l'elaborazione delle istruzioni, e l'uso di registri interni per velocizzare i calcoli. Tutti questi principi furono alla base dell'architettura di von Neumann, su cui si basano ancora oggi la maggior parte dei computer moderni.
Grazie a queste innovazioni, l'architettura IAS ha segnato un punto di svolta nella storia dell'informatica, fornendo il modello concettuale che ha reso possibile lo sviluppo degli elaboratori come li conosciamo oggi.
Riccardo Cotani Architettura degli Elaboratori