Thread View: pl.comp.lang.asm
9 messages
9 total messages
Started by yesma
Fri, 16 Jul 2010 19:02
pytanie o skoki warunkowe
Author: yesma
Date: Fri, 16 Jul 2010 19:02
Date: Fri, 16 Jul 2010 19:02
11 lines
1094 bytes
1094 bytes
witam jakoś nie mogę się doszukać w manualach intela ile cykli trwają skoki warunkowe nie wiem czy przeoczyłem czy poprostu tam ich niema, jedyne co znalazłem w miare aktualne o ilości cykli procesorów jest na http://www.agner.org ale niestety Jcc raczej niema Jak ktoś zna odpowiedź gdzie tego szukać to poproszę -- Regards - Grzechu Linux x86_64
Re: pytanie o skoki warunkowe
Author: Kicer
Date: Fri, 16 Jul 2010 19:25
Date: Fri, 16 Jul 2010 19:25
20 lines
1421 bytes
1421 bytes
yesma wrote: > witam > jakoś nie mogę się doszukać w manualach > intela ile cykli trwają skoki warunkowe > nie wiem czy przeoczyłem czy poprostu tam ich niema, > jedyne co znalazłem w miare aktualne o ilości cykli procesorów > jest na http://www.agner.org ale niestety Jcc raczej niema > Jak ktoś zna odpowiedź gdzie tego szukać to poproszę > znajdziesz conajwyzej dla 386 lub 486, dla nowszych nie ma ze względu na złożoność architektury, wiele rozkazów się wykonuje równolegle z innymi niektóre sie wykonują w innych czesciach porocesora itd ;) -- Michał Walenciak Kicer86 at gmail dot com http://kicer.sileman.net.pl gg: 3729519
Re: pytanie o skoki warunkowe
Author: yesma
Date: Fri, 16 Jul 2010 20:59
Date: Fri, 16 Jul 2010 20:59
15 lines
1343 bytes
1343 bytes
Kicer pisze: > znajdziesz conajwyzej dla 386 lub 486, dla nowszych nie ma ze względu na > złożoność architektury, wiele rozkazów się wykonuje równolegle z innymi > niektóre sie wykonują w innych czesciach porocesora itd ;) > podziękowałbym za odpowiedź jakbyś jeszcze podał jakiegoś linka dla 386 , wiem że nie jest to oczywiste ile cykli to trwa ale chociaż jakieś przybliżenie, ile to trwa w najszybszym możliwym tępie -- Regards - Grzechu Linux x86_64
Re: pytanie o skoki warunkowe
Author: Michoo
Date: Fri, 16 Jul 2010 21:11
Date: Fri, 16 Jul 2010 21:11
20 lines
1484 bytes
1484 bytes
yesma pisze: > Kicer pisze: > >> znajdziesz conajwyzej dla 386 lub 486, dla nowszych nie ma ze względu >> na złożoność architektury, wiele rozkazów się wykonuje równolegle z >> innymi niektóre sie wykonują w innych czesciach porocesora itd ;) >> > > podziękowałbym za odpowiedź jakbyś jeszcze podał jakiegoś linka > dla 386 , wiem że nie jest to oczywiste ile cykli to trwa > ale chociaż jakieś przybliżenie, http://home.comcast.net/~fbui/intel.html > ile to trwa w najszybszym możliwym tępie oidp na core2duo poniżej jednego cyklu przy założeniu, że ta sama odnoga jest wybierana wiele razy pod rząd -- Pozdrawiam Michoo
Re: pytanie o skoki warunkowe
Author: yesma
Date: Sat, 17 Jul 2010 13:59
Date: Sat, 17 Jul 2010 13:59
20 lines
1387 bytes
1387 bytes
Michoo pisze: > http://home.comcast.net/~fbui/intel.html > dzięki bardzo fajna stronka >> ile to trwa w najszybszym możliwym tępie > oidp na core2duo poniżej jednego cyklu przy założeniu, że ta sama odnoga > jest wybierana wiele razy pod rząd > czyli np w pętlach ? Pytam o skoki bo gdzieś wyczytałem że są kosztowne, szukałem więc jak bardzo i nie mogłem znaleść. Na to wygląda że tak nie jest. Dzięki -- Regards - Grzechu Linux x86_64
Re: pytanie o skoki warunkowe
Author: Michoo
Date: Sat, 17 Jul 2010 15:46
Date: Sat, 17 Jul 2010 15:46
23 lines
1724 bytes
1724 bytes
yesma pisze: > Michoo pisze: >>> ile to trwa w najszybszym możliwym tępie >> oidp na core2duo poniżej jednego cyklu przy założeniu, że ta sama >> odnoga jest wybierana wiele razy pod rząd >> > czyli np w pętlach ? Jeżeli masz pętlę z licznikiem to tak - dokładnie w tym celu optymalizowano procesory. > Pytam o skoki bo gdzieś wyczytałem że są kosztowne, > szukałem więc jak bardzo i nie mogłem znaleść. > Na to wygląda że tak nie jest. To zależy od naprawdę wielu czynników - tutaj jest porównanie szybkości dwóch metod, każda po 5 instrukcji: http://tnij.org/hmdm Niestety nie miałem żadnego "normalnego" amd do testów, ale widać, że tak jak "zazwyczaj" skoki kosztują zauważalnie, to zależnie od procesora czy danych może się to zmieniać. -- Pozdrawiam Michoo
Re: pytanie o skoki warunkowe
Author: yesma
Date: Sat, 17 Jul 2010 17:12
Date: Sat, 17 Jul 2010 17:12
38 lines
1651 bytes
1651 bytes
Michoo pisze:
> Jeżeli masz pętlę z licznikiem to tak - dokładnie w tym celu
> optymalizowano procesory.
>
To która z pętli wykona się szybciej 2 3 1 ?
;~~~~~~~~~~~~~~
mov cx,10
.loop:
loop .loop
;~~~~~~~~~~~~~~ czy to jest przykład szybkiej pętli ?
mov cx,10
.loop:
dec cx
jnz .loop
;~~~~~~~~~~~~~~
mov cx,20
.loop:
dec cx
cmp cx,10
jbe .loop
;~~~~~~~~~~~~~~
> tutaj jest porównanie szybkości
> dwóch metod, każda po 5 instrukcji:
> http://tnij.org/hmdm
Obydwie metody mi się spodobały na pewno wykorzystam.
To takie skoki są kosztowne po cmp ?
--
Regards - Grzechu
Linux x86_64
Re: pytanie o skoki warunkowe
Author: Kicer
Date: Sun, 18 Jul 2010 13:09
Date: Sun, 18 Jul 2010 13:09
19 lines
1385 bytes
1385 bytes
yesma wrote: > podziękowałbym za odpowiedź jakbyś jeszcze podał jakiegoś linka > dla 386 , wiem że nie jest to oczywiste ile cykli to trwa > ale chociaż jakieś przybliżenie, > ile to trwa w najszybszym możliwym tępie 385 ma już 25 lat, czas w jakim wykonywał instrukcje ma sie nijak do czasów wykonywania współczesnych procków, informacje z dokumentacji nic by Ci nie dały. ale jesli chcesz to prosze: www.cs.ucla.edu/~kohler/class/aos-f04/ref/i386.pdf -- Michał Walenciak Kicer86 at gmail dot com http://kicer.sileman.net.pl gg: 3729519
Re: pytanie o skoki warunkowe
Author: yesma
Date: Sun, 18 Jul 2010 14:06
Date: Sun, 18 Jul 2010 14:06
21 lines
1564 bytes
1564 bytes
Kicer pisze: > 385 ma już 25 lat, czas w jakim wykonywał instrukcje ma sie nijak do czasów > wykonywania współczesnych procków, informacje z dokumentacji nic by Ci nie > dały. > > ale jesli chcesz to prosze: > www.cs.ucla.edu/~kohler/class/aos-f04/ref/i386.pdf > dzięki, nigdy tego dokumentu nie widziałem i nie wiedziałem że 386 jest aż taki stary czytam teraz http://www.agner.org/optimize i zaczynam rozumieć dlaczego to nie jest taka prosta sprawa z tymi skokami, na pewno trzeba nieć dużo w głowie żeby napisać szybką pętlę w której skok zajmuje jeden lub mniej cykli -- Regards - Grzechu Linux x86_64
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