Architettura dei computer - se0a7f66af88958bd.jimcontent.com · operazioni di lettura e scrittura...

121
Architettura dei computer In un computer possiamo distinguere le seguenti unità funzionali: – il processore – la memoria principale – la memoria secondaria –i dispositivi di input/output Le linee di comunicazione (BUS) Il processore e la memoria principale sono le due componenti del computer e costituiscono l’unità centrale

Transcript of Architettura dei computer - se0a7f66af88958bd.jimcontent.com · operazioni di lettura e scrittura...

Architettura dei computer

• In un computer possiamo distinguere le seguenti unità funzionali:– il processore– la memoria principale– la memoria secondaria– i dispositivi di input/output– Le linee di comunicazione (BUS)

• Il processore e la memoria principale sono le due componenti del computer e costituiscono l’unità centrale

MQ 2

IL processoreIl datapath: un insieme di circuiti che

sono in grado di operare e manipolare dati

Il controller: un insieme di circuiti che sono in grado di interpretare un programma e fare eseguire alle altre componenti del calcolatore, le istruzioni in essi contenute

MQ 3

IL DATAPATH

Esempio di datapath

Componenti principali di un computer

Terminale

Periferiche di input/output

Stampante

(secondarie)Memorie di massa

ProcessoreMemoria

(centrale)

Bus

Unità centrale

principale

Controller

MQ 5

COMPONENTI DI UN PC

Si distinguono facilmente le cinque parti principali dello schema di Von Neumann con la CPU, l' Input e l' Output, nonche' la memoria volatile (Memory) e la memoria permanente (Drives).

MQ 6

Vista interna di un PC

MQ 7

Dentro al PC• SLOT: e’ un connettore dove vengono inserite delle

schede che contengono particolari dispositiviI piu' importanti tipi di slot sono:

o PCI Peripheral Component Interfaceo AGP Advanced Graphic Port

• CHIPSET: E' un insieme di circuiti integrati che "aiuta" la CPU nel controllo di tutti i dispositivi. Si occupa del BUS PCI, controllo dei dischi e periferiche. Un determinato chipset puo' supportare diversi tipi di CPU.

• JOYSTICK : connettore per un dispositivo dedicato a “particolari” attivita’ (anche per il tempo libero!).

MQ 8

IL BIOSIl BIOS e' un chip ROM che e' specifico di una data piastra madre. Le istruzioni e dati in esso contenuti rimangono praticamente fisse per tutto il ciclo di vita del PC e sono utilizzate dalla CPU all'accensione del PC. Il programma nella ROM contiene in primo luogo le istruzioni per la partenza (start-up) del PC che si possono dividere in:

Il BIOS e' un chip ROM che e' specifico di una data piastra madre. Le istruzioni e dati in POST (Power On Self Test) = Istruzioni per il controllo del funzionamento elettronico dei dispositivi all’accensione del PC

1) SETUP: Istruzioni per la configurazione dei dispositivi dopo l’accensione e il post

2) BIOS : Istruzioni per la configurazione verso il Sistema Operativo(CMOS)

3) BOOT : Istruzioni per la partenza del Sistema Operativo

4) INPUT/OUTPUT : Il Bios raccoglie una serie di programmi software a basso livello, (funzioni di base) che il sistema operativo sfrutta per interagire con l’hrdware della

macchina. Tra queste funzioni ritroviamo i caratteri digitati alla tastiera, l’invio dei caratteri alla stampante e l’accesso alla memoria, alle unita’ a disco e ad altri dispositivi di Input/output. Non tutti i sistemi operativi utilizzano tutte le funzioni del BIOS ( vedi UNIX)

Il CMOS e' una tecnologia elettronica con cui si costruiscono dispositivi a basso consumo. In un PC con CMOS si intende una memoria RAM a basso consumo dove vengono messi i dati di configurazione dei dispositivi presenti e che possono essere alterati dall'utente. Il chip CMOS e' alimentato da una batteria tampone per cui anche spegnendo il PC i dati non si perdono.

Il CMOS e' una tecnologia elettronica con cui si costruiscono dispositivi a basso consumo. In un PC con CMOS si intende una memoria RAM a basso consumo dove vengono messi i dati di configurazione dei dispositivi presenti e che possono essere alterati dall'utente. Il chip CMOS e' alimentato da una batteria tampone per cui anche spegnendo il PC i dati non si perdono.

MQ 9

Memoria ROM, caratteristiche:La ROMROM e’ un memoria atta a contenere informazioni memorizzate

dal costruttore del dispositivo, ma nella quale non e’ possibilescrivere nulla. Nella ROM troviamo un tipo di software chedifficilmente sara’ soggetto a variazioni (come il BIOS del PC, schede di controllo di periferiche, cartucce per I giochi, programmi applicativi di alcuni palmari e altre apparecchiatureprogrammabili).Al pari delle RAM le ROM sono ad accesso casuale.La non modificabilita’ della ROM ha costretto molti utenti a chiedere la sostituzione della ROM nel caso in cui bisognasseaggiornare I dati o il software.Tempo di accesso dell’ordine dei nanosecondi ( 1ns=10 –9 sec)

NON VOLATILE

MQ 10

Dalla ROM alla PROMLa PROM (Programmable ROM)PROM (Programmable ROM) e’ stata

inventata per sopperire alle forti restrizioniche le ROM imponeva. Qualora fosse statonecessario aggiornare I programmi o I daticontenuti nella ROM, bisognava sostituirla(doveva essere fornita dal costruttore). La PROM ha il vantaggio di poter essereprogrammata una sola volta dall’utentetramite dispositivi particolari chiamatiprogrammatori di PROM.

NON VOLATILE

MQ 11

Dalla PROM alla EPROMUn ulteriore miglioramento in questo settore

delle memorie fu l’EPROM ( Erasable PROM) che puo’ essere non solo programmatadall’utente ma anche cancellata. QuesteEPROM hanno una finestra di quarzo a contatto con il chip; se la finestra vieneesposta ad una forte luce ultraviolettaultravioletta per 15 minuti tutti I bit sono messi a 1 . Questi tipi dimemorie si possono riutilizzare .

NON VOLATILE

MQ 12

Dalla EPROM alla EEPROMAncora meglio delle EPROM è l’EEPROM

(Elettrically Erasable PROM).Si puo’ cancellare ( un byte alla volta) tramite impulsi

elettrici e si puo’ riprogrammare sul posto senzaestrarla.

Svantaggi: Più costose delle RAM e meno veloci delleRAM.

Le EEPROM piu’ recenti si chiamano FLASH(si cancellano per blocchi di byte )

Le FLASH sono usate anche come memorie portatili (USB key).

NON VOLATILE

La memoria principale

• Un altro nome con cui viene indicata la memoria principale è memoria RAM(Random Access Memory)

• Questa definizione indica che il tempo di accesso ad una cella è lo stesso indipendente dalla posizione della cella

• Le operazioni che un processore può effettuare sulla memoria sono le operazioni di lettura e scrittura di informazioni nelle celle

VOLATILE

La memoria principale• Una parola di memoria è, a seconda del tipo

di computer, un aggregato di due, quattro o addirittura otto byte, sul quale si può operare come su un blocco unico

• Per eseguire le operazioni di lettura e scrittura sulla memoria, si deve specificare l’indirizzo della parola su cui si vuole operare

• L’indirizzo di una parola è un numero intero e quindi lo si può codificare in binario

• Il numero di parole di memoria determina il numero di bit necessari a rappresentare l’indirizzo

La memoria principale• Le dimensioni della memoria principale variano

a seconda del tipo di computer e vengono espresse mediante le seguenti unità di misura:– 1 Kilobyte (KB) corrisponde a 1024 byte (210)– 1 Megabyte (MB) corrisponde a 1024 Kbyte (220)– 1 Gigabyte (GB) corrisponde a 1024 Mbyte (230)– 1 Terabyte (TB) corrisponde a 1024 Gbyte (240)

• Nei computer attuali le dimensioni tipiche della memoria principale vanno dai 512MB a vari GB

( e oltre)

La memoria principale• Ogni cella è caratterizzata da:

– Un indirizzo che e’ un numero che ne identifica la cella e ne consente l’accesso

– Un valore, che è la sequenza di bit memorizzata dalla cella.

• Un altro aspetto che caratterizza la memoria è il tempo di accesso (tempo necessario per leggere o scrivere un’informazione in una parola)

CICLO DI MEMORIA ( definizione)Tempo minimo che intercorre

tra 2 accessi in memoria

• Le memorie principali dei computer attuali hanno tempi di accesso dell’ordine di nanosecondi (1 nanosecondo =un miliardesimo di secondo)

• La memoria principale perde ogni suo contenuto quando si interrompe l’alimentazione elettrica. Questa caratteristica viene chiamata volatilità

• È quindi necessario per conservare le informazioni (programmi e dati) avere altri tipi di memoria che conservano il contenuto anche senza alimentazione elettrica

MQ 18

RAM TIPOLOGIE. I moduli di memoria sono attualmente disponibili in tre tipologie principali:

moduli SIMM (Single sided Inline Memory Module) a 30 e 72 contatti; sonooramai scomparsi dal mercato.

moduli DIMM (Double sided Inline Memory Module) a 168 contatti; sonoattualmente i più diffusi e sono disponibili a differenti velocità (da 15 nanosecondi ad accesso fino ai 7.5 nanosecondi). Recentemente sonoapparse sul mercato nuove DIMM basate su chip SDRAM DDR (Double Data Rate) a 184 contatti con le quali è stata raddoppiata, a parità difrequenza, la quantità di dati trasferita.

moduli RIMM (Rambus Inline Memory Module) fanno riferimento a nuovimoduli che hanno velocità e frequenze maggiori di 800MHz, ma canale piùstretto (16 bit di larghezza contro i 32/64 delle DIMM).

Il Processore

• Il processore è la componente dell’unitàcentrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

• L’elaborazione avviene in accordo a sequenze di istruzioni (istruzioni macchina)

• Il linguaggio in cui si scrivono queste istruzioni viene chiamato linguaggio macchina

Componenti di un processore

Unità di Controllo

UnitàAritmetico-

Logica

REGISTRI

Program Counter (PC)

Registro di Stato (PSW)

Registro Istruzioni (IR)

Registro Indirizzi Memoria (MAR)

Registri Generali (8 o 16)

Registro Dati Memoria (MD )

Registro di Controllo (RC)

BusInterno

Schema elementare di processore ( con registri generali)

MQ 21

IL PROCESSORE

A B T IR PC MD

MX

ALU

CONTR.UNIT

MAR

F

Alla memoria

EAR ED

Alle unita’esterne

clock

Schema elementare di processore ( senza registri generali)

con 2 accumulatori ( A e B)

MQ 22

Macchina ad accumulatore , in questo caso due (A e B).

I REGISTRI

I registri A,B,T contengono dati su cui e’ possibile eseguire operazioni elementari da parte dell’ ALU .

Il registro IR contiene l’informazione relativa alla operazione da eseguire ed e’ percio’ chiamato registro dell’istruzione corrente.

Il registro PC, chiamato contatore di programma (Program Counter), fornisce l’indirizzo di memoria in cui e’ contenuta l’istruzione successiva del programma; pertanto in ogni istante si ha:

Le dimensioni di un registro sono di pochi byte (2, 4,8)

Le macchine con architetture moderne sono caratterizzate da un insieme di registri di uso generale, mediante i quali e’ possibile operare sui dati in modo molto piu’ efficiente

MQ 23

CPU con registri generali

MQ 24

I REGISTRI•MDR (o MD) Memory Data Register serve a scambiare dati tra la CPU e la memoria, mentre il registro ED e’ utilizzato per scambiare i dati tra la CPU e le unita’ esterne di ingresso e di uscita.

•MAR ( Memory Address Register) e’ caricato di volta in volta con l’indirizzo della locazione di memoria che in un certo istante la CPU vuole leggere o scrivere, mentre il registro EAR e’ caricato con il numero della porta di I/O con cui scambiare i dati.

•ED serve allo scambio dati con le unita’ esterne di INGR./USCITA.

•PSW (Program Status Word) e’ il registro dei flag che che memorizza particolari condizioni quali: riporto, traboccamento, risultato positivo/negativo, parita’ e altro.

•RC e’ il registro per i segnali di controllo da e verso le altre unita’ ( scrittura ,lettura, attesa, pronto etc..

MQ 25

ARCHITETTTURA (semplificazione.)

MQ 26

UNITA’ DI CONTROLLO (U.C.)

La U.C. svolge due funzioni fondamentali:

• Controllo della sequenza delle istruzioni

• Controllo della esecuzione delle istruzioni,

ogni istruzione scatena una sequenza di

comandi che nel loro insieme svolgono la

singola istruzione.

MQ 27

TIPI DI UNITA’ di CONTROLLO

DUE TIPI DI U.C. • CABLATE

Dotate di circuiti specializzati che realizzano le funzioni desiderate

• MICROPROGRAMMATEOgni operazione che la U.C. deve eseguire viene dettagliatada una serie di microistruioni che sono immagazinate in particolari memorie ( Control Store)

Il Processore: l’unità di controllo

• L’Unità di Controllo (UC) si occupa di coordinare le diverse attività che vengono svolte all’interno del processore

• Il processore svolge la sua attività in modo ciclico

• Ad ogni ciclo vengono svolte diverse attività controllate e coordinate dalla UC

Ciclo istruzione

MQ 29

CICLO ISTRUZIONE

Il ciclo di una istruzione e’ essenzialmente composto dai seguenti passi

1. PRELIEVO ( FETCH)

2. DECODIFICA (DECODE)

3. ESECUZIONE (EXECUTE)

4. RITORNO AL PASSO 1

MQ 30

FASE DI FETCHIl termine FETCH indica la copia di un’informazione dalla memoria all’interno della CPU

1. (PC) MAR 2. MEM(MAR) MD3. (MD) IR4. (PC) +1 PC

Il contenuto del Program counterviene spostato nel registro indirizzi

Viene prelevato dalla memoria il contenuto dell’indirizzo puntato da MAR e viene posto nel registro MD

Il contenuto di MD viene posto nel registro istruzione corrente (IR)

Il contenuto del program counter PC viene incrementato .

Il contenuto del Program counterviene spostato nel registro indirizzi

Viene prelevato dalla memoria il contenuto dell’indirizzo puntato da MAR e viene posto nel registro MD

Il contenuto di MD viene posto nel registro istruzione corrente (IR)

Il contenuto del program counter PC viene incrementato .

MQ 31

FASE DI PRELIEVO (FETCH)

MQ 32

FASE DI DECODIFICAEstrazione dal registro istruzione (IR) del tipo operatore

presente (OPCODE): Istruzioni per lo spostamento dati

Istruzioni aritmetiche: add,mul,sub…

Istruz. di tipo logico (NAND,OR, NOT..

Istruz. Di rotazione e shift : SHL, SHR..

Istruz. di controllo programma( JUMP, JNZ,JZERO.. ..

Istruz. Di controllo Macchina(halt,nop..

MQ 33

FASE DI ESECUZIONEEstrazione degli operandi:

INDIRIZZO/IDATI IMMEDIATIREGISTRI

In base al microprogramma o al circuito specializzato verra’

eseguita l’istruzione presente nell’IR

Il Processore: l’unità di controllo• La frequenza con cui vengono eseguiti i cicli di

esecuzione è scandita da una componente detta clock• Ad ogni impulso di clock la U.C. esegue un’istruzione

macchina ( o meglio ad ogni ciclo di clock cambia lo stato interno della macchina)

• La velocità di elaborazione di un processore dipende dalla frequenza del suo clock

• I processori attuali hanno valori di frequenza di clock che variano tra i 100 MHz e 3 GHz (tra 100 milioni di impulsi al secondo a 3 miliardi di impulsi al secondo )

MQ 35

IL CLOCK• E’ un segnale periodico, costituito da una sequenza

alternata di uni e zeri, che viene distribuito a tutti i circuiti sequenziali sincroni per sincronizzarne il funzionamento. L’intervallo di tempo che intercorre tra due successivi impulsi e detto periodo di clock.La frequenza viene misurata in Mhz (megahertz, milioni di cicli al secondo). Un ciclo della durata di 1 ns(nanosecondo) equivale a 1000Mhz (1 Ghz). Maggiore e’ la frequenza , maggiore e’ la velocita’del processore, che tuttavia non puo’ essere aumentata a piacere in quanto i circuiti devono avere il tempo di completare la propagazione dei nuovi valori logici prima che arrivi un nuovo impulso di clock .

MQ 36

L’Unità Aritmetico-Logica• L'Unità Aritmetico-Logica (ALU) è costituita da un insieme di

circuiti in grado di svolgere le operazioni di tipo aritmetico elogico

• La ALU legge i dati contenuti all'interno dei registri generali,esegue le operazioni e memorizza il risultato in uno dei registri generali

• Vi sono circuiti in grado di eseguire la somma di due numeri binari contenuti in due registri e di depositare il risultato in un registro, circuiti in grado di eseguire il confronto tra due numeri binari.

• In alcuni elaboratori oltre alla ALU si può avere un processore specializzato per effettuare operazioni matematiche particolari, il coprocessore matematico

CISC o RISC• Fino all’inizio degli anno ’80 la quasi totalita’ degli

elaboratori era basata su processori con pochi registri ma con unita’ di controllo molto complesse in grado di eseguire istruzioni anche molto articolate. Le architetture di questo tipo venivano chiamate CISC ( COMPLEX INSTRUCTION SET COMPUTER) ovvero computer con set di istruzioni complesse ( a loro volta composte da microistruzioni) .

• Successivamente a fianco di questa tipologia di CPU e’comparso un altro approccio detto RISC ( REDUCED INSTRUCTION SET COMPUTER). L’idea di base prevede di dotare il processore di un numero ridotto di istruzioni, ma di renderle estremamente efficienti, in modo che combinando queste semplici istruzioni si potranno ottenere programmi estremamente complessi che vengono eseguiti a velocita’ molto elevate. L’obiettivo seguito per passare da architetture CISC a RISC, e’ stato certamente quello di minimizzare il tempo macchina di esecuzione di una istruzione .

CISC o RISCCodice assembler per l'operazione di moltiplicazione fra due valori immagazzianti in memoria centrale:

Filosofia RISCMOV A, %100; muovi (move) nel registro A il contenuto della cella 100MOV B,%230; salva in un altro registro, detto B, il contenuto della cella 230MUL C,A,B; moltiplica A per B e scrivi il risultato nel registro CSTR C, %300; scrivi (store) il valore di C nella cella numero 300

Osserviamo che, in totale, abbiamo 4 istruzioni in assembler. Troppe per i progettisti, secondo la filosofia CISC. Perchè non fare una singola istruzione di moltiplicazione che preveda tutte queste operazioni una volta decodificata dal processore? Se venisse aggiunta nell'ISA del processore, basterebbe scrivere:

MUL %300,%230,%100per impartire l'ordine al processore di salvare il contenuto della memoria nei registri, fare la

moltiplicazione e scrivere il risultato nuovamente in memoria. Bel risparmio di mal di testa per i programmatori in assembler! E bel risparmio per la ditta produttrice di software che impiegherà molto meno tempo per correggere eventuali bachi nel programma, portando al pubblico il prodotto finito in tempi più rapidi!

ISA (instruction set architecture ) Insieme delle istruzioni assembler che caratterizzano l’architettura del processore

MQ 40

RISC VS CISCLa vera differenza tra RISC e CISC è la filosofia di funzionamento. In una macchina RISC le uniche operazioni in grado di accedere alla memoria sono le operazioni di LOAD e di STORE, tutte le altre utilizzano solo i registri, mentre in una macchina CISC le operazioni possono accedere ai registri e alla memoria indifferentemente. Questo non è possibile direttamente, quindi una macchina CISC quando un'operazione richiede di accedere alla memoria il processore carica il dato lo salva temporaneamente in un registro (spesso nascosto) esegue le operazioni e poi salva il risultato in memoria. In sostanza: una macchina CISC mette in piedi un teatro illusorio per fornire al programmatore un ambiente comodo; una macchina RISC non fornisce questo teatro illusorio al programmatore dato che questo comunque non programma quasi mai in assembly e dato che queste operazioni nascoste in realtà rallentano il processore nell'eseguire le altre operazioni. Spesso le architetture RISC vengono definite anche architetture load/store per evidenziare la differenza fondamentale con le architetture CISC ed evitare fraintendimenti.

MQ 41

STRUTTURA DI UNA MEMORIA CENTRALE

MQ 42

Memoria cache

Storicamente le CPU sono sempre state più veloci delle memorie. Man mano che sono migliorate le memorie sono migliorate anche le CPU e quindi si è mantenuta la differenza. Quando la CPU ha inviato una richiesta alla memoria, la parola che serve non arrivera’ se non dopo molti cicli di CPU. Più la memoria e’ lenta, più cicli dovrà aspettare la CPU.

PERCHE NON COSTRUIRE MEMORIE VELOCI COME LA CPU?In effetti la tecnologia lo permette, ma esiste un problema: per poter essere veloci come le CPU, queste memorie dovrebbero trovarsi sullo stesso CHIP della CPU (perché la connessione via bus alla memoria èlenta). Tale soluzione inoltre farebbe aumentare il volume del chip (CPU + memorie) e ne farebbe aumentare anche il costo. La soluzione per tale problema e’ un compromesso che prevede la presenza di una piccola memoria veloce nello stesso CHIP che contiene la CPU e una o piu’memorie lente all’esterno della CPU collegate tramite bus .

MQ 43

Questo tipo di memoria veloce si chiama cache (dal francese cacher che significa nascosto) di transito tra RAM e CPU, che velocizza gli accessi ai dati e alle istruzioni.Si tratta di una memoria ad alta velocita’ (alcuni nanosecondi) che puo’rispondere alle richiesta di lettura oppure filtrare le richieste di scrittura verso la memoria centrale senza imporre stati di attesa al processore. Uno stato di attesa e’un ciclo di clock durante il quale il processore sospende l’elaborazione e attende il completamento di una richiesta di lettura o scrittura sulla memoria. Pertanto quando la CPU deve accedere ad un indirizzo di memoria, accede prima alla cache; nel caso in cui questo non sia presente nella cache si verifica un fallimento di accesso, allora lo preleva dalla memoria centrale e lo ricopia nella memoria cache insieme ad un prefissato numero di locazioni contigue

Memoria cache I

MQ 44

ACCESSO IN MEMORIATa : Tempo medio di accesso ad un dato in memoria

Ta = Th*Ph + Tm*(1-Ph)Th = tempo di accesso ad un dato presente in cacheTm = tempo medio di accesso ad un dato non in cache

(funzione della dimensione del blocco)Ph = probabilità di hit(successo)(funzione della dimensione del blocco e della politica di

gestione)

Memoria cache II

MQ 45

Il successo di tale soluzione( Principio di localita’) dipende dal fatto che il più delle volte (tranne nei casi di salto) gli indirizzi di memoria successivamente generati durante l'esecuzione di un programma formano gruppi contigui.-La cache di primo livello o interna: garantisce un flusso continuo all’interno del

processore;(La capacità tipica della cache di primo livello è di circa 32-64 KB).- La cache di secondo livello o esterna che serve per superare la lentezza della

memoria centrale(La capacità tipica della cache di secondo livello è di 128K- 2MB).

Dimensioni tipiche in un PC-2002•Registri 16,32,64 bit•Cache di primo livello 64 KB•Cache 512 KB si secondo livello•Ram 256MB• HD 40GBLa memoria cache e’ detta anche SRAM ( RAM STATICA). E’composta da un numero maggiore di transistor ed e’ quindi piu’ voluminosa (a parita’ di numero di byte)

La memoria secondaria• La memoria principale non può essere troppo

grande a causa del suo costo elevato .• Non consente la memorizzazione permanente

dei dati (volatilità)• Per questi motivi sono stati introdotti due tipi

di memoria:– Memoria principale veloce, volatile, di dimensioni

relativamente piccole;– Memoria secondaria, più lenta e meno costosa,

con capacità di memorizzazione maggiore ed in grado di memorizzare i dati in modo permanente

La memoria secondaria• La memoria secondaria viene utilizzata per

mantenere tutti i programmi e tutti i dati che possono essere utilizzati dal computer

• La memoria secondaria viene anche detta memoria di massa

• Quando si vuole eseguire un certo programma, questo dovrà essere copiato dalla memoria di massa a quella principale (caricamento)

La memoria secondaria

• La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua realizzazione si utilizzano tecnologie basate sul magnetismo (dischi e nastri magnetici) o tecnologie basate sull'uso dei raggi laser (dischi ottici)

• Nel primo caso si sfrutta l’esistenza di sostanze che possono essere magnetizzate.

La memoria secondaria• La magnetizzazione è permanente fino a quando non

viene modificata per effetto di un agente esterno.• I due diversi tipi di magnetizzazione corrispondono alle

due unità fondamentali di informazione (bit).• Le tecnologie dei dischi ottici sono completamente

differenti e sono basate sull'uso di raggi laser.• Il raggio laser è un particolare tipo di raggio luminoso

estremamente focalizzato che può essere emesso in fasci di dimensioni molto ridotte.

Caratteristiche dei vari tipi di memoria secondaria• I supporti di memoria di massa sono molto più lenti

rispetto alla memoria principale (presenza di dispositivi meccanici).

• Le memorie di massa hanno capacità di memorizzazione (dimensioni) molto maggiori di quelle delle tipiche memorie principali

• Il processore non può utilizzare direttamente la memoria di massa per l'elaborazione dei dati

• Il programma in esecuzione deve essere in memoria principale e quindi le informazioni devono essere trasferite dalla memoria secondaria a quella principale ogni volta che servono

Caratteristiche dei vari tipi di memoria secondaria

• Nel caso della memoria principale si ha sempre l'accesso diretto ai dati, nel caso della memoria secondaria solo alcuni supporti consentono l'accesso diretto mentre altri supporti permettono solo l'accesso sequenziale.

• La memoria principale consente di indirizzare il singolo byte di informazione, nelle memorie di massa le informazioni sono organizzate in blocchi di dimensioni più grandi, di solito da 1 KByte in su.

I dischi magnetici• I dischi magnetici sono i dispositivi di

memoria secondaria più diffusi• Sono dei supporti di plastica o vinile, su cui è

depositato del materiale magnetizzabile• Nel corso delle operazioni i dischi vengono

mantenuti in rotazione a velocità costante e le informazioni vengono lette e scritte da testine del tutto simili a quelle utilizzate nelle cassette audio/video

• Entrambi i lati di un disco possono essere sfruttati per memorizzare le informazioni

I dischi magnetici• I dischi sono suddivisi in tracce concentriche e settori, ogni

settore è una fetta di disco. I settori suddividono ogni traccia in porzioni di circonferenza dette blocchi (o record fisici). Piu’settori rappresentano un cluster.

I dischi magnetici• La suddivisione della superficie di un disco in

tracce e settori viene detta formattazione• Il blocco è dunque la minima unità indirizzabile

in un disco magnetico e il suo indirizzo è dato da una coppia di numeri che rappresentano il numero della traccia e il numero del settore.

• I dischi magnetici consentono l'accesso diretto in quanto è possibile posizionare direttamente la testina su un qualunque blocco senza dover leggere quelli precedenti

MQ 55

Struttura di un settore

preambolo dati ECC

Codici correttori di errore :dati in più per accorgersi se la lettura è andata bene

dati

Permette alla testina di capire chesta iniziando un nuovo settore, fornisceil numero del cilindro, traccia,settore ,etc

I dischi magneticiPer effettuare un'operazione di lettura (scrittura) su un blocco ènecessario che la testina raggiunga l'indirizzo desiderato (la testina èferma ed è il disco che si muove)Il tempo di accesso alle informazioni sul disco è dato dalla somma di tre tempi dovuti a:– Tempo di posizionamento(seek time) : spostamento della testina in

senso radiale fino a raggiungere il cilindro e quindi la tracciainteressata (seek time);I valori di seek time variano in funzione della traccia di partenza e quella di destinazione; per questo motivo il costruttore dovrebbe fornire il tempo minimo e il tempo medio di posizionamento;I valori di seek time minimo e medio dipendono dalla qualita’elettromeccanica del dispositivo .Esempio: Disco per portatili seek time minimo= 1,0 ms

seek time medio = 9,5 ms

Disco SCSI 12000 rpmseek time minimo = 0,3 msseek time medio = 3,6 ms

I dischi magnetici (cont.)

– Tempo di latenza :attesa che il settore desiderato si trovi a passare sotto la testina; tale tempo dipende dalla velocità di rotazione del disco:

latency time = utominperrotazionin* o260

I dischi magnetici (cont.)

– Tempo di trasmissione di un blocco: Il tempo necessario affinchè un blocco cercato transiti sotto la testina e dipende dalla velocita’ di rotazione del disco, dalla densita’ di registrazione e dalla dimensione in byte del blocco:

)(*)()(

completarotazionebloccoundinetrasmissio TtracciaperbytebloccoperbyteT =

Esiste anche un tempo di overhead del controller, ovvero il tempo che intercorre tra la richiestaal controller e l’inizio della esecuzione del comando da parte del controller. Questo tempo è dicirca 0,2 millisecondi

I dischi magnetici (cont.)

EsempioConoscendo la velocita’ di rotazione di un disco VRPM ( giri al minuto )

Conoscendo la quantita’ di byte per settore Bps

Conoscendo il numero di settori in una traccia NSpt

Calcolando il numero di byte per traccia NBpt

Possiamo calcolare il tempo necessario per la lettura di X byte nell’ ipotesi che sitrovino tutti su settori consecutivi e su tracce adiacenti.Conviene trasformare VRPM ( giri al minuto) in giri al secondo VRPs = (VRPM /60)

Nel caso di VRPM = 10000 VRPs =10000/60 ≈ 166 giri/secBps = 512 NSpt = 300 NBpt 153600 X = 300K = 307200 byte

otteniamo il valore di 12 ms (millisecondi) per leggere 300K byte

)(*)()(

)(BptRPs

byteXdinetrasmissio NVXT =

NOTA: trascuriamo, per semplificare, il tempo di passaggio da una traccia all’altra adiacente.

I dischi magnetici (cont.)

• Le testine dei dischi rigidi volano vicinissime alle superfici dei piatti ( altezza di volo ≈ 0,1 µm dove 1 µm = 10-6metri). [Un capello umano , per un raffronto ha un diametro di circa 100 µm ]

• Sono generalmente racchiusi in contenitori sigillati in modo da evitare qualunque contatto con la polvere

• I dischi rigidi hanno capacità di memorizzazione elevata, ordine di decine di Gbyte

• Il tempo di accesso ad un disco è dell’ordine deimillisecondi (10-3sec).

MQ 61

DIFFERENZA TRA MEMORIA SECONDARIE E MEMORIE CENTRALI

Una memoria secondaria ha le seguenti caratteristiche fondamentali, che la differenziano dalla memoria centrale:

Non volatilità: i dati memorizzati non vengono persi allo spegnimento del calcolatore (perché memorizzati in forma magnetica o ottica e non elettronica

Grande capacità :una unità di memoria secondaria ha capacità maggiore (anche di diversi ordini di grandezza) rispetto alla memoria centrale

Bassi costi: il costo per bit di una memoria secondaria èminore (di diversi ordini di grandezza) rispetto alla memoria centrale

MQ 62

Altre caratteristiche delle memorie secondarie rispetto alle memorie centrali.

Minore velocita’ di accesso.

I tempi di accesso a una memoria secondaria sonomaggiori (millisecondi ) rispetto allamemoria principale (nanosecondi).

I dati di una memoria secondaria per essere acceduti dalprocessore devono comunque transitare nella memoria

centrale

IN SINTESI

la memoria secondaria memorizza e conserva tutti i programmi e i dati del calcolatore.

la memoria centrale memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione.

DIFFERENZA TRA MEMORIA SECONDARIE E MEMORIE CENTRALI (2)

I dischi magnetici-FLOPPY• I floppy disk (dischetti flessibili) sono supporti

rimovibili non rigidi di materiale plastico e ricoperti da un piccolo strato di sostanza magnetizzabile.

• Hanno tempi di accesso di circa 500ms ( la testina tocca la superficie , questo crea problemi di surriscaldamento)

• Velocita’ di rotazione : circa 300 rpm ( tenere presente che i floppy sono soggetti a continue variazioni di velocita’ poiche’ si fermano quando la trasmissione dati finisce)

• I comuni floppy disk da 3.5" hanno capacità di memorizzazione di 1.4 Mbyte ( 80 tracce 18 settori per traccia su ogni faccia) 1 settore=512 bytes

I dischi ottici

• I dischi ottici sono basati sull’uso di un raggio laser per le operazioni di lettura;

• Quasi tutte le unità per dischi ottici consentono solamente operazioni di lettura poiché la scrittura è un'operazione complicata, che richiede delle modifiche fisiche del disco.

• Quando le unità consentono la scrittura, i dischi ottici generalmente possono essere scritti una sola volta perché le modifiche fisiche che avvengono durante la fase di scrittura sono irreversibili

MQ 65

DISCO OTTICO

I dischi ottici

• I dischi ottici vengono usati solitamente per la distribuzione dei programmi e come archivi di informazioni che non devono essere modificate;

• Le dimensioni tipiche per i dischi ottici utilizzati oggi vanno dai 500 MByte in su, fino a uno o più GByte

• I dischi ottici hanno costo inferiore e sono molto più affidabili e difficili da rovinare.

MQ 67

I dischi ottici (…continua)

Il dispositivo è costituito da un piatto rigido su cui viene proiettato un raggio laser la cui potenza (ordine dei milliwatt) dipende dal tipo di operazione effettuata (lettura, scrittura, cancellazione per riscrittura). La riflessione cambia quando si incontrano piccole depressioni nel substrato (PIT < 1µ) rispetto alla superficie (LAND).ATTENZIONE! Non bisogna identificate il PIT con 0 e il LAND con 1 . Il valore digitale 1 viene associato ad una variazione tra PIT e LAND oppure tra LAND e PIT, mentre il valore 0 significa nessuna variazione.

MQ 68

MQ 69

I dischi ottici (…continua)

Le possibili organizzazioni sono fondalmente due:CD (Compact Disc)

• L’informazione è memorizzata in un’unica traccia a spirale lungo la quale la densità di scrittura è costante (1,66/micron pari a 42 kbit/pollice), in questo modo la superficie è sfruttata al massimo. La distanza tra 2 giri successivi della spirale(track pitch) e’ di 1,6 micron.Il disco ruota a velocita’ lineare costante (CLV). A seconda della posizione dei dati da leggere la velocita’ di rotazione varia da 200 a 500 giri al minuto (1x velocita’ di base 1,2 m/s).Tale velocita’ e’ determinata dal bit ratenecessario per la riproduzione dei brani musicali (~150KB/sec). Ma per applicazioni digitali tale velocita’ risulta troppo bassa. Sono presenti ormai da molti anni dispositivi con velocita’ multipla indicati con 2X, 4X,.. 30X..40X..

MQ 70

I dischi ottici CAV (…continua)

Il disco ruota a velocita’ angolare costanteCAV(Constant Angular Velocity )

La superficie del disco e’ suddivisa in settori , separati tra loro da gap

Il numero di bit per settore è costante, quindi la densita’ di scrittura e’ maggiore in corrispondenza del centro del disco.Naturalmente la superficie esterna risulta sotto utilizzata.

MQ 71

I CD-RecordableSono CD registrabili solo una volta. Due stratidi policarbonato racchiudono un sottilissimofoglio dorato ricoperto di pittura traslucida chesi comporta come la parte LAND dei CD. La registrazione consiste nel bruciare punti nellostrato di pittura. E’ possibile effettuareregistrazioni in piu’ sessioni, anche se le sessioni sono separate da spazi detti GAP, che sprecano tuttavia una grande quantita’ dispazio.

MQ 72

I CD-RW (rewritable)Sono CD cancellabili e riscrivibili. Usano la tecnologia del phase change( con potenzelaser differenti 8 o 18 milliwatt si trasformauna zona da cristallina ad amorfa e viceversa). La lettura avviene proiettando un raggio laser di bassa potenza che vieneriflesso in modo diverso a seconda che ilpunto si trovi in uno stato cristallino o amorfo.

MQ 73

DVD• DVD (Digital Versatile Disk) o (Digital

Video Disk)– Capacità attuale di ~5GB – I PIT sono piu’ piccoli ( 0.4µ)– Possono essere a due strati e a due facce.

• DVD-R scrivibili solo una volta• DVD-RAM leggibili e scrivibili ( hanno

bisogno di un supporto in cui sono inseriti)• Possono impiegare dispositivi sia CAV che

CLV

MQ 74

IL DISPOSITIVO DVD

MQ 75

confronto DVD E CD-ROM

DVD CDDiametro del disco 120 mm 120 mm

Spessore del disco 1.2 mm (0.6 mm x 2) 1.2 mm

Numero di superfici 1 or 2 1

Numero di strati 1 or 2 1

Dimensione min.piazzole 0.4 micron 0.834 micron

Larghezza traccia 0.74 micron 3.058 micron

Vel. media di trasf. 4.7 Mbyte/sec 0.15 Mbyte/sec

Capacità (1 strato,1 sup.) 5 Gbyte 0.682 Gbyte

Capacità (2 strati, 2 sup.) 17 Gbyte

Laser wavelength 640 nanometri 780 nanometri

MQ 76

Prestazioni memoriaTipo Dimensioni Tempo MB/sec

Registro < 1KB < 0,5ns 20 000 ~ 100 000

Cache < 2MB < 10ns 5000 ~ 10 000

RAM < 4GB < 100ns 1000 ~ 5000

Dischi > 50GB < 10ms 20 ~ 80

Nastri >10GB ~ 100ms ~ 1

MQ 77

DISPOSITIVI DI I/O

MQ 78

I dispositivi di I/OI dispositivi di I/O rappresentano l’interfaccia del calcolatore verso l’ambiente esterno

Possiamo classificare i dispositivi esterni in tre grandi categorie:1) DISPOSIT. DECIFRABILI DALL’UOMO:

adatti alla comunicazione con l’utente del calcolatore(es: terminali e stampanti)

2) DISPOSIT. DECIFRABILI DALLA MACCHINA: : adatti alla comunicazione con le apparecchiature

(es: dischi, nastri, sensori, attuatori etc..)3) DISPOSITIVI DI COMUNICAZIONE:

adatti alla comunicazione con i dispositivi remoti.(es. schede di rete, disp wireless, infrarossi etc..)

Anche la memoria secondaria viene considerata come un dispositivo di I/O. Da un punto di vista funzionale i dischi fanno parte della gerarchia di memoria, ma da un punto di vista strutturale sono controllati da moduli di Input/Output.

Ogni periferica è costituita da 3 componenti:1 - Una componente visibile, il dispositivo in senso lato detto device2 - Una componente elettronica di controllo chiamato device controller3 - Una componente software device driver

MQ 79

Funzioni del modulo I/O

• Controllo & Temporizzazione• Comunicazione con CPU• Comunicazione con i dispositivi• Buffering dei dati• Rilevazione degli errori

MQ 80

Passi di I/O (versione semplificata)

• CPU interroga il modulo I/O sullo stato deldispositivo connesso

• Il modulo I/O restituisce lo stato del dispositivo• Se dispositivo pronto a trasmettere, CPU richiede

il trasferimento dei dati, tramite comando amodulo I/O

• Il modulo I/O ottiene una unità di dati daldispositivo esterno

• Il modulo I/O trasferisce i dati alla CPU

MQ 81

MODULO DI I/O

MQ 82

Il CONTROLLERRiceve gli ordini dal microprocessore e li impartisce al dispositivo fisico;Risiede su un circuito stampato ed è solitamente esterno all’unità periferica ed all’interno dello chassis;Il collegamento tra il controller e la periferica avviene attraverso opportuni connettori.

MQ 83

Il device driver

• Componente sw necessaria per la gestionedella periferica

• Ogni periferica ha un proprio driver che viene consegnato su un disco all’atto dell’acquisto della periferica

• Prima di utilizzare la periferica è necessarioinstallare il driver corrispondente

MQ 84

PorteLe periferiche sono collegate fisicamente al computer attraverso opportune prese (porte).La modalità di collegamento può essere seriale (trasferito un bit alla volta) oppure parallela (trasferito più di un bit alla volta).

MQ 85

Porte tipi

• Seriale: serve per il modem o alcuni tipidi stampante che non richiedono unaelevata velocità di trasmissione. I cavipossono avere lunghezza anche di 300 m.• Parallela: per stampanti e alcunidispositivi di memoria di massa. Lalunghezza massima consentita ai cavi è di

30 m

MQ 86

Porte tipi

• SCSI (Small Computer Standard Interface)• Permettono di collegare più componenti alla stessa porta• Garantiscono una elevata velocità di trasmissione• Utilizzate per disco fisso, lettore CD-ROM, scanner.

• USB (Universal Serial Bus, a modalità di trasmissione seriale)1. Trasmissione molto più veloce rispetto alla seriale (RS232)2. Utilizzano cavi sottili facilitando così i collegamenti.3. Permettono il collegamento in serie di dispositivi diversi (fino a 127

dispositivi)4. Distribuiscono la corrente (per dispositivi a basso consumo ) 5. Permettono di aggiungere e rimuovere dispositivi a computer acceso (hot

plugging)

MQ 87

Porte tipi

Firewire• Hanno le stesse caratteristiche di base delle USB• Sono però più veloci delle USB, ma anche

più costose

Collegamento a raggi infrarossi.1. Lo scambio di dati avviene in assenza di fili (wireless)

attraverso un raggio infrarosso emesso dall’unità2. La traiettoria del raggio è una retta e quindi le porte

dei dispositivi devono essere perfettamente allineate.3. Il raggio infrarosso non può essere interrotto, quindi

non ci devono essere ostacoli tra le due porte.

MQ 88

PORTE

Collegamento radio (wireless)• Lo scambio di dati avviene in assenza di

fili (wireless) attraverso onde radio emesse dall’unità

• La traiettoria delle onde è a 360°, quindi le porte wireless dei dispositivi non devono necessariamente essere allineate.

I dispositivi di input/output

• Una caratteristica comune a tutti i dispositivi di I/O è quella di operare in modo asincronorispetto al processore– Consideriamo una tastiera che produce dei dati di

input. Il processore non è in grado di prevedere e di controllare il momento in cui un dato di input sarà a disposizione

– Allo stesso modo, il processore non può prevedere il momento in cui un dispositivo in output avrà terminato di produrre i dati in uscita

• Sono pertanto necessarie delle forme di sincronizzazione tra i dispositivi e il processore

I dispositivi di input/output• Un dispositivo di input deve avvertire il

processore quando un dato di input è disponibile• Un dispositivo di output deve avvertire il

processore quando ha terminato di produrre dati in uscita

• Le operazioni di sincronizzazione delle attivitàsono fondamentali nell'interazione tra il processore e i dispositivi

• I dispositivi che hanno terminato un'operazione inviano al processore un segnale, detto interrupt, per richiedere l'attenzione delprocessore stesso

I dispositivi di input/output• L'unità di controllo, prima di iniziare l'esecuzione

della prossima istruzione del programma in corso, verifica se è arrivato un segnale di interrupt da parte di qualche dispositivo

• Se non c'è nessun segnale di interrupt il processore prosegue normalmente, altrimenti puo’ decidere di sospendere l'esecuzione del programma attivo ed eseguire le operazioni richieste dal dispositivo ( interrupt routine)

I dispositivi di input/output: il terminale

• Il terminale è il più comune strumento di interazione tra l'uomo e la macchina

• È costituito da due dispositivi indipendenti: uno di input, la tastiera, e uno di output, il video

• La tastiera è il principale dispositivo di input nei moderni sistemi di elaborazione

• I tasti possono essere così raggruppati :– tasti alfanumerici;– tasti speciali (il tasto ENTER, il tasto BACK SPACE, il

tasto LINE FEED ecc.);– frecce direzionali;– tasti funzione

I dispositivi di input/output: tastiera

• La tastiera non ha capacità di elaborazione, l'unica cosa che è in grado di fare è di avvertire il processore ogni volta che un carattere èdisponibile in ingresso

• Si tratta quindi di un dispositivo di ingresso a carattere

• È compito del sistema quello di prelevare il carattere, depositarlo in una memoria temporanea ed infine, al termine dell'immissione, passare i dati di input raccolti nella memoria temporanea al programma cui erano destinati

MQ 94

LA TASTIERA

I dispositivi di input/output: tastiera

• La tastiera è un dispositivo di input cieco, nel senso che l'utente non può vedere i dati immessi nel calcolatore

• Per questa ragione la tastiera è utilizzata insieme ad un dispositivo di output su cui vengono visualizzate le informazioni fornite tramite tastiera

• La tastieratastiera e il video non sono direttamente collegati tra loro: è compito del processore riprodurre sul video tutte le informazioni fornite in input tramite la tastiera

I dispositivi di input/output: il terminale

• Dal punto di vista fisico, un video può essere visto come una matrice di punti illuminati con diversa intensità

• Ogni punto sullo schermo prende il nome di pixel e un'immagine viene quindi composta accendendo o spegnendo i pixel sullo schermo

• Ci sono video in bianco e nero o a colori e inoltre si deve distinguere tra video a carattere, e video grafici

I dispositivi di input/output: il terminale

• Oggi sono comuni video con un numero di colori che vanno da 256 (8 bit) fino a 16 milioni(24 bit).

• Esistono video a diversi livelli di risoluzione, cioè con diverse densità di pixel; nei personal sono oggi comuni video con risoluzioni che vanno da 640X480 fino a 4096X3300 pixel (altissima risoluzione)

• La dimensione di un video viene misurata in pollici e fa riferimento alla lunghezza della diagonale

• Ad esempio, quando si parla di un video a 14 pollici, indicati come 14", si intende un video con una diagonale lunga 14 pollici (1 pollice vale circa 2,54 cm )

I dispositivi di input/output: il mouse• Oggi quasi tutti i computer hanno un dispositivo di

puntamento detto mouse .• Benche’ i mouse si possano organizzare in vari modi, quello

più diffuso è un dispositivo che invia 3 byte ( a volte 6) al calcolatore ogni volta che si sposta di una distanza minima ( per esempio 0,01 pollici detta michey) .Il primo byte consiste in un numero che definisce di quante unita’ il mouse si e’ spostato nella direzione dell’asse x negli ultimi 100 millisecondi; il secondo byte e’ la stessa informazione per lo spostamento y; il terzo byte contiene informazioni sullo stato dei pulsanti del mouse. Il software di controllo (device driver) sovrintende alla comunicazione con l’unita’ centrale.

Mouse Ottico

In questo tipo di Mouse non c'è praticamente nessuno dei componenti del mouse elettromeccanico, e tutto il lavoro viene svolto da una luce a infrarossi che viene emessa e che rimbalzando sulla superficie di appoggio del mouse viene catturata da un sensore. Il sensore invia i dati ad un DSP ( Digital Signal Processor )che costruisce l'immagine della superficie sottostante. Compiendo questa operazione migliaia di volte al secondo (più di 1500!), il DPS riesce a capire mediante il confronto delle immagine inviate dal sensore i movimenti fatti e ad inviare le relative coordinate al PC.

La microcamera in un mouse ottico che ha il compito di"fotografare" la superficie sottostantepiu’ di 1500 volte al secondo.

I dispositivi di input/output: le stampanti

• La stampante è un dispositivo di output che consente la stampa su carta delle informazioni

• La velocità di stampa, che viene solitamente misurata in linee al minuto o in caratteri al secondo, e la risoluzione (qualità) di stampa, che indica quanto precisa è la riproduzione dei simboli, sono parametri in base ai quali si valutano le prestazioni di una stampante

I dispositivi di input/output: le stampanti

• Esistono diversi tipi di stampanti; i piùcomuni sono:– Stampanti a margherita o a testina rotante– Stampanti a catena ( in disuso)– Stampanti ad aghi– Stampanti a getto di inchiostro. – Stampanti laser

MQ 102

FUNZIONAMENTO DI UNA STAMPANTE LASER

Il tamburo viene caricato elettricamente (circa 1000V) Una luce laser riflessa su uno specchietto rotante viene fatta scorrere su tutta la lunghezza del tamburo. Il raggio di luce viene modulato per produrre una configurazione di punti chiari e scuri. I punti colpiti dal raggio perdono la loro carica elettrica. Dopo aver eseguito la scansione su una riga il tamburo ruota di una frazione di grado per poter esporre la linea seguente . Infine la prima riga di punti raggiunge il toner. Il toner viene attirato dai puntini che sono ancora carichi e così si forma un’immagine della riga. Un po’ più avanti nel percorso, il tamburo ricoperto di toner viene premuto contro il foglio di carta e ne trasferisce il toner. La carta viene poi fatta passare attraverso dei rulli riscaldati che fissano permanentemente il toner sulla carta. Più avanti nella rotazione, il rullo viene scaricato e ripulito di eventuali residui.

MQ 103

BUS

• UN BUS E’ UN CANALE DI COMUNICAZIONE CONDIVISO FRA PIU’ PERIFERICHE

• I COMPONENTI DI UN COMPUTER(CPU, memorie, dispositivi di I/O) COMUNICANO TRA LORO MEDIANTE UNO O PIU’ BUS.

• LE PRESTAZIONI DEI BUS INFLUENZANO IN MANIERA DETERMINANTE LE PRESTAZIONI DEL SISTEMA.

Protocolli, interfaccia( in nota)

MQ 104

GRANDEZZE caratteristiche di un BUS• LARGHEZZA:

Numero di bit del bus dati ( ex: ISA 16 bit ; PCI 32/64 bit)

• VELOCITA’:Frequenza di lavoro del busNumero di byte per ciclo di clock

• TRANSFER RATE:Numero di byte trasmessi sul bus in MB/sec(esempio Bus PCI a 32 bit a 66MHz e’ in grado di reggere trasferimenti pari a 264 MB/sec.

MQ 105

BUS VANTAGGI• VERSATILITA’:

Nuovi dispositivi possono essere aggiunti facilmenteLe periferiche possono essere spostate facilmente da un computer a un altro se utilizzano lo stesso tipo di BUS

• COSTI CONTENUTI:Un singolo insieme di “fili” viene usato per collegare piu’ perifericheNumero di byte per ciclo di clock

• Possibilita’ di realizzare dispositivi compattiSi riduce drasticamente la complessita’ della rete di interconnessione tra periferiche.

MQ 106

BUS SVANTAGGI

• Possono diventare il collo di bottiglia delle comunicazioni ( La banda di un bus limita i trasferimenti di INPUT/OUTPUT)

• La velocita’ massima e’ limitata da:– La lunghezza del Bus– Il numero di dispositivi sul Bus– La necessita’ di poter gestire dispositivi con

prestazioni e velocita’ di trasferimento fra loro diverse( ex: dischi veloci, lettori CD, scheda video etc.)

MQ 107

GERARCHIA DEI BUS

• I Bus di un computer sono organizzati gerarchicamente come la memoria

• In un Personal computer troviamo:– Processor Bus– Cache Bus– Memory Bus– Local I/O Bus– Bus di espansione

MQ 108

MQ 109

I BUS PIU’ DIFFUSI

ISA = Industry Standard Architecture | USB = Universal Serial Bus | IDE= Integrated Device Electronics

EISA = Extended ISA | VESA = Video Electronics Standards Association

PCI = Peripheral component interconnect | SCSI= Small Computer Standard Interface

AGP= Accelerated Graphics Port | PCMCIA = Personal Computer Memory Card International Association

MQ 110

ARCHITETTURA DI UN PC MODERNO

MQ 111

BUS SINCRONI E ASINCRONI (NOTA

I Bus sincroni prevedono una linea che trasporta il segnale di sincronismo (clock). Il segnale e’ costituito da un’onda quadra con frequenza che va da pochi MHz ad alcune decine .Tutte le attivita’ del bus avvengono in un numero intero di cicli e tutti i dispositivi connessi al bus operano in un numero intero di cicli, anche se certe attivita’ possono richiedere solo frazioni di ciclo.

Questi tipi di bus sono tecnologicamente piu’ semplici, dal punto di vista costruttivo, rispetto a quelli asincroni, ma hanno la limitazione legata al fatto che tutti i dispositivi sono legati al rispetto della durata prevista per i cicli. Cio’ nonostante, i bus piu’ diffusi tra i PC ed i Macintosh sono di questo tipo

TRASMISSIONE SINCRONA: Se l’unita’ A1 stabilisce in un certo istante la fine dell’operazione richiesta all’unita’ A2, l’operazione si dice SINCRONA

MQ 112

BUS SINCRONI e ASINCRONI(NOTA)

I Bus asincroni non prevedono un clock e i cicli possono essere di lunghezza arbitraria e diversa tra dispositivi diversi. Questi tipi di bus, a costo di una maggiore complessita’progettuale, ovviano al problema del vincolo della velocita’ di ciascun dispositivo alla frequenza di temporarizzazione del bus. Tutte le attivita’ del bus asincrono si svolgono tramite segnali tra la parte richiedente (MASTER) e la parte servente (SLAVE), senza dipendere dal ritmo imposto da qualche dispositivo di riferimento.

Se l’unita’ A1 deve fornire informazioni all’unita’ A2, nel caso in cui quest’ultima(A2) segnala alla precedente (A1) la fine della operazione, allora si dira’ che l’operazione si e’ svolta in maniera ASINCRONA

MQ 113

MQ 114

GERARCHIA DELLE MEMORIE

MQ 115

MQ 116

Sommario memorieTipo Dimensioni T. accesso Volatile?Registri < 1KB < .5 ns si

Cache < 1MB < 10ns siRAM < 1GB < 100ns siDischi > 50 GB 10 ms ca.Nastri > 10 GB 100 ms ca.

No

No

CD-ROM 650 MB 10 ms ca NoCD-RW DVD 17 GB 10 ms ca No(Digital Versatile Disc)

MQ 117

MQ 118

MQ 119

ESERCIZIO

MQ 120

PRESTAZIONIIl processore• Dati 2 processori con lo stesso linguaggio macchina, risulterà più veloce quello con frequenza di clock maggiore• Non è possibile dire nulla su processori con linguaggi macchina diversi (Es. Pentium Vs. PowerPC

MQ 121

PRESTAZIONIEsempio

• 2 calcolatori A e B, il clock di A è 500MHz, quello di B 400MHz. Il linguaggio macchina di A richiede che A esegua 10 operazioni elementari per ogni istruzione, quello di B, 6 operazioni elementari per ogni istruzione. Supponiamo che entrambi debbano eseguire un programma di 100M istruzioni di linguaggio macchina.

A impiegherà 2sB impiegherà 1,5s

Caso A(500Mhz) 108 istruzioni corrispondono a 108*10 = 109 op.elem = 2secCaso B(400Mhz) 108 istruzioni corrispondono a 108*6 op.elem = 6/4 sec = 1,5sec

La frequenza di clock non è quindi un indice assoluto per quanto riguarda la bontà di un microprocessore.