Jump to content

ФОРТ

(Перенаправлено из SIMD внутри реестра )

SIMD в регистре ( SWAR ), также известный под названием «упакованный SIMD». [1] — это метод выполнения параллельных операций над данными, содержащимися в регистре процессора . SIMD означает « одна инструкция, несколько данных» . Таксономия Флинна 1972 года классифицирует SWAR как «конвейерную обработку» .

Многие современные компьютерные процессоры общего назначения имеют некоторые возможности для SIMD в виде группы регистров и инструкций для их использования. SWAR относится к использованию этих регистров и инструкций, в отличие от использования специализированных механизмов обработки, предназначенных для лучшего выполнения операций SIMD. Это также относится к использованию SIMD с регистрами общего назначения и инструкциями, которые в то время не предназначались для этого, посредством различных новых программных уловок. [3]

SWAR-архитектуры

[ редактировать ]

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

Ранним примером архитектуры SWAR был процессор Intel Pentium с MMX , в котором реализован набор расширений MMX . Intel Pentium , напротив, не содержал таких инструкций, но все же мог действовать как архитектура SWAR благодаря тщательному ручному кодированию или методам компиляции.

Ранние архитектуры SWAR включают DEC Alpha MVI от Hewlett-Packard , PA-RISC MAX , MIPS MDMX и SPARC V9 VIS от Silicon Graphics Incorporated от Sun. Как и MMX, многие наборы команд SWAR предназначены для более быстрого кодирования видео. [4]

История модели программирования SWAR

[ редактировать ]

Уэсли А. Кларк представил операции с разделенными подсловами в 1950-х годах. [ нужна ссылка ] . Это можно рассматривать как очень раннего предшественника SWAR. Лесли Лэмпорт представил методы SWAR в своей статье под названием «Многобайтовая обработка с инструкциями из полных слов». [5] в 1975 году.

С появлением в 1996 году расширений набора мультимедийных команд Intel MMX процессоры для настольных ПК с возможностями параллельной обработки SIMD стали обычным явлением. Раньше эти инструкции можно было использовать только через рукописный ассемблерный код.

Осенью 1996 года профессор Хэнк Дитц преподавал курс по созданию компиляторов для студентов на факультете электротехники и вычислительной техники Университета Пердью. Для этого курса он поручил ряд проектов, в которых студенты должны были создать простой компилятор, ориентированный на MMX. Язык ввода представлял собой подмножество диалекта MPL MasPar , называемое NEMPL (не совсем MPL).

В течение семестра ассистенту курса Рэндаллу (Рэнди) Фишеру стало ясно, что существует ряд проблем с MMX, которые затрудняют создание серверной части компилятора NEMPL. Например, в MMX есть инструкция для умножения 16-битных данных, но нет инструкции для умножения 8-битных данных. Язык NEMPL не учитывал эту проблему, позволяя программисту писать программы, требующие 8-битного умножения.

Архитектура Intel x86 была не единственной архитектурой, включавшей параллельные инструкции типа SIMD. от Sun VIS от SGI , MDMX и другие наборы мультимедийных команд были добавлены к существующим архитектурам наборов команд других производителей для поддержки так называемых новых мультимедийных приложений. Эти расширения имели существенные различия в точности данных и типах поддерживаемых инструкций.

Дитц и Фишер начали разрабатывать идею четко определенной модели параллельного программирования, которая позволила бы программировать на основе модели, не зная особенностей целевой архитектуры. Эта модель станет основой диссертации Фишера. Аббревиатура «SWAR» была придумана Дитцем и Фишером однажды в офисе Хэнка в здании MSEE Университета Пердью. [6] Это относится к этой форме параллельной обработки, к архитектурам, предназначенным для выполнения этого типа обработки, и к модели программирования общего назначения, которая является диссертацией Фишера.

Проблема компиляции для этих широко варьирующихся архитектур обсуждалась в документе, представленном на LCPC98. [4]

Некоторые применения SWAR

[ редактировать ]

SWAR-обработка использовалась в обработка изображений, [7] криптографические пары, [8] растровая обработка, [9] вычислительная гидродинамика, [10] и коммуникации. [11]

См. также

[ редактировать ]
  1. ^ Мияока, Ю.; Чой, Дж.; Тогава, Н.; Янагисава, М.; Оцуки, Т. (2002). Алгоритм формирования аппаратного блока для синтеза процессорного ядра с упакованными инструкциями типа SIMD . Азиатско-Тихоокеанская конференция по схемам и системам. Том. 1. С. 171–176. дои : 10.1109/APCCAS.2002.1114930 . hdl : 2065/10689 .
  2. ^ Флинн, Майкл Дж. (сентябрь 1972 г.). «Некоторые компьютерные организации и их эффективность» (PDF) . Транзакции IEEE на компьютерах . С-21 (9): 948–960. дои : 10.1109/TC.1972.5009071 .
  3. ^ Фишер, Рэндалл Дж (2003). SIMD общего назначения в регистре: параллельная обработка на потребительских микропроцессорах (PDF) (доктор философии). Университет Пердью.
  4. ^ Перейти обратно: а б Фишер, Рэндалл Дж.; Генри Г. Дитц (август 1998 г.). С. Чаттерджи; Дж. Ф. Принс; Л. Картер; Ж. Ферранте; З. Ли; Д. Сер; П.-К.Ю (ред.). «Компиляция для SIMD внутри регистра». Материалы 11-го международного семинара по языкам и компиляторам для параллельных вычислений .
  5. ^ Лэмпорт, Лесли (август 1975 г.). «Многобайтовая обработка с полнословными инструкциями» . Коммуникации АКМ . 18 (8): 471–475. дои : 10.1145/360933.360994 . S2CID   1593593 .
  6. ^ Дитц, Хэнк. «Агрегатные магические алгоритмы» .
  7. ^ Падуя, Флавий LC; Перейра, Уильям А.С.; Нето, Хосе П. из Кейруша; Филдс, Марио FM; Фернандес, Антонио О. (январь 2001 г.). Уменьшение времени обработки больших изображений за счет параллелизма на уровне инструкций (PDF) . Чилийская неделя вычислений, V семинар по параллельным и распределенным системам. Пойнт Сэндс. Архивировано из оригинала (PDF) 2 февраля 2007 г.
  8. ^ Грабхер, Филипп; Иоганн Гросшедль; Дэн Пейдж (2009). «О программной параллельной реализации криптографических пар». Избранные области криптографии . Конспекты лекций по информатике. Том. 5381. стр. 35–50. дои : 10.1007/978-3-642-04159-4_3 . ISBN  978-3-642-04158-7 .
  9. ^ Персада, Онил Назра; Тьерри Губье (12–14 сентября 2004 г.). «Ускорение растровой обработки с помощью мелкого и крупного параллелизма в GRASS». Материалы конференции пользователей FOSS/GRASS, 2004 г.
  10. ^ Хаузер, Томас; Т. И. Маттокс; Р.П. ЛеБо; Х.Г. Дитц; П.Г. Хуанг (апрель 2003 г.). «Оптимизация кода для сложных микропроцессоров применительно к программному обеспечению CFD». Журнал SIAM по научным вычислениям . 25 (4): 1461–1477. дои : 10.1137/S1064827502410530 . ISSN   1064-8275 .
  11. ^ Спрэклин, Лоуренс А. (2001). Системы SWAR и коммуникационные приложения (PDF) (доктор философии). Университет Абердина.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 726b64ca12bac0e4f8900b3abacc70c0__1718543220
URL1:https://arc.ask3.ru/arc/aa/72/c0/726b64ca12bac0e4f8900b3abacc70c0.html
Заголовок, (Title) документа по адресу, URL1:
SWAR - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)