calcolatori elettronici -...

16
Calcolatori Elettronici Parte II: L’organizzazione generale del calcolatore Prof. Riccardo Torlone Università Roma Tre Anno Accademico 2001/2002 Riccardo Torlone - Corso di Calcolatori Elettronici 2 Terminologia di base ! Calcolatore elettronico: macchina fatta di dispositivi elettronici che può risolvere problemi eseguendo istruzioni fornitegli ! Programma: sequenza di istruzioni in un linguaggio ! Linguaggio macchina: eseguibile direttamente da un calcolatore (binario) Con dispositivi elettronici si possono eseguire direttamente solo un numero limitato di istruzioni semplici (costi) I linguaggi macchina non sono adatti per le persone Riccardo Torlone - Corso di Calcolatori Elettronici 3 Problema Voglio fare X (programma complesso in un linguaggio L1 di alto livello) So fare Y (programma di istruzioni semplici in un linguaggio macchina L0) Traduzione o interpretazione Riccardo Torlone - Corso di Calcolatori Elettronici 4 Soluzione adottata MACCHINA VIRTUALE (compilazione o interpretazione) L1 L0 MACCHINA REALE (esecuzione diretta) Se L0 ed L1 sono troppo diversi il problema si decompone introducendo livelli intermedi

Upload: hoangminh

Post on 16-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Calcolatori ElettroniciParte II: L’organizzazione generale

del calcolatore

Prof. Riccardo Torlone

Università Roma Tre

Anno Accademico 2001/2002

Riccardo Torlone - Corso di Calcolatori Elettronici 2

Terminologia di base

! Calcolatore elettronico: macchina fatta di dispositivi elettronici che può risolvere problemi eseguendo istruzioni fornitegli

! Programma: sequenza di istruzioni in un linguaggio! Linguaggio macchina: eseguibile direttamente da un calcolatore (binario)

Con dispositivi elettronici si possono eseguire direttamente solo un numero limitato di istruzioni semplici (costi)

I linguaggi macchina non sono adatti per le persone

Riccardo Torlone - Corso di Calcolatori Elettronici 3

Problema

Voglio fare X (programma complesso in un linguaggio L1 di alto livello)

So fare Y (programma di istruzionisemplici in un linguaggio macchina L0)

Traduzione ointerpretazione

Riccardo Torlone - Corso di Calcolatori Elettronici 4

Soluzione adottata

MACCHINA VIRTUALE(compilazione o interpretazione)

L1

L0

MACCHINA REALE(esecuzione diretta)

Se L0 ed L1 sono troppo diversi il problema si decompone introducendo livelli intermedi

Page 2: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 5

Architettura a livelli

! Al livello i corrispondono una macchina virtuale Mi ed un linguaggio Li

! Il linguaggio Li è tradotto nel linguaggio Li-1 o interpretato da un programma che gira sulla macchina Mi-1

Riccardo Torlone - Corso di Calcolatori Elettronici 6

Perché la stratificazione?

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

! Mn è facile da programmare ma impossibile da realizzabile in hardware

! Implementazione progressiva e modulare! Trasparenza per l’utente e le applicazioni! Il linguaggio Ln non dipende dalla piattaforma (hardware) M0:

! Diversi linguaggi disponibili sulla stessa piattaforma! Lo stesso linguaggio disponibile su diverse piattaforme

Riccardo Torlone - Corso di Calcolatori Elettronici 7

Tipica struttura a livelli

! Il livello 2 è il più basso al quale un utente può programmare la macchina (confine tra software e hardware)

! Normalmente si programma a livello 5

Riccardo Torlone - Corso di Calcolatori Elettronici 8

Struttura del computer

! La memoria contiene sia i dati che le istruzioni! Il contenuto dei registri può essere scambiato con la memoria e l’I/O! Le istruzioni trasferiscono i dati e modificano il contenuto dei registri! Registri particolari:

! PC: indirizza l’istruzione corrente! IR: contiene l’istruzione corrente

PC: Program Counter

IR: Instruction Register

A: Accumulator

Page 3: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 9

Struttura della CPU

! Esecuzione di operazioni aritmetiche e logiche sui dati contenuti nei registri

! Spostamento di dati fra registri e fra registri e memoria! Ciclo elementare: due operandi sono inviati alla ALU e il

risultato e messo in un registro

Riccardo Torlone - Corso di Calcolatori Elettronici 10

Il ciclo Fetch-Decode-Execute

L’esecuzione di ciascuna istruzione nella CPU consta dei seguenti passi:

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

2. Incrementa PC (Program Counter)3. Decodifica l’istruzione (Decode)4. Se l’istruzione usa un dato in memoria calcolane l’indirizzo5. Carica l’operando in un registro6. Esegui l’istruzione (Execute)7. Torna al passo 1. Per l’esecuzione dell’istruzione successiva

Accessi alla memoria sono effettuati sempre al passo 1, e non sempre ai passi 4 e 5

Riccardo Torlone - Corso di Calcolatori Elettronici 11

Esecuzione e InterpretazioneEsecuzione diretta

! Le istruzioni possono venire eseguite direttamente dai circuiti hardware

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

Interpretazione! L’hardware può eseguire solo alcune operazioni elementari molto

semplici! Ciascuna istruzione è scomposta in una successione di operazioni

base poi eseguite dall’hardware! Vantaggi:

! Repertorio di istruzioni esteso! HW più compatto! Flessibilità di progetto

Riccardo Torlone - Corso di Calcolatori Elettronici 12

La Microprogrammazione

L’HW puo eseguire microistruzioni:! Trasferimenti tra registri! Trasferimenti da e per la memoria! Operazioni della ALU su registri

Ciascuna istruzione viene scomposta in una sequenza di microistruzioniL’unità di controllo della CPU esegue un microprogramma per effettuare l’interpretazione delle istruzioni Il microprogramma è contenuto in una memoria ROM sul chip del processoreVantaggi:

! Disegno strutturato! Semplice correggere errori! Facile aggiungere nuove istruzioni

Page 4: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 13

CISC e RISC

All’inizio degli anni ’80 i progettisti di sistemi veloci riconsiderano l’approccio dell’esecuzione diretta

Architetture RISC (Reduced Instruction Set Computer):! Repertorio ristretto (alcune decine)! Istruzioni prevalentemente su registri! Una istruzione per ciclo di macchina

Architetture CISC (Complex Instruction Set Computer) µ-programmate:

! Repertorio esteso (alcune centinaia)! Istruzioni anche su memoria! Molti cicli di macchina per istruz.

Esempi:! Alpha (DEC): RISC! Pentium II (Intel): CISC

Riccardo Torlone - Corso di Calcolatori Elettronici 14

Principi progettuali dei computer moderni

! Eseguire direttamente le istruzioni più frequenti! Massimizzare la frequenza alla quale le istruzioni sono eseguite misurata in MIPS (Millions of Instr. per Second)

! Semplificare la decodifica delle istruzioni: formati molto regolari

! Limitare i riferimenti alla memoria alle sole LOAD e STORE

! Ampliare il numero di registri per limitare l’uso di LOADe STORE

N.B. Questi principi sono tipici della filosofia RISC ma anche le architetture CISC vi si adeguano almeno in parte

Riccardo Torlone - Corso di Calcolatori Elettronici 15

Vari Tipi di Parallelismo

Il parallelismo è ormai l’unica strada per aumentare le prestazioniLimite di un’esecuzione sequenziale: velocità della luce (30 cm in 1 nsec)

Due tipi di parallelismo:A) a livello di istruzioni

! Diverse istruzioni eseguite insieme! Diverse fasi della stessa istruzione eseguite concorrentemente

B) a livello di processori! Molti processori lavorano insieme allo stesso problema! Fattori di parallelismo molto elevati! Diversi tipi di interconnessione e di cooperazione (più o meno

stretta)

Riccardo Torlone - Corso di Calcolatori Elettronici 16

Pipelining

! Ciascuna istruzione è divisa in fasi! L’esecuzione avviene in una pipeline a più stadi! Più istruzioni in esecuzione contemporanea! Una istruzione completata per ogni ciclo

N.B. Si guadagna un fattore pari al numero di stadi della pipeline

Page 5: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 17

Caratteristiche di una pipeline

Una pipeline consente un compromesso tra:! Latenza: tempo per eseguire una istruzione! Ampiezza di banda: numero di istruzioni completate per unità di tempo misurata in MIPS (milioni di istruzioni al secondo)

Con:! Velocità di clock = T nsec! Numero di stadi = n

Abbiamo:! Latenza = nT! Ampiezza di banda = 1000/T MIPS

Riccardo Torlone - Corso di Calcolatori Elettronici 18

Architetture Superscalari

Si aumenta il parallelismo avendo più di una pipeline nel microprocessore

Le pipeline possono essere specializzate:! Una versione di Pentium ha due pipeline a 5 stadi! Una può eseguire solo istruzioni su interi

Problema: compatibilità dell’esecuzione parallela! Indipendenza tra le istruzioni! Ciascuna istruzione non deve utilizzare i risultati dell’altra

Riccardo Torlone - Corso di Calcolatori Elettronici 19

Unità Funzionali Multiple

! La CPU contiene al suo interno diverse unità funzionali indipendenti

! Lo stadio più lento della pipeline (che condiziona la velocità) viene “multiplato” (parallelizzato)

! Architettura adottata nei supercomputer! Prima forma di architettura superscalare

Riccardo Torlone - Corso di Calcolatori Elettronici 20

Array e Vector Processors

Array computer: processori identici ed autonomi eseguono le stesse istruzioni su dati diversi

! ILLIAC IV (1974): 50 MflopsVector processor: operano in parallelo su registri vettoriali (supercomputer)

SIMD (Single Instruction Multiple Data)

Page 6: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 21

Multiprocessori

Le CPU lavorano indipendentemente

Shared memory: il bus può divenire collo di bottiglia

Private memory: contiene il codice e parte dei dati

Scambio dati tramite la shared memory

Multicomputers: i singoli elementi sono normali workstation o PC

MIMD (Multiple Instruction Multiple Data)

Riccardo Torlone - Corso di Calcolatori Elettronici 22

La Memoria Centrale

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

! byte: 8 bit (minimo indirizzabile)! word: insieme di k byte (k dipende dall’architettura)

! Indirizzo (della cella): tramite il quale la CPU accede al dato nella cella

! Indirizzi binari a m bit: spazio di indirizzamento 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

(64GB con opportuni accorgimenti)

Riccardo Torlone - Corso di Calcolatori Elettronici 23

Ordinamento dei byte

! Diversi ordinamenti dei byte nella parola nella rappresentazione di stringhe

! Crea problemi nei trasferimenti fra computer di tipi diversi

(IBM, SUN) (INTEL)

Riccardo Torlone - Corso di Calcolatori Elettronici 24

Codici a correzione di errore

Recupero degli errori hardware tramite codifiche ridondanti

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

Si utilizza solo un sottoinsieme delle codifiche (codifiche valide)

Distanza di Hamming h = minimo numero di bit diversi tra due codifiche valide

Per rilevare errori su d bit occorre h = d+1

Per correggere errori su d bit occorre h = 2d+1

Page 7: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 25

Codici a correzione di errore (2)

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

0000000000000001111111111000001111111111

4=2m codifiche valide

Distanza di Hamming h=5 fra due codifiche valide contigue

Possibile correggere errori doppi 2d+1=h=5

1100011111 viene riconosciuto come 0000011111

Possibile rilevare errori quadrupli d+1=h=5

1111011111 viene riconosciuto come errato

Riccardo Torlone - Corso di Calcolatori Elettronici 26

Rilevazione di errore singolo (controllo di parità)

Nel caso più semplice si vogliono solo rilevare errori singoli

Basta aggiungere un solo check bit r=1, n=m+1

Bit di parità: scelto in modo che il numero complessivo di 1 nella codifica sia sempre pari (o dispari)

Questo codice ha distanza h=2

Errore rilevato da circuiti molto semplici

Le memorie segnalano parity error quando un errore si manifesta

Riccardo Torlone - Corso di Calcolatori Elettronici 27

Correzione di errore singolo

! m data bit, r check bit, n bit totali! 2m codifiche valide! n codifiche errate a distanza 1 da ciascuna delle valide! Ogni codifica valida ne richiede in tutto 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

Riccardo Torlone - Corso di Calcolatori Elettronici 28

Memorie Cache

! La memoria è sempre più lenta della CPU e tende a rallentarla! Memorie veloci sono disponibili ma solo per piccole dimensioni! La cache (da cacher) funziona alla velocità del processore, e quindi nasconde la “lentezza” della memoria

! Contiene le ultime porzioni di memoria acceduta: se la CPU vuole leggere una di esse evita un accesso a memoria

! Funziona bene a causa della località degli accessi

Page 8: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 29

Cache Hit Ratio

Se una parola viene letta k volte di seguito, k – 1 volte sarà trovata in cache

! Cache hit ratio:

H = (k – 1) / k

! Tempo medio di accesso a memoria:! m: tempo di accesso della memoria! c: tempo di accesso della cache

A = c + (1 – h)m

La memoria è organizzata in blocchiPer ogni cache miss un intero blocco è spostato in cache

Riccardo Torlone - Corso di Calcolatori Elettronici 30

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 CPUMigrazione dei dati fra livelli della gerarchia

5 ·10-9

20 ·10-9

80 ·10-9

10 ·10-3

150 ·10-3

Access time (sec)

24

219

230

240

>>>>240

Capacity (byte)

Riccardo Torlone - Corso di Calcolatori Elettronici 31

Dischi magnetici

! Registrazione seriale su tracce concentriche! 800-2000 tracce/cm (larghe ~10µ)

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

! Velocità di rotazione costante (7200 RPM)! Densità di registrazione variabile con il raggio della traccia (~ 105

bit/cm)! Velocità di trasferimento di 5-20 MB/sec! Burst rate e sustained rate

Riccardo Torlone - Corso di Calcolatori Elettronici 32

Dischi magnetici (2)

! Cilindro: insieme di tracce sulla stessa verticale! Tempo di seek tseek: spostamento delle testine sul cilindro desiderato, dipende in parte dalla distanza (~ 5-10ms)

! Tempo di latency tlat: spostamento sul settore desiderato (~ 10ms)

! Tempo di accesso:

tacc= tsee+ tlat

Page 9: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 33

Floppy Disk

! Dispositivi rimuovibili! Le testine toccano i dischetti! Non in rotazione continua! Ritardo nei tempi di accesso

Riccardo Torlone - Corso di Calcolatori Elettronici 34

Dischi IDE, EIDE e SCSI

! Standard nato con il PC XT IBM! Limite di 16 testine, 63 settori e 1024 cilindri: in tutto 528 MB

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

! SCSI (Small Computer Interface), standard ANSI

! Controller piu intelligente, inizialmente migliori prestazioni

! Connessione daisy chain! Adatto a server. Usato nelle Ws Unix

Riccardo Torlone - Corso di Calcolatori Elettronici 35

Dischi RAID

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

Soluzione: RAID (Redundant Array of Inexpensive Disks)

! Dividere i dati su più dischi! Parallelizzare l’accesso! Aumentare il data rate! Introdurre una resistenza ai guasti Contrapposti a SLED (Single Large Expensive Disk)

Data Striping: dati consecutivi nello stesso file vengono “affettati” e disposti su dischi diversi, dai quali possono essere letti (e scritti) in parallelo

Riccardo Torlone - Corso di Calcolatori Elettronici 36

RAID Level 0 e Level 1

Su n dischi si può guadagnare un fattore n sia in lettura che inscritturaLo MTBF (Mean Time Between Failures) peggioraNon c’è ridondanza: non è un vero RAID

Ciascun disco è duplicato: shadowingOttime prestazioni soprattutto in lettura: molte possibilità di bilanciare caricoEccellente resistenza ai guastiSupportato anche da vari SO (Es. NT 4)

Page 10: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 37

RAID Level 2

Striping a livello di word o di byteEsempio: un nibble (mezzo byte) più 3 bit: codice di Hamminga 7 bitRegistrazione ad 1 bit per ogni discoRotazione dei dischi sincronizzataResiste a guasti sempliciGuadagna un fattore 4 in read e writeForte 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 e write

Riccardo Torlone - Corso di Calcolatori Elettronici 38

RAID Level 3

Versione semplificata di RAID 2

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

Overhead abbastanza contenuto

RAID 2 e 3 offrono un’eccellente data rate ma permettono di gestire solo una operazione su disco per volta perché ciascuna operazione coinvolge tutti i dischi

Riccardo Torlone - Corso di Calcolatori Elettronici 39

RAID 4 e RAID 5

Striping a livello di blocco: drive non sincronizzatiRAID 4: la strip nell’ultimo disco contiene i bit di parita dell’insieme di bit omologhi di tutte le altre stripResiste a guasti singoli (vedi RAID 3)Se una sola strip e scritta occorre leggere tutte le altre per calcolare la paritàIl disco di parità è il collo di bottigliaRAID 5 distribuisce le strip di parità

Riccardo Torlone - Corso di Calcolatori Elettronici 40

Dischi ottici: CD-ROM

! Standard originariamente introdotto per i CD audio! Registrazione basata su pits e lands! L’interferenza nelle cavità diminuisce l'intensità luminosa ! Unica traccia a spirale ~22.000 giri a ~ 600/mm: lunghezza totale ~5.6Km

! Rotazione variabile 200-520 RPM per avere flusso dati uniforme (musica)

1/4 λλλλ

Laser .78µ

Foto diodo

Interferenza nellecavità

landpit

Page 11: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 41

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 utili piu 16 di preamboloe 288 di ECC

! Contiene in tutto 650 MB utili! Drive 1×: 75 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%

Riccardo Torlone - Corso di Calcolatori Elettronici 42

CD scrivibili e riscrivibili

Laser a due potenze (scrivibili):! alta (scrive): ‘brucia’ delle areole nello strato colorato! bassa (legge): come nei CD-ROM

(Solco preinciso 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

Riccardo Torlone - Corso di Calcolatori Elettronici 43

Standard per i CD ROM

Red Book (1980) : standard ISO per il CD audio (Philips e Sony): simboli e frame

Yellow Book (1984) : standard ISO per i CD-ROM dati: settori

Green Book: standard CD multimedialiHigh Sierra: Standard ISO 9660 per il file 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

Riccardo Torlone - Corso di Calcolatori Elettronici 44

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-2Ulteriore aumento di capacità:! Singola faccia, layer doppio: 8.5 GB! Doppia faccia, layer singolo: 9.4 GB! Doppia faccia, layer doppio: 17 GB

Page 12: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 45

Dispositivi di I/O

! I dispositivi di I/O sono connessi al bus tramite controller! I controller gestiscono autonomamente i trasferimenti da e per la memoria: DMA (Direct Memory Access)

! Possono comunicare con la CPU tramite le interruzioni! Il bus è condiviso da CPU e controller, e gli accessi sono regolati da un arbitro

Riccardo Torlone - Corso di Calcolatori Elettronici 46

Struttura fisica del PC

! La base della struttura è costituita dalla Scheda Madre (Mother Board)

! Sulla scheda madre sono la CPU, il Chipset, il bus e vari connettori per la memoria e i dispositivi di I/O

! Il bus è costituito da una serie di piste sul circuito stampato

! Spesso sono presenti più bus, secondo diversi standard ! Le carte di I/O vengono inserite nei connettori

Riccardo Torlone - Corso di Calcolatori Elettronici 47

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 maggiore frequenza di funzionamento (66MHz)

! Sia ISA che PCI sono di pubblico dominio

Riccardo Torlone - Corso di Calcolatori Elettronici 48

Monitors CRT

Sono gli stessi usati nei televisori ma con 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 i quadri sono riprodotti (Es. 85 Hz)

Page 13: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 49

Display Flat Panel

! Basati sulla conduzione di luce polarizzata da 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 da una matrice di selezione! Molto migliori ma costosi

Display a colori:! Stessi principi, ma più strati e filtri

Riccardo Torlone - Corso di Calcolatori Elettronici 50

Terminali a mappa di caratteri

! Possono presentare sullo schermo solo caratteri (generati dal controller)

! Tipicamente 25 righe da 80 caratteri! Caratteri contenuti nella VRAM! Dimensioni limitate della VRAM: tipico 25×80×2 ≈4k (2 byte per

char)! Flusso contenuto tra memoria e VRAM! Non possono gestire alcun tipo di grafica! Ormai quasi estinti

Riccardo Torlone - Corso di Calcolatori Elettronici 51

Interfaccia RS-232-C

Standard IEEE inizialmente per la gestione di terminali remoti:! Connettore standard a 25 pin! Protocollo di comunicazione! Trasmissione seriale

UART (Universal Asynchronous Receiver Transmitter)! Connessione locale con cavo senza modem (null modem)! Usato per connettere dispositivi di vario tipo alla porta seriale

Riccardo Torlone - Corso di Calcolatori Elettronici 52

Terminali a mappa di bit

! L’immagine è costituita da una matrice di 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à di elaborazione dell’immagine

Page 14: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 53

Tastiere e mouse

Tastiere! Codice del carattere inviato ogni volta 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 mouse fa un certo spostamento

minimo:1 - Spostamento sull’asse x2 - Spostamento sull’asse y3 - Posizione dei bottoni

Riccardo Torlone - Corso di Calcolatori Elettronici 54

Stampanti Inkjet

Stampanti grafiche: 300-1440 dot/inchCaratteri trattati come immagineContrazione del capillare per impulsi elettrici nell’avvolgimentoTeste a più ugelli, si postano sulla cartaPoco costose e silenziose, ma lenteProblemi:

! Trascinamento della carta! Intasamento degli ugelli! Costo delle cartucce! Generazione dell’immagine, da parte del computer

Inchiostro

Capillare

Avvolgimentodi eccitazione

CartaGoccia

Riccardo Torlone - Corso di Calcolatori Elettronici 55

Stampanti Laser

Eccitazione elettrostatica del tamburo di selenio con pennello laser

Adesione del toner (polvere plastica)

Trasferimento del toner sulla carta a caldo e sua fusione (fissaggio)

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

Riccardo Torlone - Corso di Calcolatori Elettronici 56

Gestione delle Stampanti Laser

La generazione dell’immagine viene fatta dalla stessa stampanteStampante dotata di microprocessore e parecchi MB di ROM e RAMSet di caratteri contenuti nella ROMScalatura delle fontiIl computer invia una descrizione dell’-immagine in uno speciale linguaggioPostscript: linguaggio proprietario di Adobe per la descrizione di immaginiUn file Postscript è un programma che descrive un documento:

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

Page 15: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 57

Stampanti a Colori

CYMK (Cyan, Yellow, Magenta, BlacK): codice di stampa a 4 coloriRGB (Red, Green, Blue): codice a 3 colori monitor necessaria conversioneInkjet

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

Laser! Costose, ottima qualità e costi marginali contenuti! Usano 4 toner di colori diversi! Richiedono molta memoria

Sublimazione! Fondono inchiostri solidi con pigmenti, e li depositano sul foglio

Riccardo Torlone - Corso di Calcolatori Elettronici 58

Modem

Informazione binaria trasmessa su linee analogiche modulando una portanteModulazione 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/secProtocolli V.21, V.32, V.34, V90 (56Kbps)Modem programmabili tramite linguaggio standard (AT)

Riccardo Torlone - Corso di Calcolatori Elettronici 59

Linee ISDN

! Linea digitale che usa un normale doppino telefonico

! Due canali indipendenti a 64.000 bit/sec ciascuno più uno di segnalazione a 16.000

! Ciascuna delle linee puo essere anche convertita in analogica

! Molto più affidabile, consente connessioni a 64 e 128 Kbits/sec, non richiede modem

! Anche linee ISDN a 30 canali

Riccardo Torlone - Corso di Calcolatori Elettronici 60

ADSL

! Tecnica appartenente alla famiglia Digital Subscriber Line (DSL)

! Permette la trasmissione dati ad alte velocità (ordine deiMbps) migliorando le tecniche di filtraggio e conversione analogico/digitale

! Utilizza frequenze che vanno oltre la banda fonica (300 -3.400 Hz).

! Flussi di dati paralleli lungo sottocanali su portanti a frequenze diverse.

! Velocità upstream:

24 can. × 15 bit × 4.3 Khz = 1,5 Mbps

! Velocità downstream:

248 can. × 15 bit × 4.3 Khz = 16 Mbps

Page 16: Calcolatori Elettronici - staff.icar.cnr.itstaff.icar.cnr.it/cannataro/didattica/L8-IngegneriaInformaticaBio... · Riccardo Torlone - Corso di Calcolatori Elettronici 5 Architettura

Riccardo Torlone - Corso di Calcolatori Elettronici 61

Codice ASCII (Hex 0-1F)

Riccardo Torlone - Corso di Calcolatori Elettronici 62

Codice ASCII (Hex 20-7F)

Riccardo Torlone - Corso di Calcolatori Elettronici 63

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, nuova proposta 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