Elementi di Informatica e Programmazione periferia I dispositivi periferici parte centrale Architettura del calcolatore (terza parte) sottosistema di ingresso-uscita sottosistema unità centrale-memoria Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio periferica periferica interfaccia di ingresso-uscita interfaccia di ingresso-uscita unità centrale memoria centrale Università degli Studi di Brescia Docente: Daniela Fogli orologio bus di sistema Daniela Fogli Elementi di Informatica e Programmazione 2 Tipologie di periferiche Tastiera Dispositivi di ingresso-uscita - periferiche di ingresso: inviano al calcolatore dati provenienti dall esterno (es. tastiera, mouse, touchpad, scanner) - periferiche di uscita: inviano all esterno dati provenienti dal calcolatore (es. stampante, video, casse audio, plotter) - periferiche di ingresso e uscita (es. modem) Dispositivo elettro-meccanico Quando si preme un tasto viene generato un segnale elettrico corrispondente al carattere digitato Il segnale viene inviato all unità centrale per la sua elaborazione e contemporaneamente al video che lo visualizza Dispositivi di memoria di massa: Questi li abbiamo già archivi di lungo termine per programmi e dati visti parlando della - non volatilità gerarchia di memoria - grande capacità - basati su tecnologie magnetiche (nastri e dischi magnetici), ottiche (dischi ottici) ed elettroniche (memorie flash). Daniela Fogli Elementi di Informatica e Programmazione 3 Daniela Fogli Elementi di Informatica e Programmazione 4
Dispositivi di puntamento Interazione mouse-computer Interfacce a manipolazione diretta vs. linea di comando I comandi vengono dati cliccando su icone, bottoni, etc. attraverso dispositivi di puntamento Alcuni dispositivi di puntamento: Mouse meccanico: si basano sul movimento della pallina posizionata nella parte posteriore e solidale con due rotelline che rilevano lo spostamento in direzioni ortogonali Mouse ottico: invece della pallina, è presente una piccola fotocamera digitale, devono venire mossi su una superficie di materiale riflettente su cui è presente una minima trama ottica (es. non funzionano su vetro) Touchpad: movimento rilevato da un sensore che controlla la pressione e il movimento di un dito sul pad; PointStick: movimento rilevato da un sensore che controlla la pressione e la direzione verso cui la pressione viene esercitata; Pointing Stick Pulsanti (pointing stick) Touch Pad Pulsanti (touch pad) Ogni volta che si sposta, il mouse invia una sequenza di 3 byte al calcolatore (lungo una linea seriale, vedi dopo): Un intero che indica lo spostamento X Un intero che indica lo spostamento Y Un intero che indica lo stato dei pulsanti Queste informazioni vengono poi convertite nella posizione assoluta del cursore che viene visualizzato sul video Daniela Fogli Elementi di Informatica e Programmazione 5 Daniela Fogli Elementi di Informatica e Programmazione 6 Il video: categorie Il video: la risoluzione Monitor CRT (Cathod Ray Tube) Un cannone spara un raggio di elettroni contro uno schermo fosforescente (se a colori: 3 cannoni per il rosso, il verde e il blu) L immagine a schermo viene costruita una riga per volta e viene completata 30/60 volte al secondo Monitor LCD (Liquid Crystal Display) Schermi piatti, leggeri, facilmente trasportabili LCD a matrice passiva LCD a matrice attiva (TFT Thin Film Transistor): offrono un maggiore angolo di visuale e colori più brillanti Lo schermo è costituito da una matrice di pixel indipendenti per indicare il colore di ogni pixel si usano fino a 32 bit Tipiche risoluzioni del video: VGA: 640 x 480 pixel SVGA: 800 x 600 pixel XGA: 1024 x 768 pixel UXGA: 1600 x 1200 pixel Al video è associata una memoria RAM: all aumentare del numero di bit per pixel e della risoluzione, aumenta la dimensione della memoria video e il ritardo nella visualizzazione delle immagini Altre caratteristiche: dimensione = misura della diagonale espressa in pollici (12 25) freq. di refresh = numero di volte al secondo in cui si completa una scansione dell intero schermo (es. 60 Hz) Daniela Fogli Elementi di Informatica e Programmazione 7 Daniela Fogli Elementi di Informatica e Programmazione 8
Stampanti Stampante ad aghi L immagine su carta viene prodotta come insieme di punti (come avviene sullo schermo di un monitor) Caratteristiche Risoluzione: numero di punti per unità di superficie dpi dots per inch (pollice) Velocità di stampa: si misura in linee/min, caratteri/sec oppure in pagine/min Colore: bianco/nero oppure a colori Testina di scrittura contenente fra 7 e 24 aghi Ogni ago è azionato da un elettrocalamita e viene pilotato a premere sulla carta attraverso un nastro inchiostrato, stampando quindi un punto (stampa a impatto) I caratteri si ottengono con opportune configurazioni di punti Economiche e affidabili, ma bassa qualità di stampa e velocità Tre applicazioni principali: Stampa su formulari prestampati di grandi dimensioni Stampa su piccoli pezzi di carta Stampa su formulari continui a più segmenti con carta carbone Daniela Fogli Elementi di Informatica e Programmazione 9 Daniela Fogli Elementi di Informatica e Programmazione 10 Stampante a getto d inchiostro (ink jet) Al posto degli aghi ugelli collegati a serbatoi d inchiostro di diversi colori I caratteri sono composti da gocce microscopiche d inchiostro spruzzate dagli ugelli La qualità di stampa dipende dalla dimensione delle gocce: risoluzioni che vanno da 300 a 1440 dpi (dots per inch) Poco costose, silenziose e di buona qualità Lente, usano cartucce d inchiostro costose (ma possibilità di stampa a colori) Uso domestico Stampante laser: funzionamento L immagine della pagina viene impressa da un raggio laser su un tamburo di materiale fotosensibile La modulazione del raggio laser produce una configurazione di punti chiari e scuri (le zone raggiunte dal raggio vengono caricate elettricamente) La rotazione del tamburo permette di costruire le varie righe Quando una riga si avvicina al toner (particelle di inchiostro in polvere) i punti carichi attirano la polvere d inchiostro Il tamburo ricoperto di toner viene premuto sulla carta e vi trasferisce la polvere La carta passa poi attraverso dei rulli riscaldati che fissano il toner Il tamburo viene infine scaricato e ripulito di eventuali residui Daniela Fogli Elementi di Informatica e Programmazione 11 Daniela Fogli Elementi di Informatica e Programmazione 12
Stampante laser: caratteristiche La gestione delle periferiche Principale problema: generazione mappa di bit che rappresenta l immagine Stampante dotata di un proprio processore e una RAM Alta qualità, buona velocità Bianco e nero Uso professionale periferia periferica sottosistema di ingresso-uscita interfaccia di ingresso-uscita parte centrale sottosistema unità centrale-memoria unità centrale Altro tipo di stampanti per stampa disegni tecnici: plotter Permettono la stampa con modalità vettoriale diretta grazie a una penna che scorre con continuità sul foglio tracciando linee e altre primitive geometriche; stampa su fogli di carta di grandi dimensioni (A0, A1) periferica orologio interfaccia di ingresso-uscita bus di sistema memoria centrale Daniela Fogli Elementi di Informatica e Programmazione 13 Daniela Fogli Elementi di Informatica e Programmazione 14 I problemi Interfaccia ingresso-uscita I diversi dispositivi periferici possono essere i più disparati, ma devono interagire con il processore (che può solo eseguire un insieme determinato di istruzioni) attraverso il bus interfacce di ingresso-uscita, chiamati anche controller che contengono registri e memorie NB: modello semplificato! circuito di controllo dispositivo periferico interfaccia ingresso-uscita registro dati registro di stato I diversi dispositivi devono essere identificati (es: come posso mandare un carattere alla stampante?) interfacce (registri e memorie) identificate da indirizzi memoria centrale unità centrale decodificatore indirizzi comandi Flussi di dati dipendono dal dispositivo (velocità diverse dei singoli dispositivi): tecniche di sincronizzazione con CPU Daniela Fogli Elementi di Informatica e Programmazione 15 indirizzi Componenti interfaccia (oltre al circuito di controllo): - registro dati: dato da trasferire a/da dispositivo - registro di stato: stato del dispositivo (pronto, errore, ecc.) - decodificatore indirizzi (riconosce l indirizzo sul bus indirizzi) Daniela Fogli Elementi di Informatica e Programmazione 16 dati
Lettura di un dato da un dispositivo Scrittura di un dato su un dispositivo Il circuito di controllo trasferisce il dato acquisito dal dispositivo di ingresso nel registro dati La CPU pone nel bus indirizzi l indirizzo del dispositivo cui si vuole accedere e attiva il segnali di lettura nel bus comandi Il decodificatore indirizzi riconosce l indirizzo ad esso associato e attiva il circuito di controllo Il circuito di controllo (riconoscendo segnale di lettura) pone nel bus dati il valore memorizzato nel registro dati Successivamente l unità centrale preleva il valore presente nel bus dati (Esempio: lettura da tastiera) La CPU pone nel bus indirizzi l indirizzo del dispositivo sui vuole accedere e nel bus dati il dato da trasferire; attiva segnale di scrittura nel bus comandi Il decodificatore indirizzi riconosce l indirizzo ad esso associato ed attiva il circuito di controllo Il circuito di controllo (riconoscendo segnale di scrittura) attiva la scrittura nel registro dati del valore presente nel bus dati Successivamente il circuito di controllo avvia il trasferimento del dato ricevuto dal registro dati al dispositivo periferico (Esempio invio dati a stampante) Daniela Fogli Elementi di Informatica e Programmazione 17 Daniela Fogli Elementi di Informatica e Programmazione 18 Indirizzamento Sincronizzazione Un indirizzo sul bus può riferirsi alla memoria o all interfaccia di ingresso/uscita di un dispositivo Due possibilità per distinguerli: I/O mappato in memoria: Si usano le normali istruzioni macchina di trasferimento da/a memoria: i segnali di controllo attivati sul bus sono gli stessi di quelli attivati in una operazione di accesso a memoria gli indirizzi delle interfacce sono distinti rispetto a memoria I/O isolato: Si usano istruzioni macchina dedicate all ingresso-uscita: i segnali di controllo sul bus sono specifici per interfacce gli indirizzi delle interfacce possono coincidere con indirizzi presenti in memoria centrale In ogni caso: modalità di trasferimento uniforme (no interazione diretta con dispositivo) e relativa indipendenza delle attività dei dispositivi e della CPU Esempio: invio di caratteri da memoria a stampante o terminale video: come fa l unità centrale ad inviare dati solo quando l interfaccia è pronta? Bit di sincronizzazione S pronto nel registro di stato, settato dal circuito di controllo, con cui il dispositivo segnala il suo stato (ready/not ready) Dispositivo di uscita (es. terminale video) - S pronto 0 dopo ogni scrittura nel registro dati - S pronto 1 dopo che l interfaccia è pronta a ricevere un nuovo dato Dispositivo di ingresso (es. tastiera) - S pronto 0 dopo ogni lettura da registro dati - S pronto 1 dopo che l interfaccia ha acquisito da dispositivo un nuovo dato Daniela Fogli Elementi di Informatica e Programmazione 19 Daniela Fogli Elementi di Informatica e Programmazione 20
Modalità di gestione dell I/O Gestione a controllo di programma Esigenze: Evitare perdite o duplicazioni di dati Consentire comunicazioni asincrone 3 Modalità di gestione: 1. A controllo di programma 2. Tramite interruzioni 3. Tramite DMA (Direct Memory Access Accesso Diretto alla Memoria) il DMA è un processore dedicato a cui viene demandato il compito di gestire il trasferimento E la modalità che si usa tipicamente per la stampa o i trasferimenti da/verso disco fisso Gestione a controllo di programma: un programma controlla ripetutamente il bit S pronto In pratica il bit S pronto viene controllato prima di ogni operazione di lettura o scrittura, se il dispositivo è pronto l operazione può procedere, altrimenti l unità centrale esegue un ciclo di attesa Esempio: lettura di una sequenza di dati da dispositivo e trasferimento in memoria con controllo programmato: il processo ripetuto per ogni dato spreco di tempo di CPU tutte le volte che deve attendere che il nuovo dato sia pronto Daniela Fogli Elementi di Informatica e Programmazione 21 Daniela Fogli Elementi di Informatica e Programmazione 22 Gestione a interruzione Gestione attraverso DMA Gestione a interruzione (interrupt): Le periferiche possono segnalare attivamente a CPU che sono pronte (disponibili al trasferimento) mediante un interruzione (interrupt): attivazione di apposite linee sul bus comandi L unità centrale può eseguire un qualunque altro programma, che non aspetta che il dispositivo sia pronto se avviene interruzione: esecuzione del programma corrente interrotta, procedura di servizio provvede a trasferire il dato fine procedura di servizio: ripresa del programma corrente necessario ogni volta salvataggio e ripristino dei registri Registro di stato Indirizzo di partenza Contatore di parole Controllore DMA 31 32 1 0. 31 32 1 0. 31 32 1 0. DMA gestisce trasferimento di un blocco di dati Quando finisce invia interrupt Memoria Unità disco Interfaccia Stampante veloce Interfaccia E la modalità di gestione della tastiera (il tempo che intercorre fra l immissione di un carattere e il successivo è di gran lunga superiore alla velocità della CPU), non buona per altri tipi di trasferimenti (es. da/verso disco) CPU Inizio: CPU invia - indirizzo di partenza - lunghezza del blocco da trasferire - direzione (I/O) bus Daniela Fogli Elementi di Informatica e Programmazione 23 Daniela Fogli Elementi di Informatica e Programmazione 24
Il calcolatore a livello fisico Esempio di Scheda Madre Scheda madre (motherboard): unica scheda che contiene: alloggiamenti per la CPU, memoria centrale, cache bus locali prese in cui si possono inserire i connettori delle schede di I/O Chipset: insieme dei circuiti integrati allocati sulla scheda madre che ne pilotano il funzionamento (si occupano di smistare e dirigere il traffico di informazioni passante attraverso fra CPU, RAM e controller delle periferiche) Ogni periferica è controllata da un interfaccia realizzata tramite una scheda che viene inserita nel calcolatore e connessa direttamente al bus il collegamento fra un interfaccia e una periferica avviene attraverso una porta predisposta sulla scheda e accessibile dall esterno sempre presenti: interfacce per il collegamento al video, alla tastiera, al mouse e alla stampante http://it.wikipedia.org/wiki/file:asusp4pe_mainboardsocket478.jpg Daniela Fogli Elementi di Informatica e Programmazione 25 Daniela Fogli Elementi di Informatica e Programmazione 26 Esempio di interfaccia: scheda audio Trasmissione dati tra interfaccia e periferica Permette comunicazione fra computer e altoparlanti Modalità Seriale (es. per mouse) Parallelo (es. per stampante) Regole di standardizzazione per la comunicazione RS-232C (seriale) Centronics (parallela) Daniela Fogli Elementi di Informatica e Programmazione 27 Daniela Fogli Elementi di Informatica e Programmazione 28
Nuovi standard di connessione seriale Nuovi standard di connessione seriale Universal Serial Bus (USB) Definito da un consorzio (Intel, Compaq, Microsoft, ), con l intento di sostituire le attuali porte seriali e parallele Collega fino a 127 periferiche in cascata Può alimentare direttamente le periferiche a basso consumo (e.g. tastiere e mouse) Completamente Plug and Play (anche per collegamento a caldo ) USB 2.0 (1999) arriva fino a 360-480Mbps Firewire 1394 Bus seriale ad alte prestazioni per la connessione di periferiche Connette 64 periferiche in cascata Supporta il Plug and Play e connessione a caldo Velocità di trasferimento di 400/800 Mbps Adatto per videocamere e videoregistratori digitali, lettori DVD e periferiche audio Daniela Fogli Elementi di Informatica e Programmazione 29 Daniela Fogli Elementi di Informatica e Programmazione 30 Porta parallela Porta USB - connessione di numerosi dispositivi in serie - plug & play - hot plugging - distribuiscono la corrente Porta Firewire Daniela Fogli Elementi di Informatica e Programmazione 31 Daniela Fogli Elementi di Informatica e Programmazione 32