🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
9 messages
9 total messages Started by yesma Fri, 16 Jul 2010 19:02
pytanie o skoki warunkowe
#2333
Author: yesma
Date: Fri, 16 Jul 2010 19:02
11 lines
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
#2334
Author: Kicer
Date: Fri, 16 Jul 2010 19:25
20 lines
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
#2335
Author: yesma
Date: Fri, 16 Jul 2010 20:59
15 lines
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
#2336
Author: Michoo
Date: Fri, 16 Jul 2010 21:11
20 lines
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
#2337
Author: yesma
Date: Sat, 17 Jul 2010 13:59
20 lines
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
#2338
Author: Michoo
Date: Sat, 17 Jul 2010 15:46
23 lines
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
#2339
Author: yesma
Date: Sat, 17 Jul 2010 17:12
38 lines
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
#2340
Author: Kicer
Date: Sun, 18 Jul 2010 13:09
19 lines
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
#2341
Author: yesma
Date: Sun, 18 Jul 2010 14:06
21 lines
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