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

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

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

ARCHITETTURA DI UN ELABORATORE

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

ARCHITETTURA DI UN ELABORATORE

Laboratorio di Informatica L-A 1

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE

Architettura di un elaboratore

Ispirata al modello della Macchina di Von Neumann. Macchina di Von Neumann: Non distingueva fra RAM e ROM Non aveva un bus ma collegamenti punto-punto

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Macchina di Von Neumann: Non distingueva fra RAM e ROM Non aveva un bus ma collegamenti punto-punto

CPU: svolge le. trasferimento dei. programmi. Ispirata al modello della Macchina di Von Neumann

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

INFORMATICA. Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione

Sistemi di Elaborazione delle Informazioni 6 CFU. Architettura dei calcolatori

Corso di Informatica modulo Informatica di Base 6 CFU. Architettura dei calcolatori

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

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Il modello di Von Neumann

Abilità Informatiche e Telematiche

Architettura dei computer

Elementi di base del calcolatore

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

architettura degli elaboratori Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione

Architettura dei calcolatori

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

Abilità Informatiche e Telematiche

Sistemi di Elaborazione delle Informazioni 6 CFU. Architettura dei calcolatori

ARCHITETTURA DI UN ELABORATORE

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

INFORMATICA. Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione

Macchina di Von Neumann

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

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura del Calcolatore

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

Architettura dei computer

Architettura del calcolatore

Architettura del calcolatore (Seconda parte)

Macchina di Von Neumann

Architettura del calcolatore. Prima parte

Architettura hardware

A cosa servono i moltiplicatori? Tanti algoritmi prevedono l utilizzo di moltiplicazioni!

Architettura del Calcolatore

ARCHITETTURA DI UN ELABORATORE

INFORMATICA! Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione

Esame di INFORMATICA Lezione 4

Lezione 15. L elaboratore Elettronico

Architettura di un elaboratore. Il modello di von Neumann

Architettura di von Neumann

Fondamenti di Informatica T. L architettura dei sistemi informatici

L informatica comprende: INFORMATICA. Lady Ada Lovelace. Varie definizioni: Definizione proposta: PRIMO COMPUTER

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

Architettura dei calcolatori II parte Memorie

Il processore - CPU (CENTRAL PROCESSING UNIT)

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

Cenni sull architettura del calcolatore

Lezione 1: L hardware

Architettura di un elaboratore

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

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

Architettura di un elaboratore

Architettura di un elaboratore

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

Il primo elaboratore moderno

L architettura del calcolatore

Modulo: Elementi di Informatica

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

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

La memoria principale

La memoria secondaria

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

RIASSUNTO La codifica delle informazioni

Struttura di un elaboratore

Architettura dei calcolatori

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

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

Architettura dell elaboratore

Architettura dell elaboratore

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Informatica e Bioinformatica anno 2013/2014

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

, a n-1. , a n-2. ,..., a 0. Rappresentazione delle Informazioni: i Numeri Naturali. Rappresentazione in base p

Architettura dei Calcolatori Elettronici

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura hardware

Lezione 22 La Memoria Interna (1)

ARCHITETTURA DI UN CALCOLATORE

LABORATORIO DI INFORMATICA

Architettura di un calcolatore: introduzione

Note sull architettura del calcolatore

Com è fatto un computer (seconda puntata) Appunti per le classi 1 A cura del prof. Ing. Mario Catalano

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Transcript:

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

MACCHINA DI VON NEUMANN UNITÀ FUNZIONALI fondamentali Processore (CPU) Memoria Centrale (RAM & ROM) Unità di I/O (ingresso / uscita) e memoria di massa Bus di sistema

GERARCHIA DELLE MEMORIE Velocità REGISTRI Memoria Locale CACHE Memoria Centrale RAM Memoria di massa Capacità

LA MEMORIA DI MASSA Scopo: memorizzare grandi masse di dati in modo persistente (I dati memorizzati su questo tipo di memoria sopravvivono all esecuzione dei programmi) Caratteristiche: tempo di accesso capacità Byte (e multipli) Kbyte (1.024 Byte) Mbyte (1.048.576 Byte) Gbyte (1.073.741.824 Byte) Tempo di accesso disco fisso: ~ 5-10 ms flash: 50ns (r) 1ms (w) Capacità disco fisso: >10 GB Flash: 1-16 GB

DISPOSITIVI MAGNETICI L area del dispositivo è suddivisa in micro-zone Ogni micro-zona memorizza una informazione elementare sotto forma di stato di magnetizzazione: area magnetizzata / area non magnetizzata Ai due possibili stati di magnetizzazione vengono associate le due cifre binarie 0 e 1 bit (Binary digit) Quindi, ogni micro-zona memorizza 1 bit Per memorizzare informazioni più complesse si considerano collezioni di bit: BYTE (collezione di 8 bit) e suoi multipli

DISCHI MAGNETICI Un disco consiste in un certo numero di piatti con due superfici che ruotano attorno ad un perno centrale. Ogni superficie dispone di una propria testina di lettura / scrittura. Settore traccia 0 traccia 100 traccia 200 Le superfici sono organizzate in cerchi concentrici (tracce) e in spicchi di ugual grandezza (settori). Le tracce equidistanti dal centro formano un cilindro.

DISCHI MAGNETICI (segue) I dati sono scritti in posizioni successive lungo le tracce: ogni bit corrisponde a uno stato di magnetizzazione del materiale magnetico della superficie del disco. Settore traccia 0 traccia 100 traccia 200 Ogni blocco del disco è identificato con la terna superficie, traccia, settore Per effettuare il trasferimento dei dati in memoria centrale occorre disporre di un area di memoria (buffer) di dimensioni pari al blocco.

DISCHI MAGNETICI (segue) Ingresso (uscita) da (verso) superficie, traccia, settore 1) spostamento della testina (seek) verso la traccia richiesta 2) attesa che il settore arrivi sotto la testina; 3) trasferimento dei dati in / da memoria centrale (solitamente eseguito da un processore dedicato - Direct Memory Access, DMA). Tempo di accesso: T i/o = T seek + 1/2 T rotazione + T trasferimento (T seek è il più lungo)

Penne USB Sono dispositivi che contengono memorie flash. Organizzate strutturalmente come una RAM ma sono persistenti e il computer le vede come un disco Sono memorie altamente asimmetriche: tempo di accesso in lettura molto basso dell ordine di nanosecondi tempo di accesso in scrittura dell ordine dei millisecondi (cancellazione e riscrittura)

SSD Memorie allo stato solido (Solid state devices - SSD). Sono dispositivi che contengono memorie flash. Non hanno parti meccaniche. Sono asimmetriche. Organizzate strutturalmente come una RAM ma sono persistenti e il computer le vede come un disco

DISPOSITIVI OTTICI 1984, CD-ROM (Compact-Disk Read-Only Memory) Capacità: > 600 MB Costo: < $1 Velocità di trasferimento: originariamente 150 KB / s ( 1X ) oggi 24, 32, 40 volte tanto 1986, CD - I (Compact-Disk Interactive) 1997, DVD (Digital Versatile Disk) Evoluzione del CD-ROM Capacità da 4.8 GB (Single Layer-Single Side) a 17 GB circa (Double Layer - Double Side) Velocità di trasferimento molto elevata 2002, HD-DVD e Blue-ray Disc

CAPACITÀ DELLE MEMORIE Tipo di memoria Memoria centrale Dischi magnetici Penne USB Dischi ottici Capacità 512 Mbyte - 4 GByte 120 GByte - 1 TByte 1 16 GByte 650 MByte - 50 GByte

DISPOSITIVI DI MEMORIA DISPOSITIVI FISICI RAM: Random Access Memory (ad accesso casuale): su di essa si possono svolgere operazioni sia di lettura che di scrittura anche detta MEMORIA CENTRALE ROM: Read Only Memory (a sola lettura): non volatili e non scrivibili dall utente (che la ordina con un certo contenuto); in esse sono contenuti i dati e programmi per inizializzare il sistema PROM: Programmable ROM. Si possono scrivere soltanto una volta, mediante particolari apparecchi (detti programmatori di PROM).

DISPOSITIVI DI MEMORIA (segue) DISPOSITIVI FISICI (segue) EPROM: Erasable-Programmable ROM (si cancellano sottoponendole a raggi ultravioletti). EEPROM: Electrically-Erasable-PROM (si cancellano elettricamente). Il Firmware è costituito da software memorizzato su ROM, EPROM, etc. (codice microprogrammato).

PROBLEMA: MEMORIE CACHE Sebbene la RAM sia veloce, non è abbastanza veloce da star dietro ai moderni processori. CONSEGUENZA: il processore perde tempo ad aspettare l arrivo dei dati dalla RAM.

SOLUZIONE: MEMORIE CACHE (2) Inserire tra processore e RAM una memoria particolarmente veloce dove tenere i dati usati più spesso (memoria cache) In questo modo, la prima volta che il microprocessore carica dei dati dalla memoria centrale, tali dati vengono caricati anche sulla cache le volte successive, i dati possono essere letti dalla cache (veloce) invece che dalla memoria centrale (più lenta)

MEMORIE CACHE (3) DUBBIO: Ma se abbiamo memorie così veloci, perché non le usiamo per costruire tutta la RAM? Semplice... perché costano molto!! OGGI, la cache è spesso già presente dentro al processore (cache di I livello), e altra può essere aggiunta esternamente al processore (cache di II livello)

CPU & MEMORIA ALU (Arithmetic & Logic Unit) Unità di Controllo Registri

MEMORIA La memoria centrale è una collezione di celle numerate, che possono contenere DATI e ISTRUZIONI. Le istruzioni sono disposte in memoria in celle di indirizzo crescente.

LA MEMORIA CENTRALE INDIRIZZAMENTO E l attività con cui l elaboratore seleziona una particolare cella di memoria Per farlo, l elaboratore pone l indirizzo della cella desiderata nel Registro Indirizzi (RI). se il RI è lungo N bit, si possono indirizzare 2 N celle di memoria (numerate da 0 a 2 N -1) esempio: N=10 1024 celle. Oggi, RI è lungo tipicamente 32 bit SPAZIO INDIRIZZABILE di 4 Gb

LA MEMORIA CENTRALE (2) OPERAZIONI Lettura (Read): il contenuto della cella di - memoria indirizzata dal Registro Indirizzi è copiato nel Registro Dati. 0 RI 1 read RD (N bit) N-1 2

LA MEMORIA CENTRALE (3) OPERAZIONI Scrittura (Write): il contenuto del Registro Dati è copiato nella cella di memoria indirizzata dal Registro Indirizzi. 0 RI 1 write RD (N bit) N-1 2

UNITÀ DI ELABORAZIONE (CPU) ALU (Arithmetic / Logic Unit) Esegue le operazioni aritmetiche e logiche elementari Unità di Controllo (Control Unit): controlla e coordina l attività della CPU. (In particolare, controlla il trasferimento dei dati tra memoria e registri e la decodifica e l esecuzione delle istruzioni) I registri sono locazioni usate per memorizzare dati, istruzioni, o indirizzi all interno della CPU. L accesso ai registri è molto veloce.

UNITÀ DI ELABORAZIONE (CPU) PC IR RINT A B ALU Flag CTRL RI RD clock Il clock dà la base dei tempi necessaria per mantenere il sincronismo fra le operazioni

UNITÀ DI ELABORAZIONE (CPU) PC IR RINT A B ALU Flag CTRL RI RD clock I registri (qui A, B, PC, Flag, ) sono locazioni usate per memorizzare dati, istruzioni, o indirizzi all interno della CPU. L accesso ai registri è molto veloce.

I REGISTRI PC IR RINT A B ALU Flag CTRL RI RD clock I registri sono locazioni di memoria interne a CPU, e come tali molto veloci.

I REGISTRI PC A B ALU IR RINT Flag CTRL RI RD clock Program Counter (PC) Indica l indirizzo della cella di memoria che contiene la prossima istruzione da eseguire

I REGISTRI PC A B ALU IR RINT Flag CTRL RI RD clock Instruction Register (IR) Contiene l istruzione da eseguire.

I REGISTRI PC A B ALU IR RINT Flag CTRL RI RD clock Registro Indirizzi (RI) Contiene l indirizzo della cella di memoria da selezionare per il trasferimento di un dato con la CPU

I REGISTRI PC A B ALU IR RINT Flag CTRL RI RD clock Registro Dati (RD) o Accumulatore Contiene il dato attualmente oggetto di elaborazione e il risultato al termine dell esecuzione

I REGISTRI PC A B ALU IR RINT Flag CTRL RI RD clock Registro Interruzioni (RINT) Serve per scopi particolari (non discussi)

I REGISTRI PC IR RINT A B ALU Flag CTRL RI RD clock Registro dei Flag (Flag) Ogni flag indica la presenza/assenza di una proprietà nell ultimo risultato generato dalla ALU. Altri bit riassumono lo stato del processore.

I REGISTRI PC IR RINT A B ALU Flag CTRL RI RD clock Registri di uso generale (A,B,C,...) Sono usati per contenere sia dati (in particolare, operandi di operazioni aritmetico/logiche) sia indirizzi.

LA ALU PC IR RINT A B ALU Flag CTRL RI RD clock Esegue operazioni aritmetiche, logiche e confronti sui dati della memoria centrale o dei registri. Può essere semplice oppure (più spesso) molto complessa e sofisticata.

UNITÀ DI CONTROLLO L'unità di controllo fa funzionare l elaboratore. Da quando viene acceso a quando è spento, essa esegue in continuazione il ciclo di prelievo / decodifica / esecuzione (fetch / decode / execute ).

IL CICLO fetch / decode / execute FETCH si accede alla prossima istruzione (cella il cui indirizzo è contenuto nel registro PC)... e la si porta dalla memoria centrale, memorizzandola nel Registro Istruzioni (IR)

IL CICLO fetch / decode / execute DECODE si decodifica il tipo dell istruzione in base al suo OpCode (codice operativo) Opcode OpCode Operazione 1 Somma 2 Sottrazione

IL CICLO fetch / decode / execute EXECUTE si individuano i dati usati dall istruzione si trasferiscono tali dati nei registri opportuni si esegue l istruzione.

IL CICLO fetch / decode / execute ATTENZIONE Istruzioni particolari possono alterare il prelievo delle istruzioni da celle consecutive: istruzioni di salto istruzioni di chiamata a sotto-programmi istruzioni di interruzione

ESEMPIO SEMPLICE: L ALU (segue) ALU in grado di eseguire somma, sottrazione, prodotto, divisione con due operandi contenuti nei registri A e B. 1. I due operandi vengono caricati nei registri A e B; 2. La ALU viene attivata da un comando inviato dalla CPU che specifica il tipo di operazione; 3. Nel registro A viene caricato il risultato dell'operazione eseguita dalla ALU; 4. Il registro FLAG riporta sui suoi bit indicazioni sul risultato dell'operazione (riporto, segno, etc.). Alterazione di due bit nel registro Flag: carry (riporto) e sign (segno)

BUS DI SISTEMA Il Bus di Sistema interconnette la CPU, la memorie e le interfacce verso dispositivi periferici (I/O, memoria di massa, etc.)

BUS DI SISTEMA (2) CPU Bus Memoria centrale I/O Il Bus collega due unità funzionali alla volta: una trasmette... e l altra riceve. Il trasferimento dei dati avviene o sotto il controllo della CPU.

BUS DI SISTEMA (3) CPU Bus Memoria centrale I/O ll Bus è in realtà un insieme di linee diverse: bus dati (data bus) bus indirizzi (address bus) bus comandi (command bus)

BUS DI SISTEMA (4) BUS DATI bidirezionale serve per trasmettere dati dalla memoria o viceversa. BUS INDIRIZZI unidirezionale serve per trasmettere il contenuto del registro indirizzi alla memoria (si seleziona una specifica cella su cui viene eseguita o un operazione di lettura o una operazione di scrittura)

BUS DI SISTEMA (5) BUS COMANDI bidirezionale tipicamente usato per inviare comandi verso la memoria (es: lettura o scrittura) o verso una periferica (es. stampa verso la stampante interfaccia) può essere usato in alcuni casi per inviare comandi verso il processore

INTERFACCE DI I/O Le interfacce sono molto diverse tra loro, e dipendono dal tipo di unità periferica da connettere. Una interfaccia è un dispositivo che consente all elaboratore di comunicare con una periferica (tastiere, mouse, dischi, terminali, stampanti,...).

OLTRE la macchina di Von Neumann Problema: nella Macchina di Von Neumann le operazioni sono strettamente sequenziali. Altre soluzioni introducono forme di parallelismo processori dedicati (coprocessori) al calcolo numerico, alla gestione della grafica, all I/O. esecuzione in parallelo delle varie fasi di un istruzione: mentre se ne esegue una, si acquisiscono e decodificano le istruzioni successive (pipeline) architetture completamente diverse: sistemi multi-processore, macchine dataflow, LISP macchine, reti neurali.