|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 16, 2003 17:11:46 Так что наш вождь скажет по поводу 16 битных значений??? чтобы все прошло без потерь!!!! (как говорится теория без практики ничто) Так вот в Агнере Фоге мало практики!! Очень мало!! А на все письма которые ему пришли он не отвечает!!!(ну я имею в виду по практике) ГОВОРИТ ДУМАЙТЕ САМИ!! Это же в корне не правильно!! предлагаю не сердиться на него а именно ДОПОЛНИТЬ его книгу!!! |
|
|
Дата: Июл 16, 2003 17:19:09 ;[mas+esi+32+16] должно быть в кеше, потому что было ; [mas+esi+32] если можешь поясни эти твои соображения!!! |
|
|
Дата: Июл 16, 2003 18:08:44 Ну ты хотел на молоко!! Вот тебе информация к размышлению!!!!!! Твой код на 20 процентов медленее выполняется чем мой!!! А знаешь почему!! Нам на этот вопрос ответит затронутый Агнер ФОг : Да потому что за счет большего обращения к памяти! :-))! А что ты пишешь идет работа с КЭШЕМ это не то!!! Работу с кэшем определяют ряд команд, которые входят в набор команд SSE!!!! Чем не пища для размышления!! А как тема этого раздела называется : РАБОТА С КЭШЕМ!! Т.е. мы потаптались на месте и все!!!! Ну так кто нибудь знает как работать с кэшем??? |
|
|
Дата: Июл 16, 2003 18:27:52 · Поправил: Edmond emergenter Так вот в Агнере Фоге мало практики!! Очень мало!! А на все письма которые ему пришли он не отвечает!!!(ну я имею в виду по практике Вы что ему письма пишите? :)))))))))))))))))))))))) Я ему сочувствую. Ну вот наконец-то ты прочитал :))) А насчёт обращения к памяти, то этот код нужно просто прооптимизировать нужным образом. А как это сделать, думаю и сам догадаешься. P.S Да, и ещё. Я переустанавливаю всё что можно так что извиняйте. Занят |
|
|
Дата: Июл 16, 2003 18:35:54 emergenter Кстати на счёт молока и насчёт кеша. Мой постинг более чем в силе. Единственное что нужно сделать это переставить команды чтения нужным образом, формируя лучшие условия для кеша. Вот так-то... Работу с кэшем определяют ряд команд, которые входят в набор команд SSE!!!! И какие? И что они определяют? |
|
|
Дата: Июл 16, 2003 19:14:35 Вот вот!! А говоришь что читал Агнера!! Ты сам то его не читал!! В этом руководстве черным по белому написано!! ПОЖАЛУЙСТА НЕ ПОСЫЛАЙТЕ МНЕ ВАШИ ВОПРОСЫ О ПРОГРАММИРОВАНИИ. Я НЕ СОБИРАЮСЬ ДЕЛАТЬ ЗА ВАС ВАШУ ДОМАШНЮЮ РАБОТУ!!!!!! |
|
|
Дата: Июл 16, 2003 19:16:34 Edmond КАКОЙ там кэш?????? СКАЖИ мне пожалуйста!!! ЭТО РЕГИСТРЫ!!!! XMM!!! А кэш это кэш!!!! можно из кэша загрузить в регистры!!! а ты сразу в регистры посылаешь!!!! И от перестановки этих команд толку не будет!!! Т.к. все они по 2 мопа!!!! |
|
|
Дата: Июл 16, 2003 19:18:13 Edmond А инструкции по кэшу приведены везде!! Это prefetcht0 prefetcht1 prefetcht2 prefetchnta Вот скажи с каким ты КЭШЕМ в данном случае работал??? |
|
|
Дата: Июл 16, 2003 19:20:05 Ну ты давай не уходи от темы!!! Нельзя стыдиться того чего не знаешь!! Надо признавать и свои ошибки!! Предлагаю вместе разбираться!!! |
|
|
Дата: Июл 16, 2003 19:51:49 Вроде бы для этих целей предназначен Интеловский vTune. Вы его не пробовали? |
|
|
Дата: Июл 16, 2003 19:58:37 emergenter Послушайте, уважаемый. Либо вы зарубите себе на носу, что до того как написать постинг нужно что-то самому понять, либо мы будем с вами сильно ссорится. Я приравниваю такое ваше отношение минимум к хамству, максимум к невежеству. КАКОЙ там кэш?????? СКАЖИ мне пожалуйста!!! ЭТО РЕГИСТРЫ!!!! XMM!!! А кэш это кэш!!!! можно из кэша загрузить в регистры!!! а ты сразу в регистры посылаешь!!!! И от перестановки этих команд толку не будет!!! Т.к. все они по 2 мопа!!!! 1. "Какой такой кеш"... Расскажи мне пожалуста как работает кеш. Я вообще не понимаю, как можно говорить о "знании теории" при таких вопросах? 2. Ты смотрел производительность команд? 3. Явно не в твоей компетенции судить о том, что мне известно, а что нет. 4. Я никуда и ни от кого не уходил. Кстати в отличие от Вас уважаемый, так как Вы почему то до сих пор не удосужились сунуть свой нос сюда: http://www.wasm.ru/article.php?article=1010008 Кэш данных состоит из 256 или 512 рядов по 32 байта в каждом. Каждый раз, когда вы считываете элемент данных, который еще не находится в кэше, процессор считает весь кэш-ряд из памяти. Нельзя стыдиться того чего не знаешь!! Мне интересно с какой целью это было написано? Я похож на Бога, чтобы мне стыдится своего не знания? Объясните? Каждый свой постинг я обдумываю и проверяю по мере сил. И я ещё должен сдыдится того, что там ошибки? Это позицию халявщиков. Надо признавать и свои ошибки!! Надо читать ВНИМАТЕЛЬНО!!!! Я три раза написал, что код мой сырой, и что его нужно проверить и оптимизировать на месте (то есть с отладчиком) Что мне разбираться. Я предоставил вам достаточно интересное решение (старое как мир правда). Если всё грамотно продумать, то выйгрышь будет неплох. Вот вот!! А говоришь что читал Агнера!! Ты сам то его не читал!! В этом руководстве черным по белому написано!! ПОЖАЛУЙСТА НЕ ПОСЫЛАЙТЕ МНЕ ВАШИ ВОПРОСЫ О ПРОГРАММИРОВАНИИ. Я НЕ СОБИРАЮСЬ ДЕЛАТЬ ЗА ВАС ВАШУ ДОМАШНЮЮ РАБОТУ!!!!!! Не позорьте себя пожалуста. No Comments P.S Предлагаю вместе разбираться!!! Не в чем там особенно разбиратся. Там нужно работать и отлаживать. Вот давайте после того, как у вас получится понять почему -20% - вы напишите сюда постинг, и тогда я ПРИЗНАЮ ВСЕ СВОИ ОШИБКИ :)))) |
|
|
Дата: Июл 16, 2003 21:56:45 Ты хозяин сайта тебе виднее!! |
|
|
Дата: Июл 17, 2003 10:32:47 Ну причём здесь хозяин? Это в переводе значит: "Ты козёл, тебе виднее" :))) Я вижу вы так ничего и не поняли. ОК. Посмотрите лучше этот вариант. Я катал его на быструю руку, так что на ошибки не жалуйтесь. Кстати, его можно улучшить ;; Перевернуть цикл верх ногами. mov esi,size mas-? ;; ЭЭЭ сомневаюсь.. ;; сколько надо минус. mov edi,size ma1-4-4 ;; Тогда конец цикла будет таким sub esi,16*4 sub edi,4*4 jnz short cicl .code mov ecx,250/4 xor esi,esi xor edi,edi ALIGN 16 cikl: movaps xmm0,[mas2+edi] movaps xmm7,[mas+esi+32] movaps xmm6,[mas+esi+32+16] movaps xmm3,xmm0 movaps xmm2,xmm0 shufps xmm3,xmm0,11111111b movaps xmm5,[mas+esi+16] mulps xmm3,xmm6 shufps xmm2,xmm0,10101010b movaps xmm1,xmm0 mulps xmm2,xmm7 movaps [rez+48],xmm3 shufps xmm1,xmm0,01010101b movaps xmm7,[mas+esi] shufps xmm0,xmm0,00000000b mulps xmm1,xmm5 movaps [rez+32],xmm2 mulps xmm0,xmm7 movaps [rez+16],xmm1 movaps [rez+0h],xmm0 add esi,16*4 add edi,4*4 dec ecx jnz short cicl end: |
|
|
Дата: Июл 19, 2003 16:17:26 Cache (запас) обозначает быстродействующую буферную память между процессором и основной памятью. Кэш служит для частичной компенсации разницы в скорости процессора и основной памяти - туда попадают наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения в скором времени может быть с гораздо большей скоростью выбрано из кэша. При записи в память значение попадает в кэш, и либо одновременно копируется в память (схема Write Through - прямая или сквозная запись), либо копируется через некоторое время (схема Write Back - отложенная или обратная запись). При обратной записи, называемой также буферизованной сквозной записью, значение копируется в память в первом же свободном такте, а при отложенной (Delayed Write) - когда для помещения в кэш нового значения не оказывается свободной области; при этом в память вытесняются наименее используемая область кэша. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти. |
|
|
Дата: Июл 19, 2003 16:21:09 В SSE введены новые инструкции управления кэшированием: появились инструкции записи содержимого регистров MMX и XMM в память минуя кэш, что позволяет избегать излишнего загрязнения кэш-памяти. Появилась и возможность "закачивать" требуемые данные в кэш до инструкций, их использующих. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.070 |