реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
MrYuran
сообщение Aug 23 2010, 06:25
Сообщение #16


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(sergeeff @ Aug 23 2010, 10:16) *
Это очевидный факт для ARM.

Для всего, что чуть круче AVR (>8 бит)
А уж если есть кэш - однозначно.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 23 2010, 06:45
Сообщение #17


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(sergeeff @ Aug 23 2010, 09:16) *
Это очевидный факт для ARM.


Ну прям. biggrin.gif
Cortex-A8 хардварно поддерживает невыровненный доступ к памяти.
Так что там эта рекомендация может быть и не актуальна.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 23 2010, 07:13
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



х86 всю свою "жизнь" аппаратно это тоже поддерживает и точно также чтение невыравненных данных длится дольше.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Aug 23 2010, 07:50
Сообщение #19


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(sergeeff @ Aug 23 2010, 10:13) *
х86 всю свою "жизнь" аппаратно это тоже поддерживает и точно также чтение невыравненных данных длится дольше.


Принцип остается верен, даже не спорю.
А говорю об актульности.
Сейчас при реализации файловых систем к примеру драйвера получают данные без всякого выравнивания.
Особенно характерно при zero-copy операциях совместно с TCP стеком.
Некоторая периферия для работы с файловыми носителями требует строго выровненного DMA.
Ну и как вариант здесь использовать memcpy для промежуточного копирования.
Если разница в выровненных и невыровненных пересылках будет в пару процентов, то резко облегчится писание скоростных драйверов.
А оно похоже так и будет на Cortex-A8 с внешней памятью.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 23 2010, 08:07
Сообщение #20


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(AlexandrY @ Aug 23 2010, 11:50) *
Если разница в выровненных и невыровненных пересылках будет в пару процентов, то резко облегчится писание скоростных драйверов.
А оно похоже так и будет на Cortex-A8 с внешней памятью.

Читал недавно книжку Криса Касперски про оптимизацию.
Там на конкретных примерах показано, как использование невыровненного по ширине кэша итератора цикла замедляет работу в разы.
Так что иногда 2% может означать в 2 раза

Просто мало кто лезет так глубоко и сравнивает реальную скорость с теоретически возможной


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 11:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016