La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Università di Pavia - corso di Calcolatori Elettronici CALCOLATORI ELETTRONICI Giovanni Danese Tel. 0382 985364 Corsi.

Presentazioni simili


Presentazione sul tema: "1 Università di Pavia - corso di Calcolatori Elettronici CALCOLATORI ELETTRONICI Giovanni Danese Tel. 0382 985364 Corsi."— Transcript della presentazione:

1 1 Università di Pavia - corso di Calcolatori Elettronici CALCOLATORI ELETTRONICI Giovanni Danese Tel Corsi di Laurea in Ingegneria Biomedica, in Ingegneria Elettronica e Informatica orario delle lezioni: Lunedì aula 8, Mercoledì 9-11 aula 4 orario di ricevimento: Martedì , Giovedì

2 2 Università di Pavia - corso di Calcolatori Elettronici Materiale didattico consigliato Testo Consigliato: David A. Patterson, John L. Hennessy, Struttura e progetto dei calcolatori Zanichelli, 2014, Bologna, IV edizione. (David A. Patterson, John L. Hennessy, “Computer Organization and Design” Elsevier – Morgan Kaufmann, 2014, V edition) David A. Patterson, John L. Hennessy, Struttura, organizzazione e progetto dei calcolatori Jackson libri, 1999, Milano, II edizione. Documentazione varia è reperibile al sito: mclab.unipv.it/index.php/corsi

3 3 Università di Pavia - corso di Calcolatori Elettronici Argomenti del corso: 1. Architettura dei calcolatori 2. Architettura di una CPU 3. Linguaggio assemblativo 4. L’aritmetica dei calcolatori 5. L’ambiente di sviluppo dei progetti Prerequisiti Devono essere noti gli argomenti trattati nei corsi Fondamenti di Informatica e Fondamenti di Informatica (laboratorio)

4 4 Università di Pavia - corso di Calcolatori Elettronici Architettura di un computer Diversi livelli di astrazione I/O systemInstr. Set Proc. Compiler Operating System Application Digital Design Circuit Design Firmware Datapath & Control Layout Instruction Set

5 5 Università di Pavia - corso di Calcolatori Elettronici Linguaggio ad alto livello (HLL) Linguaggio Assembly Linguaggio Macchina Segnali di controllo Compilatore Assemblatore Interpretazione macchina temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw$15,0($2) lw$16,4($2) sw$16,0($2) sw$15,4($2) °°°° Rappresentazione delle istruzioni

6 6 Università di Pavia - corso di Calcolatori Elettronici Struttura del software (1) I linguaggi HLL permettono –progettazione in linguaggio ~ a quello naturale –una maggior concisione rispetto al linguaggio macchina –indipendenza dal calcolatore Riutilizzo routine frequentemente impiegate  librerie di subroutine Un programma separato che supervisiona l’utilizzo della macchina da parte dei programmi utente  sistema operativo Software di sistema= insieme di programmi che forniscono servizi (Sistema Operativo, compilatori, assemblatori) Software applicativo=programmi utente o mirati all’utente (editors, spreadsheet)

7 7 Università di Pavia - corso di Calcolatori Elettronici Struttura del software (2) HW Sw sistema Sw applicativo SOFTWARE Software appl.Software sistema Word CompilatoriSist. Op.Assembl. MemoriaFileI/O virtualeSystemdrivers

8 8 Università di Pavia - corso di Calcolatori Elettronici Architettura del Set di Istruzioni Un importante livello di astrazione –interfaccia fra hardware e software di basso livello –standardizza il formato delle istruzioni e i pattern di bit a livello di linguaggio macchina –vantaggi: differenti implementazioni della stessa architettura –svantaggi: talora impossibilità di avvalersi di innovazioni tecnologiche Architetture moderne di set di istruzioni –Digital Alpha(v1, v3) –HP PA-RISC(v1.1, v2.0) –Sun Sparc(v8, v9) –SGI MIPS(MIPS I, II, III, IV, V) –Intel(8086,80286,80386, , Pentium, MMX,...)

9 9 Università di Pavia - corso di Calcolatori Elettronici Di cosa ci occuperemo Le istruzioni: il linguaggio dei calcolatori (Cap. 2 Zanich, 3 Jacks) L’aritmetica dei calcolatori (Cap. 3 Zanichelli, Cap. 4 Jackson) Assemblatori, linker ed il simulatore SPIM (App. B Zanichelli e App. A Jackson) Fondamenti sulla progettazione di reti logiche (App. C CD Zanichelli e Jackson)

10 10 Università di Pavia - corso di Calcolatori Elettronici Architettura della macchina di Von Neumann Memoria ALU Unità di controllo CPU Unità di ingressoUnità di uscita Programmi e dati Risultati Unità centrale

11 11 Università di Pavia - corso di Calcolatori Elettronici DATABUSDATABUS Unità Centrale ALU CPU Unità di controllo MAR Memoria ROM MBR MAR Memoria RAM MBR CONTROLBUSCONTROLBUS ADDRESSBUSADDRESSBUSS

12 12 Università di Pavia - corso di Calcolatori Elettronici Microprocessori e Bus I microprocessori sono dispositivi elettronici che implementano in un unico circuito integrato le funzioni di una intera CPU. I microprocessori attuali hanno bus dati a 8, 16, 32, 64 bit. Il bus dati (data bus) esprime la capacità di elaborazione del processore (quanti bit possono essere elaborati in parallelo) Il bus indirizzi (address bus) esprime la capacità di memorizzazione del processore (2 m celle di memoria, se m è il numero dei bit del bus) La capacità di indirizzamento indica il numero di celle diverse cui si può accedere: 2 10 Byte = 1024 byte = 1 KByte 2 20 Byte = byte = 1 Mbyte 2 30 Byte = byte = 1 GByte

13 13 Università di Pavia - corso di Calcolatori Elettronici Un Esempio Variazione nella precisione di misura di 1 Kg. in un sistema di pesatura basato su microprocessori con diversa dimensione del bus dati Numero di bit bus dati4816 Dati rappresentabili2 4 = = = Precisione relativa6.25%~3.9 ‰ ~0.015‰ Precisione max.62.5 gr~3.9 gr~0.015 gr

14 14 Università di Pavia - corso di Calcolatori Elettronici Osservazioni I microprocessori a 8 bit di dato hanno tipicamente bus indirizzi a 16 bit con capacità di indirizzamento di 64 KB I microprocessori a 16 bit di dato hanno tipicamente bus indirizzi a bit con capacità di indirizzamento di 1-16 MB I microprocessori a 64 bit di dato hanno bus indirizzi a 64 bit con capacità di indirizzamento fino a circa byte I microprocessori Single Chip riuniscono in un unico circuito integrato più di uno dei blocchi costituenti un microcalcolatore (eventualmente tutti).

15 15 Università di Pavia - corso di Calcolatori Elettronici Architettura di una CPU SPPCReg0Reg0 RegNRegN FLAGFLAG ACC C O N T R. D E C O D. I N S T. R E G. BUS DATI INTERNO …. BUS INDIRIZZI INTERNO BUS IND. ESTERNO BUS DATI ESTERNO ALU

16 16 Università di Pavia - corso di Calcolatori Elettronici Ciclo di esecuzione di un’istruzione FETCH (prelevamento dell’istruzione) DECODIFICA ESECUZIONE La memoria (ROM e RAM) contiene il programma e i dati sui quali opera la CPU. Il Program Counter (PC) contiene l’indirizzo della cella di memoria con la prossima istruzione da eseguire. FORMATO DELLE ISTRUZIONI Codice OperativoOperando 1Operando 2 Campo che caratterizza le varie istruzioni Gli operandi possono essere 0, 1, 2

17 17 Università di Pavia - corso di Calcolatori Elettronici Sequenza di operazioni elementari per l’esecuzione di ogni singola istruzione FETCH: vengono letti i campi che costituiscono l’istruzione: 1)(PC)  MAR 2)((MAR))  MBR; (PC)+1  PC 3)(MBR)  IR I passi 1, 2, 3 permettono di caricare in IR (instruction register) il codice operativo (OP Code) dell’istruzione corrente. Passi analoghi permettono di caricare in opportuni registri della CPU gli operandi presenti nell’istruzione. In tal caso, nel passo 3 la destinazione del dato proveniente dalla memoria non è più IR, ma opportuni registri. DECODE: viene identificata l’istruzione corrente sulla base dell’OP Code EXECUTE: è diversa a seconda del tipo di istruzione. In pratica consiste nell’inviare comandi e dati alle unità interessate. P.S. MAR= Memory Address Register; MBR: Memory Buffer Register Notazione: (X)  Y significa: “Il contenuto del registro X viene trasferito nel registro Y

18 18 Università di Pavia - corso di Calcolatori Elettronici Formato delle istruzioni Le istruzioni sono codificate da stringhe di bit. Una volta caricata nell’IR, un’istruzione deve essere decodificata ed eseguita. A tal scopo l’unità di controllo deve conoscere: codice operativo sorgente: dati su cui operare destinatario: dove porre il risultato e, se sorgente e destinazione sono in memoria, la modalità di indirizzamento Codice OperativoSorgenteDestinazioneMod. indirizzamento Esempio 1: Somma tra il contenuto del registro R2 e il contenuto dell’accumulatore. Il risultato va nell’accumulatore FORMATOcodice operativo FETCHcome in precedenza ESECUZIONE(R2)+(ACC)  ACC

19 19 Università di Pavia - corso di Calcolatori Elettronici Esempio di esecuzione di istruzioni complete Esempio 2: somma tra il contenuto della cella di memoria il cui indirizzo è specificato nell’istruzione ed il contenuto dell’accumulatore; il risultato va nell’accumulatore FORMATO: codice operativo+operando FETCH: 1)(PC)  MAR 4)(PC)  MAR 2)((MAR))  MBR; (PC)+1  PC5) ((MAR))  MBR; (PC)+1  PC 3)(MBR)  IR6)(MBR)  Rn EXECUTE: 1)(Rn)  MAR3)(MBR)  Rn 2)((MAR))  MBR4)(Rn)+(ACC)  ACC

20 20 Università di Pavia - corso di Calcolatori Elettronici Esempio di esecuzione di istruzioni complete Esempio 3: saltare all’istruzione che è memorizzata nella cella il cui indirizzo è specificato all’interno dell’istruzione corrente: FORMATO: codice operativo+operando FETCH: 1)(PC)  MAR 4)(PC)  MAR 2)((MAR))  MBR; (PC)+1  PC5) ((MAR))  MBR; (PC)+1  PC 3)(MBR)  IR6)(MBR)  Rn EXECUTE: 1)(Rn)  PC


Scaricare ppt "1 Università di Pavia - corso di Calcolatori Elettronici CALCOLATORI ELETTRONICI Giovanni Danese Tel. 0382 985364 Corsi."

Presentazioni simili


Annunci Google