Architettura degli Elaboratori A.A. 2009/2010. Docenti: Francesca Rossi, Alessandro Sperduti

Documenti analoghi
L evoluzione dei calcolatori (cap.2)

Architettura e organizzazione

L evoluzione dei calcolatori

Architettura dei calcolatori

Architettura hardware

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

Sistemi di numerazione

ORGANIZZAZIONE DEI CALCOLATORI INTRODUZIONE

CASO STUDIO: IL PERSONAL COMPUTER

Fondamenti: Informatica, Computer, Hardware e Software

Esame di INFORMATICA Lezione 4

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Piccoli Ingegneri Informatici

ARCHITETTURA DI UN ELABORATORE

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

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

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

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

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

Struttura hw del computer

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

L elaboratore. Fondamenti di Informatica S.Badaloni Ing. Aerospaziale A.A. 2003/04

Architettura dei calcolatori I parte Introduzione, CPU

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

Componenti di un processore

Lezione 1: L hardware

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

La memoria principale

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

Capitolo 5 Elementi architetturali di base

Architettura dei computer

Memoria Secondaria o di Massa

Laboratorio di Informatica I

Fondamenti di informatica: un po di storia

Architettura dei calcolatori

Architettura di Von Neumann

ARCHITETTURA DI UN ELABORATORE

Dall Abaco ( 3000 ac) a Charles Babbage (1812)

LEZIONE 2 Il processore e la memoria centrale

Modulo: Elementi di Informatica

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Capitolo 1 Introduzione. Il problema. Una transizione

Struttura del calcolatore

Corso di Informatica

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

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

Dal sistema operativo all' hardware

Modi di indirizzamento

Corso di Informatica

Fondamenti di programmazione!! Parte 2!

Calcolatori Elettronici A a.a. 2008/2009

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

Fondamenti di informatica: un po di storia

Porte Input/Output (I/O Connectors)

UD2. L insostenibile leggerezza dei circuiti integrati

Elementi di base del calcolatore

Caratteristiche di un PC

Architettura di una CPU

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

Informatica Generale 01 - Introduzione

Come funzionano i computer

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

Architettura del Calcolatore

Parte I. Evoluzione dei Sistemi di Elaborazione (a.a )

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

Corso di Informatica

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

Corso di Architettura (Prof. Scarano) 09/04/2002

Architettura del calcolatore

Dal sistema operativo all' hardware

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

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

Elementi di Architettura

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

Il calcolatore. Architettura di un calcolatore (Hardware)

Architettura di un calcolatore e principali caratteristiche tecniche e tecnologiche

Informatica e Bioinformatica

La macchina di Von Neumann


Come è fatto un computer

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Corso di Laurea in Ingegneria Elettronica

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Programmazione modulare

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Computer e Programmazione

Laurea Triennale in Ingegneria Gestionale. Corso di Fondamenti di Informatica A.A. 2015/2016 Canale M-Z

Sistemi a microprocessore

Concetti base sui calcolatori elettronici

Informatica di Base. Ancora su numeri. La struttura dei sistemi informatici.

Architettura dei calcolatori e Software di sistema

Breve storia dei sistemi di calcolo

LA STRUTTURA DEL COMPUTER

Docente : Carla BIASCA, Loris RUGGERI

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Architetture degli elaboratori e delle reti

Architettura dei sistemi di elaborazione: Modelli Architetturali La CPU: Generalità

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Componenti

Transcript:

Architettura degli Elaboratori A.A. 2009/2010 Docenti: Francesca Rossi, Alessandro Sperduti 1

Informazioni (I parte corso) Prof.ssa Francesca Rossi E-mail: frossi@math.unipd.it Tel: 049-8271482 Studio: Via Trieste 63, IV piano, stanza 428 Ricevimento: Martedi 15:00-17:00 (studio) 2

Organizzazione della I parte del corso Circa 30 ore di lezione in aula P200 Lunedi Martedi Mercoledi, Giovedi 11:30-13:30 8 ore di lezione in aula informatica probabilmente 2 gruppi di studenti nel pomeriggio: 14,26,29 Ottobre, 2 Novembre aula informatica: Via Paolotti, ingresso a destra dopo l entrata Fino ad inizio Novembre 3

Come accedere al laboratorio Inserire i propri dati (nome, cognome, numero matricola, corso di laurea) nei calcolatori con la maschera per la creazione di nuovi account Saranno pronti tra pochi giorni http://www.studenti.math.unipd.it Dopo due o tre giorni, andare dai tecnici di laboratorio (studio adiacente ai laboratori) a ritirare login e password Al Paolotti, non in Torre VENIRE CON LIBRETTO Se non si e ancora iscritti al corso di laurea (es.: studenti in trasferimento) chiedere ai tecnici come fare 4

Materiale utile Libro Titolo: Computer orgnization and architecture Designing for performance Autore: W. Stallings Casa editrice: Pearson Prentice Hall, 2010 Dove trovarlo Libreria Progetto, Via Marzolo 28, Via Portello 5/7 Libreria Cortina, via Marzolo 2 Sito web del libro: WilliamStallings.com/COA/COA8e.html Sito web del corso URL: www.math.unipd.it/~frossi/arch2009.html Lucidi Dispense per laboratorio Date appelli Risultati esami 5

Esame (I e II parte insieme) Scritto Orale se ritenuto necessario dal docente Appelli: Due alla fine del corso (Dicembre 2009 Gennaio 2010) Uno ad Aprile 2010 Due di recupero in estate 2010: uno a Luglio e uno a Settembre Compitini: uno alla fine di ogni parte Primo compitino: 5 Novembre 2009 6

Sommario degli argomenti di lezione (I parte corso) Introduzione (capitolo 1) Evoluzione dei calcolatori (capitolo 2) Struttura del calcolatore (capitolo 3) Logica Booleana, reti combinatorie, reti sequenziali (capitolo 20) Sistemi di numerazione (capitolo 19) Aritmetica del calcolatore (capitolo 9) Linguaggio macchina (capitolo 10 e 11) 7

In laboratorio: Due sistemi operativi: Linux, Windows Simulatore di CPU Linguaggio macchina Memoria Registri Esecuzione delle istruzioni 8

II parte del corso (Prof. Sperduti) Struttura e funzione della CPU [Ch. 12] Processori RISC [Ch. 13] Memoria cache [Ch. 4] Memoria interna [Ch. 5] Memoria esterna [Ch. 6] Input/Output [Ch. 7] 9

Introduzione (cap.1) 10

Architettura e organizzazione Architettura: caratteristiche visibili al programmatore Istruzioni Spazio (numero bit) usato per rappresentare dati Tecniche di indirizzamento della memoria Organizzazione: unita operative e loro connessioni Interfacce tra calcolatore e periferiche Tecnologia per le memorie 11

Esempio Istruzione per la moltiplicazione: Decidere se c e e una decisione architetturale Come implementarla (circuito per la moltiplicazione o somme ripetute) e una decisione di organizzazione (costo, velocita,...) Modelli diversi della stessa marca: stessa architettura, organizzazione diversa Esempio: architettura dell IBM 370 (dal 1970) Fino ad oggi per calcolatori mainframe Varie organizzazioni con costo e prestazioni diverse 12

Struttura e funzione Calcolatore: Insieme di componenti connesse tra loro Visione gerarchica Insieme di sottosistemi correlati Ogni sistema ad un livello si basa sulla descrizione astratta del livello successivo Ad ogni livello Struttura: come sono correlati i componenti Funzione: cosa fa ciascun componente Descrizione top-down: da componenti principali a sottocomponenti, fino a una descrizione completa dei dettagli 13

Funzioni basilari di un calcolatore (livello piu alto della gerarchia) Elaborazione dati Memorizzazione dati Trasmissione dati Input/output o verso un dispositivo remoto Controllo Delle tre funzioni sopra 14

Struttura (livello piu alto della gerarchia) Quattro componenti principali: Unita centrale di elaborazione (CPU) Esegue le funzioni di elaborazione dati Memoria centrale Per immagazzinare i dati I/O (input/output) Per trasferire i dati tra calcolatore ed esterno Interconnessioni Per far comunicare CPU, memoria centrale, e I/O 15

Struttura Periferiche Computer Central Processing Unit (CPU) Memoria principale Computer Interconnessioni del sistema Linee di comunicazione Input Output 16

Central Processing Unit (unita centrale di elaborazione) Unita di controllo Controlla la sequenza di operazioni Unita aritmetico-logica (ALU) Elaborazione dati Registri Memoria interna della CPU Interconnessioni Comunicazione tra unita di controllo, ALU e registri 17

Unita centrale di elaborazione CPU I/O Computer System Bus Memoria CPU Registri Interconnessione Interna della CPU Unita Aritmetico Logica Unita di Controllo 18

Perche studiare l architettura dei calcolatori? Capire i compromessi costo-prestazioni Esempio: scegliere il calcolatore migliore a parita di costo spesa maggiore ma memoria piu grande o frequenza di clock piu alta e quindi maggiore velocita Supporto ai linguaggi di programmazione Diverso a seconda delle architetture 19

L evoluzione dei calcolatori (cap.2) 20

Cosa ha influito sull evoluzione dei calcolatori Processori sempre piu veloci Componenti sempre piu piccoli piu vicini elaborazione piu veloce Ma la velocita e derivata anche da nuove tcniche (pipeline, parallelismo, ecc.) che tengono occupato il processore il piu possibile Memoria sempre piu grande Capacita e velocita di I/O sempre maggiore Tecniche per bilanciare velocita diverse di processore e memoria Memoria cache, ecc. 21

A cosa servono i calcolatori? Ad eseguire compiti ripetitivi o complessi al posto dell uomo Prime idee in campi anche diversi, dove c era un lavoro ripetitivo che si voleva automatizzare 22

1801 telaio programmato 1801, Joseph Marie Jacquard Telaio con schede perforate Dove c e il buco, la spoletta passa Programmare il lavoro del telaio 23

1822: Charles Babbage Analytic Engine: Schede perforate per programmare e anche per immagazzinare dati Motore a vapore Ada Byron Programmava per l AE Subroutine, loop 24

1890: Hollerith desk Schede perforate per fare i calcoli per il censimento USA 3 anni invece di 7 previsti Bucare schede basandosi sui buchi di altre schede 25

IBM Hollerith creò l IBM (International Business Machines), 1911 Schede perforate per fare molte cose Calcolatori per inventari e accounting Addizioni e sottrazioni No moltiplicazioni (varie addizioni) No numeri negativi 26

Calcoli complessi per i militari Calcoli balistici 1944: IBM e Harvard costruirono Mark I Programmabile, digitale 5 tonnellate, 500 miglia di cavo, motore elettrico Usato per 15 anni 27

Primo bug! Grace Hooper: programmatrice per Mark I Trovo un insetto (bug) dentro Mark I e invento la parola debugging 1953: invento il primo linguaggio di programmazione ad alto livello Flow-Matic, che poi divento COBOL Anche il primo compilatore 28

Capacita di Mark I Numeri da 23 cifre Somma, sottrazione in 3/10 di sec Divisione in 10 sec Nel 2000: somma in 1 bilionesimo di secondo! Solo 72 numeri memorizzati Oggi: 30 milioni in una RAM e 10 bilioni in un disco rigido Calcolatori meccanici non potevano avere queste velocita 29

1941: Zuse machine General purpose Programmabile Digital computer Numeri binari Unita aritmetica per fare i calcoli Memoria per immagazzinare numeri Sistema di controllo delle operazioni Dispositivi di input-output 30

1943: ENIAC ENIAC (Electrical Numerical Integrator And Computer) Prof. Macuchly e Prof. Eckert, Univ. Pennsylvania Meta ENIAC 31

Cosa faceva ENIAC Soluzione di equazioni balistiche in campo militare, altri calcoli per militari Tecnologia dei tubi a vuoto (valvole delle vecchie televisioni) 30 tonnellate, 450 mq, 140 Kilowatt, 18000 tubi a vuoto, 5000 addizioni al secondo Macchina decimale: numeri di 10 cifre, ogni cifra in un anello di 10 tubi a vuoto (solo un tubo alla volta in stato ON) 32

Tubi a vuoto dell ENIAC 33

Capacita ENIAC 20 numeri alla volta Molto piu veloce di Mark I Moltiplicazione: 6 sec su Mark I, 2.8/100 di sec su ENIAC Primo test ENIAC: 20 sec per un problema che richiedeva 40 ore su un calcolatore meccanico Primo lavoro: decidere se la bomba ad idrogeno era fattibile (6 settimane) 34

Programmare l ENIAC Programmazione manuale: connettere e disconnettere cavi, impostare interruttori Giorni per riprogrammare 35

Macchina di Von Neumann Programma memorizzabile come i dati Istruzioni in memoria: decidere il programma specificando una porzione di memoria Idea di John von Neumann (consulente ENIAC) Insieme a Macuchly e Eckert Proposta di nuovo calcolatore (1945): EDVAC (Electronic Discrete Variable Computer) Nuovo elaboratore completo nel 1952 (IAS, presso Institute for Advanced Studies, Princeton) 36

Struttura della macchina di von Neumann Memoria, contiene dati e istruzioni Molte operazioni di aritmetica, quindi dispositivi specializzati per eseguirle unita aritmeticologica (dati binari) Organo centrale per il controllo della sequenza delle operazioni, generico unita di controllo Organi di ingresso e uscita 37

Struttura della macchina di von Neumann 38

IAS Memoria: 1000 locazioni (parole), numerate da 0 a 999 (indirizzo) Ogni parola: 40 cifre binarie (0 o 1, bit) Dati e istruzioni in memoria: numeri in forma binaria: bit di segno + 39 bit per il numero istruzioni con codice binario: due in ogni parola 8 bit per codice istruzione, 12 bit per indirizzo parola di memoria Unita di controllo: prende le istruzioni dalla memoria e le esegue una alla volta 39

Struttura IAS 40

Registri IAS MBR (memory buffer register) Contiene una parola da immagazzinare in memoria, o da leggere dalla memoria MAR (memory address register) Contiene un indirizzo di una parola di memoria (dove scrivere il contenuto di MBR o da trasferire in MBR) IS (instruction register) Contiene 8 bit per il codice operativo dell istruzione in corso IBR (instruction buffer register) Contiene temporaneamente l istruzione destra di una parola PC (program counter) Indirizzo della prossima coppia di istruzioni da prendere dalla memoria AC (accumulator) e MQ (multiplier quotient) Temporaneamente, operandi e risultati parziali delle operazioni della ALU 41

Ciclo della CPU La CPU esegue un programma memorizzato in memoria prendendo ad una ad una le istruzioni Ordine: quello in cui sono memorizzate 42

Ciclo della CPU Prelievo dell istruzione (fetch): Istruzione letta da IBR o dalla memoria tramite MBR, IBR, IR e MAR Carica il codice dell istruzione successiva nell IR e indirizzo in MAR Esecuzione dell istruzione: Attiva i circuiti necessari per l operazione da eseguire 43

Ciclo della CPU 44

Istruzioni IAS 21 in totale Trasferimento dati (dalla M ai registri ALU, o viceversa, o tra due registri ALU) Salto incondizionato Salto condizionato Aritmetiche Modifica di indirizzo Inserisce indirizzi in istruzioni da mettere in M Primi 8 bit: uno dei 21 codici Successivi 12 bit: quale delle 1000 celle di M e coinvolta nell istruzione 45

Esempi di istruzioni IAS LOAD MQ, M(X) Trasferisce il contenuto della cella di memoria di indirizzo X in MQ STOR M(X) Trasferisce il contenuto dell accomulatore nella locazione X della memoria JUMP M(X,0:19) Carica l istruzione dalla meta sinistra di M(X) ADD M(X) Somma M(X) ad AC e mette il risultato in AC 46

Calcolatori commerciali Anni 50, due aziende principali: Sperry e IBM Sperry: UNIVAC I, UNIVAC II,... 1953: IBM 701 per applicazioni scientifiche 1955: IBM 702 per applicazioni business Distinzione poi persa 47

L avvento dei transistor Transistor: componenti discreti Come condensatori, resistori,... Prodotti separatamente e poi fissati su schede di masonite, poi installate sui calcolatori Rispetto a tubi a vuoto: piu piccolo, meno costoso, meno calore Inventato a Bell Labs nel 1947 Seconda generazione di calcolatori Per inserire un transistor: posizionamento dei tre contatti di un tubicino metallico contenente silicio sulla piastrina Costoso e lungo se molti transistor 48

1959: IBM Stretch Console 49

Cavi di un calcolatore dell epoca 50

Seconda generazione Transistor Unita aritmetiche/logiche piu complesse Linguaggi di programmazione ad alto livello Software di sistema Mini-computer (come DEC PDP-1, 1957) 51

IBM Stretch: transistor 150.000 transistor invece che tubi a vuoto Piu piccoli ma sempre elementi separati Nel 1980: tutti in un unico circuito integrato Pentium 4: 42,000,000 transistor su un pezzo di silicone 52

Terza generazione: circuiti integrati 1958: invenzione del circuito integrato Unico pezzo di silicio per molti componenti e le loro connessioni Col tempo, sempre piu componenti in un circuito integrato 53

Microelettronica Porta logica Dispositivo che esegue una semplice funzione logica Esempio: se A e B sono veri allora C e vero (porta AND) Cella di memoria: dispositivo in grado di memorizzare un bit (due stati possibili) Calcolatore: numero grandissimo di porte logiche e celle di M 54

Funzioni Memorizzazione dati celle di memoria Elaborazione dati porte logiche Trasferimento dati tra memoria e memoria, direttamente o attraverso porte logiche Controllo segnali di controllo pr attivare le porte logiche o leggere/scrivere una cella di memoria 55

Fine anni 50 Non solo pezzi singoli per universita e laboratori di ricerca Macuchly e Eckert produssero UNIVAC (Universal Automatic Computer), primo computer commerciale Primo ad avere il nastro magnetico Poi UNIVAC falli, e invece IBM prese il predominio sul mercato 56

Mainframe computer 1970: mainframe computers (come IBM 360, IBM 7094) IBM 7094 57

Time sharing Come interagire con un mainframe? Time-sharing (condivisione di tempo): tanti utenti, un po di tempo per ciascuno Macchina da scrivere a motore per inserire comandi, carta per risultati (10 caratteri al sec) 58

Elaborazione batch Secondo modo di interagire con un mainframe Tutto il tempo per un utente Programma preparato prima su schede perforate 59

Legge di Moore Moore (uno dei fondatori di Intel), 1965 Prestazioni e numero di transistor in un chip raddoppia ogni anno Dal 1970, piu lento: raddoppia ogni 18 mesi Conseguenze: Costo del chip invariato minor costo totale Circuiti piu vicini maggiore velocita Calcolatori piu piccoli Minori requisiti di raffreddamento e alimentazione 60

61

Generazioni di calcolatori Tubi a vuoto - 1946-1957 Transistor - 1958-1964 Integrazione su piccola scala dal 1965 Fino a 100 componenti su un chip Integrazione su media scala fino al 1971 100-3,000 dispositivi su un chip Integrazione su larga scala- 1971-1977 3,000-100,000 dispositivi su un chip Integrazione su grandissima scala dal 1978 fino ad oggi 100,000-100,000,000 dispositivi su un chip Integrazione su ultra larga scala Piu di 100,000,000 dispositivi su un chip 62

Computer personali Microprocessori: computer su un circuito integrato (Intel 1971) Primo microprocessore: Intel 4004 General purpose 2300 transistor 108.000 cicli al secondo (108 khz) Invece di 42 mil. transistor e 2GHz del Pentium 4 Costo: $360 invece dei mil. di dollari per IBM360 Intel 8080 usato nel computer MITS Altair, primo personal computer generico (1974) Pentium 4 compatibile con Intel 8080 16-bit mircoprocessors in fine anni 70 32-bit microprocessore Intel (80386) in 1985 63

Evoluzione architettura Intel x46 Intel 8080 (1974): primo microprocessore general-purpose, 8 bit (dati vrso la memoria) 8086 (1978): 16 bit, cache 80286 (1982): memoria di16 MByte 80386: 32-bit, piu programmi eseguti sulla stessa macchina (multitasking) 80486 (1985): cache, pipeline, processore per operazioni matematiche complesse Pentium (1993), Pentium Pro (1995): piu istruzioni in parallelo Pentium II (1997): viedo, audio, grafica Pentium III (1999): grafica 3D Pentium 4 (2000): multimedia Core: due processori su un solo chip Core 2 (2006): 64 bit Core 2 quad (2008): quattro processori in un chip Architetura Intel x86: dal 1978 ad oggi una nuova istruzione al mese quasi 500 istruzioni oggi 1978, 8086: clock 5 MHz, 29.000 transistor 2008, Core 2: 3GHz (600 volte piu veloce), 820 milioni di transistor (28000 volte in piu ), quasi lo stesso costo e poco piu grande 64