Параллелизм на уровне памяти
В компьютерной архитектуре параллелизм на уровне памяти ( MLP ) — это способность выполнять несколько ожидающих операций с памятью , в частности, промахи в кэше или промахи буфера резервного перевода одновременно (TLB).
В одном процессоре MLP можно рассматривать как форму параллелизма на уровне команд (ILP). Однако ILP часто путают с суперскаляром , способностью выполнять более одной инструкции одновременно, например, такой процессор, как Intel Pentium Pro, является пятиэтапным суперскаляром, способным начать выполнение пяти различных микроинструкций в заданном цикле. , но он может обрабатывать четыре различных промаха в кэше для до 20 различных микроинструкций загрузки в любое время.
Можно иметь машину, которая не является суперскалярной, но тем не менее имеет высокий MLP.
Возможно, машина, у которой нет ILP, которая не является суперскалярной, которая выполняет одну инструкцию за раз неконвейерным способом, но которая выполняет аппаратную предварительную выборку (а не программную предварительную выборку на уровне команд), демонстрирует MLP (из-за множественных невыполненных предварительных выборок), но не ИЛП. Это связано с тем, что имеется несколько невыполненных операций с памятью , но не инструкций . Инструкции часто путают с операциями.
Более того, можно сказать, что многопроцессорные и многопоточные компьютерные системы демонстрируют MLP и ILP из-за параллелизма, но не внутрипоточные, одиночные процессы, ILP и MLP. Однако часто мы ограничиваем термины MLP и ILP, подразумевая извлечение такого параллелизма из того, что кажется непараллельным однопоточным кодом.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Глю, А. (1998). «MLP да! ILP нет!». ASPLOS Сессия диких и безумных идей '98 . Дикие и безумные идеи (WACI) I. ASPLOS VIII. ( аннотация / слайды )
{{cite conference}}
: Внешняя ссылка в
( помощь ) CS1 maint: постскриптум ( ссылка )|postscript=
- Ронен, Р.; Мендельсон, А.; Лай, К.; Ши Льен Лу; Поллак, Ф.; Шен, JP (2001). «Грядущие вызовы в микроархитектуре и архитектуре». Процесс IEEE . 89 (3): 325–340. CiteSeerX 10.1.1.136.5349 . дои : 10.1109/5.915377 .
- Чжоу, Х.; Конте, ТМ (2003). «Улучшение параллелизма на уровне памяти посредством прогнозирования значений без восстановления». Материалы 17-й ежегодной международной конференции по суперкомпьютерам . ИКС '03. стр. 326–335. CiteSeerX 10.1.1.14.4405 . дои : 10.1145/782814.782859 . ISBN 1-58113-733-8 .
- Юань Чжоу; Фас, Б.; Авраам, С. (2004). «Оптимизация микроархитектуры для использования параллелизма на уровне памяти». Слушания. 31-й ежегодный международный симпозиум по компьютерной архитектуре, 2004 г. ИСКА '04. стр. 76–87. CiteSeerX 10.1.1.534.6032 . дои : 10.1109/ISCA.2004.1310765 . ISBN 0-7695-2143-6 .
- Куреши, МК; Линч, Д.Н.; Мутлу, О.; Патт, Ю.Н. (2006). «Аргументы в пользу замены кэша с поддержкой MLP». 33-й международный симпозиум по компьютерной архитектуре . ИСКА '06. стр. 167–178. CiteSeerX 10.1.1.94.4663 . дои : 10.1109/ISCA.2006.5 . ISBN 0-7695-2608-Х .
- Ван Крайнест, К.; Эйрман, С.; Экхаут, Л. (2009). «Потоки Runahead с поддержкой MLP в процессоре с одновременной многопоточной обработкой». Высокопроизводительные встраиваемые архитектуры и компиляторы . HiPEAC 2009. LNCS . Том. 5409. стр. 110–124. CiteSeerX 10.1.1.214.3261 . дои : 10.1007/978-3-540-92990-1_10 . ISBN 978-3-540-92989-5 .