Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Odczyt bloku pamięci
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004
Odczyt bloku pamięci

Witam

Jest jakaś funkcja odczytująca blok pamięci ??


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

07-01-2005 14:45
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

CopyMemory


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

08-01-2005 07:17
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

ta funkcja kopiuje blok pamięci do innego bloku a mi chodzi o sam odczyt

Chcę oczywiście wyliczyć prędkość odczytu

[Post edytowany dnia 08-01-2005 12:36 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

08-01-2005 12:35
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Zastanów się dobrze nad pytaniem, które zadałeś... co to jest "odczyt"? Zdefiniuj mi jakoś to pojęcie, a sam zobaczysz, o co mi chodzi .

[Post edytowany dnia 08-01-2005 14:38 przez marcin_an]


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

08-01-2005 14:38
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

W momencie gdy odczytujesz blok pamięci nie zapisujesz go od razu do innego bloku bo pomiędzy odczytem a zapisem masz jeszcze procesor dlatego


odczyt --> procesor ---> zapis

Copmemory wykonuje na raz wszystkie trzy czynności
tzn. wyliczenie adresu docelowego itd.

A mi chodzi o czas jaki minął od momentu odwołania się do bloku pamięci do czasu rozpoczęcia wyliczania adresu docelowego

Wiadome jest, że odczytany blok pamieci nie jest bezpośrednio zapisywany do innego bloku tylko "przechodzi" przez procesor.

P.S. Oczywiście nie chodzi mi tu o niewiadomo jaki blok bo wiadomo że procesor nie byłby w stanie odczytać wszystkiego na raz tylko jedna komórkę pamieci.

I właśnie o ten czas mi chodzi

[Post edytowany dnia 08-01-2005 15:19 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

08-01-2005 15:06
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

ok.

Zatem teraz idąc dalej:

Oczyt następuje do rejestra procesora. Jest to zwykle kopiowanie bloku od jednego do czterech oktetów. Trudno na tak małym odcinku liczyć czas przecież .

Funkcji, która to realizuje - nie ma.
Jest instrukcja procesora:  MOV (i ewentualnie POP, ale ta wykonuje dodatkowe operacje)
I na tym koniec, nie ma sensu pisania całej procedury.. skoro składałaby się tylko z MOV.
MOV z poziomu VB trudno byłoby wywołać (ale jest to możliwe - wpisując kod maszynowy w kod), ale zmierzenie czasu wykonia jest właściwie nierealne.

Chyba, żeby wykonać w pętli np. 10-20 milionów takich instrukcji... tylko, czy z poziomu VB jest to realne?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

09-01-2005 11:05
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Odczytać czas się da bo są funkcje podające czas z dokładnością do cyklu procesora.

W takim razie - jak zrobić w C++ DLL'kę współpracującą z VB albo jak połączyć plik ASM z VB - czy w ogóle się da ??


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

09-01-2005 11:11
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

DLL w C++: nie wiem dokładnie, nie pisałem w C++
ASM do VB - nie da się. Ale można podczas działania programu wkleić do niego kod maszynowy i go wykonać... i sam dawałes mi linka do tego, jak to zrobić (patrz: temat "wywoływanie procedur".


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

09-01-2005 11:18
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1