Главная Макинтош Регистрация

Вход

Приветствую Вас Гость | RSSПятница, 28.07.2017, 21:53
Наш опрос
Оцените мой сайт
Всего ответов: 3

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа


Главная » 2013 » Октябрь » 8 » mmx как замена 64 битных регистров общего назначения
11:17
mmx как замена 64 битных регистров общего назначения
Следующая проблема у меня, да.

Нужно написать "e;оптимизированные"e; низкоуровневые процедуры для обработки примитивов типов данных в одной программе на с . Проект под линукс на 32-битной x86 платформе и этот самый тип данных просто typedef uint64_t prim_t;, т.е. 64 битное целое.

Операции довольно нетривиальные, но сводятся к циклическим сдвигам и логическим операциям по маскам.

Соответственно три подхода:
- использовать 32 битные регистры, загружать данные в две части в два регистра, следить за переносами, адресовать маски по частям и т.д.
- Оперировать непосредственно с памятью.
- Загружать данные в mmx регистры и работать как с единым целым.

Для начала я решил написать Си-версию и транслировать в ассемблерный код (gcc 4.1.2 -O3). Компилятор использовал первый подход.

Ну вот собственно и вопрос, какой подход использовать? И насколько описанные операции медленнее на сопроцессоре?

Спасибо, и извините если вопрос ламерский.
Видеочат Fast Video chat
Просмотров: 11411 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Календарь
«  Октябрь 2013  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Архив записей

Copyright MyCorp © 2017Хостинг от uCoz