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 IL processore Il 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 2 IL DATAPATH Esempio di datapath MQ 3 Componenti principali di un computer Unità centrale Processore Memoria principale (centrale) Bus Controller Stampante Terminale Periferiche di input/output Memorie di massa (secondarie) 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 5 Vista interna di un PC MQ 6 Dentro al PC • SLOT: e’ un connettore dove vengono inserite delle schede che contengono particolari dispositivi I piu' importanti tipi di slot sono: o PCI Peripheral Component Interface o 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!). 7 MQ IL BIOS Il 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 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 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 consumo dove vengono messi i dati di configurazione dei dispositivi presenti e cheMQ possono essere alterati dall'utente. Il chip CMOS e' alimentato da una 8 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. batteria tampone per cui anche spegnendo il PC i dati non si perdono. Memoria ROM, caratteristiche: La ROM e’ un memoria atta a contenere informazioni memorizzate dal costruttore del dispositivo, ma nella quale non e’ possibile scrivere nulla. Nella ROM troviamo un tipo di software che difficilmente 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 apparecchiature programmabili). 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 bisognasse aggiornare I dati o il software. Tempo di accesso dell’ordine dei nanosecondi ( 1ns=10 –9 sec) NON VOLATILE MQ 9 Dalla ROM alla PROM La PROM (Programmable ROM) e’ stata inventata per sopperire alle forti restrizioni che le ROM imponeva. Qualora fosse stato necessario aggiornare I programmi o I dati contenuti nella ROM, bisognava sostituirla (doveva essere fornita dal costruttore). La PROM ha il vantaggio di poter essere programmata una sola volta dall’utente tramite dispositivi particolari chiamati programmatori di PROM. NON VOLATILE MQ 10 Dalla PROM alla EPROM Un ulteriore miglioramento in questo settore delle memorie fu l’EPROM ( Erasable PROM) che puo’ essere non solo programmata dall’utente ma anche cancellata. Queste EPROM hanno una finestra di quarzo a contatto con il chip; se la finestra viene esposta ad una forte luce ultravioletta per 15 minuti tutti I bit sono messi a 1 . Questi tipi di memorie si possono riutilizzare . NON VOLATILE MQ 11 Dalla EPROM alla EEPROM Ancora meglio delle EPROM è l’EEPROM (Elettrically Erasable PROM). Si puo’ cancellare ( un byte alla volta) tramite impulsi elettrici e si puo’ riprogrammare sul posto senza estrarla. Svantaggi: Più costose delle RAM e meno veloci delle RAM. 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 MQ 12 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 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; sono oramai scomparsi dal mercato. moduli DIMM (Double sided Inline Memory Module) a 168 contatti; sono attualmente i più diffusi e sono disponibili a differenti velocità (da 15 nanosecondi ad accesso fino ai 7.5 nanosecondi). Recentemente sono apparse sul mercato nuove DIMM basate su chip SDRAM DDR (Double Data Rate) a 184 contatti con le quali è stata raddoppiata, a parità di frequenza, la quantità di dati trasferita. moduli RIMM (Rambus Inline Memory Module) fanno riferimento a nuovi moduli che hanno velocità e frequenze maggiori di 800MHz, ma canale più stretto (16 bit di larghezza contro i 32/64 delle DIMM). MQ 18 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 Bus Interno REGISTRI Program Counter (PC) Registro di Stato (PSW) Unità di Controllo Registro Istruzioni (IR) Registri Generali (8 o 16) Unità AritmeticoLogica Registro Indirizzi Memoria (MAR) Registro Dati Memoria (MD ) Registro di Controllo (RC) Schema elementare di processore ( con registri generali) IL PROCESSORE A B T MX IR PC MD Alla memoria CONTR. UNIT MAR clock ALU F EAR ED Alle unita’ esterne Schema elementare di processore ( senza registri generali) con 2 accumulatori ( A e B) MQ 21 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 22 CPU con registri generali MQ 23 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 MQ 24 ,lettura, attesa, pronto etc.. ARCHITETTTURA (semplificazione.) MQ 25 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 26 TIPI DI UNITA’ di CONTROLLO DUE TIPI DI U.C. • CABLATE Dotate di circuiti specializzati che realizzano le funzioni desiderate • MICROPROGRAMMATE Ogni operazione che la U.C. deve eseguire viene dettagliatada una serie di microistruioni che sono immagazinate in particolari memorie ( Control Store) MQ 27 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 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 29 FASE DI FETCH Il termine FETCH indica la copia di un’informazione dalla memoria all’interno della CPU Il contenuto del Program counter Il contenuto del Program counter viene vienespostato spostatonel nelregistro registroindirizzi indirizzi 1. 2. 3. 4. (PC) Æ MAR MEM(MAR) Æ MD (MD) Æ IR (PC) +1 Æ PC Viene prelevato dalla memoria il Viene prelevato dalla memoria il contenuto contenutodell’indirizzo dell’indirizzopuntato puntatoda da MAR e viene posto nel registro MD MAR e viene posto nel registro MD Il contenuto di MD viene posto nel Il contenuto di MD viene posto nel registro registroistruzione istruzionecorrente corrente(IR) (IR) Il contenuto del program counter PC Il contenuto del program counter PC viene vieneincrementato incrementato. . MQ 30 FASE DI PRELIEVO (FETCH) MQ 31 FASE DI DECODIFICA Estrazione 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 32 FASE DI ESECUZIONE Estrazione degli operandi: INDIRIZZO/I DATI IMMEDIATI REGISTRI In base al microprogramma o al circuito specializzato verra’ eseguita l’istruzione presente nell’IR MQ 33 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 ) 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 MQ 35 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 e logico • 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 RISC Codice assembler per l'operazione di moltiplicazione fra due valori immagazzianti in memoria centrale: Filosofia RISC MOV A, %100; muovi (move) nel registro A il contenuto della cella 100 MOV B,%230; salva in un altro registro, detto B, il contenuto della cella 230 MUL C,A,B; moltiplica A per B e scrivi il risultato nel registro C STR 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,%100 per 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 RISC VS CISC La 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 40 STRUTTURA DI UNA MEMORIA CENTRALE MQ 41 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 42 Memoria cache I 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 MQ numero di locazioni contigue 43 ACCESSO IN MEMORIA Ta : Tempo medio di accesso ad un dato in memoria Ta = Th*Ph + Tm*(1-Ph) Th = tempo di accesso ad un dato presente in cache Tm = 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) MQ 44 Memoria cache II 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 40GB La 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 MQ 45 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 Struttura di un settore preambolo dati dati ECC Codici correttori di errore : dati in più per accorgersi se la lettura è andata bene Permette alla testina di capire che sta iniziando un nuovo settore, fornisce il numero del cilindro, traccia,settore ,etc MQ 55 I dischi magnetici Per 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 traccia interessata (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 rpm seek time minimo seek time medio = 0,3 ms = 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 = 60 2 * n o rotazioni per min uto 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: Ttrasmissione di un blocco (byte per blocco) = * (Trotazione completa ) (byte per traccia) Esiste anche un tempo di overhead del controller, ovvero il tempo che intercorre tra la richiesta al controller e l’inizio della esecuzione del comando da parte del controller. Questo tempo è di circa 0,2 millisecondi I dischi magnetici (cont.) Esempio Conoscendo la velocita’ di rotazione di un disco VRPM 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 ( giri al minuto ) Possiamo calcolare il tempo necessario per la lettura di X byte nell’ ipotesi che si trovino tutti su settori consecutivi e su tracce adiacenti. Conviene trasformare VRPM ( giri al minuto) in giri al secondo VRPs = (VRPM /60) Nel caso di Bps = 512 VRPM = 10000 VRPs =10000/60 ≈ 166 giri/sec NSpt = 300 T(trasmissione di X byte ) = NBpt 153600 X = 300K = 307200 byte (X ) (VRPs ) * ( N Bpt ) otteniamo il valore di 12 ms (millisecondi) per leggere 300K byte 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 dei millisecondi (10-3sec). 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 61 DIFFERENZA TRA MEMORIA SECONDARIE E (2) MEMORIE CENTRALI Altre caratteristiche delle memorie secondarie rispetto alle memorie centrali. Minore velocita’ di accesso. I tempi di accesso a una memoria secondaria sono maggiori (millisecondi ) rispetto alla memoria principale (nanosecondi). I dati di una memoria secondaria per essere acceduti dal processore 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. MQ 62 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 DISCO OTTICO MQ 65 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. 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 67 MQ 68 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 rate necessario 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 69 I dischi ottici CAV (…continua) ¾ Il disco ruota a velocita’ angolare costante CAV(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 70 I CD-Recordable Sono CD registrabili solo una volta. Due strati di policarbonato racchiudono un sottilissimo foglio dorato ricoperto di pittura traslucida che si comporta come la parte LAND dei CD. La registrazione consiste nel bruciare punti nello strato di pittura. E’ possibile effettuare registrazioni in piu’ sessioni, anche se le sessioni sono separate da spazi detti GAP, che sprecano tuttavia una grande quantita’ di spazio. MQ 71 I CD-RW (rewritable) Sono CD cancellabili e riscrivibili. Usano la tecnologia del phase change( con potenze laser differenti 8 o 18 milliwatt si trasforma una zona da cristallina ad amorfa e viceversa). La lettura avviene proiettando un raggio laser di bassa potenza che viene riflesso in modo diverso a seconda che il punto si trovi in uno stato cristallino o amorfo. MQ 72 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 73 IL DISPOSITIVO DVD MQ 74 confronto DVD E CD-ROM DVD CD Diametro 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 75 Prestazioni memoria Tipo 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 76 DISPOSITIVI DI I/O MQ 77 I dispositivi di I/O I 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 device 2 - Una componente elettronica di controllo chiamato device controller 3 - Una componente software device driver MQ 78 Funzioni del modulo I/O • • • • • Controllo & Temporizzazione Comunicazione con CPU Comunicazione con i dispositivi Buffering dei dati Rilevazione degli errori MQ 79 Passi di I/O (versione semplificata) • CPU interroga il modulo I/O sullo stato del dispositivo connesso • Il modulo I/O restituisce lo stato del dispositivo • Se dispositivo pronto a trasmettere, CPU richiede il trasferimento dei dati, tramite comando a modulo I/O • Il modulo I/O ottiene una unità di dati dal dispositivo esterno • Il modulo I/O trasferisce i dati alla CPU MQ 80 MODULO DI I/O MQ 81 Il CONTROLLER Riceve 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 82 Il device driver • Componente sw necessaria per la gestione della periferica • Ogni periferica ha un proprio driver che viene consegnato su un disco all’atto dell’acquisto della periferica • Prima di utilizzare la periferica è necessario installare il driver corrispondente MQ 83 Porte Le 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 84 Porte tipi • Seriale: serve per il modem o alcuni tipi di stampante che non richiedono una elevata velocità di trasmissione. I cavi possono avere lunghezza anche di 300 m. • Parallela: per stampanti e alcuni dispositivi di memoria di massa. La lunghezza massima consentita ai cavi è di MQ 30 m 85 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 86 Porte tipi • • 1. 2. 3. Firewire Hanno le stesse caratteristiche di base delle USB Sono però più veloci delle USB, ma anche più costose Collegamento a raggi infrarossi. Lo scambio di dati avviene in assenza di fili (wireless) attraverso un raggio infrarosso emesso dall’unità La traiettoria del raggio è una retta e quindi le porte dei dispositivi devono essere perfettamente allineate. Il raggio infrarosso non può essere interrotto, quindi non ci devono essere ostacoli tra le due porte. MQ 87 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. MQ 88 I dispositivi di input/output • Una caratteristica comune a tutti i dispositivi di I/O è quella di operare in modo asincrono rispetto 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 del processore 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 LA TASTIERA MQ 94 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 tastiera 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 La microcamera in un mouse ottico che ha il compito di "fotografare" la superficie sottostante piu’ di 1500 volte al secondo. 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. 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 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 102 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. MQ Protocolli, interfaccia( in nota) 103 GRANDEZZE caratteristiche di un BUS • LARGHEZZA: 9 Numero di bit del bus dati ( ex: ISA 16 bit ; PCI 32/64 bit) • VELOCITA’: 9 Frequenza di lavoro del bus 9 Numero di byte per ciclo di clock • TRANSFER RATE: 9 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 104 BUS • VANTAGGI VERSATILITA’: 9 Nuovi dispositivi possono essere aggiunti facilmente 9 Le periferiche possono essere spostate facilmente da un computer a un altro se utilizzano lo stesso tipo di BUS • COSTI CONTENUTI: 9 Un singolo insieme di “fili” viene usato per collegare piu’ periferiche 9 Numero di byte per ciclo di clock • Possibilita’ di realizzare dispositivi compatti 9 Si riduce drasticamente la complessita’ della rete di interconnessione tra periferiche. MQ 105 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 106 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 107 MQ 108 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 109 ARCHITETTURA DI UN PC MODERNO MQ 110 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 111 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 112 MQ 113 GERARCHIA DELLE MEMORIE MQ 114 MQ 115 Sommario memorie Tipo Dimensioni T. accesso Volatile? Registri < 1KB < .5 ns si Cache < 1MB < 10ns si RAM < 1GB < 100ns si Dischi > 50 GB 10 ms ca. No 100 ms ca. No 10 ms ca No 10 ms ca No Nastri > 10 GB CD-ROM 650 MB CD-RW DVD 17 GB (Digital Versatile Disc) MQ 116 MQ 117 MQ 118 ESERCIZIO MQ 119 PRESTAZIONI Il 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 120 PRESTAZIONI Esempio • 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à 2s B impiegherà 1,5s Caso A(500Mhz) 108 istruzioni corrispondono a 108*10 = 109 op.elem = 2sec Caso 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. MQ 121