verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Documenti analoghi
verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Input/Output. bus, interfacce, periferiche

Input/Output. bus, interfacce, periferiche

Input/Output. bus, interfacce, periferiche

I bus. Sommario. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

L input/output. Architettura degli Elaboratori e delle Reti

Input/Output: bus, interfacce, periferiche

I bus. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

I bus. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

I bus. Sommario. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano.

I bus. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Le interconnessioni tra i dispositivi. Sommario

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

Elettronica per l informatica. Cosa c è nell unità A. Unità A: Bus di comunicazione. A.1 Architetture di interconnessione A.2 Esempi commerciali

Dispositivi di I/O. Dispositivi di I/O

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

Livello logico digitale bus e memorie

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza

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

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

Input/Output (Cap. 7, Stallings)

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

Sottosistemi ed Architetture Memorie

Registri. Mem. cache. Mem. centrale. Dischi magnetici e/o ottici. Nastri magnetici. Memoria principale (o RAM) Memoria secondaria (o di massa)

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

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

Architettura hardware

Elementi di informatica

Input / Output. M. Dominoni A.A. 2002/2003. Input/Output A.A. 2002/2003 1

Architettura di un elaboratore. Il modello di von Neumann

Corso di Calcolatori Elettronici I

Le interconnessioni tra i dispositivi

LA GESTIONE DELLA I/O

Corso di Calcolatori Elettronici I

Elementi di informatica

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA Lezione 4

La memoria principale

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

Sistemi Operativi. Sottosistema di I/O

Il Sottosistema di Memoria

Architettura del Calcolatore

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

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

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Componenti principali

Strutture dei sistemi di calcolo

I dispositivi di input/output

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

Livelli del sottosistema di I/O

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

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

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

Componenti e connessioni. Capitolo 3

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche

Architettura di von Neumann

Architettura di von Neumann

Architettura del calcolatore. Prima parte

Cenni sull architettura del calcolatore

Il processore. Istituzionii di Informatica -- Rossano Gaeta

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

Corso di Informatica

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Embedded and Reconfigurable Systems M 03 Bus protocols

memoria PSW R1 R2 CPU Struttura logica dell elaboratore unità di controllo ALU unità di ingresso unità organo coordinatore clock di uscita

Architettura hardware

Caratteristiche di un PC

Modulo 1: Le I.C.T. UD 1.4b: Anatomia del Computer

LABORATORIO DI INFORMATICA

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

Il Processore: l unità di controllo

Memoria Secondaria o di Massa

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 4 Parte 1 Le infrastrutture hardware. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Problematiche Interfacciamento

Architettura hardware

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Struttura dei Sistemi di Calcolo

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.

Il Sottosistema di Memoria

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

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

Architettura di Von Neumann

Componenti di un processore

Architettura di un Sistema Informatico

Informatica di Base - 6 c.f.u.

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

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

HARDWARE. Hardware. Vista di insieme

Architettura di von Neumann

Architettura di un calcolatore: primi cenni introduttivi

Transcript:

I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di informazione da (Out) e verso (In) l elaboratore I dispositivi di I/O devono essere espandibili eterogenei I dispositivi di I/O sono molto vari e la tipologia di prestazione è diversa In alcuni caso interessa il tempo di accesso (la latenza) e il tempo di risposta Es. dispositivi interattivi come tastiere o mouse In altri casi siamo interessati al throughput Es. dischi o interfacce di rete

Classificazione dispositivi I/O I dispositivi di I/O sono di vario tipo e possono essere classificati in vari modi Comportamento: Che operazioni posso effettuare con il dispositivo (R/W) Partner: può essere un uomo o una macchina Velocità di trasferimento: tipicamente misurata in Mbit/s

Classificazione dispositivi I/O

Bus Come collegare CPU e periferiche? Connessione completa? Bus: percorso comune che connette i diversi dispositivi Vantaggi: elevata flessibilità, semplicità, basso costo Svantaggi: gestione complessa del canale condiviso

Tipologie di Bus Esistono tre tipi di bus: Bus processore/memoria: specializzati, corti e veloci (es. northbridge/southbridge) Bus di sistema: Servono per far coesistere la memoria, il processore e i dispositivi di I/O su di un unico bus (es. PCI, ISA) Bus IO: possono essere lunghi e permettono il collegamento con periferiche eterogenee (es. USB, Ethernet) i bus di IO non sono tipicamente collegati alla memoria in maniera diretta ma richiedono un bus processore/memoria o un bus di sistema Nelle prime architetture avevamo un unico grosso bus parallelo che collegava tutto Per problemi di clock e frequenze ora si usano architetture di comunicazione più complesse fatte di bus paralleli condivisi e di bus seriali punto/punto

Anatomia di un Bus Bus: infrastruttura di comunicazione tra diverse unità dell elaboratore. Suddivisione logica in tre sezioni: Bus dati: le linee per trasferire dati e istruzioni da/verso i dispositivi. Bus indirizzi: su cui la CPU trasmette gli indirizzi di memoria (o di periferica) che identificano il dato, in lettura/scrittura dalla memoria (o ingresso/uscita da periferica). Bus di controllo: trasporta informazioni ausiliarie per la definizione delle operazioni da compiere e per la sincronizzazione tra i dispositivi. Esempio: lettura dalla memoria 1. La CPU fornisce l indirizzo della parola desiderata sul bus indirizzi 2. Viene richiesta l operazione di lettura attivando il bus di controllo 3. Quando la memoria ha reso disponibile la parola richiesta, il dato viene trasferito sul bus dati e la CPU può prelevarlo dal bus dati ed utilizzarlo nelle sue elaborazioni

Esempio: Pentium 4

Comunicazioni su Bus Problematiche da risolvere nella comunicazione tramite BUS: Sincronizzazione Il bus è condiviso, quindi si può trasmettere sul bus soltanto uno alla volta Necessario un meccanismo di sincronizzazione per coordinare la comunicazione Comunicazione sincrona bus sincrono Comunicazione scandita da un segnale di clock comune Comunicazione asincrona bus asincrono Non esiste un clock; sincronizzazione mediante dialogo fra i partecipanti Controllo di flusso I dispositivi collegati al bus hanno differenti velocità e tempistiche di risposta e di comunicazione. Solitamente all interno dei dispositivi sono presenti buffer, per memorizzare temporaneamente l informazione e non essere limitati dal dispositivo più lento. Dimensionamento del buffer: Buffer grossi Aumenta la velocità di trasferimento Buffer piccoli Riduce i tempi di risposta (latenza)

Protocolli Meccanismo di controllo basato su regole condivise tra le unità partecipanti alla comunicazione Dipende da: Numero di unità coinvolte Tipo di dati scambiati (dati, acquisizione risorse, sincronizzazione Modalità di interazione (sincrona o asincrona) Simmetria (master-slave o multimaster) Tipo di trasmissione (seriale o parallela) Canale trasmissivo Gestione degli errori di trasmissione La comunicazione è organizzata in sessioni, a loro volta scomponibile in segmenti Ogni segmento richiede 1. Acquisizione del canale trasmissivo 2. Selezione dell'unità destinazione 3. Scambio dati con relativa sincronizzazione 4. Eventuale controllo e correzione degli errori 5. Rilascio del canale trasmissivo

Bus Sincrono Il bus è dotato di un segnale di sincronizzazione (bus clock) Comunicazione scandita dai cicli di bus clock in generale diverso da quello della CPU, ma sincronizzato con esso Vantaggi I protocolli sincroni permettono di ottenere bus molto veloci Svantaggi Tutti i dispositivi devono potere lavorare alla frequenza imposta dal bus clock Lunghezza massima limitata (i ritardi nei fronti dovuti alla propagazione producono disallineamenti) Il segnale di clock deve essere dimensionato sull'interlocutore più lento I bus processore-memoria sono in genere sincroni: hanno dimensioni ridotte, pochi elementi connessi e devono essere veloci Ciclo di bus (bus cycle): n. cicli per effettuare una transazione (2 5 CC)

Bus Sincrono: lettura mem CPU

Bus Asincrono Un bus asincrono non è dotato di clock La comunicazione avviene mediante un protocollo di handshaking Vantaggi: possono avere lunghezza elevata e connettere molti dispositivi (spesso i bus esterni sono asincroni) Svantaggi: in genere, bassa velocità di trasferimento dati Esempio: comunicazione Master/Slave: Master controlla la comunicazione Segnali: Master_Sync: 0: master ready, 1: master release Slave_Sync: 0: slave ready, 1: slave release

Bus Asincrono: lettura mem CPU

Periferica: dispositivo per ingresso/uscita di informazioni, collegato alla CPU mediante bus e/ o interfacce Interfaccia: procedura standardizzata (hw/sw: circuiti/protocolli) per la comunicazione. hardware: controllore della periferica software: driver Periferiche

Struttura di un interfaccia Interfaccia di I/O Registro di stato Registro dati Unità di controllo dell interfaccia Periferica Bus indirizzi Bus dati Bus di controllo

Indirizzamento 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 e 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)

Indirizzamento Memory-mapped I registri dell interfaccia 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 indirizzo è al di fuori dallo spazio fisico della memoria

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 in modalità memory-mapped Gli indirizzi riservati ai registri dell interfaccia corrispondono di norma a porzioni di memoria riservate al SO 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: syscall