55
II.1 Parte II Struttura del Sistema di Elaborazione Calcolatori Elettronici (5 crediti) Prof. S. Salza a.a. 00-01

Parte II Struttura del Sistema di Elaborazionesalza/Calc5c/s/Teoria-II-5c.pdf · Struttura del computer • La memoria contiene sia i dati che le istruzioni • Il contenuto dei registri

  • Upload
    lemien

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

II.1

Parte II

Struttura del Sistemadi Elaborazione

Calcolatori Elettronici (5 crediti) Prof. S. Salza a.a. 00-01

II.2

Architettura a livelli

• Al livello i corrispondono una macchinavirtuale Mi ed un linguaggio Li

• Il linguaggio Li è interpretato da unprogramma che gira sulla macchina Mi-1

II.3

Perché la stratificazione?

• M0 è facilmente realizzabile in hardware,ma difficile da programmare

• Mn è facile da programmare maimpossibile da realizzabile in hardware

• Implementazione progressiva e modulare

• Trasparenza per l’utente e le applicazioni

• Il linguaggio Ln non dipende dallapiattaforma (hardware) M0:

– Diversi linguaggi disponibili sullastessa piattaforma

– Lo stesso linguaggio disponibile sudiverse piattaforme

II.4

Tipica struttura a livelli

• Il livello 2 è il più basso al quale unutente può programmare la macchina

• Normalmente la programma a livello 5

• Non tutti i sistemi hanno il livello 1

II.5

Struttura del computer

• La memoria contiene sia i dati che leistruzioni

• Il contenuto dei registri può esserescambiato con la memoria e l’I/O

• Le istruzioni trasferiscono i dati emodificano il contenuto dei registri

• Registri particolari:– PC: indirizza l’istruzione corrente– IR: contiene l’istruzione corrente

PC: Program Counter

IR: Instruction Register

A: Accumulator

II.6

Struttura della CPU

• Esecuzione di operazioni aritmetiche elogiche sui dati contenuti nei registri

• Spostamento di dati fra registri e fraregistri e memoria

• Ciclo elementare: due operandi sonoinviati alla ALU e il risultato e messo inun registro

II.7

Il ciclo Fetch-Decode-Execute

L’esecuzione di ciascuna istruzionenella CPU consta dei seguenti passi:

1. Carica l’istruzione da memoriain IR (Instruction Register) (Fetch)

2. Incrementa PC (Program Counter)3. Decodifica l’istruzione (Decode)4. Se l’istruzione usa un dato inmemoria calcolane l’indirizzo

5. Carica l’operando in un registro6. Esegui l’istruzione (Execute)7. Torna al passo 1. Per l’esecuzionedell’istruzione successiva

Accessi alla memoria sono effettuatisempre al passo 1, e non sempre aipassi 5 e 6

II.8

Esecuzione e Interpretazione

Esecuzione diretta• Le istruzioni possono venire eseguitedirettamente dai circuiti hardware

• Approccio molto complesso:– Repertorio di istruzioni limitato– Progettazione dell’HW complessa– Esecuzione molto efficiente

Interpretazione• L’hardware può eseguire solo alcuneoperazioni elementari molto semplici

• Ciascuna istruzione è scomposta inuna successione di operazioni base poieseguite dall’hardware

• Vantaggi:– Repertorio di istruzioni esteso– HW più compatto– Flessibilità di progetto

II.9

La Microprogrammazione

• L’ HW puo eseguire microoperazioni:– Trasferimenti tra registri– Trasferimenti da e per la memoria– Operazioni della ALU su registri

• Ciascuna istruzione viene scompostain una sequenza di microoperazioni

• L’unità di controllo della CPU esegueun microprogramma per effettuarel’ interpretazione delle istruzioni

• Il microprogramma è contenuto in unamemoria ROM sul chip del processore

• Vantaggi:– Disegno strutturato– Semplice correggere errori– Facile aggiungere nuove istruzioni

II.10

CISC e RISC

• All’inizio degli anni ’80 i progettisti disistemi veloci riconsiderano l’approcciodell’esecuzione diretta

• Architetture RISC (Reduced InstructionSet Computer):

– Repertorio ristretto (alcune decine)– Istruzioni prevalentemente su registri– Una istruzione per ciclo di clock

• Architetture CISC (Complex InstructionSet Computer) µ-programmate:

– Repertorio esteso (alcune centinaia)– Istruzioni anche su memoria– Molti cicli di clock per istruzione

• Esempi:– Alpha (DEC): RISC– Pentium II (Intel): CISC

II.11

Obiettivi di Progetto(RISC design priciples)

• Eseguire direttamente le istruzionipiù frequenti

• Massimizzare la frequenza alla qualele istruzioni sono eseguite misurata inMIPS (Millions of Instr. per Second)

• Semplificare la decodifica delleistruzioni: formati molto regolari

• Limitare i riferimenti alla memoriaalle sole LOAD e STORE

• Ampliare il numero di registri perlimitare l’uso di LOAD e STORE

N.B. Questi principi sono tipici dellafilosofia RISC ma anche le architettureCISC vi si adeguano almeno in parte

II.12

Vari Tipi di Parallelismo

• Il parallelismo è ormai l’unica stradaper aumentare le prestazioni

• Limite di un’esecuzione sequenziale:velocità della luce (30 cm in 1 ns)

• Due tipi di parallelismo:A) A livello di istruzioni

– Diverse istruzioni eseguite insieme– Diverse fasi della stessa istruzioneeseguite concorrentemente

B) A livello di processori

– Molti processori lavorano insiemeallo stesso problema

– Fattori di parallelismo molto elevati– Diversi tipi di interconnessione e dicooperazione (più o meno stretta)

II.13

Pipelining

• Ciascuna istruzione è divisa in fasi

• L’esecuzione avviene in una pipeline(catena di montaggio) a più stadi

• Più istruzioni in esecuzione contemporanea

• Una istruzione completata per ogni ciclo

N.B. Si guadagna un fattore pari al numerodi stadi della pipeline (comunque limitato)

II.14

Architetture Superscalari

• Si aumenta il parallelismo avendo più diuna pipeline nel microprocessore

• Le pipeline possono essere specializzate:

– Il Pentium ha due pipeline a 5 stadi

– Una può eseguire solo istr. su interi

• Problema: compatibilità dell’esecuzioneparallela

– Indipendenza tra le istruzioni

– Ciascuna istruzione non deve utilizzarei risultati dell’altra

II.15

La Memoria Centrale

• Contiene sia i programmi che i dati• Memorizzazione binaria (bit)• Cella (o locazione): unità indirizzabile

– byte: cella da 8 bit– word: insieme di k byte (k dipendedall’architettura)

• Indirizzo (della cella): tramite il qualela CPU accede al dato nella cella

Indirizzi binari a m bit: spazio diindirizzamento 2m celle

ES Pentium II– Architettura a 32 bit– Registri e ALU a 32 bit– Word di 4 byte 32 bit– Indirizzi a 32 bit– Spazio indirizzabile 232 = 4 GB

II.16

Ordinamento dei byte

• Diversi ordinamenti dei byte nella parola nellarappresentazione di stringhe

• Crea problemi nei trasferimenti fra computerdi tipi diversi

(IBM, SUN) (INTEL)

II.17

Codici a correzione di errore

• Recupero degli errori hardwaretramite codifiche ridondanti

• Codifiche con n= m+r bit– n bit complessivi codifica– m bit dati– r check bit (ridondanti)

• Si utilizza solo un sottoinsieme dellecodifiche (codifiche valide)

• Distanza di Hamming h: minimonumero di bit diversi tra due codifichevalide

• Per rilevare errori su d bit occorreh=d+1

• Per correggere errori su d bit occorreh=2d+1

II.18

Codici a correzione di errore (2)

ES n=10, m=2, r=8

0000000000000001111111111000001111111111

4=2m codifiche valide

• Distanza di Hamming h=5 fra duequalsiasi codifiche valide

• Possibile correggere errori doppi2d+1=h=5

• 1100011111 viene riconosciutocome 0000011111

• Possibile rilevare errori quadruplid+1=h=5

• 1111011111 viene riconosciutocome errato

II.19

Rilevazione di errore singolo(controllo di parità)

• Nel caso più semplice si voglionosolo rilevare errori singoli

• Basta aggiungere un solo check bitr=1, n=m+1

• Bit di parità: scelto in modo che ilnumero complessivo di 1 nellacodifica sia sempre pari (o dispari)

• Questo codice ha distanza h=1

• Errore rilevato da circuiti moltosemplici

• Le memorie segnalano ‘parity error’quando un errore si manifesta

II.20

Correzione di errore singolo

• m data bit, r check bit, n bit totali

• 2m codifiche valide

• n codifiche errate a distanza 1 daciascuna delle valide

• Ogni codifica valida ne richiede intutto n+1

(n+1) 2m ≤ 2n cioè (m+r+1) ≤ 2r

m r n=m+r r/m

N.B. Al crescere di m l’overhead scende

II.21

Memorie Cache

• La memoria è sempre più lenta della CPU etende a rallentarla

• Memorie veloci sono disponibili ma solo perpiccole dimensioni

• La Cache (da cacher) funziona alla velocitàdel processore, e quindi nasconde la ‘lentezza’della memoria

• Contiene le ultime porzioni di memoria acce-duta: se la CPU vuole leggere una di esse evitaun accesso a memoria

• Funziona bene a causa della località degliaccessi

II.22

Cache Hit Ratio

• Se una parola viene letta k volte diseguito, k-1 volte sarà trovata in cache

• Cache hit ratio:

h=(k-1)/k

• Tempo medio di accesso a memoria:

a=c+(1-h)m

- m: tempo di accesso della memoria

- c: tempo di accesso della cache

• La memoria è organizzata in blocchi

• Per ogni cache miss un intero bloccoè spostato in cache, e usato in parecchiaccessi successivi

II.23

Gerarchie di memoria

• Scendendo nella gerarchia:– Cresce il tempo di accesso– Aumenta la capacità– Diminuisce il costo per bit

• Solo il livello più alto della gerarchiaè a contatto con la CPU

• Migrazione dei dati fra livelli dellagerarchia

5 ·10-9

20 ·10-9

80 ·10-9

10 ·10-3

150 ·10-3

Access time ( sec)

2 4

2 19

2 30

2 40

>2 40

Capacity (byte)

II.24

Dischi magnetici

• Registrazione seriale su tracce concentriche

• 800-2000 tracce/cm (larghe ~10µ)

• Tracce divise in settori contenenti i dati, unpreambolo e un ECC (Error-Correcting Code)(la capacità formattata scende del 15%)

• Velocità di rotazione costante (7200 RPM)

• Densità di registrazione variabile con ilraggio della traccia (~ 105 bit/cm)

• Velocità di trasferimento di 5-20 MB/sec

• Burst rate e sustained rate

II.25

Dischi magnetici (2)

• Cilindro: insieme di tracce sulla stessaverticale

• Tempo di seek tseek: spostamento delletestine sul cilindro desiderato, dipende inparte dalla distanza (~ 5-10ms)

• Tempo di latency tlat : spostamento sulsettore desiderato (~ 10ms)

• Tempo di accesso:

tacc= tsee+ tlat

II.26

Floppy Disk

• Dispositivi rimovibili

• Le testine toccano le dischette

• Non in rotazione continua

• Ritardo nei tempi di accesso

II.27

Dischi IDE, EIDE e SCSI

• Standard nato con il PC XT IBM

• Limite di 16 testine, 63 settori e 1024cilindri: in tutto 528 MB

• EIDE estende lo standard a 224 settori,controllori fino a 4 dischi e transfer ratepiù alta ~30MB/sec

• SCSI (Small Computer Interface),standard ANSI

• Controller più intelligente, inizialmentemigliori prestazioni• Connessione daisy chain• Adatto a server. Usato nelle Ws Unix

II.28

Dischi RAID

• Problema: miglioramento lento delleprestazioni dei dischi (1970: tseek=50ms;1999 tseek=10ms)

• Soluzione: RAID (Redundant Arrayof Inexpensive Disks)

– Dividere i dati su più dischi– Parallelizzare l’accesso– Aumentare il data rate– Introdurre una resistenza ai guasti

• Contrapposti a SLED (Single LargeExpensive Disk)

Data Striping: dati consecutivi nellostesso file vengono ‘affettati’ e dispostisu dischi diversi, dai quali possonoessere letti (e scritti) in parallelo

II.29

RAID Level 0 e Level 1

• Su n dischi si può guadagnare un fattore nsia in lettura che in scrittura

• Lo MTBF (Mean Time Between Failures)peggiora

• Non c’è ridondanza: non è un vero RAID

• Ciascun disco è duplicato: shadowing• Ottime prestazioni soprattutto in lettura:molte possibilità di bilanciare carico

• Eccellente resistenza ai guasti• Supportato anche da vari SO (Es. NT 4)

II.30

RAID Level 2

• Striping a livello di word o di byte• Esempio: un nibble (mezzo byte) più3 bit: codice di Hamming a 7 bit

• Registrazione ad 1 bit per ogni disco• Rotazione dei dischi sincronizzata• Resiste a guasti semplici• Guadagna un fattore 4 in read e write• Forte overhead (nell’esempio 75%)• Ha senso con molti dischi:

– 32 bit+(6+1) parità ⇒ 39 dischi– Overhead del 19%– Guadagna un fattore 32 in read ewrite

II.31

Raid Level 3

• Versione semplificata di RAID 2

• Resiste a guasti semplici! Il bit diparità, sapendo quale drive è rotto,consente la correzione

• Overhead abbastanza contenuto

RAID 2 e 3 offrono un’eccellente datarate ma permettono di gestire solo unaoperazione su disco per volta perchéciascuna operazione coinvolge tutti idischi

II.32

RAID 4 e RAID 5

• Striping a livello di blocco: drive nonsincronizzati

• RAID 4: la strip nell’ultimo discocontiene i bit di parita dell’insieme dibit omologhi di tutte le altre strip

• Resiste a guasti singoli (vedi RAID 3)• Se una sola strip e scritta occorreleggere tutte le altre per calcolare laparità

• Il disco di parità è collo di bottiglia• RAID 5 distribuisce le strip di parità

II.33

Dischi ottici: CD-ROM

• Standard originariamente introdotto per iCD audio

• Registrazione basata su pit e land

• L’interferenza nelle cavità diminuiscel'intensità luminosa

• Unica traccia a spirale ~22.000 giri a ~600/mm: lunghezza totale ~5.6Km

• Rotazione variabile 200-520 RPM peravere flusso dati uniforme (musica)

1/4 λ

Laser .78µ

Foto diodo

Interferenzanelle cavità

landpit

II.34

CD-ROM: organizzazione dei dati

• Byte codificati in simboli di 14 bit• Frame di 42 simboli di cui 24 utili• Settori di 98 frame, con 2k byte utilipiù 16 di preambolo e 288 di ECC

• Contiene in tutto 650 MB utili• Drive 1×: 153 settori/sec ≈150KB/sec• Drive 32 ×: ~5MB/sec

N.B. Tre livelli di correzione di errore(simbolo, frame e settore): la parte utileè solo del 28%

II.35

CD scrivibili e riscrivibili

• Laser a due potenze (scrivibili):– alta (scrive): ‘brucia’ delle areole nellostrato colorato

– bassa (legge): come nei CD-ROM

• Solco pre-inciso per guidare il laser• Laser a tre potenze (riscrivibili):(supporto a due stati: amorfo e cristallino)

– alta (scrive): cristallino→ amorfo– media (cancella): amorfo → cristallino– bassa (legge): come nei CD-ROM

II.36

Standard per i CD ROM

• Red Book (1980) : standard ISO per il CDaudio (Philips e Sony): simboli e frame

• Yellow Book (1984) : standard ISO per iCD-ROM dati: settori

• Green Book: standard CD multimediali• High Sierra: Standard ISO 9660 per ilfile system:

– Level 1: compatibile con tutti i SO– Level 2: Unix (UID, link simbolici)

• Orange Book: standard CD scrivibili– Formato CD-ROM XA– Scrittura incrementale– CD-ROM multisessione– Aggiornamento della directory– VTOC: Volume Table of Contents

II.37

DVD: Digital Versatile Disk

• Aumento della capacità:– Laser λ=.65µ → pit .4µ (erano .8µ)– Spirale più stretta .74µ (erano 1.6µ)– Capacità: 4.7 GB– Data rate (1×): 1.4MB/sec

• Basta per 133 minuti di film a 720×480,compresso con MPEG-2

• Ulteriore aumento di capacità:– Singola faccia, layer doppio: 8.5 GB– Doppia faccia, layer singolo: 9.4 GB– Doppia faccia, layer doppio: 17 GB

II.38

Dispositivi di I/O

• I dispositivi di I/O sono connessi al bustramite controller

• I controller gestiscono autonomamente itrasferimenti da e per la memoria: DMA(Direct Memory Access)

• Possono comunicare con la CPU tramitele interruzioni

• Il bus è condiviso da CPU e controller, egli accessi sono regolati da un arbitro

II.39

Struttura fisica del PC

• La base della struttura è costituita dallaScheda Madre (Mother Board)

• Sulla scheda madre sono la CPU, ilChipset, il bus e vari connettori per lamemoria e i dispositivi di I/O

• Il bus è costituito da una serie di pistesul circuito stampato

• Spesso sono presenti più bus, secondodiversi standard

• Le carte di I/O vengono inserite neiconnettori

II.40

Bus ISA e PCI

• ISA (Industry Standard Architecture)nasce col PC AT IBM (~1982)

• PCI (Peripheral Component Interconnect)introdotto da Intel (~1990)

• Il bus PCI ha più linee e maggiorefrequenza di funzionamento (66MHz)

• Sia ISA che PCI sono di pubblico dominio

II.41

Monitors CRT

• Sono gli stessi usati nei televisori macon prestazioni migliori:

– Dot Pitch: dimensione dei pixel(tipica 0.28-0.21mm)

– Risoluzione: numero di pixel(Es. 1280×1024 per 17”)

– Refresh rate: frequenza con cui iquadri sono riprodotti (Es. 85 Hz)

II.42

Display Flat Panel

• Basati sulla conduzione di luce polarizzatada parte dei cristalli liquidi (LCD)

• Conduzione influenzata da campi elettrici

• Campi generati da elettrodi trasparenti

• Problemi: basso contrasto, angolo visuale

Display a Matrice Attiva

– Elementi luminosi (pixel) controllati dauna matrice di selezione

– Molto migliori ma costosi

Display a colori:

– Stessi principi, ma più strati e filtri

II.43

Terminali a mappa di caratteri

• Possono presentare sullo schermo solocaratteri (generati dal controller)

• Tipicamente 25 righe da 80 caratteri

• Caratteri contenuti nella VRAM

• Dimensioni limitate della VRAM: tipico25×80×2 ≈4k (2 byte per char)

• Flusso contenuto tra memoria e VRAM

• Non possono gestire alcun tipo di grafica

• Ormai quasi estinti

II.44

Interfaccia RS-232-C

• Standard IEEE inizialmente per lagestione di terminali remoti:

– Connettore standard a 25 pin– Protocollo di comunicazione– Trasmissione seriale

• UART (Universal AsynchronousReceiver Transmitter)

• Connessione locale con cavo senzamodem (null modem)

• Usato per connettere dispositivi divario tipo alla porta seriale

II.45

Terminali a mappa di bit

• L’immagine è costituita da una matricedi punti (pixel)

• Da 1 a 4 byte per pixel• Interfacce grafiche, a finestre• Problema: dimensione della VRAM

– Risoluzione 1280×960– 24 bit per pixel (true color)– Servono 4 MB di VRAM

• Problema: gestione dell’immagine– Flusso tra RAM e VRAM

– Carico addizionale per la CPU

• Soluzioni:– Potenziamento del bus (PCI)– Schede grafiche con capacità dielaborazione dell’immagine

II.46

Tastiere e mouse

Tastiere– Codice del carattere inviato ognivolta che si pigia o rilascia un tasto

– Genera una interruzione della CPU

– Combinazioni di tasti gestite SW

– Mapping dei tasti (tastiere nazionali)gestito in software

Mouse– Tecnologie meccanica e ottica

– 3 byte inviati ogni volta che il mousefa un certo spostamento minimo:

1 - Spostamento sull’asse x

2 - Spostamento sull’asse y

3 - Posizione dei bottoni

II.47

Stampanti Inkjet

• Stampanti grafiche: 300-1440 dot/inch• Caratteri trattati come immagine• Contrazione del capillare per impulsielettrici nell’avvolgimento

• Teste a più ugelli, si postano sulla carta• Poco costose e silenziose, ma lente

Problemi– Trascinamento della carta– Intasamento degli ugelli– Costo delle cartucce– Generazione dell’immagine, da partedel computer

Inchiostro

Capillare

Avvolgimentodi eccitazione

CartaGoccia

II.48

Stampanti Laser

• Eccitazione elettrostatica del tamburo diselenio con pennello laser

• Adesione del toner (polvere plastica)• Trasferimento del toner sulla carta acaldo e sua fusione (fissaggio)

Vantaggi– Silenziose, veloci e precise– Maggiori costi fissi, minori marginali

II.49

Gestione delle Stampanti Laser

• La generazione dell’immagine vienefatta dalla stessa stampante

• Stampante dotata di microprocessore eparecchi MB di ROM e RAM

• Set di caratteri contenuti nella ROM• Scalatura delle fonti

• Il computer invia una descrizione dell’-immagine in uno speciale linguaggio

• Postscript: linguaggio proprietario diAdobe per la descrizione di immagini

• Un file Postscript è un programma chedescrive un documento:

– Testo, con specifica di fonte e corpo– Immagine delle fonti non standard– Disegni (vettoriali e bitmap)– Formato della carta, ecc.

II.50

Stampanti a Colori

• CYMK (Cyan, Yellow, Magenta,BlacK ): codice di stampa a 4 colori

• RGB (Red, Green, Blue): codice a 3colori monitor necessaria conversione

Inkjet– Come B/N, con più teste di stampa– Molto diffuse e poco costose

Laser– Costose, ottima qualità e costimarginali contenuti

– Usano 4 toner di colori diversi– Richiedono molta memoria

Sublimazione– Fondono inchiostri solidi conpigmenti, e li depositano sul foglio

II.51

Modem

• Informazione binaria trasmessa su lineeanalogiche modulando una portante

• Modulazione di ampiezza, frequenza e fase

• Bit rate: frequenza di invio dei bit

• Baud rate: frequenza con cui varia il segnale

• Bit rate tipiche: 14.000~57.600 bits/sec

• Protocolli V.32 bis V.34 bis

• Modem programmabili tramite linguaggiostandard (AT)

II.52

Linee ISDN

• Linea digitale che usa un normale doppinotelefonico

• Due canali indipendenti a 64.000 bit/secciascuno più uno di segnalazione a 16.000

• Ciascuna delle linee può essere ancheconvertita in analogica

• Molto più affidabile, consente connessionia 64 e 128 Kbits/sec, non richiede modem

• Anche linee ISDN a 30 canali

II.53

Codice ASCII (Hex 0-1F)

II.54

Codice ASCII (Hex 20-7F)

II.55

Codice UNICODE

• Codice ASCII a 7 bit, poi esteso a 8

• Escape sequences: per caratteri speciali

• Diversi codici nazionali code pages

• Impossibile usarli simultaneamente

• Codice UNICODE a 16 bit, nuovaproposta di standard:

– 65.536 code points

– Semplifica la scrittura del software

– 336 code points: alfabeti latini

– 112 accenti e simboli diacritici

– Greco, cirillico, ebraico, ecc.

– 21.000 ideogrammi cinesi

– 11.000 sillabe coreane ……

• Un consorzio assegna quello che resta,ma durerà poco