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

Documenti analoghi
Architettura dei calcolatori

Architettura hardware

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

Architettura dei calcolatori

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

Componenti e connessioni. Capitolo 3

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Componenti di un processore

Architettura dei computer

ARCHITETTURA DI UN ELABORATORE

Hardware. Sommario. Architettura dei computer

Hardware. I parte. Sommario

Esame di INFORMATICA Lezione 4

Il Processore: l unità di controllo

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Architettura dei calcolatori I parte Introduzione, CPU

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

Introduzione all'architettura dei Calcolatori

Lezione 1: L hardware

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

Corso di Informatica

LA STRUTTURA DEL COMPUTER

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Informatica e Bioinformatica anno 2013/2014

Sottosistemi ed Architetture Memorie

Lezione 15. L elaboratore Elettronico

HARDWARE 1.4a: (Processore)

LA STRUTTURA DEL COMPUTER. Enrico Terrone A. S: 2014/2015

Elementi di base del calcolatore

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Il Processore. Informatica di Base -- R.Gaeta 27

La macchina di Von Neumann

Fondamenti di informatica: un po di storia

ARCHITETTURA DI UN ELABORATORE

Corso di Informatica

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

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

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

o studiare l architettura del calcolatore significa:

Architettura del calcolatore

Struttura hw del computer

Informatica giuridica

Modulo: Elementi di Informatica

Architettura del Calcolatore

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Corso di Informatica

Memoria Secondaria o di Massa

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Architettura di un calcolatore

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

Architettura dei calcolatori e Software di sistema

Personal Computer: introduzione

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

I dispositivi di input/output: il mouse

Porte Input/Output (I/O Connectors)

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di una CPU

LEZIONE 2 Il processore e la memoria centrale

Architettura di Von Neumann

Lo scanner. Informatica di Base A e B -- Rossano Gaeta 82

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Capitolo 5 Elementi architetturali di base

ARCHITETTURA HARDWARE DEGLI ELABORATORI

Corso Programmazione

Fondamenti di Informatica

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

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica

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

Informatica e Bioinformatica

NOZIONI BASE DEL PROCESSORE (CPU)

SISTEMI INFORMATIVI AZIENDALI

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

INFORMATICA GENERALE

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

Architettura del calcolatore

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

L architettura del calcolatore

Sistemi di numerazione

Architettura dei calcolatori. da una lezione del prof. Luca Cabibbo

La memoria principale

Architettura di un processore basato su registri generali.

Richiami sull architettura del processore MIPS a 32 bit

Lezione4: MIPS e Istruzioni (1 Parte)

Hardware e software. Marco Alberti Programmazione e Laboratorio, A.A

Corso di Informatica - Lez.1

Architettura hardware

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Struttura dell elaboratore elettronico

Le fasi classiche. Informatica di Base -- R.Gaeta 1

Informatica di Base - 6 c.f.u.

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

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

Appunti Liberi di Tecnologie Informatiche

I registri A, B, T contengono dati su cui è possibile eseguire operazioni elementari da parte dell ALU;

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Come funzionano i computer

Tipi di elaboratori Rappresentazione della informazione Codifica della informazione

Computer e Programmazione

Transcript:

Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3

Cos'è un computer? E' un dispositivo in grado di Elaborare dati Memorizzare dati Trasferire dati da e verso l'esterno Eseguire operazioni di controllo e coordinamento tra le parti di cui è composto Ambiente Esterno I/O Elaborazione 4 Architettura di Von Neumann Dati e programmi sono rappresentati allo stesso modo (da sequenze di bit) e contenuti nella stessa memoria János Lajos Margittai Neumann, 193 1957, nato in Ungheria e naturalizzato americano col nome di John Von Neumann 5 Struttura di un calcolatore: Architettura di Von Neumann Processore (CPU) Sottosistema di interfaccia (I/O) Esegue le istruzioni elementari richieste dai programmi Mantiene Dati e Programmi Memorizzazione Permette di comunicare dati e programmi alla macchina e di ottenere i risultati (tastiera, scheda audio, stampante, Elaborazione + schermo, mouse...) Trasferimento dati da/verso l'esterno 6

Architettura a Bus Semplicità Una sola linea di connessione cui è possibile collegare più dispositivi, anziché un nuovo collegamento per ogni coppia di dispositivi che devono interagire tra loro Estensibilità Nuovi dispositivi possono essere aggiunti in modo semplice Standardizzazione E' possibile definire normative che consentono a dispositivi di produttori diversi di interagire correttamente Limitata capacità Al crescere del numero dei dispositivi, il bus diventa un fattore limitante (collo di bottiglia) delle prestazioni del sistema 7 Architettura di Von Neumann Processore (CPU) Sottosistema di interfaccia (I/O) 8 CPU Dati Indirizzi Bus R1 Rn 9

Componenti della CPU Un certo numero N di registri di uso generale R1...RN (Program Counter) Indica l'indirizzo di memoria che contiene la prossima istruzione da eseguire (Instruction Register) Di solito, ma non necessariamente, un registro contiene 32 bit = 1 parola Contiene il codice numerico che rappresenta l'istruzione che deve essere eseguita (Program Status Word) Informazioni sullo stato del programma (es: se l'ultima operazione aritmetica eseguita ha causato overflow) 1 Ciclo Fetch-Decode-Execute Fetch Decode Execute Preleva dalla memoria l'istruzione da eseguire; l'istruzione viene letta dall'indirizzo di memoria che si trova in ; il contenuto viene posto in Esamina l'istruzione memorizzata in per decidere quali operazioni richiede Esegue l'istruzione memorizzata in, incluso il recupero dalla memoria degli eventuali parametri necessari ad eseguirla, e deposito del risultato. Aggiorna il per la prossima istruzione. 11 Tipi di istruzioni Istruzioni Aritmetico-Logiche Istruzioni di controllo del flusso di esecuzione Esempio: Salta ad eseguire l'istruzione il cui codice è contenuto nella cella di memoria all'indirizzo X Istruzioni di letture/scrittura di memoria Esempio: Somma due valori contenuti in due registri; salva il risultato in un terzo registro Esempio: Copia il valore contenuto nella cella di memoria all'indirizzo X all'interno del registro Ry Istruzioni di Input/Output Esempio: Invia il contenuto del registro Rx al dispositivo di I/O numero y 12

Formato di una istruzione Le istruzioni sono rappresentate da sequenze di bit In alcuni processori ogni istruzione è codificata con 4 byte = In altri (es., Intel x86) si usano codifiche con un numero variabile di byte Se le istruzioni sono codificate con 32 bit, ovviamente l' deve essere ampio esattamente 32 bit All'interno dei 32 bit, occorre indicare: Il tipo di istruzione da eseguire (somma, prodotto, salto, confronto, copia da memoria...) Gli eventuali parametri dell'istruzione (quali registri sono coinvolti, quali locazioni di memoria sono coinvolte, ecc.) 13 Esempio Una ipotetica istruzione di somma ADD Ri, Rj, Rk Somma i valori contenuti nei registri Ri e Rj; poni il risultato nel registro Rk Supponiamo di avere 256 possibili registri Una possibile codifica dell'istruzione è la seguente: 1 Codice istruzione i j k 14 Esempio Esempio: 1 byte 1 parola = 4 byte 1 byte 1 byte 1 byte 1 111 1 1 Istruzione= ADD Primo Addendo: Registro numero 28 Secondo Addendo: Registro numero 2 Risultato va in Registro numero 128 15

371 8 211 Esempio 11 12 111 1112 121 12 131 12 11 141 151 161 171 112 1112 1112 111112 371 8 211 Fetch 11 16 11 111 121 131 12 141 151 161 171 112 1112 12 12 1112 1112 111112 371 8 211 Fetch 11 111111 17 11 111 121 131 141 151 161 171 12 1112 12 12 112 1112 1112 111112 18

371 8 211 Decode 11 12 111 1112 121 12 131 12 11 111111 ADD 141 151 161 171 112 1112 1112 111112 371 8 211 581 11 111111 Execute 19 ADD 11 111 121 131 12 141 151 161 171 112 1112 12 12 1112 1112 111112 371 8 211 Fetch 141 111111 2 11 111 121 131 141 151 161 171 12 1112 12 12 112 1112 1112 111112 21

Esempio Ipotetica istruzione di trasferimento registro memoria STORE Ri, m Copia il contenuto del registro Ri nella cella di memoria di indirizzo m Una possibile codifica 1 Codice istruzione i 16 bit m 22 Domanda 1 Codice istruzione i 16 bit m Considerando l'istruzione STORE Ri,m rappresentata come sopra, quanto grande può essere la memoria accedibile dall'istruzione? Risposta L'indirizzo m della destinazione è espresso con 16 bit L'intero più grande rappresentabile con 16 bit è 216-1 = 65535 Quindi la memoria massima indirizzabile con l'istruzione STORE è di 65536 bytes (numerati da a 65535) 23 Processore (CPU) Sottosistema di interfaccia 24

RAM La RAM è una sequenza di byte Ogni byte è identificato dalla sua posizione nella sequenza (indirizzo di memoria) byte, byte 1, byte 2,... Alcune CPU sono in grado di accedere ai singoli byte; altre accedono a parole (= gruppi di 4 byte) Parola 1 2 3 4 5 6 7 8 9 1 11 12 13 14 15 16 17 18 19 25 Unità di misura 1 Kilo Byte (1KB) 1 Mega Byte (1MB) 22 = 1.48.576 1 byte 1 Giga Byte (1GB) 21 = 124 1 byte 23 = 1.73.741.824 19 byte 1 Tera Byte (1TB) 24 = 1.99.511.627.776 112 byte 26 Funzionamento della RAM 112 Bus indirizzi Decodificatore Linee di selezione linea linea 1 linea 2 linea 3 linea 4 linea 5 linea 6 linea 7 linea 8 linea 9 linea 1 linea 11 linea 12 linea 13 linea 14 linea 15 1 16 celle di memoria da ciascuna Byte selezionato 1 1 1 1 Bus di controllo Leggi/Scrivi 1 1 1 1 Bus Dati 27

Vari tipi di memoria Accesso lento/molto lento Costo basso Vastissima capacità Accesso molto veloce Costo elevato Limitata capacità Accesso veloce Costo contenuto Ampia capacità Hard Disk CD/ DVD I/O I/O CPU RAM Cache 28 Domanda La CPU di un computer ha il registro di 2 bit e una memoria RAM di un Mbyte (=22 Byte). E' possibile aumentare la sua memoria RAM destinata all'esecuzione dei programmi senza cambiare la CPU? 29 Nei calcolatori moderni... CPU L1 cache L2 cache Sottosistema di interfaccia (I/O) Vengono utilizzati diversi livelli di memoria cache (molto veloce) per mantenere i dati più frequentemente usati vicini alla CPU Riduce gli accessi alla memoria tramite il bus di sistema 3

Nei calcolatori moderni... L1 cache L2 cache Sottosistema di interfaccia (I/O) CPU multi-core: all'interno del processore sono presenti più unità di calcolo indipendenti (di fatto, più CPU) che possono operare contemporaneamente, in modo indipendente l'una dall'altra 31 CPU reali Intel core i7 AMD Istanbul 32 I tempi in gioco 1 CPU cycle Level 1 cache access Main memory access Solid-state disk I/O Rotational disk I/O Internet: SF to NYC Internet: SF to UK Internet: SF to Australia Physical system reboot.3 ns.9 ns 12 ns 5-15 μs 1-1 ms 4 ms 81 ms 183 ms 5m 1s 3s 6 min 2-6 days 1-12 months 4 years 8 years 19 years 32 millenia Source: https://blog.codinghorror.com/the-infinite-space-between-words/ 33