Il sistema di elaborazione

Documenti analoghi
Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Il sistema di elaborazione

Il sistema di elaborazione

Il computer P R O F. L O R E N Z O P A R I S I

Criteri di caratterizzazione di una memoria

Mari, Buonanno, Sciuto Informatica e cultura dell informazione McGraw-Hill

Concetti Introduttivi

Architettura hardware

Concetti Introduttivi

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Architettura dei calcolatori

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Il computer P R O F. L O R E N Z O P A R I S I

Architettura dei computer

Informatica giuridica

Elementi di informatica

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Il computer P R O F. L O R E N Z O P A R I S I

Esame di INFORMATICA Lezione 4

Elementi di informatica

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Architettura di Von Neumann

Sistemi di Elaborazione delle Informazioni

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

Il modello di Von Neumann

Architettura di von Neumann

Architettura di von Neumann

HARDWARE. Hardware. Vista di insieme

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Struttura dell elaboratore elettronico

Elementi di Informatica Chiara Epifanio

Elementi di informatica

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

SISTEMI INFORMATIVI AZIENDALI

Architettura di von Neumann

INFORMATICA DI BASE. Storia del Personal Computer

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Cenni sull architettura del calcolatore

Architettura di un calcolatore

Abilità Informatiche e Telematiche

Architettura di un elaboratore

TERMINALE INTELLIGENTE

Note sull architettura del calcolatore

Dal sistema operativo all' hardware

Architettura hardware

Componenti e connessioni. Capitolo 3

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Obiettivi del corso. Parte II Aprire un programma di navigazione (browser) Internet explorer Ricercare una pagina Web Uso di Google

Modello di von Neumann

Architettura del calcolatore

Fondamenti di Informatica

The easiest way to tell the di erence between hardware and software is to kick it. If it hurts your toe, it is hardware.

o studiare l architettura del calcolatore significa:

Memoria Centrale. Memoria Centrale. Memoria Centrale. Interazione CPU-memoria centrale 16/04/2008. Indirizzamento

Architettura dei calcolatori

Corso di Informatica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

Registri. Mem. cache. Mem. centrale. Dischi magnetici e/o ottici. Nastri magnetici. Memoria principale (o RAM) Memoria secondaria (o di massa)

Corso di Informatica

Le istruzioni del linguaggio gg macchina corrispondono ad operazioni elementari di elaborazione operazioni aritmetiche

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura dei computer

La memoria principale

Appunti Liberi di Tecnologie Informatiche

Informatica di base 4 crediti 32 ore!!

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

I dispositivi di input/output: il mouse

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura del computer

Architettura del Calcolatore

La struttura del computer. Prof. Erasmo Modica

Architettura di un elaboratore. Il modello di von Neumann

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Architettura dei calcolatori

Informatica A.A. 2006/2007. Università degli Studi di Catania. Giuseppe Nicosia

Programma del corso. Architettura del calcolatore. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Elementi di Programmazione

Componenti principali

Il computer. Architettura

Corso di Informatica - Lez.1

ARCHITETTURA DI UN ELABORATORE

Il processore - CPU (CENTRAL PROCESSING UNIT)

Architettura dei calcolatori

Laboratorio di Informatica L-A 1

Informatica e Bioinformatica anno 2013/2014

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Architettura del calcolatore. L Hardware. A.A Informatica 56

Sistemi a microprocessore

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Transcript:

Il sistema di elaborazione Stefano Brocchi brocchi@dsi.unifi.it Stefano Brocchi Il sistema di elaborazione 1 / 44

Informatica Il termine informatica deriva dalle parole informazione e automatica Stefano Brocchi Il sistema di elaborazione 2 / 44

Hardware e software Combinazione dell hardware, l insieme dei componenti fisici del calcolatore... e del software, insieme dei programmi contenuti nelle memorie che consentono l esecuzione del programma Stefano Brocchi Il sistema di elaborazione 3 / 44

Storia del calcolatore Primo calcolatore nel 1600: Blaise Pascal inventa un dispositivi in grado di eseguire automaticamente somme e sottrazioni Primo calcolatore programmabile realizzato da Konrad Zuse negli anni 30-40 Stefano Brocchi Il sistema di elaborazione 4 / 44

Storia del calcolatore Un altro traguardo fu rappresentato dall ENIAC nel 47, una grande macchina programmabile molto più potente di qualsiasi cosa esistesse all epoca Stefano Brocchi Il sistema di elaborazione 5 / 44

Sviluppo del calcolatore Massicci sviluppi tecnologici hanno permesso l aumento di potenza e la miniaturizzazione dei computer Nascita dei personal computer negli anni 70 Ulteriori sviluppi hanno permesso la creazione di portatili, palmari e telefoni programmabili Stefano Brocchi Il sistema di elaborazione 6 / 44

Caratteristiche Flessibilità di uso: il macchina rimane programmabile per compiti generici Modularità della struttura: i diversi componenti si occupano di diverse funzionalità del computer Scalabilità dei componenti: i componenti sono standardizzati e sostituibili Semplicità ed economicità Stefano Brocchi Il sistema di elaborazione 7 / 44

Architettura Architettura di Von Neumann: un paradigma che descrive un modello concettuale rappresentante un computer programmabile formato da Elaborazione: capacità di eseguire calcoli ed istruzioni Memorizzazione: possibilità di mantenere informazioni in modo persistente Interfaccia: l esistenza di canali per comunicare con l utente Interconnessione: la connessione fra le componenti di elaborazione, memorizzazione e interfaccia Elaborazione Memorizzazione Interconnessione Interfaccia Stefano Brocchi Il sistema di elaborazione 8 / 44

Realizzazione Nei moderni calcolatori, l elaborazione viene svolta dalla CPU (Central Processing Unit), che si occupa di eseguire le istruzioni ed i calcoli e di coordinare le altre risorse Le memorie sono adibite a immagazzinare i dati I dispositivi di Input ed Output (I/O) consentono la comunicazione con l utente di ingresso ed in uscita (tastiere, mouse, schermi...) Stefano Brocchi Il sistema di elaborazione 9 / 44

Realizzazione: interconnessione Queste componenti comunicano tramite un canale che li collega detto bus, che ha un flusso di dati, uno per gli indirizzi ed uno di controllo CPU Memorie Tastiera Schermo... Interfaccia I/O Interfaccia I/O Bus Controllo Dati... Indirizzi Stefano Brocchi Il sistema di elaborazione 10 / 44

Il bus: visione hardware Stefano Brocchi Il sistema di elaborazione 11 / 44

Una scheda madre vista da vicino Stefano Brocchi Il sistema di elaborazione 12 / 44

Bus Il collegamento a bus comprende diversi vantaggi, tra cui: La semplicità: un unica linea di connessione collega i vari componenti L estendibilità: l aggiunta di nuovi dispositivi diventa molto semplice Standardizzazione: si possono definire regole per la comunicazione da parte di dispositivi diversi Stefano Brocchi Il sistema di elaborazione 13 / 44

Bus La gestione del bus crea tuttavia anche diverse problematiche La velocità del bus è condivisa tra le varie risorse La CPU deve coordinare l accesso al bus Una soluzione adottata: utilizzare dei bus dedicati per dispositivi che necessitano di particolare efficienza Stefano Brocchi Il sistema di elaborazione 14 / 44

Rappresentazione dell informazione Prima di scendere nel dettaglio di come sono realizzate i quattro componenti concettuali, occorre aprire una parentesi su come venga rappresentata l informazione sul calcolatore L informazione di base è il bit, una variabile che può assumere due diversi valori 1 e 0 Stefano Brocchi Il sistema di elaborazione 15 / 44

Realizzazione di un bit A livello elettronico, un bit in una memoria viene considerato uguale ad uno per valori di voltaggio sopra una certa soglia, ed uguale a zero al di sotto di un altra quantità Fra le due soglie, c è un intervallo di tensione non ammessa per minimizzare il margine di errore Valore bit: 1 Tensione Non permesso Valore bit: 0 Stefano Brocchi Il sistema di elaborazione 16 / 44

Rappresentazione dati tramite bit E facile vedere che avendo a disposizione un numero sufficiente di bit, si può rappresentare qualsiasi numero utilizzando la base 2 In contrapposizione, il sistema decimale usato normalmente è la base 10 (10 simboli utilizzabili) Base 10 Base 2 Base 10 Base 2 0 0 8 1000 1 1 9 1001 2 10 10 1010 3 11 11 1011 4 100 12 1100 5 101 13 1101 6 110 14 1110 7 111 15 1111 Stefano Brocchi Il sistema di elaborazione 17 / 44

Conversione fra basi Si possono facilmente convertire numeri dalle due basi, considerando che secondo la notazione posizionale, una cifra assume valore diverso a seconda della posizione: 7542 = 7 migliaia +5 centinaia +4 decine +2 = 7 1000 + 5 100 + 4 10 + 2 = 7 10 3 + 5 10 2 + 4 10 1 + 2 Stefano Brocchi Il sistema di elaborazione 18 / 44

Conversione fra basi, da base 2 Da base 2 a base 10: 101101001 2 = 1 2 8 + 0 2 7 + 1 2 6 + 1 2 5 + 0 2 4 + 1 2 3 + 0 2 2 + 0 2 1 + 1 = 256 + 64 + 32 + 8 + 1 = 361 Stefano Brocchi Il sistema di elaborazione 19 / 44

Conversione fra basi, da base 10 Da base 10 a base 2: Resto 361 /2= 180 1 180 /2= 90 0 90 /2= 45 0 45 /2= 22 1 22 /2= 11 0 11 /2= 5 1 5 /2= 2 1 2 /2= 1 0 1 /2= 0 1 361 = 101101001 2 Stefano Brocchi Il sistema di elaborazione 20 / 44

Rappresentazione altre informazioni A seconda del contesto, dati in binario possono rappresentare qualunque informazione, come caratteri o istruzioni. Per esempio, la sequenza 01000001 può rappresentare Il numero 65 Il carattere A Un istruzione da eseguire... I bit verranno interpretati nel modo opportuno a seconda del contesto in cui si trovano Esempio: le sequenze di bit contenute in un file di testo verranno interpretate sempre come caratteri Stefano Brocchi Il sistema di elaborazione 21 / 44

Bit ed unità di misura 8 bit formano un byte, unità di misura di base delle memorie Per motivi architetturali, le capienze delle memorie sono tipicamente multipli di 2; per questo, le potenze del byte salgono con le potenze di 2 10 = 1024 Quindi, 1 KiloByte = 1024 byte, 1 MegaByte = 1024 KyloByte, 1 GigaByte = 1024 MegaByte... Esempio: un CD da 650MB contiene più di 680 000 000 di byte Teoricamente, questo si dovrebbe esplicitare parlando, per esempio, di Kilo binario, ed utilizzando il simbolo Kibi invece di KB. In pratica, raramente questo viene fatto Stefano Brocchi Il sistema di elaborazione 22 / 44

Bit ed unità di misura A volte si possono avere delle ambiguità: quando si parla di Input/Output, solitamente si utilizza la base 10 Es. un collegamento a 20 Megabit (quindi 20/8 = 2.5 Megabyte) può trasferire esattamente 2.5 milioni di byte al secondo A volte viene utilizzata la base 10 anche per i dischi fissi Questo può portare a sovrastimare la dimensione del disco Stefano Brocchi Il sistema di elaborazione 23 / 44

Esecuzione e program counter Tornando alla fase di elaborazione svolta dalla CPU, il processore esegue istruzioni contenute nella memoria centrale rappresentate da sequenze di bit Il punto dove è arrivata l esecuzione è un indirizzo di memoria detto program counter (PC) Un indirizzo di memoria è un numero ordinale relativo all inizio della memoria. Esempio (semplificato): PC = 100 vuol dire che deve essere eseguita l istruzione definita al centesimo byte della memoria Dopo ogni istruzione, il program counter viene incrementato di un indirizzo in modo che il processore esegua l istruzione successiva Eccezione: in caso di istruzioni di salto Stefano Brocchi Il sistema di elaborazione 24 / 44

Tipi di istruzione Alcuni tipi di istruzioni possibili: Aritmetiche: per eseguire somme, sottrazioni, moltiplicazioni, ecc... Possono essere eseguite operazioni solo tra un numero limitato di variabili all interno del processore dette registri Caricamento, salvataggio: per la manipolazione della memoria di variabili Salto condizionato: se si verifica una certa condizione, allora imposta il program counter ad un determinato indirizzo Il salto condizionato permette di programmare la logica di un programma Stefano Brocchi Il sistema di elaborazione 25 / 44

Tipi di istruzione Allo scopo di eseguire calcoli, all interno del processore sono presenti una o più componenti dedicate dette Arithmetical Logical Unit (ALU) A controllare le operazioni svolte dalla ALU e per gestire il trasferimento dati da e ai registri, è l unità di controllo Stefano Brocchi Il sistema di elaborazione 26 / 44

Parametri della CPU Molti parametri influenzano la velocità di esecuzione di una CPU: Frequenza di clock (uguale circa al numero di istruzioni al secondo) Numero di registri Velocità del bus Architettura Stefano Brocchi Il sistema di elaborazione 27 / 44

Multicore e prestazioni La frequenza ed il numero di registri all attuale stato tecnologico sembrano difficilmente migliorabili. Per migliorare le prestazioni, si sta attualmente puntando sulla tecnologia multi-core: un chip contiene più CPU che lavorano contemporaneamente (es. un dual-core ha due CPU, un quad-core ne ha 4). Inolte, occorre considerare che la velocità complessiva di una macchina dipende in primo luogo dal suo componente più lento, occorre tipicamente pensare innanzitutto al cosidetto collo di bottiglia. Stefano Brocchi Il sistema di elaborazione 28 / 44

Legge di Moore La legge di Moore sulle prestazioni delle CPU, è una predizione che sostiene che la velocità delle CPU raddoppia ogni due anni Dal 1971 ad oggi, la previsione si è rivelata in buona approssimazione veritiera Anche se con tempi diversi, tutte le componenti dei computer tendono a migliorare in modo esponenziale con l avanzare della tecnologia A causa di questa crescita esponenziale, i computer tendono a diventare macchine obsolete molto rapidamente Stefano Brocchi Il sistema di elaborazione 29 / 44

La memoria Dopo aver analizzato la realizzazioen della componente di esecuzione, vediamo come viene realizzata la memorizzazione In un calcolatore esiste una memoria di supporto alla CPU nell esecuzione, dove sono contenuti sia dati che istruzioni In questo caso si utilizza una memoria elettronica, con le seguenti caratteristiche Velocità di accesso elevata Economicamente costosa Volatile: i dati contenuti vanno persi con lo spegnimento del computer Stefano Brocchi Il sistema di elaborazione 30 / 44

La memoria In un calcolatore è necessaria inoltre una memoria di archivio, capace di mantenere grandi quantità di dati anche a computer spento Solitamente, si utilizza all interno del computer una memoria a dischi magnetici, più economica ma notevolmente più lenta della memoria elettronica Per mantenere dati su un supporto slegato dal calcolatore, si utilizzano dischi basati su tecnologia ottica come CD e DVD Stefano Brocchi Il sistema di elaborazione 31 / 44

Memorie esterne Altre alternative per la memoria esterna: le memorie USB rappresentano una memoria elettronica permanente e riscrivibile Per copiare grandi quantità di dati a livello industriale si utilizzano a volte nastri magnetici Molto lenti ma con grande capacità Consentito solo l accesso sequenziale Stefano Brocchi Il sistema di elaborazione 32 / 44

La memoria centrale La memoria centrale è quella che contiene i programmi attualmente in esecuzione ed i loro dati I dati nella memoria centrale sono associati ad un loro indirizzo, rappresentante la loro posizione E ad accesso casuale: i tempi di esecuzione al suo contenuto sono indipendenti dalla posizione del dato cercato o dall ordine di accesso In contrapposizione, la memoria ad accesso sequenziale che richiede una lettura dei suoi dati ordinatamente Stefano Brocchi Il sistema di elaborazione 33 / 44

La memoria centrale Per modificare o leggere i dati dalla memoria, occorre utilizzare il bus per inviare l indirizzo desiderato (bus indirizzi) e per il dato (bus dati) da scrivere o leggere (specificare nel bus di controllo) Bus dati 11001010 Bus indirizzi 7 Bus controllo scrivi 11001010 0 1 2 3 4 5 6 7... Stefano Brocchi Il sistema di elaborazione 34 / 44

Memoria e CPU All attuale stato tecnologico, le CPU sono molto più veloci della memoria Le memorie sembrano crescere più in capacità che in velocità Se il processore dovesse attendere per troppo tempo la memoria, questo collo di bottiglia vanificherebbe la velocità del processore Analogamente, anche il bus per la comunicazione tra i due è a velocità limitata Stefano Brocchi Il sistema di elaborazione 35 / 44

Memoria interna alla CPU E possibile realizzare una memoria interna alla CPU per evitare i tempi di attesa per il trasferimento Tale memoria risulta però avere grandi limiti di capacità e risulta molto costosa Difficile mediare i requisiti di basso costo, alta velocità e capacità in un unica memoria Stefano Brocchi Il sistema di elaborazione 36 / 44

Memoria interna alla CPU Soluzione: utilizzare più tipi di memoria in combinazione Utilizzare una memoria piccola e veloce per i dati che (crediamo) vengano utilizzati più frequentemente Questa piccola memoria prende il nome di cache Nei moderni processori, questa idea viene iterata per creare due diversi tipi di cache, una di primo livello (più veloce) ed una di secondo (più lenta ma più grande) Stefano Brocchi Il sistema di elaborazione 37 / 44

Memorie: gerarchia Le memorie formano così una gerarchia: Velocita Registri: < 1KB Cache liv. 1: 128-256 KB Registri CPU Cache livello 1 Cache liv. 2: 1-2 MB Cache livello 2 RAM: 2-8 GB Chip Memoria centrale (RAM) Memorie esterne Scheda madre Disco fisso: 400-1000 GB Disco fisso Capacita Computer Stefano Brocchi Il sistema di elaborazione 38 / 44

Utilizzo della cache Come decidere che dati mantenere nella cache in modo da ottimizare le prestazioni di sistema? Due criteri danno solitamente una buona stima di che dati saranno riutilizzati prossimamente Il primo è il principio di località spaziale ed il secondo è il principio di località temporale Stefano Brocchi Il sistema di elaborazione 39 / 44

Località spaziale Il principio di località spaziale dice che se si legge una cella di memoria, è probabile che le celle vicine saranno presto necessarie Durante l esecuzione di un programma, a meno di istruzioni di salto dopo aver caricato un istruzione sarà necessario caricare anche quella successiva Altro esempio: spesso alcuni file vengono caricati in memoria per intero; in questi casi, una volta letto il primo byte dovremo leggere anche tutti i byte successivi Come sfruttare questo principio: quando si carica una cella di memoria, viene caricato anche tutto il blocco di celle adiacenti In molti casi, per esempio nei dischi fissi, vedremo che questo non ha un costo molto superiore, in proporzione, al trasferimento di una singola cella Stefano Brocchi Il sistema di elaborazione 40 / 44

Località temporale Il principio di località temporale dice che una cella di memoria è stata letta o modificate recentemente, è probabile che sia utilizzata di nuovo in un futuro prossimo Quando si eseguono dei calcoli per esempio, è facile che la stessa variabile venga riutilizzata più volte Come sfruttare questo principio: quando la cache si riempie ed occorre rimuovere dei dati, viene eliminato il blocco di memoria utilizzato meno recentemente Politica chiamata LRU (Least Recently Used) Stefano Brocchi Il sistema di elaborazione 41 / 44

Prestazioni Molti indici per misurare le prestazioni di una memoria, tra cui: La volatilità La velocità, suddivisibile in tempo di accesso, il tempo di ciclo e la velocità di trasferimento La capacità, anche in proporzione al costo La modalità di accesso, che può essere casuale, sequenziale, mista,... Stefano Brocchi Il sistema di elaborazione 42 / 44

Memoria ROM All interno di un calcolatore esiste un ulteriore memoria molto importante: la memoria ROM (Read Only Memory, memoria a sola lettura) per il bootstrap, il processo di avvio del calcolatore Questa memoria ROM contiene le istruzioni di base che vengono eseguite quando viene acceso un computer, consentendo dei controlli di integrità e l avvio del sistema operativo In sola lettura perchè così anche se tutto il resto della memoria viene persa, è possibile avere un piccolo programma di base che consente il ripristino del sistema Stefano Brocchi Il sistema di elaborazione 43 / 44

Domande da esame Da che parti è costituito un calcolatore nell architettura di Von Neumann? A che hardware corrispondono le varie componenti? Come avviene la comunicazione tra i dispositivi hardware? Che vantaggi e svantaggi ha questa soluzione? Come è rappresentata l informazione su di un calcolatore? Come viene misurata? Cosa dice la legge di Moore? Che tipi di memoria esistono nel calcolatore e per cosa differiscono? A cosa serve e come funziona la cache? Che criteri vengono impiegati nel suo utilizzo? Stefano Brocchi Il sistema di elaborazione 44 / 44