Thread View: pl.comp.lang.asm
12 messages
12 total messages
Started by Wojciech Muła
Wed, 07 May 2008 18:50
pusha/popa
Author: Wojciech Muła
Date: Wed, 07 May 2008 18:50
Date: Wed, 07 May 2008 18:50
3 lines
1017 bytes
1017 bytes
Ile cykli wynosi opóźnienie pusha/popa na Core2? w.
Re: pusha/popa
Author: re-l
Date: Thu, 08 May 2008 13:20
Date: Thu, 08 May 2008 13:20
10 lines
1258 bytes
1258 bytes
http://developer.intel.com/design/processor/manuals/248966.pdf :) ale chyba tam nie znajdziesz bo ten opcode jest wewnetrznie dekodowany z tego co mi sie kolacze to na core2 pushad ma 5 cykli (aczkolwiek moge sie mylic) -- re-l
Re: pusha/popa
Author: Wiktor S.
Date: Thu, 08 May 2008 21:45
Date: Thu, 08 May 2008 21:45
8 lines
1040 bytes
1040 bytes
> Ile cykli wynosi opóźnienie pusha/popa na Core2? Porównaj jakiś bilion nopów z taką samą ilością pusha+popa i będziesz wiedział ;-) -- Azarien
Re: pusha/popa
Author: Wojciech Muła
Date: Fri, 09 May 2008 20:24
Date: Fri, 09 May 2008 20:24
18 lines
1492 bytes
1492 bytes
"re-l" <xxx@spam.no> wrote: > http://developer.intel.com/design/processor/manuals/248966.pdf > > :) > > ale chyba tam nie znajdziesz bo ten opcode jest wewnetrznie dekodowany No właśnie zauważyłem, że tam nie ma nie tylko pusha/popa ale i dużej liczby innych rozkazów. Dlatego tutaj zapytałem. > z tego co mi sie kolacze to na core2 pushad ma 5 cykli > (aczkolwiek moge sie mylic) U Agnera Foga znalazłem czasy dla P4 i jeśli teraz dobrze pamiętam, to było coś 4-6 cykli. w.
Re: pusha/popa
Author: Wojciech Muła
Date: Fri, 09 May 2008 20:27
Date: Fri, 09 May 2008 20:27
12 lines
1355 bytes
1355 bytes
"Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > > Ile cykli wynosi opóźnienie pusha/popa na Core2? > > Porównaj jakiś bilion nopów z taką samą ilością pusha+popa i będziesz > wiedział ;-) To już prędzej wprost zmierzyć liczbę cykli za pomocą PMC. Ale dopiero w przyszłym tygodniu będę miał komputer z Core2 -- wtedy przetestuję i Wam podam wyniki. w.
Re: pusha/popa
Author: Wojciech Muła
Date: Fri, 16 May 2008 20:35
Date: Fri, 16 May 2008 20:35
11 lines
1420 bytes
1420 bytes
"Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > > Ale dopiero w przyszłym tygodniu będę miał komputer z Core2 -- > > wtedy przetestuję i Wam podam wyniki. > > jak masz gotowy test to mogę ci odpalić i podać wyniki na Q6600. Dzięki, jednak niestety nie miałem ostatnio czasu żeby coś przygotować. W międzyczasie Core2 pojawił się w pobliżu. w.
Re: pusha/popa
Author: Dyziek
Date: Fri, 20 Jun 2008 16:31
Date: Fri, 20 Jun 2008 16:31
3 lines
1098 bytes
1098 bytes
Ja się podepnę do tematu pusha i popa. Wiecie może jaki jest sens robienia pusha a zaraz potem popa ? Ewentualnie popa a potem pusha ?
Re: pusha/popa
Author: Bogdan (bogdro)
Date: Sat, 21 Jun 2008 08:32
Date: Sat, 21 Jun 2008 08:32
17 lines
1573 bytes
1573 bytes
Dyziek pisze: > Ja się podepnę do tematu pusha i popa. > Wiecie może jaki jest sens robienia pusha a zaraz potem popa ? Możliwe, że można tego użyć do wykrywania rodzaju procesora (wkładana jest nowa lub stara wartość rejestru SP), ale nie wiem, czy jedno bezpośrednio po drugim może służyć temu celowi. > Ewentualnie popa a potem pusha ? Tak, próba spowodowania błędu stosu :) -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.JabberPL.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Re: pusha/popa
Author: Dyziek
Date: Sat, 21 Jun 2008 14:49
Date: Sat, 21 Jun 2008 14:49
8 lines
1175 bytes
1175 bytes
Bogdan (bogdro) pisze: > Dyziek pisze: >> Ewentualnie popa a potem pusha ? > > Tak, próba spowodowania błędu stosu :) > nie no, oczywiście na stosie już coś było wcześniej kładzione ;)
Re: pusha/popa
Author: Wojciech Muła
Date: Sun, 22 Jun 2008 23:25
Date: Sun, 22 Jun 2008 23:25
41 lines
2281 bytes
2281 bytes
On Fri, 9 May 2008 22:27:28 +0200 Wojciech Muła (czyli ja) wrote: > "Wiktor S." <wswiktor&poczta,fm@no.spam> wrote: > > > > Ile cykli wynosi opóźnienie pusha/popa na Core2? > > > > Porównaj jakiś bilion nopów z taką samą ilością pusha+popa i > > będziesz wiedział ;-) > > To już prędzej wprost zmierzyć liczbę cykli za pomocą PMC. > Ale dopiero w przyszłym tygodniu będę miał komputer z Core2 -- > wtedy przetestuję i Wam podam wyniki. Długo to trwało, ale wreszcie znalazłem czas na parę testów na Core2 E8200. 1. Test samego PUSHA: mov [old_ESP], esp // zachowanie rejestru esp pętla: pusha mov esp, [old_ESP] loop pętla Pętla powtarzana 10 mln razy --- ok. 14-15 cykli/iterację; trzeba wziąć poprawkę na obsługę pętli oraz odtwarzanie ESP, myślę że to będzie 1-2 cykle. Dla porównania kod symulujący PUSHA złożony z szeregu pojedynczych instrukcji PUSH wykonuje się w czasie ok. 12-16 cykli, więc nieco szybciej. 2. Test pary PUSHA/POPA: pętla: pushal popal loop pętla Pętla powtarzana 10 mln razy --- 19-20 cykli/iterację. [Prawie] równoważy kod złożony z instrukcji PUSH i POP potrzebuje trochę mniej, bo 15-19 cykli. w.
Re: pusha/popa
Author: Wojciech Muła
Date: Wed, 25 Jun 2008 18:21
Date: Wed, 25 Jun 2008 18:21
12 lines
1463 bytes
1463 bytes
On Mon, 23 Jun 2008 01:25:01 +0200 Wojciech Muła <wojciech_mula@poczta.null.onet.pl.invalid> wrote: > Długo to trwało, ale wreszcie znalazłem czas na parę testów na Core2 > E8200. > [...] Powtórzyłem testy -- zmierzyłem czasy dla pustych pętli, odjąłem je od wyników: pusha -- 9-10 cykli, sekwencja pusha/popa -- 14 cykli. Dla równoważnych ciągów push i pop czasy się wahają 8-14, oraz 10-16 cykli. w.
Re: pusha/popa
Author: Wiktor S.
Date: Tue, 01 Jul 2008 14:15
Date: Tue, 01 Jul 2008 14:15
12 lines
1245 bytes
1245 bytes
>>> Ewentualnie popa a potem pusha ? >> >> Tak, próba spowodowania błędu stosu :) >> > > nie no, oczywiście na stosie już coś było wcześniej kładzione ;) podjęcie rejestrów ze stosu, ale tak by na tym stosie pozostały. -- Azarien
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads