La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

L’elaboratore elettronico

Presentazioni simili


Presentazione sul tema: "L’elaboratore elettronico"— Transcript della presentazione:

1 L’elaboratore elettronico
PARTE A

2 input (dati) output (risultati) (elaborazione)

3 Evoluzione storica

4 Le generazioni informatiche
1942-’57, 1a gen. = tubi a vuoto 1958-’63, 2a gen. = transistori 1964-’80, 3a gen. = circuiti integrati 1980-oggi, 4a gen. = circuiti VLSI (futuro) 5a gen. = ?

5 ENIAC (1943): Electronic Numerical Integrator And Calculator
Primo eleboratore general-purpose 18000 Valvole, 1500 relay Uso per calcoli balistici Lunghezza 25m, altezza 3m, superficie 180m2, peso 30ton, potenza assorbita 140KW Programmazione con interruttori manuali Aritmetica decimale, 5000 operazioni/sec MTBF = 8 ore

6 La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip Pentium III 8086 anni

7 La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip 1 milione di addizioni al secondo transistor 8086 anni

8 La potenza della sabbia (silicio)
La potenza della sabbia (silicio) ...ovvero: l’evoluzione dei microprocessori n transistori per chip PENTIUM III 2 miliardi di addizioni al secondo transistor. 1 milione di addizioni al secondo transistor Pentium III 8086 anni

9 Microprocessori INTEL 80x86
1993 Pentium MIPS: 100+ (66 MHz) Transistors: 1989 80486 MIPS: 41 (50 MHz) Transistors: 1985 80386 MIPS: 11 (33 MHz) Transistors: 1982 80286 MIPS: 3 (12 MHz) Transistors: 1979 8088/8086 MIPS: 0.33 (5 MHz) Transistors:

10 Microprocessori INTEL 80x86
1999 Pentium III 64 bit – 1.13 GHz Transistors: 1998 Pentium II 64 bit MHz Transistors: 1995 Pentium PRO 64 bit MHz Transistors: 1993 Pentium 32 bit - (166 MHz) Transistors:

11 Nozioni fondamentali

12 Hardware Definizione:
l’insieme delle apparecchiature (elettroniche, meccaniche, ecc.) che costituiscono fisicamente il sistema di elaborazione.

13 Software Definizione:
l’insieme dei programmi e dei dati che permettono lo svolgimento delle funzioni di elaborazione

14 Programmi e Istruzioni
Un programma è un insieme ordinato di istruzioni Un’istruzione è la specifica di una operazione che può essere svolta da un elaboratore.

15 I dati 1234567890 I dati numerici sono quelli più usati
Tutti gli altri tipi di dato sono trasformati in dati numerici

16 Il sistema decimale 252 = 2 × 100 + 5 × 10 + 2 × 1
252 = 2 × × × 1 = 2 × × × 100 Sistema di numerazione del mondo occidentale (sistema arabo): decimale (base 10, cifre { 0, 9 }) posizionale

17 Il sistema binario base: 2 cifre: { 0, 1 } Esempio:
1012 = 1 × × × 20 = 1 × × 1 = 510

18 Alcuni numeri binari

19 Terminologia BIT (BInary digIT) 0 1 BYTE = otto bit 00110110
WORD = n byte

20 Terminologia 1 0 1 1 0 1 1 0 MSB Most Significant Bit LSB
Least Significant Bit

21 Multipli binari Si usano le potenze di due invece di quelle di dieci:
chilo K 210 ~ un migliaio mega M 220 ~ un milione giga G 230 ~ un miliardo tera T 240 ~ mille miliardi

22 La logica degli elaboratori elettronici
Logica Booleana: 1847 George Boole logica formale enunciati di cui fosse possibile verificare in modo inequivocabile la verità o la falsità le variabili sono in grado di assumere solo due valori: VERO, FALSO .

23 Logica Booleana: un esempio
Se domani ci sarà il sole, allora andrò a fare una gita. ?

24 Architettura degli elaboratori

25 Il transistore È l’elemento base degli attuali elaboratori elettronici digitali: piccole dimensioni ( mm ) basso consumo di energia ( mW ) alta velocità di funzionamento (milioni di operazioni al secondo)

26 Chip Da migliaia a milioni di TRANSISTOR Chip:
circuito integrato, microcircuito, componente elettronico contenente al suo interno moltissimi transistor

27 Calcolatore Il chip sta al calcolatore come il mattone sta alla casa

28 Blocchi funzionali (architettura di Von Neumann 1951)
MEM OUT UO INP in verde i dati in azzurro lo stato in rosso gli ordini UC

29 Problematiche codifica dei dati (in un formato comprensibile all’elaboratore) codifica degli ordini (sequenza di operazioni che compongono l’elaborazione) decodifica dei risultati (in un formato comprensibile agli umani)

30 Flusso dei dati MEM OUT UO INP UC in verde i dati in azzurro lo stato
in rosso gli ordini UC

31 Informazioni di stato MEM OUT UO INP UC in verde i dati
in azzurro lo stato in rosso gli ordini UC

32 Ordini MEM OUT UO INP UC in verde i dati in azzurro lo stato
in rosso gli ordini UC

33 Struttura a blocchi MEM OUT UO INP UC in verde i dati
in azzurro lo stato in rosso gli ordini UC

34 Unità di input: schema funzionale
dato B ADC T ready control logic get

35 Unità di output: schema funzionale
B DAC T dato ready control logic put

36 Unità operativa: schema funzionale
dati registri operandi operazione flag ALU F destinazione risultato

37 Unità di controllo: schema funzionale
PC IR stato logica di controllo comandi

38 Il ciclo base di un elaboratore
Reset Preleva una istruzione dalla memoria RAM Fetch Interpreta l’istruzione Decode Execute Esegue l’istruzione

39 Esecuzione di un’istruzione
Tre fasi distinte: fetch IR ¬ M [ PC ] PC ¬ PC + 1 decode ordini ¬ decode(IR) execute ready? go!

40 CPU Central Processing Unit
L’imperatore SONO IO ! CPU La CPU controlla tutte le operazioni di un elaboratore Le operazioni possono essere: interne alla CPU (ad es. somma) esterne: trasferimenti da/per memoria o I/O

41 Il clock Ogni elaboratore contiene un elemento di temporizzazione (detto clock ) che genera un riferimento temporale comune per tutti gli elementi costituenti il sistema di elaborazione.

42 Il clock t T T = periodo di clock f = frequenza di clock ( = 1 / T )

43 Velocità di elaborazione MIPS ( Million Instructions Per Second )
f = frequenza di clock [ Hz = cicli/s ] T = periodo di clock = 1 / f [ s ] C = cicli macchina / istruzione IPS = f / C = 1 / ( T ´ C ) MIPS = IPS / 106

44 Memoria centrale

45 Memoria: schema funzionale
indirizzo ready read/write dato

46 Memoria Memorizza i dati e le istruzioni necessarie all’elaboratore per operare. Caratteristiche: indirizzamento parallelismo accesso (sequenziale o casuale) tipo (volatile-non volatile, lettura-lettura/scrittura, etc.)

47 Indirizzamento Ad ogni cella di memoria è associato un indirizzo (numerico) per identificarla univocamente. 1 7 5 2 8 3 6 9

48 Parallelismo Ogni cella di memoria contiene una quantità fissa di bit:
identica per tutte le celle accessibile con un’unica istruzione è un multiplo del byte minimo un byte

49 Memoria ad accesso casuale
il tempo di accesso è costante (indipendente dalla cella scelta) Ta = costante anche detta RAM (Random Access Memory)

50 Memoria ad accesso sequenziale
il tempo di accesso dipende dalla cella a cui si accede spesso la dipendenza è lineare Ta = K × indirizzo

51 Memoria interna all’interno dell’elaboratore
è allo stato solido (chip) solitamente è volatile veloce (nanosecondi, 10-9s) quantità limitata (decina MB) non rimovibile costosa (5000 Lit / MB)

52 Memoria esterna all’esterno dell’elaboratore talvolta rimovibile
non elettronica (es. magnetica) permanente lenta (millisecondi, 10-3 s) grande quantità (qualche GB) economica (500 Lit / MB)

53 La memoria centrale RAM RAM Video ROM Sistema Operativo Programmi
Memoria Video Programma d’avvio (boot program) RAM RAM Video ROM

54 Memoria RAM: memorie a lettura e scrittura (Random Access Memory)
Tecnologia: RAM: memorie a lettura e scrittura (Random Access Memory) ROM: memorie a sola lettura (Read Only Memory)

55 Memorie RAM Le memorie RAM possono essere di due tipi:
SRAM: RAM statiche veloci (10 ns) minor impaccamento elevato costo per bit DRAM: RAM dinamiche meno veloci (60 ns) maggior impaccamento (16 Mbit/chip) minor costo per bit

56 Tipologie di memorie ROM
PROM (Programmable ROM) programmabili una sola volta, dall’utente EPROM (Erasable PROM) cancellabili e riprogrammabili più volte, dall’utente FLASH cancellabili e riprogrammabili elettricamente più volte dalla cpu

57 Memoria CACHE ….. ovvero la lentezza delle RAM
microprocessore DRAM

58 Memoria CACHE Memoria intermedia VELOCE
Trasferisco nella cache dati/istruzioni usati più frequentemente CPU CACHE MEMORIA (DRAM)

59 Prestazioni della cache
Tempo medio di accesso in memoria: TM = H · Tcache + ( 1 - H ) · TRAM Ove H = hit ratio (percentuale di celle trovate nella cache rispetto al totale degli accessi in memoria) H ³ 90% ® Tcache

60 Prestazioni della cache
Tcache = 20 ns TRAM = 80 ns H = 60% TM = 0.6 · · 80 = 44 ns H = 95% TM = 0.95 · · 80 = 23 ns

61 Connessioni (Bus)

62 (ovvero il sistema circolatorio del PC)
05/20/97 I Bus (ovvero il sistema circolatorio del PC) connettori 30

63 Struttura a bus Problema: collegamento completo tra N unità richiede N´(N-1)/2 collegamenti Esempi: 4U:6C, 10U:45C, 20U:190C C A B D

64 Struttura a bus Soluzione: segnali omologhi raggruppati in un bus, usato a turno dalle varie unità A B C D

65 Tipi fondamentali di bus
bus dati ( DBus ) bus degli indirizzi ( ABus ) bus di controllo ( CBus ) M1 I M2 O DBus ABus CBus

66 Architettura di un Calcolatore
ROM RAM I O DBus ABus CBus CPU

67 Software

68 Il linguaggio del calcolatore
ABCDE FGHILM NOPQR STUVZ lettere dell’alfabeto 1 bit Nel mezzo del cammin di nostra vita...

69 Sequenza di istruzioni 4. se l’acqua non bolle torna a 3
Che cos’è un programma? Sequenza di istruzioni 1. metti l’acqua 2. accendi il fuoco 3. aspetta 4. se l’acqua non bolle torna a 3 5. butta la pasta 6. aspetta un po’ 7. assaggia 8. se è cruda torna a 6 9. scola la pasta

70 Esecuzione dei programmi
Programmi pronti per essere eseguiti Memoria di massa (i dischi)

71 Esecuzione dei programmi
Programma ora in esecuzione Memoria di massa (i dischi) CPU RAM

72 Classificazione del software
software applicativo middleware hardware software di base

73 Linguaggi di programmazione
Servono a tradurre gli algoritmi in istruzioni per l’elaboratore. Ne esistono varie categorie: linguaggi macchina linguaggi assembler linguaggi ad alto livello

74 Linguaggio macchina codifica binaria delle istruzioni
dipende dalla CPU (registri, operazioni, ...) dipende dall’architettura del calcolatore (quantità di memoria, modalità di I/O, ...)

75 Linguaggio assembler codifica simbolica delle istruzioni ADD R1, R2, M[R4] ; R1= R2+ M [ R4 ] meta-istruzioni TOT: DB 0 ; crea ed azzera TOT linguaggio unico per architettura di CPU (es. Dec AXP, Intel 80x86)

76 Linguaggi ad alto livello (HLL - High Level Language)
elaboratore virtuale istruzioni orientate alla soluzione di problemi A = SINH (5.57*C) linguaggio indipendente dalla piattaforma HW (richiedono programmi di traduzione)

77 Traduzione dei linguaggi
algoritmo editor file sorgente compilatore file oggetto libreria linker file eseguibile

78 RAM 10 for I=1 to 5 20 print I, I*I 30 next I RUN file sorgente
interprete RAM

79 Interprete o compilatore?
Compilatore (+ linker): controlla e traduce le istruzioni una sola volta caricamento ed esecuzione veloce codice non leggibile correzione degli errori e debug lenti

80 Interprete o compilatore?
controlla e traduce le istruzioni ad ogni esecuzione del programma correzione degli errori e debug veloce caricamento ed esecuzione lenta codice sorgente leggibile

81 Alcuni interpreti interprete di un linguaggio di programmazione
interprete dei comandi di un sistema operativo (command.com in MS-DOS, le shell UNIX, ...) i fogli elettronici (Lotus 1-2-3, Excel, QuattroPro, ...)


Scaricare ppt "L’elaboratore elettronico"

Presentazioni simili


Annunci Google