Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Trasferimento memoria memoria attraverso un DMA

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto Utentedlbp » 17 nov 2014, 23:30

Buonasera a tutti. Sto studiando il DMA Intel 8237.
Ecco il datasheet:
http://pdos.csail.mit.edu/6.828/2012/readings/hardware/8237A.pdf
e un link wikipedia:
http://en.wikipedia.org/wiki/Intel_8237

Però ho un problema. Devo effettuare un trasferimento memoria-memoria tra due memoria connesse a due bus diversi (in pratica a due sistemi diversi - queste memorie "si vedono a vicenda"). Ho capito tutto quello che succede in un trasferimento memoria-memoria su un singolo bus, ma se voglio effettuare un trasferimento come ho detto come posso fare? Innanzitutto è possibile? Se sì, credo che devo avere un DMA per ogni bus. E soprattutto come devo collegare i DMA?

Grazie e buona serata
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

0
voti

[2] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto UtenteTardoFreak » 17 nov 2014, 23:35

Non ho capito:
- Cosa intendi per "vedersi" applicato a due memorie.
- Ammesso che in qualche modo (che non riesco ad immaginare) possano ... mah ... vedersi, come farebbero a farlo se sono in due sistemi diversi con bus diversi?
:-M

Ma forse sarebbe meglio se entrassi un po' di più nel particolare spiegando esattamente quello che vorresti fare e non come vorresti farlo?
A meno che non sia un segreto militare.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[3] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto Utentedlbp » 17 nov 2014, 23:40

A parte tutte queste parole come "vedersi..." etc....vengo al dunque.
Sarà l'ora tarda e per questo non riesco a spiegarmi :D

Ho un sistema A e un sistema B.
Se nel sistema A ho un qualcosa in memoria a partire da una certa locazione, ho l'esigenza di scriverla in una locazione di memoria del sistema B. Posso farlo attraverso un DMA?

Sia il sistema A che il sistema B hanno un processore, una memoria e un bus.

Non so se mi son spiegato
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

0
voti

[4] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto UtenteTardoFreak » 17 nov 2014, 23:45

Non con quel controller per DMA che hai evidenziato.

E sinceramente non saprei neanche se esistono dei controllori DMA che lavorano su due bus.
Forse si ma non lo so.

Gli unici che conosco sono quelli del tipo da te indicato, e cioè oggetti che effettuano trasferimenti senza l' intervento della CPU alleggerendone il lavoro.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[5] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto Utentedlbp » 17 nov 2014, 23:52

Quindi con quello che ti ho linkato, posso solo effettuare trasferimento memoria-memoria su una singola memoria?
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

0
voti

[6] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto UtenteTardoFreak » 17 nov 2014, 23:54

Su diverse memorie ma tutte devono essere collegate ad un singolo bus.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[7] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto Utentedlbp » 18 nov 2014, 0:04

Infatti. Hai proprio ragione. Anche perché il DMA che ho citato non possiede alcun registro dato che possa permettere a due memoria connesse a bus diversi di scambiarsi dati. perché comunque il DMA Intel 8237 effettua trasferimenti memoria-memoria utilizzando il bus dati e il bus indirizzi.
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

0
voti

[8] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto Utentedlbp » 20 nov 2014, 22:43

Domanda a brucuapelo: quanto è consigliato, nel linguaggio Assembly, l'uso dei salti incondizionati?
Avatar utente
Foto Utentedlbp
28 1 4 7
Sostenitore
Sostenitore
 
Messaggi: 566
Iscritto il: 18 lug 2011, 12:06

0
voti

[9] Re: Trasferimento memoria memoria attraverso un DMA

Messaggioda Foto UtenteTardoFreak » 21 nov 2014, 9:37

Tutte le volte che è necessario.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti