Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Ian Dichkovsky                       2:5020/400     20 Dec 2002  12:03:24
 To : Valentin Nechayev
 Subject : Re: pentium optimization - Re: gentoo
 -------------------------------------------------------------------------------- 
 
 Hello, Valentin!
 You wrote to Andrey Melnikov
 <Andrey.Melnikov@p116.f1340.n5030.z2.fidonet.org> on Thu, 19 Dec 2002
 18:37:19 +0000 (UTC):
 
  VN> >>> Andrey Melnikov wrote:
  VN>
  ID>>>>> И между прочим, уже в Windows 95 в некоторых функциях
  ID>>>>> иструкции были специально расположены с рассчетом на выполнение
  ID>>>>> несколькими конвеерами Pentium'а </offtopic>
  ID>>> По памяти - там были приведены инструкции
  ID>>> mov
  ID>>> push
  ID>>> push
  VN>
  ID>>> Порядок - не помню.
  ID>>> Hадеюсь, моего слова достаточно ?
  AM>>     Hет. как и примера. То, что ты нарисовал - стандартный способ
  AM>> передачи параметров через стек вызываемой процедуре. Взяв objdump и
  AM>> натравив на любой бинарь таких кусков кода ты столько найдешь....
  VN>
  VN> Дело не в этом, а в том, как связаны аргументы команд.
  VN>
  VN> Hапример, стандартная компиляция сделает
  VN>
  VN>  push %eax
  VN>  movl 24(%ebp),%ecx
  VN>  push %ecx
  VN>  call zuka
  VN>
  VN> - то есть просто по логике - взяли, положили, взяли, положили..., а
  VN> компиляция под пень сделает
  VN>
  VN>  movl 24(%ebp),%ecx
  VN>  push %eax
  VN>  push %ecx
  VN>  call zuka
  VN>
  VN> то есть между 1-й и 3-й командой, между которыми связь - выход 1-й есть
  VN> вход 3-й - сделана промежуточная команда, и это как раз рассчитано на
  VN> первые пни с тем, что два УУ брали команды просто по очереди одну за
  VN> другой.
  VN>
  VN> Это было очень хорошо видно, например, когда Watcom заставляли генерить
  VN> код под пень. Hа gcc это видно хуже, но тоже при -mcpu=i586 можно такое
  VN> увидеть.
  VN>
  VN> Для позднейших процов это уже напрямую не нужно - и УУ таких больше (3,
  VN> 4, 6...), и добавлен блок логического переупорядочения команд, так что
  VN> процессор сам отслеживает связи между командами и выстраивает
  VN> независимые друг от друга цепочки.
 
 Спасибо! Выручили.
 Как раз напомнили.
 Там был блок с
 
 cmp
 ..
 mov
 push
 ..
 jz (jnz)
 
 ...
 call
 
 В общем, очень резко выделялось расстояние
 от cmp до jz(jnz).
 
 Best regards,
 Ian Dichkovsky, mailto: ntokay at org lviv net, ICQ 83146271
 --- ifmail v.2.15dev5
  * Origin: Ukranian Academic Research Network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 gentoo   Kirill Petroff   14 Dec 2002 08:33:01 
 Re: gentoo   Ian Dichkovsky   17 Dec 2002 17:32:00 
 Re: gentoo   Kirill Petroff   17 Dec 2002 21:36:34 
 Re: gentoo   Alexei Dets   18 Dec 2002 00:39:51 
 Re: Re: gentoo   Alexandr S. Agranovsky   18 Dec 2002 00:50:04 
 Re: gentoo   Ian Dichkovsky   18 Dec 2002 11:39:28 
 gentoo   Andrey Melnikov   18 Dec 2002 20:36:32 
 Re: gentoo   Ian Dichkovsky   19 Dec 2002 12:49:10 
 gentoo   Andrey Melnikov   19 Dec 2002 19:59:48 
 pentium optimization - Re: gentoo   Valentin Nechayev   19 Dec 2002 22:37:19 
 Re: pentium optimization - Re: gentoo   Ian Dichkovsky   20 Dec 2002 12:03:24 
 gentoo   Svyatoslav Abramenkov   18 Dec 2002 18:27:05 
Архивное /ru.linux/6477b93d6049.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional