DMA Accesso Diretto alla Memoria



Documenti analoghi
Architettura di un sistema di calcolo

STRUTTURE DEI SISTEMI DI CALCOLO

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

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

CPU. Maurizio Palesi

Corso di Sistemi di Elaborazione delle informazioni

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

La Comunicazione tra i dispositivi

La Gestione delle risorse Renato Agati

= 0, 098 ms. Da cui si ricava t 2 medio

Architettura hardware

La memoria centrale (RAM)

Architettura del calcolatore

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Esame di INFORMATICA

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Pronto Esecuzione Attesa Terminazione

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Architettura hw. La memoria e la cpu

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

L unità di elaborazione pipeline L unità Pipelining

ARCHITETTURA DEL CALCOLATORE

C. P. U. MEMORIA CENTRALE

Calcolo numerico e programmazione Architettura dei calcolatori

CONTROLLO DI GESTIONE DELLO STUDIO

Parte II.2 Elaboratore

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

Capitolo 11 La memoria cache

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Approccio stratificato

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Coordinazione Distribuita

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Configurazione & Programmazione Profibus DP. in Ambiente Siemens TIA Portal

Introduzione all'architettura dei Calcolatori

Architettura dei calcolatori II parte Memorie

Sistemi Operativi Kernel

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Struttura del calcolatore

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

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

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Telecontrollo. Come poter controllare in remoto l efficienza del vostro impianto

Laboratorio di Informatica

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Organizzazione Monolitica

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Più processori uguale più velocità?

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

Sottosistema di Ingresso/Uscita (I/O)

SISTEMI OPERATIVI DISTRIBUITI

Architettura di un calcolatore

Il problema del produttore e del consumatore. Cooperazione tra processi

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Sistemi Operativi. 5 Gestione della memoria

Laboratorio di Informatica di Base Archivi e Basi di Dati

Hardware di un Computer

REGOLAMENTO PER L ADESIONE E L AFFILIAZIONE A SLOW FOOD

Collegamento al sistema

Gestione della memoria centrale

Sistemi Operativi SCHEDULING DELLA CPU

7.4 Estrazione di materiale dal web

Strutture di Memoria 1

istraffic Sistema di monitoraggio Traffico

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

Sistemi operativi. Esempi di sistemi operativi

Testi di Esercizi e Quesiti 1

TEORIA DEI SISTEMI OPERATIVI

Calcolatori Elettronici A a.a. 2008/2009

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Mon Ami 3000 Produzione interna/esterna Gestione della produzione interna/esterna

Stampe in rete Implementazione corretta

Esempio: aggiungere j

PREMESSA AUTOMAZIONE E FLESSIBILITA'

FONDAMENTI di INFORMATICA L. Mezzalira

Sistema operativo: Gestione della memoria

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Il calcolatore - Applicazioni

Capitolo 7: Sincronizzazione

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Architettura dei computer

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

Transcript:

Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati Sistemi multiprocessore Programmazione dell I/O: confronti tempo di risposta = tempo trascorso tra l istante in cui il dispositivo diviene pronto (STATUS=1) e l istante in cui il processore inizia ad eseguire le istruzioni di I/O richieste dal relativo protocollo; programmazione con i cicli di attesa (busy waiting): svantaggio: uso inefficiente del processore; vantaggio: tempo di risposta minimo (1 istruzione); programmazione tramite le interruzioni: vantaggio: uso efficiente del processore; svantaggio: ritardo nella risposta (necessità di salvare il contesto, riconoscere l interruzione, attivare la RSI, prima di poter eseguire le istruzioni di I/O). 1

Limiti dell I/O tramite interruzioni si consideri una RSI (routine di servizio delle interruzioni) la cui esecuzione richieda 10μs; tenendo presente il fatto che una RSI non può essere rientrante (per esserlo, ad ogni sua attivazione dovrebbe operare su dati diversi; invece opera sempre sugli stessi registri del medesimo dispositivo), e che, pertanto, non può essere interrotta dal medesimo dispositivo che ne ha provocato l attivazione; il periodo di tempo tra due trasferimenti consecutivi non può essere inferiore a 10μs. 2 Limiti dell I/O tramite interruzioni velocità di trasferimento dati (data rate) = numero di dati trasferiti in un secondo; nell esempio precedente (RSI da 10 μs) la massima velocità di trasferimento dati consentita è di 100 Kdati/secondo: - se il dispositivo trasferisce dati a una velocità superiore, il processore non riesce a starci dietro: perdita di dati; - se il dispositivo trasferisce dati alla massima velocità consentita (100 Kdati/secondo), il processore impegna il 100% del suo tempo per gestire il trasferimento: mentre dura il trasferimento dei dati, il processore non fa altro; - se il dispositivo trasferisce un dato ogni 12,5 μs, alla velocità di 80 Kdati/s: il processore impegna l 80% del suo tempo. per gestire dispositivi con data rate superiori a 100 Kdati/s, il metodo delle interruzioni non va bene. 3

Accesso diretto alla memoria per gestire dispositivi con data rate superiori a 100 Kdati/s, è necessario usare il metodo dell accesso diretto alla memoria (DMA Direct Memory Access); si tratta di un diverso meccanismo di I/O: i dati vengono trasferiti autonomamente dal dispositivo, che accede direttamente alla memoria, senza l intervento del processore; come organizzare un meccanismo di questo tipo? 4 Operazioni per trasferire un dato il trasferimento di un blocco di dati da (o verso) un dispositivo esterno richiede che, ad ogni dato che viene trasferito, siano effettuate le seguenti operazioni: trasferimento del dato dal registro data buffer ad una locazione di memoria (o viceversa); incremento di un puntatore, in modo che punti alla posizione da cui (o in cui) verrà trasferito il dato successivo; aggiornamento di un contatore (di solito un decremento) se il trasferimento è gestito utilizzando le interruzioni, queste operazioni sono realizzate dal processore con l esecuzione di istruzioni inserite nella routine di servizio; si tratta, però, di operazioni piuttosto semplici, che possono essere eseguite da un hardware molto semplice (non serve la complessità di un processore). 5

DMA controller L hardware che esegue quelle operazioni è un DMA controller ; esso affianca il dispositivo, come rappresentato in figura: 6 Schema per i trasferimenti via DMA DMA controller il DMA controller rappresentato in figura comprende due registri: CAR (Current Address Register), che contiene un puntatore alla locazione di memoria da cui (o in cui) verrà trasferito il prossimo dato; WC (Word Count), che funge da contatore e indica il numero di dati che rimangono da trasferire; il DMA controller accede alle linee del bus di memoria e può effettuare operazioni di lettura e scrittura; poiché le medesime linee del bus di memoria sono anche usate dal processore, l hardware deve realizzare una funzione di arbitraggio delle richieste di accesso al bus: per evitare conflitti, l accesso al bus può aver luogo solo dopo aver ottenuto il consenso dell arbitro. 7

Trasferimento di un blocco di dati Sequenza di eventi che controlla il trasferimento di un blocco di dati con modalità DMA: 1. il processore invia nei registri CAR e WC associati al dispositivo, le informazioni che definiscono il trasferimento da effettuare (indirizzo dell area di memoria interessata dal trasferimento, numero di dati del blocco da trasferire); 2. il processore invia il segnale START (con cui comanda il trasferimento dell intero blocco di dati); da questo momento in poi il processore non interviene più nel trasferimento dei singoli dati, che viene operato autonomamente dal dispositivo e dal DMA controller; 8 Trasferimento di un blocco di dati 3. quando il dispositivo è pronto a trasferire un dato, hanno luogo lo scambio di informazioni e le operazioni indicate nel seguente schema: 9 4. quando l ultimo dato del blocco è stato trasferito, il DMA controller genera una richiesta di interruzione, che segnala al processore che il comando (di trasferire l intero blocco di dati) è stato eseguito. t

Arbitraggio del bus 10 Il processore fa da arbitro e dà la precedenza al (ai) DMA Sistemi multiprocessore Si è visto come sia possibile, con una opportuna logica di arbitraggio, consentire a qualcun altro (il DMA controller) di accedere alla medesima memoria cui accede il processore; Questo qualcun altro potrebbe possedere un hardware più sofisticato di un DMA controller ed essere anche un altro processore (con il proprio PC, IR, ecc., in grado di eseguire le istruzioni di un programma residente nella medesima memoria, in parallelo a quello eseguito dal processore principale ). 11

Sistemi con processori ausiliari Ciò consente, ad esempio di affiancare alla CPU uno (o più) processori ausiliari, dedicati a funzioni specializzate (gestione di grafica video, elaborazioni multimediali, ); spesso conviene che i processori ausiliari abbiano anche una memoria locale (per ridurre il traffico su quella condivisa). 12 MEMORIA LOCALE Sistema multiprocessore con PU Specializzati Sistemi multiprocessore simmetrici In alcune circostanze risultano utili configurazioni con processori paritetici, con cui si ottiene, oltre alla maggior potenza di calcolo dovuta al parallelismo, anche la possibilità di ripartire il carico in modo dinamico, una buona tolleranza ai guasti, Sistema multiprocessore con PU Equivalenti mem. loc. mem. loc. mem. loc.

Fine 08.a DMA - Accesso Diretto alla Memoria