L’elaboratore elettronico

Slides:



Advertisements
Presentazioni simili
Sistema di Elaborazione Dati
Advertisements

La struttura fisica e logica di un elaboratore
STRUTTURA DEL PERSONAL COMPUTER
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Sistema di Elaborazione Dati. Il Modello di Von Neumann Memoria centrale (Ram) C.P.U.(Processore) Unità di elaborazione Unità di output Unità di input.
Memorie.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
MEMORIA CENTRALE Spazio di lavoro del calcolatore: contiene i dati da elaborare e i risultati delle elaborazioni durante il funzionamento del calcolatore.
Architettura degli elaboratori
CPU (central process unit)
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Informatica: il trattamento automatico dell’informazione
ARCHITETTURA DEGLI ELABORATORI
Il Calcolatore Elettronico
PRESENTAZIONE di RICCARDO
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Architettura del calcolatore
Architettura del Computer
ARCHITETTURA DI UN ELABORATORE
LOGICA DI FUNZIONAMENTO
Sistemi di elaborazione e trasmissione delle informazioni
La RAM, la ROM e la CPU di Beatrice Cecchini e Margherita Pelagagge
Unità centrale di processo
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Hardware e software Hardware Software
Architettura di una CPU
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corsi di Laurea in Biotecnologie
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura del Computer
Architettura degli elaboratori
Transcript della presentazione:

L’elaboratore elettronico PARTE A

input (dati) output (risultati) (elaborazione)

Evoluzione storica

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. = ?

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

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

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 30.000 transistor 8086 1980 2000 anni

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 9.000.000 transistor. 1 milione di addizioni al secondo 30.000 transistor Pentium III 8086 1980 1998 anni

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

Microprocessori INTEL 80x86 1999 Pentium III 64 bit – 1.13 GHz Transistors: 9.000.000+ 1998 Pentium II 64 bit - 450 MHz Transistors: 7.000.000+ 1995 Pentium PRO 64 bit - 200 MHz Transistors: 7.000.000+ 1993 Pentium 32 bit - (166 MHz) Transistors: 3.000.000+

Nozioni fondamentali

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

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

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

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

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

Il sistema binario base: 2 cifre: { 0, 1 } Esempio: 1012 = 1 × 22 + 0 × 21 + 1 × 20 = 1 × 4 + 1 × 1 = 510

Alcuni numeri binari 0 ... 0 1000 ... 8 1 ... 1 1001 ... 9 10 ... 2 1010 ... 10 11 ... 3 1011 ... 11 100 ... 4 1100 ... 12 101 ... 5 1101 ... 13 110 ... 6 1110 ... 14 111 ... 7 1111 ... 15

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

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

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

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 .

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

Architettura degli elaboratori

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)

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

Memoria centrale

Memoria: schema funzionale indirizzo ready read/write dato

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.)

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

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

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

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

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)

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)

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

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)

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

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

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

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

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% ® TM @ Tcache

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

Connessioni (Bus)

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

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

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

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

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

Software

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

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

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

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

Classificazione del software software applicativo middleware hardware software di base

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

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

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)

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)

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

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

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

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

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, ...)