Architettura dei Calcolatori 10 Input Ouput

  • 1,133 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,133
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
34
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Dispense del corso di Architettura dei Calcolatori Sottosistema di Input/Output
  • 2. a.a. 2007/2008 Architettura dei calcolatori Moduli di I/O CPU 2
  • 3. a.a. 2007/2008 Architettura dei calcolatori Semplice unità di I/O Che operazione viene eseguita? •Esempio: senza registro di stato. Sel è il segnale di decodifica che assieme IOADR equ F000h ai segnali di lettura e scrittura (nell’es. (nell es. IN IOADR IORC e IOWC sono attivi alti) viene NEG OUT IOADR usato per creare i segnali di chip select 8 FF di tipo D (Sel decodifica IOADR) Periferica esterna Porta unidirezionale In out se segnali di OE# sono abilitati 3
  • 4. a.a. 2007/2008 Architettura dei calcolatori Interfaccia tra CPU e I/O 4
  • 5. a.a. 2007/2008 Architettura dei calcolatori Interfaccia tra CPU e I/O • Dal punto di vista hardware la CPU e’ collegata all’I/O attraverso il bus di sistema • ( o attraverso bridge che t f tt b id h trasformano i segnali d l b di sistema i li del bus it in segnali del bus di I/O) • Dal punto di vista del protocollo di comunicazione • Tre meccanismi: • Polling ( a controllo di programma) • Interrupt driven ( gestita dalle interruzioni) • DMA direct memory access 5
  • 6. a.a. 2007/2008 Architettura dei calcolatori Interfaccia della CPU con I/O polling • Il metodo piu’ semplice e’ a controllo di programma con interrogazione periodica (polling). • Transazione in polling • La CPU verifica lo stato della periferica (leggendo in locazioni di I/O corrispondenti a registri di stato) • Continua la richiesta fino a che non verifica che e’ pronta per ricevere dati in uscita ( o fornire dati in ingresso) • Inizia il trasferimento dati (in scrittura verso la periferica o in lettura) • Ricomincia se necessario 6
  • 7. a.a. 2007/2008 Architettura dei calcolatori Gestione degli eventi Gestione degli eventi e comunicazione con I/O ( segnali esterni, trasferimenti di dato verso l’I/O, controllo delle p periferiche…) ) a controllo di programma t ll ad interruzioni di t ii POLLING gestione di eventi asincroni Gestito dal master (la CPU) disaccoppiamento delle funzioni INTERRUZIONE sospensione forzata del processo di esecuzione e trasferimento di controllo ad una quot; routine di servizio“ che soddisfa le richieste dell'evento che ha provocato l'interruzione, al termine della quale il controllo viene restituito al processo l'i t i lt i d ll l t ll i tit it l sospeso Routine di servizio si chiama RRI Routine di Risposta all’Interrupt all Interrupt (o ISR Interrupt service routine) 7
  • 8. a.a. 2007/2008 Architettura dei calcolatori Polling vs interrupt • Polling: la CPU interroga a controllo di programma esplicito. E’ asserita alla velocita’ dell’I/O. • Interrupt: l I/O in modo asincrono richiede il servizio l’I/O Polling Interrupt add Tempo sub Is the user di and (1) I/O data program or interrupt ready? attesa no nop yes (2) save PC read data (3) interrupt service addr read store t interrupt store data service ... routine (4) rti done? no memory yes 8
  • 9. a.a. 2007/2008 Architettura dei calcolatori Interruzioni hardware e software • Software – software nel programma • Tramite opportune istruzioni si simula la presenza di una interruzione • Nell’Intel Int n viene usata dal sistema operativo – software indirette (stato della cpu) • Vengono chiamate trap o eccezioni g • Interruzioni non mascherabili dovute allo stato interno della cpu (es. divisione per zero) – Le interruzioni software sono sincrone con l’esecuzione delle istruzioni. Anche le trap hanno un identificatore esplicito n • Hardware, interruzioni asincrone. – hardware mascherabili • Le periferiche segnalano l’interruzione con uno o più segnali di ingresso alla CPU; la CPU può mascherarli tramite opportune istruzioni dell’ISA • sti, cli – hardware non mascherabili • Le periferiche segnalano l’interruzione con uno o piu’ segnali di ingresso alla CPU non mascherabili (NMI nelle macchine Intel) • Viene eseguita una routine RRI di default ( n.2 ) 9
  • 10. a.a. 2007/2008 Architettura dei calcolatori Interruzioni • Tutti i calcolatori impiegano il meccanismo delle interruzioni • Processo di interruzione avviene in diverse fasi 1) notifica alla CPU delle interruzioni 2) accettazione della interruzione ) 3) identificazione della sorgente e reperimento dell’indirizzo della RRI 4) salvataggio dello stato della CPU e modifica del PC 5) esecuzione delle RRI 6) ritorno al programma chiamante e ripristino dello stato Come si gestiscono interruzioni multiple? 10
  • 11. a.a. 2007/2008 Architettura dei calcolatori Notifica 1) notifica dell’interruzione • in software; – le eccezioni si verificano al termine della fase di execute. – Ogni eccezione ha il suo identificatore n • a controllo di programma – nelle macchine Intel istruzione INT n • in hardware – viene notificato in modo asincrono con un segnale esterno che g viene sentito al termine dell’istruzione corrente (o al primo clock nello stadio di esecuzione delle pipeline) 11
  • 12. a.a. 2007/2008 Architettura dei calcolatori Interruzioni nell’8086 2) Accettazione dell’interruzione • interruzioni software sono sempre accettate; • le hardware dipende: due segnali che arrivano alla CPU nelle macchine Intel – NMI non mascherabile – INTR mascherabile (Istruzioni STI e CLI) • Altri processori hanno piu’ segnali di interruzione hardware 3) identificazione ) • 1) in polling con una sola linea – Piu’ sorgenti di int possono essere collegati ad una sola linea. La CPU in polling deve richiedere q p g quale e’ la sorgente di int g • 2) in modo vettorizzato 12
  • 13. a.a. 2007/2008 Architettura dei calcolatori Interruzioni vettorizzate 1) Vettorizzate internamente: • alla CPU arrivano piu’ richieste; all’interno della CPU un arbitro di priorita’ decide quale interruzione servire e lo indica al PC che seleziona la tabella (vettore) delle interruzioni 2) V tt i Vettorizzate esternamente: t t t • L’identificazione viene fatta in hardware dal richiedente che manda l’identificatore della RRI (routine di risposta all’interrupt) da cui risalire all’indirizzo di partenza • Alcuni dispositivi hanno l’interfaccia per poter mandare l’identificatore n su richiesta della CPU. • Di solito si usa un interrupt controller esterno (PIC, APIC) che gestisce le priorita’ p ( ) g p e indica l’identificatore per il vettore delle interruzioni • • Nell’ISA Intel l identificatore dell interruzione (n valore da 0 a 255) e’ un puntatore Nell ISA l’identificatore dell’interruzione e ad una tabella dove e’ indicato l’indirizzo di partenza delle RRI corrispondenti 13
  • 14. a.a. 2007/2008 Architettura dei calcolatori Intel interrupt nei PC INT (Hex) IRQ Common Uses 00 - 01 Exception Handlers - 02 Non-Maskable IRQ Non-Maskable IRQ (Parity Errors) 03 - 07 Exception Handlers p - 08 Hardware IRQ0 System Timer 09 Hardware IRQ1 Keyboard 0A Hardware IRQ2 Redirected 0B Hardware IRQ3 Serial Comms. COM2/COM4 0C Hardware IRQ4 Serial Comms. COM1/COM3 0D Hardware IRQ5 Reserved/Sound Card 0E Hardware IRQ6 Floppy Disk Controller 0F Hardware IRQ7 Parallel Comms. 10 - 6F Software Interrupts - 70 Hardware IRQ8 Real Time Clock 71 Hardware IRQ9 Redirected IRQ2 72 Hardware IRQ10 Reserved 73 Hardware IRQ11 Reserved 74 Hardware IRQ12 PS/2 Mouse 75 Hardware IRQ13 Math's Co-Processor 76 Hardware IRQ14 Hd Hard Disk Drive H d Di k D i 77 Hardware IRQ15 Reserved 78 - FF Software Interrupts - 14
  • 15. a.a. 2007/2008 Architettura dei calcolatori Exceptions • Formalismo: Exception (Vector) Condition (Real mode) • Division by Zero (0) Attempting to execute a DIV or an IDIV instruction with a divisor which equals zero. • Debug / Single Step (1) Used in conjunction with the debug registers to indicate a breakpoint hit The processor issues this interrupt after executing every instruction when the hit. TRAP flag is set. • Breakpoint (3) The INT 3 instruction generates this exception. Since the opcode of this () g instruction is only one byte long, it is often used by debuggers to set a breakpoint in application code. The debugger needs only to replace the first byte of the instruction with the INT 3 opcode (11001100b) and wait for the breakpoint exception to occur. After the exception handler resumes execution and before returning to the debugged application, the p g gg pp , debugger sets the INT 3 opcode to the previously overwritten byte and issues an IRET (interrupt return) instruction. • Overflow (4) When performing arithmetic instructions with signed operands the processor operands, set the OF flag to indicate an overflow. The INTO instruction tests this flag and if it is set - generates an exception. • Bounds Check (5) The BOUND instruction is used to verify that an array index does not exceed a certain limit. If the limit is exceeded, an exception is generated. 15
  • 16. a.a. 2007/2008 Architettura dei calcolatori Exception Vector Condition (Real mode) • Invalid Opcode (6) Occurs when the processor executes one of the reserved opcodes or uses the LOCK prefix improperly. Can also indicate an invalid operand following an opcode. • Device Not Available (7) Attempting to execute a floating-point instruction when there is no coprocessor installed. The EM bit of the CR0 register can be cleared to disable this exception. • Double Fault (8) An interrupt occurs which has no corresponding entry in the IVT or a second exception is generated while the processor is executing a previously activated exception handler handler. • Stack Exception (12) Stack operation exceeds offset FFFFh or a selector pointing to a non-present non present segment is loaded into SS SS. • CS, DS, ES, FS, GS Segment Overrun (13) Word memory access at offset FFFFh or an attempt to execute past the end of the code segment segment. • Floating-Point Error (16) An error with the numeric coprocessor (Divide-by-Zero, Underflow, Overflow...). Underflow Overflow ) 16
  • 17. a.a. 2007/2008 Architettura dei calcolatori Exceptions (virtual 8086) • Invalid Task State Segment (10) :Indicates that one of the checks made during a t k switch failed. task it h f il d • Segment Not Present (11) Loading one of the segment registers with a selector to a segment marked as not-present. • Page Fault (14) Accessing a supervisor page from user privileged code or attempting to access a page which is marked as not-present. • Alignment Check (17) Memory access to an unaligned memory location (can only occur while executing ring 3 code). In protected mode si usa un registro interno, che punta a una tabella in memoria chiamata IDT (Interrupt Descriptor Table) che p ( p p ) puo’ essere p posta a q qualsiasi indirizzo e che dipende dal task in esecuzione 17
  • 18. a.a. 2007/2008 Architettura dei calcolatori Vettore delle interruzioni per interruzioni (Intel) hardware • Il modulo esterno richiede l’interrupt (1); riceve l’ack dalla CPU(2);comunica l’identificatore n (3); • LA CPU usa n come puntatore p una zona di memoria dove e’ indicato l’indirizzo di p per partenza della RRI; moltiplica nx4 (4) e riceve l’address (5) 4 (nx4) ( ) Addr MEMORIA Data 5 (addr RRI) CPU 3n MODULO Di I/O Inta# int 1 4 byte perchè 2 (CS:IP) 18
  • 19. a.a. 2007/2008 Architettura dei calcolatori Gestioni delle priorita’ – PIC controllore 8259 Gestisce 8 interruzioni da solo e fino a 64 se connesso in cascata Occupa 2 locazioni di indirizzo Riconosce le interruzioni esterne a livello o sul fronte positivo per istruzioni continue o ad eventi Durante il ciclo di riconoscimento della interruzione il segnale INTA* ingloba CS* e RD* Modifica delle priorità, mascheratura, polling scelta dell'EOI etc. 19
  • 20. a.a. 2007/2008 Architettura dei calcolatori Gestione del DMAC • La comunicazione attraverso le interruzioni e’ comunque lenta: – la CPU deve essere interrotta – Ritardo per comunicazione dell’identificatore ed inizio di RRI – Esecuzione della RRI: trasferimento di dati attraversa la CPU – Termine della RRI • Ad esempio si debba trasferire un blocco di 1000 byte dalla porta modem alla memoria: • per 1000 volte – Richiesta di interruzione e risposta all’interruzione – Trasferimento del dato dalla porta alla CPU – Trasferimento di dati dalla CPU alla memoria – Esecuzione del codice (fetch , decode, execute) – Il concetto di Direct Memory Access vuole saltare la connessione tramite CPU per collegare direttamente in hardware memoria ed I/O senza far p g eseguire alla CPU alcun programma 20
  • 21. a.a. 2007/2008 Architettura dei calcolatori Direct Memory Access • DMA e’ il meccanismo per cui, sotto controllo hardware del DMAC (DMA Controller), una periferica si puo’ interfacciare direttamente con la memoria senza passare per la CPU CPU. • il DMAC, simile alla CPU, prende il controllo del bus e gestisce il trasferimento. diventa master del bus al posto della CPU • gestisce piu’ richieste (o DMA channels) • Deve essere piu’ efficiente della CPU nel trasferimento • 1) la CPU vede il DMAC come una periferica e la programma con – Richiesta di rd o wr – indirizzo di I/O e indirizzo di memoria – n. di parole da trasferire • 2) il DMAC quando attivato (via hw o sw) e’ in grado di e – indirizzare la memoria e gestire i segnali di controllo – indirizzare l’I/O e gestire i segnali di controllo – incrementare l’indirizzo in memoria l indirizzo – controllare l’arbitraggio per diventare master del bus. 21
  • 22. a.a. 2007/2008 Architettura dei calcolatori Modalità di funzionamento Burst mode • Il DMAC acquisisce il controllo del bus • Il DMAC rilascia il bus solo quando ha terminato il trasferimento • Vantaggio: – Il trasferimento avviene alla massima velocità possibile • Svantaggio: – L CPU non può accedere al b d La ò d l bus durante il t f i t trasferimento. t Cycle stealing • Il dati sono trasferiti in piccoli blocchi • Il DMAC diventa padrone del bus per brevi istanti di tempo • Vantaggio: – la CPU non è bloccata per lunghi istanti di tempo • Svantaggi: – il trasferimento richiede più tempo Transparent DMA • Il DMA rileva quando la CPU non usa il bus q • I trasferimenti hanno luogo solo quando la CPU non sta usando il bus • Vantaggi: – il DMA non rallenta mai la CPU • Svantaggi: – è in media il metodo più lento. 22
  • 23. a.a. 2007/2008 Architettura dei calcolatori DMA per trasferimenti singoli (Stealing) Registro Stato R i t di St t (I/O) Inizializzazione Indirizzo iniziale MEM da programma Lunghezza del blocco dei registri DMA Indirizzo periferica. Contatore indirizzo = indirizzo iniziale. Contatore di byte = 0 no Periferica P if i pronta? si DMAR (HOLD) Termina il ciclo macchina corrente DMA richiede a CPU poi va in stato HOLD Accesso a Memoria DMA accettato (HOLDA) Attesa risposta DMA inizia un ciclo di accesso alla memoria, lettura/scrittura secondo il registro di stato. Riprende normale funzionamento DMA incrementa il contatore di indirizzo e il contatore di byte Conta. no di byte = Lung. blocco? si Esegue routine di interruzione servizio corrispondente Operazione terminata. a fine trasferimento Avvisare CPU con INT 23
  • 24. a.a. 2007/2008 Architettura dei calcolatori DMAC (Burst Mode) Registro Stato R i t di St t (I/O) Inizializzazione Indirizzo iniziale MEM da programma Lunghezza del blocco dei registri DMA Indirizzo periferica. Contatore indirizzo = indirizzo iniziale. Contatore di byte = 0 no Periferica P if i pronta? si DMAR (HOLD) Termina il ciclo macchina corrente DMA richiede a CPU poi va in stato HOLD Accesso a Memoria DMA accettato (HOLDA) Attesa risposta DMA inizia un ciclo di accesso alla memoria, lettura/scrittura secondo il registro di stato. Riprende normale funzionamento DMA incrementa il contatore di indirizzo e il contatore di byte Conta. no di byte = Lung. blocco? si Esegue routine di interruzione servizio corrispondente Operazione terminata. a fine trasferimento Avvisare CPU con INT 24
  • 25. a.a. 2007/2008 Architettura dei calcolatori Gerarchia delle Memorie • Per memorizzare grandi quantità di dati si organizzano le memorie in maniera gerarchica • Al vertice della gerarchia vi sono i registri ai quali si accede alla stessa velocità della CPU • Scendendo verso il basso aumentano 3 parametri: il tempo di accesso, la dimensione e il costo unitario 25
  • 26. a.a. 2007/2008 Architettura dei calcolatori I/O Dispositivi di Memorizzazione: Dischi Magnetici • Un disco magnetico consiste in una serie di piatti in alluminio rivestiti di materiale ferromagnetico • Il diametro dei piatti originariamente era di 50 cm mentre i dischi attuali hanno diametro che può raggiungere anche i 3 cm Nella testina del disco è contenuto un solenoide Essa sfiora la superficie solenoide. senza contatto. Mentre i Floppy disk sono a contatto. Per eseguire una scrittura la testina viene attraversata da una corrente di polarizzazione e l particelle sulla superficie d l di li i le ti ll ll fi i del disco si orientano i verso iit in opposto alla corrente. Per eseguire una lettura si considera il segno della corrente indotta sulla g g testina dalle particelle magnetizzate presenti sulla superficie del disco 26
  • 27. a.a. 2007/2008 Architettura dei calcolatori Dischi Magnetici Disco e’ costituito da: •Tracce: sequenza circolare di byte •Settori: Le tracce sono suddivise in settori in genere contenenti 512 byte piu preambolo e codice di controllo di errore ECC code (Hamming piu’ per singoli errori o Reed Solomon per errori multipli) Le dimensioni di un disco si riducono di circa un 15% per i Preamboli e ECC 27
  • 28. a.a. 2007/2008 Architettura dei calcolatori Dischi Magnetici • Dischi attuali hanno tra le 5000 e 10000 tracce per centimetro con una larghezza tra 1 e 2 micron • Densità lineare all’interno della traccia è tra 50000/100000 bit/cm • Tecnologie recenti s a o s ud a do la poss b à d registrare il b ec o og e ece stanno studiando a possibilità di eg s a e bit perpendicolarmente nel materiale ferromagnetico (registrazione perpendicolare) per incrementare notevolmente la capacità dei dischi • Per ottenere una buona qualità dell’aria (che influenza la capacità di polarizzazione) di hi sono sigillati: Di hi Wi h t ( il primo f IBM li i ) dischi i ill ti Dischi Winchester i fu 30-30 come il fucile Winchester 30-30 e non come il commissario dei Simpson!! ) 28
  • 29. a.a. 2007/2008 Architettura dei calcolatori Dischi Magnetici • La maggior parte dei dischi consiste di piu’ piatti impilati( dai 6 ai 12 p a ) ciascuno con una propria piatti) c ascu o co u a p op a testina • Tracce alla stessa distanza dal centro sono chiamate Cilindri • Vecchi dischi avevano il numero di settori fissato e quindi la densita’ lineare sulle tracce piu’ esterne si piu riduceva drasticamente • Dischi attuali sono suddivisi in zone ciacuna delle quali con un numero di settori variabile per poter massimizzare la capacità del disco indipendentemente dalla posizione della testina 29
  • 30. a.a. 2007/2008 Architettura dei calcolatori Dischi Magnetici: Prestazioni • Hard-Disk NEC D2257: dischi e testine sono sigillati in una scatola a tenuta. Si compone di 5 dischi da 8’’, su cui vengono utilizzate 8 facce, ognuna con la sua testina. • Caratteristiche #tracce per superficie 1024 max densità di memorizzazione 9420 bit/inch capacità per traccia 20,480 byte capacità totale 167.7 Mbyte velocità di rotazione 3510 giri/min Average Seek Time 20 ms • Il tempo di accesso tA è determinato da: p • TS: tempo per posizionare la testina sulla traccia opportuna (seek time, o tempo di ricerca); • TL: tempo per posizionare la testina sul dato, all’interno della traccia (latency time) • TD: tempo per leggere serialmente i dati (data-transfer time, o tempo di trasferimento). • Si ha quindi che TACCESSO = TS + TL + TD • Supponendo di voler trasferire un blocco di 1 kbyte di memoria, il tempo di accesso è pari a (20 + 17 09 + 0 85) msec = 37 94 msec 17,09 0,85) 37,94 20480*3510/60 = byte trasferiti al secondo l d Tempo per fare un giro (caso peggiore) a 3510 giri/min 30
  • 31. a.a. 2007/2008 Architettura dei calcolatori Accesso al Disco Il tempo di seek per posizionare la testina sulla traccia ha una parte fissa e una che dipende dalle tracce Ts=mxn+s m costante del drive del disco, n numero di tracce attraversate, s di avviamento meccanico m=0,3-0,1 ms s= 20-30 ms La latenza rotazionale tl per arrivare al settore corretto dipende dai giri al minuto hd di solito 3600-5400 rpm,1 rotazione in 16,7 ms ritardo medio 8.3ms floppy 300-600 rpm, ritardo medio 100-200 ms Tr=1/2r r giri al secondo Ad esempio Tr= ½ 60/5400 x 1000 =5 6 ms =5,6 3) tempo di trasferimento Td= B/Br B byte da trasferire, Br byte rate Ad esempio per trasferire un settore da 512 Kbyte con una capacità di trasferimento di 4MB/s Tr=512 x 10^3/( 4 x 10^6) Tr=0,122ms 31
  • 32. a.a. 2007/2008 Architettura dei calcolatori ACCESSO AL DISCO Organizzazione sequenziale, il file e’ diviso in settori e tracce adiacenti • si consideri un disco con Ts medio dichiarato di 20ms con velocita’ di trasferiemnto di 1MB/s e tracce di 32 settori da 512 byte byte. • Si vuole leggere un file da 128KB • 128KB--> 256 settori--> 8 tracce adiacenti • per leggere la p p gg prima traccia Ts=20ms • Tr=8.3ms (medio a 3600 rpm) • lettura dei primi 32 settori di una traccia Tt=16.7 msec • T 20+8 3+16 7 45ms T=20+8.3+16.7=45ms • se le altre tracce seguono non c’e piu’ da aggiungere Ts ma solo 8.3+16.7=25 • cosi’ Ttot=45+7x25=220ms=0,22sec Organizzazione random • per ogni settore T=20+8.3+0.5= 28.8 msec • Ttot= 28.8 x 256 =7373ms= 7 37sec 28 8 7.37sec 32
  • 33. a.a. 2007/2008 Architettura dei calcolatori Dischi IDE • A metà degli anni ’80 si diffusero le prime unità disco IDE (Integrated Drive Electronics) dove il disco e il controller erano integrati in un unico dispositivo. L’indirizzamento avveniva tramite il BIOS e utilizzando gli indirizzi fisici di cilindro, settore e traccia. traccia • Per via della modalità di indirizzamento, i dischi IDE potevano avere al massimo 1.032.192 (16 testine x 63 settori(numerazione p ( ( partiva da 1) x 1024 cilindri) ) ) 9 per ogni settore – settori e quindi non potevano essere più grandi di 504 MB (x2 512 B). • Nacquero quindi i dischi EIDE (Extended IDE) che usavano l’indirizzamento LBA l indirizzamento 28-1, quindi spostarono (Logical Block Addressing) che numera i settori da 0 a 2 il limite a 228x29=128 GB. Il protocollo EIDE supporta poi due canali (primario e secondario) e anche i lettori CD-ROM e DVD • Il successore di EIDE è stato ATA-3 (Advanced Technology Attachment) e nella sua versione ATAPI-6 porto il LBA da 28 a 48 bit, spostando il limite a 128 PB (peta 1015)!! (peta=10 • Il grosso passo fu lo standard ATAPI-7 anche noto come serial ATA (o SATA), standard maggiormente supportato oggi. Lo standard sostituisce l’interfaccia parallela a 80 pin con una seriale a 7 pin con trasferimenti di 1 bi alla volta con ll l i il i fi i bit ll l velocità attuali di 150 MB/sec ma che dovrebbero arrivare fino a 1,5 GB/sec 33
  • 34. a.a. 2007/2008 Architettura dei calcolatori Dischi SCSI dischi SCSI (Small Computer System Interface) sfruttano gli stessi • principi d i di hi EIDE ma l’interfaccia è di i i i dei dischi EIDE, l’i t f i diversa e molto più veloce. SCSI lt iù l ha anche un bus proprietario con protocollo di comunicazione ottimizzato. Ne esistono varie configurazioni e versioni: • Il protocollo SCSI permette anche, a differenza dell’EIDE, di avere più dispositivi/dischi attivi contemporaneamente ed è quindi ottimo per sistemi operativi multi tasking come Unix o Windows XP multi-tasking 34
  • 35. a.a. 2007/2008 Architettura dei calcolatori RAID • Nei sistemi RAID (Redundant Array of Independent Disks) i dati vengono p g partizionati in segmenti di uguale lunghezza e scritti su dischi g g g differenti. La grandezza della partizione si chiama unità di striping. Ad esempio se abbiamo un'unità di striping di 1 bit e abbiamo un array di D dischi, dischi le sequenze di dati lunghe D bit o più necessitano di tutti i dischi e possono essere lette in parallelo. • Esistono vari livelli di RAID: – RAID 0: divide i dati equamente tra due o più dischi con nessuna informazione di parità o ridondanza – RAID 1 crea una copia esatta (o mirror) di t tti i d ti su 1: i tt ( i ) tutti dati due o più dischi. RAID-1 aumenta anche le prestazioni in lettura, visto che molte implementazioni possono leggere da un disco mentre l'altro è occ pato n occupato. – RAID 2: divide i dati al livello di bit (invece che di blocco) e usa un codice di Hamming per la correzione d'errore. Attualmente non è più in uso. Att l t iù i 35
  • 36. a.a. 2007/2008 Architettura dei calcolatori RAID – RAID 3: usa una divisione al livello di byte con un disco dedicato alla parità. Uno degli effetti collaterali del RAID 3 è che non può eseguire richieste multiple simultaneamente. Questo perché ogni singolo blocco di dati ha la propria definizione diffusa tra tutti i dischi del RAID e risiederà nella stessa locazione, così ogni operazione di I/O richiede di usare tutti i dischi. – RAID 4: usa una divisione (striping) a livello di blocchi con un disco dedicato alla parità(calcolata come l’XOR delle singole parità delle strip). Questo permette ad ogni disco appartenente al sistema di operare in maniera indipendente quando è richiesto un singolo blocco. (prestazioni scarse in caso di aggiornamento di piccole quantita’ di dati: ricalcolare la parita’ della strip e rileggere tutti i dischi) p p gg ) – RAID 5: usa una divisione dei dati a livello di blocco con i dati di parità distribuiti tra tutti i dischi. – RAID 6: usa una divisione a livello di blocchi con i dati di parità distribuiti due volte tra tutti i dischi. Nel RAID-6, il blocco di parità viene generato e distribuito tra due stripe di parità, su due dischi separati. 36
  • 37. a.a. 2007/2008 Architettura dei calcolatori CD-ROM Audio Introdotti da Philips e Sony negli anni 80 per la riproduzione musicale Processo di scrittura a “stampa”: • 1)Si prepara con un laser rosso un master su un disco di vetro(Glass master) • 2) Creazione di uno stampo che presenta scanalature in presenza dei buchi del master • 3)Inserimento di policarbonato liquido sullo stampo e copertura con vernice protettiva Le scanalature sono chiamate pit mentre le aree tra pit sono chiamate land La lettura viene effettuata da un diodo laser che illumina la parte in policarbonato e legge meno luce in corrispondenza di un pit Dati sono codificati con 1 o 0 a seconda della pit. presenza o l’assenza di una transizione pit/land o land/pit. Dati sono scritti in un’unica spirale continua di 5,2KM!! e per leggere i dati in maniera uniforme la velocità di rotazione varia a seconda di dove si trova la testina di lettura(piu’ alta lettura(piu al centro circa 530 giri/min e diminuisce verso l’esterno fino a 200 giri/min). 37
  • 38. a.a. 2007/2008 Architettura dei calcolatori CD-ROM Dati Definizione della codifica: •Ogni simbolo(1 byte) e’ codificato con 14 bit + 2 bit ECC e l corrispondenza 14 la i d 14- 8 e’ realizzata in hardware. •42 simboli formano 1 frame •98 frame formano un settore(ogni settore ha un preambolo di 16 byte(12 inizio settore e 3 numero settore e un byte per il modo) Definite 2 modalità o modi: •Modo 1:16 byte di preambolo, 2048 byte di dati e 288 di codice ECC(Reed Solomon) •Modo 2:Dati ed ECC sono combinati in unico campo per cui si ottiene piu’ spazio per i dati a scapito del controllo di errore(per audio o video) 38
  • 39. a.a. 2007/2008 Architettura dei calcolatori CD-R Registrabili • I cd scrivibili o CD-R sono differenti da quelli scritti con il processo di stampa. La scrittura viene realizzata tramite un processo chimico: • Si utilizza uno strato di pigmento(cianina o ftalocianina) posto prima dello strato riflettente. Il l laser i f in fase di scrittura e’ utilizzato ad alta potenza e f i ’ ili dl favorisce una reazione chimica d l i i hi i del pigmento rendendolo parzialmente opaco. Vengono cosi’ simulati pit e land. I cd RW non utilizzano un pigmento ma una lega che possiede 2 stati stabili: amorfo e cristallino. Tramite un laser a 2 potenze e’ possibile portare la lega in ciascuno dei due stati simulando cosi’ la presenza di un pit o di un land. 39
  • 40. a.a. 2007/2008 Architettura dei calcolatori DVD • Dvd ’ l’acronimo di Di it l D d e’ l’ i Digital Versatile Disk. • Presenta una tecnologia simile ai CD-R con sottili differenze nella tecnica di scrittura: • pit piu’ piccoli 0,4 micron contro 0,8 nei CD •Spirale piu’ stretta 0 74 micron di piu 0,74 distanza tra le tracce •Laser rosso a 0,65 micron Esistono 4 formati per i DVD: • Singolo lato singolo strato 4,7GB • Singolo lato doppio strato 8,5GB • Doppio lato singolo strato 9,4GB • Doppio lato doppio strato 17GB I DVD d doppio strato possiedono uno strato di materiale riflettente e uno semiriflettente. A seconda di come il l i tt id tt t i l ifl tt t i ifl tt t d laser e’ messo ’ a fuoco esso rimbalza su uno strato oppure un altro. Recentemente sono stati commercializzati i primi DVD Blue Ray in cui il processo di lettura e’ realizzato mediante laser blu e non rosso. Essi permettono tracce piu’ vicine e letture piu’ accurate. I DVD singolo strato raggiungono i 25GB di capacita’ e i lettori hanno una velocita’ di trasferimento di 4 5MB/s velocita 4,5MB/s. 40
  • 41. a.a. 2007/2008 Architettura dei calcolatori Dispositivi di IO: Tastiera • Dispositivo di immissione piu’ conosciuto • Realizzate tramite circuito stampato e un foglio di materiale elastometrico che alla pressione di un tasto contatta l’apposito circuito • Alla pressione viene attivata una interruzione e l’apposito gestore degli interrupt interpreta il codice numerico associato al tasto. • Diversi Layout: – QWERTY(1864): il piu’ popolare quello della tastiera odierna (testo del primo messaggio E- Mail) Varianti diverse per ogni paese(in Francia: AZERTY) – Dvorak (1936) – E P t (1955) ExPert 41
  • 42. a.a. 2007/2008 Architettura dei calcolatori Monitor LCD • Monitor il cui funzionamento e’ basato su uno strato di cristalli liquidi compreso tra 2 lastre di vetro • I cristalli liquidi sono molecole viscose con struttura simile a quella di un cristallo • Quando allineati nella stessa direzione le proprieta’ ottiche dei cristalli liquidi dipendono dalla direzione e dall’intensita’ della luce incidente • Gli schermi piu popolari sono quelli piu’ di tipo TN(Twisted Nematic: filo ritorto) La lastra L l t posteriore contiene solchi orizzontali mentre quella anteriore verticali. L molecole ti ti l hi i t li t ll ti ti li Le l l del cristallo compiono una torsione nello spazio tra le lastre. Sulla parete posteriore vi e’ un filtro di polarizzazione orizzontale mentre sulla parete anteriore e’ sfasato di 90°. In assenza di polarizzazione la luce emessa dalla lampada p p p posteriore viene sfasata e p passa dal filtro anteriore. Quindi lo schermo risulta bianco. Applicando tensioni a zone specifiche e’ possibile spegnere alcune zone dello schermo. 42
  • 43. a.a. 2007/2008 Architettura dei calcolatori Monitor LCD • Esistono 2 tipi di monitor LCD che si differenziano per il modo con cui viene applicata la tensione: – Matrice Passiva: schermo posteriore ha 640 fili verticali e quello anteriore 480 fili orizzontali(640x480). P l i i li(640 480) Polarizzando un singolo fil e’ possibile spegnere un d i l filo ’ ibil pixel per un breve intervallo di tempo. Ogni riga rimane quindi attiva per un tempo limitato. Lo schermo viene ridisegnato rapidamente (refresh rate circa di 60Hz) ingannando l’occhio per cui l’immagine sembra continua.(Problema del g ghosting e tempi di risposta lenti) g p p ) – TFT(Thin Film Transistor): Tecnologia attuale della maggior parte dei monitor in commercio, anche definiti a matrice attiva. Negli schermi TFT ad ogni pixel e’ associato un transistor di commutazione. E’ cosi’ possibile disegnare un pattern arbitrario sullo schermo e non ogni riga alla volta. Il processo produttivo e’ costoso perche’ e’ necessario realizzare tutti i transistor in un unico wafer di silicio e possono essere tanti (es 1024x768x3 schermo a colori = circa 2’400’000). Gli errori sono direttamente visibili sullo schermo come pixel accesi su fondo nero (transistor cortocircuitato) 43
  • 44. a.a. 2007/2008 Architettura dei calcolatori Mouse • Mouse e’ il dispositivo di puntamento piu’ noto in assoluto • Esistono 2 tipi di mouse: • Mouse meccanici :il funzionamento e’ meccanico. E’ presente una palla che ruota su opportuni sensori(rulli) che individuano il movimento orizzontale o verticale • Mouse ottico :Un diodo a emissione di luce rossa illumina una piccola p p porzione di superficie p e una fotocamera CMOS scatta circa 2000 fotografie al secondo. Un piccolo processore dedicato DSP elabora tali fotografie e determina le differenze individuando la direzione di spostamento. 44
  • 45. a.a. 2007/2008 Architettura dei calcolatori Stampanti ad Aghi • Testine di stampa, generalmente con standard di 9 o 18 oppure 24 aghi, mossi da elettromagneti battono sulla carta attraverso un nastro inchiostrato mentre si spostano lateralmente sul foglio. La sequenza dei colpi è generata da un circuito elettronico per comporre i pixel che costituiscono i caratteri o parte di una immagine. La stampa può avvenire in entrambi i sensi di spostamento del carrello, con un p aumento della velocità complessiva (stampa bidirezionale). Alcuni modelli di stampanti ad aghi possono riprodurre il colore, impiegando oltre al nero anche tre bande colorate secondo lo standard RGB, Red Green Blue, oppure CMY, Ciano Magenta Yellow. La tecnologia di stampa a g p matrice è ancora richiesta in alcuni settori poiché permette di imprimere anche modulistica a piu copie. 45
  • 46. a.a. 2007/2008 Architettura dei calcolatori Stampanti a getto • Stampanti a getto di inchiostro: È la tecnologia che ha avuto il maggiore successo presso l'utenza privata ed i piccoli uffici, principalmente a causa del basso costo di produzione, della silenziosità e buona resa dei colori. Una hi U schiera di centinaia microscopici ugelli spruzzano minuscole gocce di ti i i ii lli i l inchiostro a base di acqua sulla carta durante lo spostamento del carrello. Il movimento dell'inchiostro è ottenuto per mezzo di due distinte tecnologie: – pompe piezoelettriche che comprimono il liquido in una minuscola camera, – resistenze elettriche che scaldano bruscamente il fluido all'interno della d ll camera di compressione aumentandone il volume e quindi i td l i di facendolo schizzare dall'ugello (Jet_Plate). • Stampanti a getto di cera: Tecnologia simile alla precedente ma che precedente, offre anche su carta comune immagini dall'aspetto fotografico, grazie alla lucidità della cera. L'impiego di queste stampanti è ormai estremamente limitato a causa della loro complessità e ai tempi di utilizzo elevati dovuti alla necessità di mantenere costantemente fusa la cera cera. 46
  • 47. a.a. 2007/2008 Architettura dei calcolatori Stampanti Laser • Questa tecnologia deriva direttamente dalla xerografia comunemente implementata nelle fotocopiatrici analogiche. Un raggio laser analogiche infrarosso viene modulato secondo la sequenza di pixel che deve essere impressa sul foglio. Viene poi deflesso da uno specchio rotante su un tamburo fotosensibile elettrizzato che si scarica dove colpito dalla luce. L'elettricità statica attira una fine polvere di materiali sintetici e pigmenti, il toner, che viene trasferito sulla carta (sviluppo) Il foglio passa poi sotto un (sviluppo). rullo riscaldato che fonde il toner facendolo aderire alla carta (fissaggio). Per ottenere la stampa a colori si impiegano quattro toner: nero, ciano, nero ciano magenta e giallo trasferiti da un giallo, unico tamburo oppure da quattro distinti. CMYK Per semplificare la gestione nelle stampanti laser monocromatiche moderne il toner e il tamburo fotosensibile sono gestione, incluse in un'unica cartuccia. Diverse agenzie per l'ambiente e giornali specializzati hanno verificato che, durante la stampa, vengono rilasciate alcune polveri sottili cancerogene come benzolo e stirolo, che sono coloranti contenuti nel toner. 47
  • 48. a.a. 2007/2008 Architettura dei calcolatori Modem Trasmissione dei dati su linea telefonica viene realizzato attraverso la modulazione di un onda sinusoidale nota. Le modulazioni possono essere: • Di ampiezza(b) • Di frequenza(c) • Di fase(d) Il numero di potenziali cambiamenti dell’onda e’ definito baud mentre possono essere trasmessi piu’ bit per ogni baud. I modem possono essere: •Full Duplex: possono sia trasmettere che ricevere contemporaneamente utilizzando frequenze diverse •Half duplex: trasmissione o la ricezione in un dato Half istante sono esclusive I modem attuali hanno un baudrate per secondo di 9600 e possono raggiungere una velocita’ di trasmissione di 57’600 bps 48
  • 49. a.a. 2007/2008 Architettura dei calcolatori ADSL • Peculiarità della tecnologia ADSL è la possibilità di usufruirne senza dover cambiare i cavi telefonici esistenti e senza dover usare linee separate per i dati e per le comunicazioni-voce normali: sul doppino telefonico in rame, è infatti possibile far viaggiare contemporaneamente sia i dati digitali che il segnale telefonico analogico, grazie alla b d diff i ll banda differente usata per i d segnali: l voce usa i f tti l f t t due li la infatti le frequenze t tra 300 e 3400 Hz, mentre ADSL sfrutta quelle sopra i 4 KHz. Ciò è dovuto al fatto che il doppino di rame consente frequenze fino a 1,1 MHz. • Un ciclo locale viene suddiviso in 256 canali. • Il canale 0 e’ usato per il traffico voce POTS(Plain old telephone service) • I canali 1-5 sono usati come separatore • I canali 6-250 sono usati per i dati: • Sono suddivisi in modo asimmetrico tra trasmissione e ricezione(Adsl) • 80-90% e’ dedicato alla ricezione • Genericamente si usano 32 canali in uscita e I restanti in entrata • Ciascun canale ha una propria velocita’ che dipende dalla qualita’ della linea e del segnale ( (SNR: Signal noise ratio) g ) • Il massimo teorico e’ 13,44 Mbps con un baud per canale di 4000 e 224 canali in ricezione 49
  • 50. a.a. 2007/2008 Architettura dei calcolatori ADSL Installazione tipica p 50
  • 51. a.a. 2007/2008 Architettura dei calcolatori Fotocamera Digitale 51