Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | hieronomo-grilli |
View: | 220 times |
Download: | 1 times |
Informatica Generale 1
PARTE IIPARTE II
Architettura di un sistema informatico
Hardware
Informatica Generale 2
La gerarchia di computerLa gerarchia di computer
Mainframe (es. IBM 3090)– Grandi sistemi informativi ( 100 terminali)
Supercomputer (es. CRAY T3E)– Calcolo scientifico intensivo
Minicomputer (es. IBM AS/400)– Sistemi informativi aziendali medio/piccoli ( 10
terminali) Workstation (es. Sparcstation SUN)
– Applicazioni ingegneristiche, grafica Personal computer
Informatica Generale 3
Funzioni e architetturaFunzioni e architetturaFunzioni generali di un elaboratore
– elaborazione dati– memorizzazione dati– trasferimento dei dati– controllo
Architettura– Componenti e interconnessioni– Funzioni di ciascun componente
Informatica Generale 4
PC: architettura di riferimentoPC: architettura di riferimentoMacchina di Von Neumann
Bus
CPUMemoriacentrale I/O int. I/O int.I/O int. . . .
Elaborazionee controllo
Memorizzazione
Informatica Generale 5
Un Personal Computer (PC)Un Personal Computer (PC)
Informatica Generale 6
PC: componenti interni e PC: componenti interni e perifericheperiferiche
Scheda madre– CPU– RAM– Bus– Cache– ROM
Drive (Hard e floppy disk, CD-ROM)
Schede di espansione– Scheda grafica– Scheda audio– Modem interno
Tastiera Mouse Monitor Stampanti Scanner Altoparlanti Unità disco esterne Modem esterno
Informatica Generale 7
Funzione di memorizzazioneFunzione di memorizzazione
Memoria della CPUCacheRAMMemorie di massa (es. dischi)CPU
Cache
RAM
Memorie di massa
Costo/bitVelocità
Informatica Generale 8
Memoria centrale (RAM)Memoria centrale (RAM)
Sequenza di elementi binari (bistabili) raggruppati in unità minime indirizzabili (celle)– Elemento binario bit– Cella word (parola)
1W corrisponde a 8, 16, 32 oppure 64 bit Dim. tipiche su PC attuali 32÷256 Mbyte (NB: in
linguaggio informatico, 1K=1024, 1M=1024K, 1G=1024M)
Informatica Generale 9
RAM (organizzazione logica)RAM (organizzazione logica)048
12
.
.
.64M-4
32 bit
Indirizzi(k bit)
2k dimensione della memoria
Informatica Generale 10
RAMRAM(funzionamento)(funzionamento)D
e c o d i f i c a t o r e
000
1
0
.
.
.
.
.
.
BusIndirizzi
0 0 1 1 0 1 0 1
Bus dati
Bus di controlloR/W
0 0 1 1 0 1 0 1
Informatica Generale 11
Caratteristiche e prestazioniCaratteristiche e prestazioni
Volatilità Staticità e dinamicità
– SRAM vs DRAM– Attualmente RAM = DRAM
Tempo di accesso (770 ns) Temporizzazione del “sottosistema di memoria”
(15 cicli per accesso) Velocità di trasferimento (picco: 264 528
MB/sec)
Informatica Generale 12
Memoria cacheMemoria cacheIl cosiddetto CPU/RAM “bottleneck”
Principi di località
– spaziale
– temporale
Memorie cache di primo e secondo livello
– dimensioni (64KB1MB)
– prestazioni (tempo di accesso 4 ns)
Informatica Generale 13
Gerarchia a due livelliGerarchia a due livelli
CPU
L2
RAM
Sistema di memoria
Informatica Generale 14
CPU (esecutore del linguaggio CPU (esecutore del linguaggio macchina)macchina)
Programmi e dati risiedono nella RAM La CPU esegue continuamente il seguente ciclo:
– Legge un’istruzione dalla memoria– Decodifica l’istruzione– Legge dalla memoria i dati utilizzati dall’istruzione– Esegue l’istruzione– Scrive in memoria i risultati calcolati
Informatica Generale 15
Componenti della CPUComponenti della CPU
Unità aritmetico logica (detta ALU) operazioni aritmetiche e logiche
Unità di controllo ordine di esecuzione, istruzioni di “salto”
Registri generali (memoria della CPU) dati delle istruzioni aritmetico/logiche
Registri speciali (Program Counter, Instruction Register, Process Status Word, Memory Address Register, Memory Data Register)
Informatica Generale 16
Struttura della CPUStruttura della CPU
ALU
Unità di controllo
IR
PC PSW
MDR
MAR
Informatica Generale 17
Linguaggio macchinaLinguaggio macchina
Istruzioni molto semplici, formate da un codice operativo e (al più) 2 operandi– Codice operativo azione da eseguire– Operandi dati su cui agire
Codice assembly
Codice macchina (vero e proprio)
{<etichetta>} <codice simbolico> <op1> {<op2>}
Esempi: SUB R1,R2 LOAD R,M STORE R,M
Informatica Generale 18
Linguaggio macchina (2)Linguaggio macchina (2)
Codice operativo Operando1 Operando2
8 bit 8 bit 16bit
- 256 possibili codici operativi
- Operando1 denota uno fra 256 possibili registri interni
alla CPU (R0 R255)
- Operando2 denota un indirizzo fra 0 e 216-1
Esempio:
00000101 00000001 0100111000100000
LOAD R1 20000
Informatica Generale 19
Ciclo fondamentale della CPU Ciclo fondamentale della CPU (rivisto)(rivisto)
1) FETCH (lettura dell’istruzione all’indirizzocontenuto nel Program Counter)
PC MAR RAM RAM MDR IR
2) Incremento del PC (PC := PC+4)
3) DECODE (decodifica dell’istruzione nell’Instruction
Register)
4) EXECUTE (esecuzione dell’istruzione)3a) Recupero operandi
3b) Esecuzione vera e propria 3c) Memorizzazione dei risultati
5) Torna al passo 1)
Informatica Generale 20
Traduzione (o compilazione)Traduzione (o compilazione)var x: array [1..7] of integer;var i,n,z: integer;
if x[1]<x[2] then z := x[1] else z := x[2];for i := 3 to n do if x[i] < z then z := x[i];
00000000000000000000000000000011000000000000000000000000000000100000000000000000000000000000010111111111111111111111111111111101000000000000000000000000000011000000000000000000000000000000001100000000000000000000000000000111000000000000000000000000000001100000000000000000000000000000011111111111111111111111111111111101 000001010000000101001110001000000000010100000010010011100010010000100111000000010000000000000010
Informatica Generale 21
Un primo passaggioUn primo passaggioLeggi x[1]Leggi x[2]Calcola x[1]-x[2]Se positivo scrivi x[2] in zSe negativo scrivi x[1] in zLeggi nScrivi 3 in iCalcola p=i-nSe p>0 vai 7 istruzioni avantiLeggi x[i],Leggi zCalcola p=x[i]-zSe p<0 scrivi x[i] in zIncrementa i di un’unitàTorna 7 istruzioni indietro……………………………..
if x[1]<x[2] then z:=x[1] else z:=x[2];for i := 3 to n do if x[i]<z then z:=x[i];
- “Leggere” significa copiare un datodalla RAM in un registro della CPU- Il segno del risultato viene memoriz-zato in un bit del registro PSW-“vai 7 istruzioni avanti” e “torna 7istruzioni indietro” sono comandi chemodificano l’ordine di esecuzione
Commenti
Informatica Generale 22
Un altro passo verso il codice Un altro passo verso il codice macchinamacchina
Copia in R1 il contenuto della cella di indirizzo x
Copia in R2 il contenuto della cella di indirizzo x+4
Sottrai (il contenuto di) R2 da R1 ( s := segno(R1-R2) )
Se s=1 salta 3 istruzioni avanti ( PC := PC+8)
Copia R2 nella cella (di indirizzo) x+36
Salta due istruzioni avanti ( PC := PC+4)
Copia in R1 il contenuto della cella di indirizzo x
Copia R1 nella cella x+36
Copia in R3 il contenuto della cella x+32
………………..
Informatica Generale 23
Codice assemblyCodice assembly
load R1,x load R2,x+4 sub R1,R2 jmpneg avanti store R2,x+36 jmp piùavantiavanti: load R1,x store R1,x+36piùavanti: load R3,x+32………………………….
Formato tipico di una istruzione:{<etichetta>:} <codice simbolico><op1>{<op2>}
Informatica Generale 24
Programma in linguaggio Programma in linguaggio macchinamacchina00000000 00000000 0000000000000011
00000000 00000000 000000000000001000000000 00000000 0000000000000101 …………………………………….…….00000101 00000001 010011100010000000000101 00000010 010011100010010000100111 00000001 000000000000001010100011 00000000 010100100010000000000110 00000010 010011100100010010100010 00000000 010100100010100000000101 00000001 010011100010000000000110 00000001 010011100100010000000101 00000011 0100111001000000…………………………………….…….
Indirizzo20000(Inizio dati)
Indirizzo21024
Indirizzo21032
Indirizzo21000(Inizio programma)
Informatica Generale 25
Parametri di valutazione delle Parametri di valutazione delle CPUCPU
Set di istruzioni (RISC vs CISC) Frequenza dell’orologio interno di
sincronizzazione (clock) (233500 MHz) Banda di elaborazione ( numero di istruzioni
eseguite al secondo) Spazio di memoria indirizzabile Presenza di coprocessore matematico, memoria
cache di primo livello, ecc.
Informatica Generale 26
Dispositivi di memorizzazione Dispositivi di memorizzazione di massadi massa
Dischi magnetici (hard disk) Memorizzazione “permanente”
di programmi e datiDischi magnetici (floppy disk)
Trasferimento dati fra computerNastri magnetici
Backup dei datiDischi ottici (CD ROM)
Distribuzione di programmi, giochi, archivi storici, ecc.
Informatica Generale 27
Dischi rigidi (hard disk)Dischi rigidi (hard disk)
Supporti circolari magnetizzati in continua rotazione (5400 10000 giri/min)
Formato a tracce e settori (valori tipici: 400 tracce, 32 settori)
Testina di lettura a movimento radiale Tempo di accesso (5 10 msec) vicino al limite
fisico Capacità elevate (> 4 GB) Costo contenuto (40 150 lire/MB)
Informatica Generale 28
Dischetti rimovibili (floppy Dischetti rimovibili (floppy disk)disk)
Supporti circolari (diametro 3.5 o 5.25 pollici) magnetizzati, in rotazione solo al momento dell’accesso
Velocità di rotazione bassa (300 360 giri/min Tempo di accesso elevato (decimi di sec.) Capacità limitata (1.44 MB) Costo unità contenuto (poche decine di migliaia di
lire)
Informatica Generale 29
Nastri magneticiNastri magnetici
Organizzazione sequenziale con blocchi (detti record fisici) multitraccia Accesso sequenziale
Densità di registrazione 800 6250 Byte per pollice (bpi)
Tempo di accesso molto elevato (può essere dell’ordine dei minuti) Uso per copie di sicurezza (backup)
Costo elevato ( 2 Mlire per unità DAT)
Informatica Generale 30
Lettori ottici (CD ROM)Lettori ottici (CD ROM)
Supporti circolari non riscrivibili Formato a spiraleLettura mediante raggio laserTempo di accesso (70 100 msec)Capacità elevate in rapporto ai floppy disk
( 650 MB)Costo unità contenuto (100 500 Mlire)
Informatica Generale 31
Principali unità periferichePrincipali unità periferiche
Dispositivi di ingresso (input)– Tastiera– Mouse e altri disp. di puntamento– Scanner
Dispositivi di uscita (output)– Video– Stampante
Modem
Informatica Generale 32
TastieraTastiera
Tasti alfanumerici (lettere e cifre, punteggiatura, parentesi)
Tasti speciali: return o enter (invio), ctrl (control), esc (escape), ...
Tasti direzionali: , , , , ...Tasti funzionali: F1,F2,...
Informatica Generale 33
MouseMouse
Il movimento del mouse si ripercuote nel movimento di un cursore sul video
La pressione di un tasto comporta l’esecuzione di una qualche azione
Mouse + interfacce grafiche sostituiscono in molti casi la tastiera
Informatica Generale 34
ScannerScanner
Dispositivo per l’acquisizione di immagini (sotto forma di mappe di bit, bitmap)
Informatica Generale 35
Video (display)Video (display)Alfanumerici: es. 25 righe 80 caratteriGrafici: risoluzione misurata in numero di
pixel (picture element) nelle due dimensioni: es. 1024 768, 4096 4096
Pixel: bianco e nero (1 bit) o colore (es. 8 bit)
Memoria RAM associataTecnologia (raggi catodici o cristalli liquidi)
Griglia di 4 4 pixel
Informatica Generale 36
StampanteStampanteStampanti ad aghi– 9 24 aghi– Tecnica ad impatto copie multiple– Fogli singoli o modulo continuo
Stampanti a getto di inchiostro– Ottima qualità anche in grafica– Colore a basso prezzo
Stampanti laser– Ottima qualità, costo elevato del colore
Informatica Generale 37
Stampanti (prestazioni)Stampanti (prestazioni)Risoluzione Velocità Uso tipico Colore
Aghi 100200 dpi 200400car/sec
Modulocontinuo,copie cc
Bassaqualità
Ink jet 300720 dpi 16pag/min
PersonalComputing
Buonaqualità
Laserjet
Da 600 dpi 420pag/min
ProfessionalComputing
Costoelevato
Informatica Generale 38
ModemModemModulatore/demodulatoreEffettua conversioni digitale/analogico e
viceversa per trasmissioni su linea telefonicaVelocità tipica attuale 56Kbit/sec
Informatica Generale 39
Interfaccia di I/OInterfaccia di I/O
Scheda di interfaccia (fra bus e periferica)Modalità di trasferimento
– seriale: mouse, tastiera (standard RS-232C)– parallelo: stampante (standard centronics)
Gestione dell’I/O– a controllo di programma– mediante interruzione– con accesso diretto alla memoria (Direct
Memory Address, o DMA)
Informatica Generale 40
Esempio di gestione della Esempio di gestione della stampa di una rigastampa di una rigaA controllo di programma
Il processore invia un carattere alla scheda di interfaccia, attende che questa segnali l’avvenuta stampa, quindi invia il carattere successivo.
Mediante interruzione Il processore invia un carattere alla scheda, quindi si “occupa d’altro”. Quando la stampa termina, l’interfaccia manda un segnale di interruzione al processore per segnalare la nuova disponibilità dell’unità periferica.
Con accesso diretto alla memoria Il processore invia ad una opportuna unità DMA l’indirizzo di memoria e la lunghezza del blocco dati da stampare. L’unità DMA gestisce quindi l’I/O.
Informatica Generale 41
Bus di sistemaBus di sistema
Ogni informazione fra dispositivi differenti passa attraverso il bus È la risorsa critica per eccellenza
Ha una sua temporizzazione fissa (attualmente 66 o 100 MHz)