· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Работа с КЭШЕМ!!!

<< . 1 . 2 . 3 . 4 . 5 . >>

Посл.отвђт Сообщенiе


Дата: Июл 19, 2003 16:21:46

Вот как раз про это я и говорЮ!!!!!!

Появилась и возможность "закачивать" требуемые данные в кэш до инструкций, их использующих.


Дата: Июл 19, 2003 16:25:17

emergenter
Это для меня :)))))
Спасибо :))))
Или это отчёт о прочитанном.
Лучше бы вы попробывали модифицировать код сверху и найти причину ускорения и замедления.


Дата: Июл 19, 2003 16:29:30 · Поправил: Edmond

emergenter
РРРРР :)))
Ну скажите вы это специально?
Мне почему то не верится что вы идиот!!!
(По моему вы просто спешите, как угорелый. А я уже сделал вам одно замечание. И не из вредности. Ну должно же у вас быть самоуважение к себе, если его нет к посетителям форума!!!)

Ладно, объясняю.

каждый раз, при обращении к памяти ДАННЫЕ загружаются в кеш!!!
Какая разница пользуйтесь ли вы этими командами?
Если вы снова не правильно обратитесь к памяти то все ваши данные к чертям слетят.
Ну скажите какой смысл тогда будет.
В моём же примере я обращаюсь к памяти на 3 раза меньше в цикле
За счёт одновременной обработки четырёх переменных.
Если это и медленно, то здесь где-то собака...

Можно всегда загрузить данные в кешь испозуя простую инструкцию

cmp [ecx],ecx

Где в ecx -- адрес.

Всё искусство заключено к правильному обращению по нужным адресам. Это я и пытался сделать. Но видимо я чего не учёл.

Кроме того, вот простая задача. Есть 15 массивов.
Вопрос
Как будет эффективней -- расположить данные массивов как массив структур или как отдельные 15 массивов?


Дата: Июл 19, 2003 16:31:06

emergenter
Да и потом эти инструкции работают с уровнями кеша, а не с его линейками!!!!


Дата: Июл 19, 2003 16:36:17

НУЖНО КАК МАССИВ СТРУКТУР конечно!! Так я это и спрашиваю как сделать!!!!!! И хотел узнать!! Иначе бы я не обращался!!!


Дата: Июл 19, 2003 16:38:29

Сейчас сделаю тест последнего кода!! Я вникся и понял что он уже получше!! ЗА СЧЕТ СПАРИВАНИЯ!!! т.е. очередная команда не ждет предыдущую!!!!


Дата: Июл 19, 2003 16:39:41

emergenter
Это не факт. Я буду исследовать... ещё...
А что если струкутра больше 32 байт? А? Гм....

!! Так я это и спрашиваю как сделать!!!!!! И хотел узнать!! Иначе бы я не обращался!!!
Не понял? Что сделать? Массив структур?


Дата: Июл 19, 2003 16:41:47

emergenter
Дело не в том.
Меня волнует вопрос с линейками кеша. Вот где можно поймать кота за хвост...
Меня уже он тоже волнует. Нужно почитать один документик Интела и начать самому тестировать.


Дата: Июл 19, 2003 16:43:36

Чо за документик!! Catch OPTIMIZATION и т.д.


Дата: Июл 19, 2003 16:44:17

Ну да! Я про массив структур говорил!!!


Дата: Июл 19, 2003 16:47:09

emergenter
Нет, там есть методики быстрого копирования основанные на кеше...


Дата: Июл 19, 2003 16:50:24

Как раз таких ссылочек в данной теме и не хватает!!! Может порадуем людей??


Дата: Июл 19, 2003 16:52:27

emergenter
Хех. Это ссылка их Агнера.
Я её там подметил.. (в разделе про копирование, или про кешь..)


Дата: Июл 19, 2003 16:56:54

emergenter
На счёт массива структур -- тема длинная.
Но в кратсе я думаю о массиве структур как о тех же многих простых массивов, у которых данные перемешаны в памяти. Очень удобное мышление.


Дата: Июл 19, 2003 16:59:31

emergenter
Кстати в том примере можно ещё улучшить. Если массив res убрать и сохранять данные в исходный массив

<< . 1 . 2 . 3 . 4 . 5 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048