Cosa significa "I/O non mappato in memoria" ?

Salve, quando parliamo di interfacciamento di convertitori DAC e si dice che l'

*I/O non e' mappato in memoria* questo cosa significa esattamente ?..Qualcuno mi saprebbe spiegare ? grazie mille
Reply to
Smigol
Loading thread data ...

Il giorno Fri, 27 Jan 2006 14:21:19 +0100, Smigol ha scritto:

Direi che significa che non ci puoi accedere come ad una cella di memoria.

Poi dipende di cosa si tratta, ci sono microprocessori che mappano l'I/O e ci devi accedere con apposite istruzioni IN e OUT. (es. Z80)

Se vuoi risposte più precise devi dare qualche informazione in più.

-- ciao Stefano

Reply to
SB

Il discorso non e' specifico di DAC ma e' legato all' architettura delle CPU. Molte CPU (per esempio i PIC e le CPU Motorola) accedono ai port di I/O come se fossero elementi di memoria. In questo caso si parla di "I/O memory mapped". Altre CPU hanno un indirizzamento separato della memoria e dei port di I/O (per esempio le CPU Intel dall'8080 al Pentium) e usano istruzioni speciali per accedervi (in, out). Ovviamente niente impedisce di impiegare una struttura "I/O memory mapped" anche su queste CPU. Come prestazioni due architetture non presentano significative differenze, anche perche' ho sempre visto le CPU del secondo tipo usare lo stesso bus fisico sia per memoria che per I/O, cambia solo un segnale di controllo.

Reply to
Valeria Dal Monte

Il discorso e' piu' generale e non riguarda solo i DAC. In breve...

Esistono microprocessori che mantengono fisicamente distinti lo spazio di indirizzamento della memoria da quello delle porte di i/o per l'interfacciamento con dispositivi esterni. In questi casi si parla di "i/o mapped i/o" e il processore dispone di pin distinti per il controllo dell'accesso ai due spazi di indirizzamento (attenzione: parlo di segnali di controllo, perche' normalmente data bus e address bus rimangono condivisi). A livello software (parlo di codice macchina/assembly), questa distinzione si traduce nell'esistenza di istruzioni per l'accesso all'i/o distinte da quelli per l'indirizzamento della memoria. (Es. LD per indirizzare la memoria, IN e OUT per l'i/o)

Se non c'e' distinzione tra i due spazi di indirizzamento, allora i dispositivi di i/o vengono "mappati" su porzioni dello spazio di indirizzamento normalmente utilizzate per la memoria centrale, e allora si parla di "memory mapped i/o". In questo caso i dispositivi di i/o vengono "visti" come se fossero vere e proprie locazioni di memoria e quindi, a livello software, si utilizzano le stesse istruzioni per indirizzarli.

Ciao Roberto

Reply to
Roberto Bagnoli

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.