Corso di Informatica 2 Prof. Sciuto; Lezione su Bus e I/O.

Documenti analoghi
Comunicazione di I/O

Il Livello Logico-Digitale. Il BUS del calcolatore

IO 1 Input Output a livello Hardware

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

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

Esercizi Logica Digitale,Circuiti e Bus

Calcolatori Elettronici Lezione B2 Il Bus

Architetture dei Calcolatori Il Bus

Un bus è costituito da un fascio di collegamenti elettrici. In genere viene rappresentato mediante una freccia larga

Input/Output. bus, interfacce, periferiche

Metodo di arbitraggio

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Giustificazione dei sistemi di interrupt

Corso di Calcolatori Elettronici I

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

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

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

La Comunicazione tra i dispositivi

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico

ElapC4 24/09/ DDC 1 ELETTRONICA APPLICATA E MISURE. Ingegneria dell Informazione. Lezione C4: Cicli di trasferimento

Università degli Studi di Cassino

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

Il Sottosistema di Memoria

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

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

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

Il Sottosistema di Memoria

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

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

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Calcolatori Elettronici A a.a. 2008/2009

Reti logiche (2) Circuiti sequenziali

Componenti principali

Sistemi di Elaborazione: esercizio con il D12

Calcolatori Elettronici B a.a. 2008/2009

Confronto fra bus sincrono e bus asincrono: esempio.

Il Microprocessore. Modello di Von Neumann

Indice. Introduzione I Bus di Sistema. Il BUS VME. Architettura Principi di Funzionamento

Componenti e connessioni. Capitolo 3

Università degli Studi di Cassino e del Lazio Meridionale

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

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

Capitolo 13 Il sottosistema di ingresso/uscita

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

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

DMA Accesso Diretto alla Memoria

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

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

PROVA SCRITTA DEL MODULO/CORSO DI. 24 novembre 2016

Memoria cache, interrupt e DMA

Il sistema di I/O. Sistemi Operativi 13.1

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

CPU chips e bus. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Circuiti sincroni Circuiti sequenziali: i bistabili

Università degli Studi di Cassino e del Lazio Meridionale

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

Input / Output. Input e Output

Livello logico digitale bus e memorie

Capitolo2: Architettura del calcolatore

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione.

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Elementi di memoria

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

(competenze digitali) CIRCUITI SEQUENZIALI

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

Sistemi Operativi. Sottosistema di I/O

Calcolatori Elettronici Parte V: Microprocessori e Bus. Prof. Riccardo Torlone Universita di Roma Tre

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

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

Università degli Studi di Cassino

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO ORDINAMENTO DIDATTICO 14 Settembre 2004

Elementi di informatica

Macchina di von Neumann/Turing

Circuiti sequenziali

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

Pin-out logico di una CPU CPU. Reset Clock Ready. Architettura di un Sistema

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Esempio di motherboard: ASRock

Struttura fisica di un calcolatore

Dischi: Esercizio 1. Ora t.elab = n.cicli impiegati / Frequenza = / ( ) = 20ms

CALCOLATORI ELETTRONICI

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

ARCHITETTURA DI UN PERSONAL COMPUTER

Circuiti sequenziali e elementi di memoria

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

LA GESTIONE DELLA I/O

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

CONTATORE/TIMER PROGRAMMABILE CTC Z80 1. Piedinatura 2. Struttura interna 4. Modo timer 5. Modo Counter 8. Programmazione del CTC 13

Gestione software Il meccanismo delle interruzioni - 3

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

I bistabili ed il register file

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Principali periferiche

Elementi di informatica

Parte IV. Bus e microprocessori

Parte IV. Bus e microprocessori

Architettura di una CPU

Transcript:

Corso di Informatica 2 Prof. Sciuto Comunicazione di I/O Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 30 Maggio 2005 1

Convenzioni sui termini e sui segnali Mostreremo sequenze degli eventi di meccanismi di I/O, con alcune precisazioni in più rispetto all'hamacher, orientate allo svolgimento dei temi d'esame; Per convenzione il ciclo di clock inizia col fronte di salita; Convenzione di denominazione dei segnali (vedi Hamacher): DATA = dato ADDRESS = indirizzo REQ = comando SRDY = unità slave pronta I segnali attivi bassi sono qui sottolineati; Indipendentemente dal fatto che un segnale sia attivo alto/basso, usiamo i termini set / reset per indicare attivazione/disattivazione; Attenzione: Hamacher NON dice quando si fa unset di DATA; disambiguiamo noi in maniera conveniente (slides successive); 2

Bus sincrono monociclo, lettura Sequenza degli eventi: @ clock ä master set ADDRESS, R/W master set REQ @ clock æ slave sample ADDRESS, R/W... slave set DATA @ clock ä master sample DATA master unset REQ, ADDRESS (master può iniziare lettura successiva) @ clock æ slave unset DATA L'operazione successiva può essere una lettura (in tal caso si completa una lettura in ciascun ciclo); ma non può essere una scrittura: master deve attendere unset DATA; 3

Esempio: lettura monociclo Clock = 10 MHz (T=100 ns); latenza della memoria t m = 20ns; lettura in un ciclo; Ciclo 1 Ciclo 2 CLOCK ADDRESS R/W REQ DATA t m 4

Bus sincrono multiciclo, lettura Sequenza degli eventi: @ clock ä master set ADDRESS master set R/W master set REQ @ clock æ slave sample ADDRESS, R/W ritardo di 0 o più cicli di clock; a lettura completata: slave set SRDY slave set DATA @ clock ä master sample DATA master unset REQ, ADDRESS (master può iniziare lettura successiva) @ clock æ slave unset DATA, SRDY Il master campiona i dati al termine del ciclo in cui vede SRDY attivato; 5

Esempio: lettura multiciclo Clock = 10 MHz (T=100 ns); latenza della memoria t m = 120ns; lettura in 2 cicli; Ciclo 1 Ciclo 2 Ciclo 3 CLOCK ADDRESS R/W REQ SRDY DATA t m 6

Bus asincrono Il bus asincrono non prevede segnale di clock; Le operazioni avvengono al massimo della velocità possibile, senza attendere fronti di clock; Al posto dei segnali di clock e SRDY, si usano i segnali: MSYN, Master SYNchronization = unità master pronta; SSYN, Slave SYNchronization = unità slave pronta; 7

Sequenza degli eventi: Bus asincrono, lettura t0: master set ADDRESS, REQ, R/W t1: master set MSYN (dopo t prop.) t2: slave set DATA (ASAP) slave set SSYN (dopo t prop.) t3: master vede SSYN master sample DATA t4: master reset MSYN, REQ, R/W t5: slave reset SSYN slave unset DATA 8

Bus asincrono, lettura Diagramma temporale ADDRESS R/W REQ MSYN DATA SSYN t m t 0 t 1 t 2 t 3 t 4 t 5 9

Bus asincrono, scrittura Sequenza degli eventi: t0: master set ADDRESS, REQ, DATA master reset R/W (scrittura) t1: master set MSYN (dopo t prop.) slave sample DATA slave (scrittura) t2: slave set SSYN t3: master vede SSYN t4: master unset MSYN, REQ, R/W, DATA t5: slave reset SSYN 10

Bus asincrono, scrittura Diagramma temporale ADDRESS R/W REQ DATA MSYN SSYN t 0 t 1 t 2 t 3 t 4 t 5 11

Arbitraggio del bus DMA: i dispositivi abilitati (DMA controller) comunicano con la memoria senza impegnare il processore; ad un dato istante, uno solo dei DMA controller è il dispositivo abilitato a trasferire dati sul bus, cioè il bus master; il passaggio dei poteri di bus master da un DMA controller ad un altro avviene: in maniera centralizzata, sotto il controllo del bus arbiter, solitamente la CPU; in maniera distribuita, senza bisogno di arbitri; 12

Arbitraggio del bus centralizzato Segnali: Bus Request BUS_REQ richiesta del bus Bus Granted BUS_GRANTx autorizzazione all'uso del bus Bus BuSY BUS_BUSY bus occupato Sequenza degli eventi: PERIF: set BUS_REQ ARB: set BUS_GRANT1 PERIF: attende reset BUS_BUSY reset BUS_REQ ARB: reset BUS_GRANT1 PERIF: set BUS_BUSY usa il bus reset BUS_BUSY Attenzione: numerose varianti possibili 13

Arbitraggio del bus centralizzato Diagramma temporale BUS_REQ BUS_GRANT1 BUS_GRANT2 BUS_BUSY 14

Interruzione vettorizzata Ogni dispositivo ha un suo codice univoco n (vettore di interrupt) e si identifica ponendo tale codice sul bus dati; In risposta all'irq, la CPU deve leggere n dal bus e saltare alla locazione indicata nella n-esima della della tabella dei vettori di interrupt; Il bus potrebbe essere in uso, nel momento in cui il dispositivo deve generare l'interrupt, quindi prima di porre il proprio codice sul bus attende il segnale INT_ACK (INTerrupt ACKnowlegde) A seconda dell'architettura adottata può esserci un segnale di WAIT per permettere al dispositivo di indicare alla CPU che il codice non è ancora pronto sul bus; 15

Interruzione vettorizzata Sequenza degli eventi: PERIF: set INT_REQ CPU: termina l'istruzione corrente set INT_ACK PERIF: reset INT_REQ set WAIT se necessario CPU: reset INT_ACK PERIF: set DATA reset WAIT CPU: attende reset WAIT sample DATA 16

Interruzione vettorizzata Diagramma temporale INT_REQ INT_ACK WAIT DATA 17