Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


IO system - slide corso, Dispense di Calcolatori Elettronici

Slides su sistemi input/output del corso Calcolatori Elettronici

Tipologia: Dispense

2021/2022

Caricato il 01/09/2022

luciana-silo
luciana-silo 🇮🇹

4.7

(3)

9 documenti

1 / 49

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Il Sistema di Input/Output
Corrado Santoro
ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica - Universit`
a di Catania, Italy
Architettura degli Elaboratori
Corrado Santoro Il Sistema di Input/Output
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Anteprima parziale del testo

Scarica IO system - slide corso e più Dispense in PDF di Calcolatori Elettronici solo su Docsity!

Il Sistema di Input/Output

Corrado Santoro

ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit `a di Catania, Italy [email protected]

Architettura degli Elaboratori

Il Sistema di Input/Ouput

Una caratteristica fondamentale di un computer e la possibilita di interagire con il mondo esterno (operatore umano, ambiente, etc.)

Queste operazioni sono effettuate attraverso le interfacce di Input/Output Esse sono dispositivi hardware che mettono a disposizione opportune funzionalit `a e/o collegamenti elettrici con l’esterno

Interagiscono con la CPU attraverso i collegamenti del bus di sistema

Il Sistema di Input/Ouput

I/O Mappato in Memoria

Una parte della memoria (stabilita a design-time) viene riservata per l’Input/Output Un set di indirizzi specifico dell’area di memoria `e assegnato all’Input/Ouput

Ogni interfaccia di I/O viene “allocata” (staticamente o dinamicamente) su uno o pi `u indirizzi dell’area riservata

L’accesso all’interfaccia `e effettuato attraverso delle operazioni di LOAD/STORE che utilizzano l’indirizzo assegnato all’interfaccia stessa

Il Sistema di Input/Ouput

I/O su Spazio Separato

Un set di indirizzi separato da quello della memoria centrale e assegnato all’Input/Output Ogni interfaccia di I/O viene “allocata” (staticamente o dinamicamente) su uno o piu indirizzi di tale area di I/O

L’accesso all’interfaccia `e effettuato attraverso delle operazioni speciali di IN/OUT (differenti dalle LOAD/STORE) che utilizzano l’indirizzo assegnato all’interfaccia stessa

I/O Mappato in Memoria e Control Bus

Data Bus

Control Bus

Address Bus

ADDRESS DECODER

PERIPHERAL REGISTERS

External Input/Output Lines

Il Control Bus espone due linee che indicano l’operazione che si sta effettuando:

RD, quando `e 0 indica un’operazione di READ (o LOAD)

WR, quando `e 0 indica un’operazione di WRITE (o STORE)

Bus di Sistema e Input/Output

STR VAL, [0x4002]

Data Bus

Control Bus

Address Bus

ADDRESS DECODER

PERIPHERAL REGISTERS

External Input/Output Lines

0x

0x

VAL

VAL

VAL

La CPU pone l’indirizzo 0x4002 sull’Address Bus Il decoder della periferica lo riconosce La CPU pone il dato sul Data Bus La CPU “attiva” il segnale WR L’hardware della periferica memorizza (“riceve”) il dato

Bus di Sistema, Input/Output e Sincronizzazione

Le operazioni tra CPU e periferica sono soggette ad uno scambio di segnali elettrici, in cui e importante sia l’aspetto logico (livello di tensione) che **temporale** Tali interazioni sono dunque regolate da un **protocollo** che specifica l’andamento tempolare dei segnali (cosa viene prima e dopo, quando accade un evento, quando accade l’altro evento, etc.) Il protocollo puo essere di due tipi: sincrono , e presente un segnale di clock e gli eventi avvengono solo durante i fronti **asincrono** , none presente un segnale di clock

BUS Sincrono

BUS Sincrono

Bus Sincrono e Scrittura su I/O

STR VAL, [0x4002]

CLOCK

ADDRESS LINES 0x

DATA LINES VAL

CPU Cycle

Data is written here in the peripheral's register

Bus Sincrono e Lettura da I/O

LDR REG, [0x4002]

CLOCK

ADDRESS LINES 0x

DATA LINES VAL

CPU Cycle

VAL is sent by peripheral to data bus

VAL is acquired by CPU

Esempio di Porta Digitale di Output

32 D-Type Flip-Flops

Q31 ...Q16 ...Q

32

Data Bus, D31 ... D

ADDRESSDECODER 0x

32

Address Bus, A31 ... A

CONTROL^ CLOCK

CLOCK

Address Decoder

SEL = 0 , when address = 0 x 4002

SEL = A 31 ...A 15 A 14 A 13 ...A 3 A 2 A 1 A 0

Esempio di Porta Digitale di Output

CLOCK

ADDRESS LINES 0x

DATA LINES VAL

CPU Cycle

Esempio di Porta Digitale di Input

32 D-Type Flip-Flops

I31 ...I16 ... I

32

Data Bus, D31 ... D

DECODER^ ADDRESS 0x

32

Address Bus, A31 ... A

CONTROL^ CLOCK ENABLEAND

CLOCK

32 Buffers 3-state 32

Address Decoder

SEL = 0 , when address = 0 x 4003

SEL = A 31 ...A 15 A 14 A 13 ...A 3 A 2 A 1 A 0

Esempio di Porta Digitale di Input—Timing

CLOCK

ADDRESS LINES 0x

DATA LINES VAL

CPU Cycle

Sample DataHere