Organizzazione strutturata
Transcript
Organizzazione strutturata
Organizzazione strutturata •Evoluzione storica L. Borrelli a.a. 2002-03 1 Complessità dei Sistemi di Elaborazione • Caratteristica dei Sistemi di Elaborazione: Complessità • Per trattare sistemi complessi è efficace la: Decomposizione in livelli di astrazione a.a. 2002-03 L. Borrelli 2 n1 Astrazione • Astrazione: Concetto fondamentale su cui si basa l’architettura di ogni sistema informatico “complesso” (software o hardware). • Astrazione: processo di aggregazione di informazioni e di sintesi di modelli concettuali che ne enucleano le proprietà rilevanti escludendo i dettagli inessenziali. – L’ astrazione, diversamente dalla approssimazione, preserva la correttezza pur adoperando una descrizione più potente e più semplice da denotare. a.a. 2002-03 L. Borrelli 3 Organizzazione a livelli • La decomposizione dei sistemi di elaborazione in livelli di astrazione si ottiene attraverso la introduzione dei concetti di: – Linguaggio – Macchina Virtuale – Relazione tra macchina virtuale e linguaggio – Interazione tra macchine virtuali a.a. 2002-03 L. Borrelli 4 n2 Linguaggio • Risoluzione di problemi con l’ elaboratore: – Individuazione di un metodo risolutivo del problema (algoritmo o procedura di elaborazione ) – Formulazione dell’algoritmo in una sequenza di istruzioni (operazioni) espresse in un linguaggio comprensibile dalla macchina (programma). • L’insieme delle istruzioni “primitive” di un elaboratore definiscono un linguaggio con cui è possibile comunicare con esso. a.a. 2002-03 L. Borrelli 5 Macchina virtuale • Distanza notevole fra il linguaggio di descrizione della procedura di elaborazione dell’uomo e il linguaggio comprensibile dalla macchina: – Necessità di introdurre un insieme di istruzioni (nuovo linguaggio) più semplici da utilizzare rispetto alle istruzioni primitive; – Introduzione di una macchina virtuale sul livello di macchina reale (HW). a.a. 2002-03 L. Borrelli 6 n3 Macchina virtuale Procedura di elaborazione in linguaggio naturale Macchina Software virtuale Hardware Hardware Macchina reale Macchina reale Il set di istruzioni comprensibili dalla macchina virtuale costituisce un nuovo linguaggio più vicino alla logica dell’utente dell’utente a.a. 2002-03 L. Borrelli 7 Livelli di Macchina Virtuale Livello n Macchina Mn / Linguaggio Ln Livello n-1 Macchina Mn-1 / Linguaggio Ln-1 Livello 0 Macchina M0 / Linguaggio L0 Hardware a.a. 2002-03 L. Borrelli 8 n4 Macchina virtuale e linguaggio • Ad ogni macchina virtuale corrisponde un linguaggio costituito da tutte le istruzioni che quella macchina può eseguire. • Ogni istruzione in linguaggio Ln è sostituita (tradotta) da una sequenza di istruzioni in linguaggio Ln-1. a.a. 2002-03 L. Borrelli 9 Connessione tra i livelli • Processi di traduzione delle istruzioni espresse in linguaggio Ln in istruzioni espresse in linguaggio Ln-1. • Approcci: – Compilazione – Interpretazione a.a. 2002-03 L. Borrelli 10 n5 Interpretazione • Un Interprete è un programma che traduce ogni istruzione in linguaggio Ln ed esegue la corrispondente sequenza di istruzioni in linguaggio Ln-1. Esecuzione Esecuzione Esecuzione Interprete Programma in Ln a.a. 2002-03 Errori sintattici e semantici L. Borrelli 11 Compilazione • Un Compilatore e` un programma che traduce un programma scritto in linguaggio Ln in un programma scritto in linguaggio Ln-1. Programma sorgente (Ln) Ln) Compilatore Programma oggetto (Ln(Ln-1) Errori sintattici L’elaboratore esegue il programma in Ln-1 rilevandone gli errori semantici. a.a. 2002-03 L. Borrelli 12 n6 Interpretazione e Compilazione • Velocità di esecuzione: – Bassa per i linguaggi interpretati – Alta per i linguaggi compilati • Facilità di messa a punto dei programmi: – Alta per i linguaggi interpretati – Bassa per i linguaggi compilati a.a. 2002-03 L. Borrelli 13 Sistema di elaborazione • Sistema di elaborazione : – Sistema gerarchico in cui sono presenti molti livelli di macchina virtuale interagenti fra loro. – Le diverse macchine sono via via più astratte: più vicine alla logica dell’ utente e più lontane dalla logica dell’ elaboratore reale. – La macchina reale, ovvero il livello hardware, è la macchina più efficiente e meno flessibile. a.a. 2002-03 L. Borrelli 14 n7 Simbolico Livelli dei sistemi attuali Livello dei Linguaggi Applicativi Livello del Linguaggio Assemblatore Numerico [0,1] Livello del Sistema Operativo Livello del liguaggio macchina Traduzione/ Interprtazione Traduzione Interpretazione parziale Interpretazione Livello della microprogrammazione Esecuzione Livello hardware L. Borrelli a.a. 2002-03 15 Evoluzione dei Sistemi di Elaborazione a.a. 2002-03 L. Borrelli 16 n8 Evoluzione dei sistemi di elaborazione • Modello computazionale pressoché invariato. • Miglioramento rapidissimo delle prestazioni degli elaboratori (1945-2002). • Tasso di crescita elevato – Miglioramento della architettura (organizzazione funzionale delle parti costituenti l’elaboratore); – Miglioramento della tecnologia di realizzazione. a.a. 2002-03 L. Borrelli 17 Calcolatori meccanici • 1623: Keplero inventa la macchina capace di eseguire operazioni aritmetiche. • 1642: Pascal costruisce una macchina capace di eseguire addizioni e sottrazioni. • 1674: Leibniz costruisce una macchina meccanica capace di effettuare moltiplicazioni e divisioni. • 1838: Babbage progetta la macchina differenziale. 1854: Algebra di Boole a.a. 2002-03 L. Borrelli 18 n9 Prototipi dei calcolatori • ENIAC (Electronical Numerical Integrator and Calculator): nel 1946, presso l’Università della Pennsylvania fu costruito per scopi militari, il primo calcolatore elettronico: l’ENIAC - in grado di effettuare 400 moltiplicazioni al secondo, dotato di 18000 valvole termoioniche, che occupava una superficie di 200 mq e pesava oltre 35 t. • EDVAC (Electronic Discrete Variable Automatic Computer) progettato dal matematico ungherese Von Neumann, vero precursore dei moderni computer. Ancora oggi i moderni calcolatori conservano la stessa organizzazione logica del modello di Von Neumann. 1936: Modello teorico del calcolatore di Turing a.a. 2002-03 L. Borrelli 19 Relè Valvole termoioniche Transistor Circuiti integrati a.a. 2002-03 A. M. Fanelli Circuiti VLSIi 20 n10