Input/Output. bus, interfacce, periferiche

Documenti analoghi
Input/Output: bus, interfacce, periferiche

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

Architettura del calcolatore: gerarchia delle memorie, coprocessori, bus (cenni)

Input/Output (I/O) bus, interfacce, periferiche

I dispositivi di input/output

Livello logico digitale bus e memorie

Input/Output (Cap. 7, Stallings)

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Esame di INFORMATICA Lezione 4

Componenti principali

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

I/O. Interfacciamento di una periferica. Architettura di un elaboratore. L input/output Parte VI. Architettura degli Elaboratori e delle Reti

Metodo di arbitraggio

I Bus di Input-Output -- Interfacce

Modulo 1: Le I.C.T. UD 1.4e: BUS e Interfacce

Componenti e connessioni. Capitolo 3

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

1.4f: BUS e interfacce

Bibliografia. 1.4f: BUS e interfacce. Il BUS di sistema BUS. Bus Dati. Bus Indirizzi

Organizzazione di un Calcolatore. Architetture dei Calcolatori (Lettere. Dispositivi di I/O. Dispositivi di I/O. Device Controller

Lo scopo del BUS è quello d effettuare tutti i trasferimenti d informazioni tra le unità funzionali del calcolatore:

Corso di Informatica

Caratteristiche di un PC

1.4f: BUS e interfacce

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

La gestione dell I/O (Cap. 5, Tanenbaum)

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Sistemi Operativi. Sottosistema di I/O

La memoria - tecnologie

Informatica di Base - 6 c.f.u.

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Architettura di von Neumann

Architettura di von Neumann

I dispositivi di input/output

Architettura dei calcolatori

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

BUS. Il Livello Logico-Digitale. Il BUS del calcolatore. Il BUS del calcolatore. Sistema con diversi BUS. BUS interni ed esterni

IO 1 Input Output a livello Hardware

Corso di Calcolatori Elettronici I

I dispositivi di input/output

22/09/2010. Rossato Alessio

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Il sistema di I/O. Sistemi Operativi 13.1

Sommario della Lezione

Architettura di un elaboratore. Il modello di von Neumann

Il modello di Von Neumann

Memoria Secondaria o di Massa

LA GESTIONE DELLA I/O

Sottosistemi ed Architetture Memorie

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

La memoria - tecnologie

Il Livello Logico-Digitale. Il BUS del calcolatore

Architettura dei sistemi di elaborazione (Input/Output parte 3)

Corso di MODI DI INTERCONNESSIONE NEI SISTEMI

Il Sottosistema di Memoria

La memoria principale

Architettura hardware

Come è fatto un computer

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Lez. 5 I dispositivi di I/O. Prof. Pasquale De Michele Gruppo 2

Modulo: Elementi di Informatica

Il Processore. Informatica di Base -- R.Gaeta 27

Architettura di un PC

Porte Input/Output (I/O Connectors)

Il bus. Bus di sistema: insieme di collegamenti (solitamente in rame) che connette tutti i componenti di un architettura

ISA Input / Output (I/O) Data register Controller

Livelli del sottosistema di I/O

Input / Output. Struttura del Computer. M. Dominoni A.A. 2003/ componenti strutturali:

Input / Output. Input e Output

Gli attori principali di un architettura

Calcolatori Elettronici B a.a. 2008/2009

Confronto fra bus sincrono e bus asincrono: esempio.

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

I Bus. G. Casale 26 Aprile Politecnico di Milano DEI- Dipartimento di Elettronica ad Informazione

Il computer e i suoi componenti

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La memoria - tecnologie

Componenti fondamentali dell architettura di Van Neumann (già viste)

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Struttura fisica di un calcolatore. Esempio di motherboard: ASRock. Esempio di motherboard: Acer. Oltre alla scheda madre:

Is the bus a bus? Linea XX: Microprocessore-I/O-Memorie

Sistemi di Elaborazione delle Informazioni

Il computer P R O F. L O R E N Z O P A R I S I

Capitolo 2: Strutture dei sistemi di calcolo

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

La memoria periferica: i dischi magnetici

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Il Sottosistema di Memoria

Reti - Concetti di base

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Architettura di un calcolatore

Moduli Principali e loro Ingressi/Uscite. Strutture di Interconnessione. Sommario. Calcolatori Elettronici Prof. Ing. Gian Luca Marcialis

Struttura dell elaboratore elettronico

Corso di Informatica

Transcript:

Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 29 1/25 Input/Output Input / Output: insieme di architetture e dispositivi per il trasferimento di informazione da/verso l elaboratore Dispositivi eterogenei per: velocità di trasferimento latenze sincronismo modalità di interazione (con l uomo o con la macchina) L 29 2/25 1

Dispositivi di I/O - esempi Dispositivo Comportamento Partner Data Rate kb/sec Tastiera Input Umano 0.01 Mouse Input Umano 0.02 Stampante laser Output Umano 100 10000 Floppy disk I/O (memoria) Macchina 50 Disco ottico I/O (memoria) Macchina 500 Disco magnetico I/O (memoria) Macchina 10.000 Rete-LAN I/O Macchina 20 100.000 Video grafico (AGP) Output Umano 100.000 L 29 3/25 Collegamento tra le unità Come collegare le diverse unità (CPU con periferiche)? Connessione completa? (tutti i dispositivi con tutti) N/2 * (N 1) connessioni bidirezionali Complesso e difficile da controllare Non c è questa necessità! Registri 1 Memoria 2 5 6 4 ALU 3 IR L 29 4/25 2

Collegamento: il bus BUS: pathway comune che connette i diversi dispositivi Vantaggi bus: elevata flessibilità, semplicità, basso costo Svantaggi: gestione complessa del canale condiviso Tipi di bus nell elaboratore: processor memory: lunghezza ridotta, molto veloci sorthbridge / southbridge Backplane: servono per far coesistere la memoria, il processore e i dispositivi di I/O su di un unico bus ISA, PCI, VME, PC/104 I/O: notevole lunghezza, molti dispositivi connessi IEEE-488, USB, Ethernet L 29 5/25 Tipologie di bus Diverse strutture di bus Gli adattatori sono dispositivi attivi bridges memoria backplane CPU memoria adattatore backplane adattatore CPU I/O bus I/O bus L 29 6/25 3

Il bus CPU-Memoria memoria Processor-memory CPU backplane bus adattatore adattatore I/O bus adattatore I/O bus L 29 7/25 Esempio Pentium II Bus processore-memoria (cache) Bus di sistema (processore-ram) Bus di backplane: PCI L 29 8/25 4

Esempio: bus di un elaboratore Suddivisione del bus in parti logiche: Bus dati comprende le linee per trasferire dati e istruzioni da/verso i dispositivi. In generale, la dimensione del bus dati è tale da garantire il trasferimento contemporaneo di una parola di memoria; Bus indirizzi su cui la CPU provvede a trasmettere l indirizzo da cui prelevare il dato nel caso di lettura dalla memoria, oppure in cui depositarlo nel caso di scrittura nella memoria Bus di controllo dove transitano le informazioni ausiliarie per la corretta definizione delle operazioni da compiere (es: comando di lettura o scrittura) e per la sincronizzazione Protocollo di comunicazione La comunicazione su bus deve essere regolata attraverso un protocollo di comunicazione. L 29 9/25 Bus & buffer Il bus è condiviso da tutti i dispositivi si può trasmettere sul bus soltanto uno alla volta necessario un meccanismo di sincronizzazione per garantire le comunicazioni sul bus in modo corretto ed efficiente I dispositivi collegati al bus hanno differenti velocità di reazione/comunicazione Tipicamente all interno dei dispositivi sono presenti buffer per mantenere l informazione e non essere limitati dal dispositivo più lento. All interno dell ampiezza di banda massima si può: Aumentare la velocità di trasferimento Buffer grossi Ridurre i tempi di risposta (latenza) Buffer piccoli L 29 10/25 5

Gestione della comunicazione sul bus Due schemi principali di comunicazione: Sincrona bus sincrono Asincrona bus asincrono L architettura più semplice è quella che prevede un unico bus master ( padrone del BUS) in cui tutte le comunicazioni vengono mediate dal processore stesso Questo può creare un collo di bottiglia. Ad esempio nel caso di trasferimento di dati da I/O a memoria. In architetture con più dispositivi master occorre definire e rispettare una policy che coordini i diversi bus master arbitraggio del bus Questo è il principale inconveniente dei bus a nodo comune. L 29 11/25 Bus sincroni La linea di controllo è dotata di un segnale di sincronizzazione (bus clock) Comunicazione scandita dai cicli di clock in generale diverso da quello della CPU, ma sincronizzato con esso Vantaggi I protocolli sincroni permettono di ottenere bus molto veloci Svantaggi Ogni device deve essere sincronizzato complessità, costo Tutti i dispositivi devono potere lavorare alla frequenza imposta dal bus clock Lunghezza massima limitata (i ritardi nei fronti dovuti alla propagazione producono disallineamenti) I bus processor-memory sono spesso sincroni: hanno dimensioni ridotte, pochi elementi connessi devono essere veloci Ciclo di bus (bus cycle): n. cicli per effettuare una transazione: (typ. 2 5 CC) L 29 12/25 6

Bus sincroni Esempio bus sincrono: CPU Memoria Ciclo di lettura memoria L 29 13/25 Bus asincroni Un bus asincrono non è dotato di clock La comunicazione avviene mediante un protocollo di handshaking (MSYN0) (SSYN0) Job (MSYN1) (SSYN1) Vantaggi Possono avere lunghezza elevata e connettere molti dispositivi (spesso i bus esterni sono asincroni) Svantaggi Bassa velocità L 29 14/25 7

Bus asincroni Esempio: lettura di memoria comunicaz. asincrona L 29 15/25 Protocolli di comunicazione: arbitraggio Arbitraggio: Occorre stabilire quale master autorizzare all utilizzo del bus. Ad ogni dispositivo viene assegnata una priorità. Il dispositivo a priorità maggiore può accedere prima al bus. Meccanismo di accesso al bus: 1. Richiesta del bus bus request 2. Assegnamento del bus bus grant Problema: assicurare sia fairness che efficienza Qualità contrastanti si cerca un compromesso L 29 16/25 8

Schemi di arbitraggio Schemi centralizzati Arbitraggio Daisy Chain Arbitraggio Centralizzato con priorità Arbitraggio Centralizzato Parallelo Schema Decentralizzato (distribuito) L 29 17/25 Arbitraggio distribuito Un dispositivo che vuole prendere il controllo del bus, deve: 1. Inviare il segnale di richiesta del bus 2. Scrivere sul bus il codice che lo identifica 3. Controllare se il bus è libero (segnale BUSY) 4. Se il bus è libero ma ci sono richieste contemporanee di bus, controllare il codice dei dispositivi che hanno fatto richiesta 5. Se il bus è libero e i dispositivi hanno priorità minore: inviare 0 sulla linea di bus grant ai dispositivi successivi, asserisce la linea di BUSY (il bus è occupato) altrimenti non fare nulla 6. Deasserire la richiesta di bus L 29 18/25 9

Alcuni tipi di bus... PCI Firewire SCSI Nome dello standard PCI IEEE 1394 ANSI X3.131 Tipo di bus Back-plane Backplane & I/O (peer-to-peer) I/O Ampiezza bus (n. segnali del bus dati) 32-64 Seriale 8-32 Numero di dispositivi master molti molti molti Temporizzazione Sincrono 33-66Mhz Asincrono o sincrono Asincrono o sincrono (5-20Mhz) Banda di picco teorica 133-512MB/s (PCI64) 400-800MB/s (IEEE 1394) 5-160 MB/s Banda stimata raggiungibile 80 MB/s 266-533 MB/s 2,5-160 MB/s Max numero di dispositivi 1024 (32 disp./segm.) 63 7-31 Max lunghezza del bus 0,5 metri 0,5 metri (sincrono) 25 metri L 29 19/25 Le periferiche PERIFERICHE: Dispositivi collegati alla CPU mediante bus e/o interfacce INTERFACCE: Metodiche standard (circuiti, protocolli) per la comunicazione. Controllore della periferica (hardware) Driver (software) L 29 20/25 10

Interfacce: tassonomia Modalità di trasferimento dati: Seriale: 1 bit alla volta (RS-232, Ethernet, USB, Firewire) Parallela: più bit alla volta (Centronics, SCSI, IDE) Topologia del collegamento Punto-punto (RS-232, Firewire, ) A canale condiviso (Ethernet, Bluetooth, USB, ) Mezzo trasmissivo: Via cavo Wireless Cavi in rame, Fibre ottiche Infrarossi (IrDA), Onde radio (Bluetooth, WiFi, ZigBee) L 29 21/25 Struttura di interfaccia di una periferica Solitamente una macchina a stati finiti: Registri Dati (buffers) Registri di Stato situazione (stato) della periferica (idle, busy, down.), fase del comando in esecuzione. L 29 22/25 11

Indirizzamento dell I/O Come si accede alle periferiche da programma? Due modalità fondamentali: Memory-mapped Come se si accedesse a celle della memoria principale Necessità di distinguere tra indirizzi di memoria ed indirizzi di I/O Mediante istruzioni speciali di I/O Istruzioni appartenente alla ISA che indirizzano direttamente il dispositivo Nell istruzione è contenuto: Numero identificativo del dispositivo Parola di comando (o indirizzo della parola di comando) L 29 23/25 Indirizzamento Memory-mapped I registri del device controller sono considerati come celle di memoria RAM. I loro indirizzi saranno diversi da quelli delle celle di memoria. Il processore esegue operazioni di I/O come se fossero operazioni di lettura/scrittura in memoria. Esempio: sw $s0, indirizzo lw $s0, indirizzo dove l indirizzo è al di fuori dallo spazio fisico della memoria L 29 24/25 12

Indirizzamento Memory-mapped I controller ascoltano tutti i segnali in transito sul bus Bus snooping e si attivano solamente quando riconoscono sul bus indirizzi l indirizzo corrispondente alla propria locazione di memoria. Gestione indirizzi di I/O Gli indirizzi riservati ai registri del controller corrispondono di norma a porzioni di memoria riservate al S.O. Non sono accessibili quindi al programma utente. I programmi utente devono quindi passare dal S.O. per accedere a questi indirizzi riservati (modalità: kernel) Questo è quanto viene fatto ricorrendo alle: system call L 29 25/25 13