Corso di Informatica (B) (Scienze e Tecniche Psicologiche) a.a. 2009/2010 Organizzazione di un computer Matteo Baldoni Dipartimento di Informatica Università.

Slides:



Advertisements
Presentazioni simili
Architettura dell’elaboratore
Advertisements

La struttura fisica e logica di un elaboratore
Cos'è una memoria? MEMORIA
STRUTTURA DEL PERSONAL COMPUTER
INFORMATICA Trattamento automatizzato dellinformazione.
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2000/2001.
I COMPONENTI DEL Computer
Memorie.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Architettura dei computer
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni durante il funzionamento del calcolatore.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
La macchina di von Neumann
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
Informatica per medici
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Le memorie del calcolatore
ARCHITETTURA DEGLI ELABORATORI
Il Calcolatore Elettronico
MODULO 01 Il computer.
PRESENTAZIONE di RICCARDO
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
L' ARCHITETTURA DI VON NEUMANN
Architettura del calcolatore
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Realizzazione a cura di
Architettura del calcolatore
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INFORMATICA = INFOrmazione + autoMATICA L’informazione una delle risorse strategiche più importanti della società moderna Capacità di gestire l’informazione.
ORGANIZZAZIONE DI UN SISTEMA DI ELABORAZIONE
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corsi di Laurea in Biotecnologie
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Il calcolatore Stefano Cagnoni e Monica Mordonini
Il software Claudia Raibulet
Concetti di base Computer, HW e SW
Memoria Cache l Memoria molto veloce intermedia tra RAM e CPU l i dati di uso piu’ frequente sono mantenuti nella memoria Cache per minimizzare i trasferimenti.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Informazione e Informatica - presentazione dei concetti di base -
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
Istituto Comprensivo di Livigno BENVENUTI. Clemente Silvestri FONDAMENTI DI INFORMATICA.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Conosciamo…il computer
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Concetti informatici di base. Concetti informatici di base Il computer o elaboratore è una apparecchiatura costituita da un insieme di dispositivi di.
Struttura del Computer
Transcript della presentazione:

Corso di Informatica (B) (Scienze e Tecniche Psicologiche) a.a. 2009/2010 Organizzazione di un computer Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 – I Torino baldoni[at]di[dot]unito[dot]it

Livelli come astrazioni Un computer è una macchina programmabile, tuttavia esso non è direttamente utilizzabile da parte degli utenti poiché richiederebbe la conoscenza sull’organizzazione fisica della specifica macchina e del suo linguaggio macchina Ogni machina avrebbe le sue differenti caratteristiche Il linguaggio macchina è estremamente complicato e non di facile gestione Linguaggio Macchina Utente ? ??

Livelli come astrazioni In altre parole desideriamo astrarci dai dettagli fisici della macchina in oggetto e dal suo specifico linguaggio macchina L’idea è quella di realizzare al di sopra della macchina reale una macchina virtuale astratta che abbia le funzionalità desiderate e che sia facile da utilizzare per l’utente L’utente interagisce con la macchina virtuale, ogni comando viene poi tradotto nei corrispondenti comandi sulla macchina fisica La macchina virtuale è realizzata mediante software (programmi) traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina

Livelli come astrazioni La macchina virtuale viene realizzata in genere mediante il software di base: Sistema Operativo: file system, memoria, cpu, risorse ausiliarie, comunicazione Linguaggi e ambienti di programmazione ad alto livello: interpreti e compilatori Non vi sono limiti al numero e al tipo di macchine virtuali che possono essere realizzate In genere nelle macchine moderne sono strutturate su più livelli (struttura a cipolla) traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina traduzione Software Macchina Virtuale

Livelli come astrazioni In termini un po’ più astratti, detto: I h l’insieme delle istruzioni che costituiscono il linguaggio LM della macchina virtuale del livello h M h l’insieme delle istruzioni utilizzabili al livello h, ma mascherate nei confronti dei livelli superiori C h l’insieme dei comandi implementati a livello h utilizzando il linguaggio macchina I h Il linguaggio macchina I h+1 della macchina virtuale di livello h+1 puo’ essere definito nel modo seguente: I h +1 = I h + C h - M h traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina traduzione Software Macchina Virtuale h=1 h=0

Livelli come astrazioni Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser che per farlo si appoggia al software di base Il software di base si appoggia alla macchina fisica per realizzare effettivamente il “rendering” della pagina su video traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina traduzione BROWSER Macchina Virtuale

Interpretazione Interprete (JavaScript, Scheme, Prolog, php, asp): Interazione. Più facile modificare un programma durante l'esecuzione Sparc/Solaris Apple Codice Sorgente Interprete Sparc/Solaris Interprete MacOS Interprete Intel/GNU-Linux Intel/Windows

Interpretazione Affinché le due persone di lingua diversa possano dialogare tra di loro (nel caso nessuna delle due conosca la lingua dell’altro) è necessario che qualcuno interpreti (traduca sul momento) quanto dice una persona nella propria lingua nella lingua di chi ascolta Si interpreta quando è necessario una stretta interazione, quando si desidera dialogare e non solo trasmettere un messaggio

Traduzione o compilazione Compilazione (Pascal, C, Ada, C++): Efficienza di esecuzione. Il codice generato dal compilatore può essere ottimizzato, perché la compilazione è fatta una sola volta Compilatore Sparc/Solaris Compilatore MacOS Compilatore Intel/GNU-Linux binario Intel/GNU- Linux Intel/Wind Apple Sparc/Solaris Codice Sorgente

Traduzione o compilazione La traduzione è adatta per comunicare messaggio, come ad esempio una lettera Anche per effettuare una traduzione è necessario l’intervento di qualcuno che sia in grado di comprendere le frasi di un linguaggio e riportarle in un altro ma questo può operare in tempi separati rispetto la scrittura del messaggio e la sua lettura La lettura è più rapida e semplice, il traduttore ha senz’altro avuto tempo per meglio adattare il testo ma si penalizza l’interattività

Architettura e organizzazione L'insieme di tipi di dati, operazioni e caratteristiche di ogni livello si chiama architetura Lo studio dei come progettare le parti di un sistema che sono visibili ai programmatori si chiama architettura dei calcolatori Organizzazione, relazioni strutturali tra le unità funzionali di una data architettura (non visibile al programmatore) Spesso il termine organizzazione è usato come sinonimo di architettura

Livelli come astrazioni In termini un po’ più astratti, detto: I h l’insieme delle istruzioni che costituiscono il linguaggio LM della macchina virtuale del livello h M h l’insieme delle istruzioni utilizzabili al livello h, ma mascherate nei confronti dei livelli superiori C h l’insieme dei comandi implementati a livello h utilizzando il linguaggio macchina I h Il linguaggio macchina I h+1 della macchina virtuale di livello h+1 puo’ essere definito nel modo seguente: I h +1 = I h + C h - M h traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina traduzione Software Macchina Virtuale h=1 h=0

Livelli come astrazioni Ogni livello nasconde i dettagli non necessari e costituisce l'insieme di astrazioni rilevnti per il livello superiore Ogni livello è costituito da un insieme di componenti e da un insieme di modi per combinare i componenti in strutture Le strutture così costruite rappresentano l'astrazione realizzata dal livello e costituiscono le entità su cui si opera a livello superiore Questo, a sua volta, le aggrega in modo da formare entità ancora più astratte per il livello soprastante. traduzione in LM Software Macchina Virtuale Utente Linguaggio Macchina traduzione Software Macchina Virtuale h=1 h=0

Livelli di macchine HARDWARE E SOFTWARE SONO LOGICAMENTE EQUIVALENTI

Hardware ≡ Software Potremmo anche simulare l'hardware di un intero computer via software Un esempio è la 'vmware workstation' prodotta da “VMWARE and EMC company” Una virtual machine che simula l'hardware di un PC!

Hardware ≡ Software Tale software permette di installare un sistema operativo senza nessuna differenza con una installazione su un vero computer per mezzo della realizzazione di una “Virtual Infrastructure” GNU/Linux RedHat Windows 2000

Le idee ed i pionieri Babbage Turing von Neuman Il computer è un calcolatore digitale programmabile dotato di memoria dati e programmi risiedono in memoria

Macchina di von Neumann Von Neumann collaboro` prima all'ENIAC (lenta aritmentica decimale), quindi alla macchina IAS (aritmetica binaria) Cinque parti principali: memoria, ALU, unita` di controllo e dispositivi di I/O Registro accumulatore E` alla base di quasi tutti i calcolatori digitali (dal 1949!)

Software vs hardware Programming in hardware: il programma e` codificato da una sequenza di funzioni aritmetiche e logiche implementate nell'hardware Programming in software: le istruzioni servono a configurare l'hardware (general purpose) per calcolare la funzione desiderata in quel momento Von Neumann: dati e istruzioni possono essere memorizzati nella stessa memoria Programming in hardware Dati Output Istruzioni Dati Output Segnali di controllo Programming in software Instruction interpreter General purpose artihmetic and logic functions Sequence of artihmetic and logic functions

Unità funzionali Unità di elaborazione e controllo (CPU): interpretazione ed esecuzione delle istruzioni. Unità operativa (ALU) e di controllo responsabile del coordinamento di tutte le attività. Registri: memoria temporanea ad alta velocità Memoria: contenitore di istruzioni e dati (in forma binaria). L'interpretazione dà luogo all'esecuzione dello specifico codice di istruzione. Dati e istruzioni sono di per sé indistinguibili ma dipende dal modo in cui si leggono e interpretano i bit

Unità funzionali L'unità di controllo legge le istruzioni della memoria centrale e ne determina il tipo Sistema di ingresso e uscita: l'insieme dei dispositivi per comunicare con il modo esterno e con l'utente. L'informazione in ingresso e uscito è sempre in forma codificata Un sistema di interconnessione per collegare le varie unità funzionali

Componenti principali Video/display Periferiche di input/output Stampante (secondarie) Memorie di massa Processore Memoria (centrale) Bus principale Controller

Organizzazione fisica attuale Periferiche per l’output Unità centrale e memorie Periferiche per l’input CPU + HD, CD, Floppy Tastiera e mouse Scanner

Organizzazione fisica attuale Hard Disk RAM CPU Lettore CD Floppy Disk

Architettura dei computer Le varie componenti comunicano attraverso uno o più insiemi di collegamenti detti bus Nei computer moderni: c’e’ un collegamento dedicato detto bus di sistema per la comunicazione tra cpu e memoria principale ci sono collegamenti per le altre periferiche detti bus locali con i loro adattatori (memorie secondarie, dispositivi di I/O e di rete)

La memoria principale Fornisce la capacità di “memorizzare” le informazioni (i dati e i programmi) Può essere vista come una lunga sequenza di componenti elementari, ognuna delle quali può contenere un’unità di informazione (un bit) Le componenti elementari della memoria sono aggregate tra di loro e formano strutture complesse dette celle che possono contenere otto bit (un byte) La memoria può essere vista come una sequenza di celle

La memoria principale Ciascuna cella è caratterizzata da un indirizzo Gli indirizzi corrispondono all’ordinamento delle celle nella sequenza Gli indirizzi sono numeri interi (partono da 0) Gli indirizzi non sono scritti da nessuna parte, sono determinati N

La memoria principale Un altro nome con cui viene indicata la memoria principale è memoria RAM (Random Access Memory) Questa definizione indica che il tempo di accesso ad una cella è lo stesso indipendentemente dalla posizione della cella Le operazioni che un Processore può effettuare sulla memoria sono le operazioni di lettura e scrittura di informazioni nelle celle

La memoria principale L’ indirizzo di una cella è un numero intero e quindi lo si può codificare in binario Il numero di celle di memoria determina il numero di bit necessari a rappresentare l’indirizzo Viceversa il numero di bit destinati all’indirizzo determina il numero di celle indirizzabili questo numero viene chiamato Spazio di indirizzamento

Dimensione della memoria Le dimensioni della memoria principale variano a seconda del tipo di computer Nei computer attuali le dimensioni tipiche della memoria principale vanno da 128MB a 2GB (1MB = 2 20 byte ~ byte, 1GB = 2 30 byte ~ byte)

Spazio di indirizzamento Nei computer attuali lo spazio di indirizzamento è di almeno 32 bit, con cui si possono indirizzare 2 32 byte = 4GB Lo spazio di indirizzamento è maggiore della memoria esistente

Parola di memoria Una parola di memoria è, a seconda del tipo di computer, un aggregato di (due) quattro o otto byte, sul quale si può operare (leggere e scrivere) come su un blocco unico Per eseguire le operazioni di lettura e scrittura sulla memoria, si deve specificare l’indirizzo della parola su cui si vuole operare Gli indirizzi delle parole devono essere multipli del numero di celle (byte) che le compongono

Indirizzamento La cella è l’unità minima di memoria indirizzabile, non sono indirizzabili i singoli bit La parola è l’unità massima di memoria che è possibile leggere e scrivere in un colpo solo (mediante un’unica istruzione)

Accesso alla memoria La memoria è caratterizzata dal tempo di accesso (tempo necessario per leggere o scrivere un’informazione in una parola) Le memorie principali dei computer attuali sono molto veloci e i loro tempi di accesso sono di pochi nanosecondi (1 nanosecondo= sec, un miliardesimo di secondo) Le memorie principali sono relativamente costose, (128MB costano qualche decina di euro) La memoria principale perde ogni suo contenuto quando si interrompe l’alimentazione elettrica. Questa caratteristica viene chiamata volatilità È quindi necessario per conservare le informazioni (programmi e dati) avere altri tipi di memoria (memoria secondaria) che conservano il contenuto anche senza alimentazione elettrica

Tipi di RAM DRAM (Dynamic RAM): il tipo più diffuso, economica, tempo di accesso ns SRAM (Static RAM): molto più veloce e costosa della DRAM, viene utilizzata per realizzare la memoria cache, tempo di accesso < 10ns VRAM (Video RAM): ha caratteristiche particolari ed e’ utilizzata per la gestione delle immagini Moduli di memoria RAM: DIMM (chip di memoria montati su due lati) SIMM (chip di memoria montati su un lato solo)

Memoria Cache Memoria molto veloce intermedia tra RAM e CPU i dati di uso piu’ frequente sono mantenuti nella memoria Cache per minimizzare i trasferimenti tra RAM e CPU Principio di Localita’ alla base dell’architettura con cache: Localita’ spaziale: il processore utilizza con alta probabilita’ dati che risiedono in locazioni di memoria contigue Localita’ temporale: se il processore utilizza un dato in memoria, e’ altamente probabile che lo riutilizzi nuovamente in breve tempo

Memoria Cache Ci sono due tipi di Cache: interna al processore (~256KB) esterna al processore (~2MB) realizzata con chip di memoria SRAM

Memoria RAM-ROM Tutti i computer contengono un chip di memoria elettronica permanente non modificabile (ROM=Read Only Memory) Il più comune è chiamato EPROM Contiene un programma (detto Basic Input Output System) per l’avviamento del computer e per altre operazioni fondamentali

Riassunto La memoria RAM è: veloce (accesso nell’ordine dei nanosecondi) relativamente costosa ha dimensioni limitate è volatile (non può mantenere dati permanenti è ad accesso diretto (si può accedere a qualsiasi cella senza accedere alle altre)