stringtranslate.com

Параллелизм на уровне памяти

В компьютерной архитектуре параллелизм на уровне памяти ( MLP ) — это способность одновременно иметь несколько ожидающих операций с памятью , в частности, промахи кэша или промахи буфера трансляции (TLB).

В одном процессоре MLP можно считать формой параллелизма на уровне инструкций (ILP). Однако ILP часто путают с суперскалярностью , способностью выполнять более одной инструкции одновременно, например, такой процессор, как Intel Pentium Pro, является пятисторонним суперскаляром, способным начать выполнение пяти различных микроинструкций в заданном цикле, но он может обрабатывать четыре различных промаха кэша для до 20 различных микроинструкций загрузки в любое время.

Можно иметь машину, которая не является суперскалярной, но тем не менее имеет высокий MLP.

Вероятно, машина, не имеющая ILP, не являющаяся суперскалярной, которая выполняет одну инструкцию за раз неконвейерным способом, но которая выполняет аппаратную предварительную выборку (а не предварительную выборку на уровне программных инструкций), демонстрирует MLP (из-за нескольких невыполненных предварительных выборок), но не ILP. Это происходит потому, что есть несколько невыполненных операций с памятью , но не инструкции . Инструкции часто путают с операциями.

Более того, можно сказать, что многопроцессорные и многопоточные компьютерные системы демонстрируют MLP и ILP из-за параллелизма, но не внутрипоточный, однопроцессный, ILP и MLP. Часто, однако, мы ограничиваем термины MLP и ILP, ссылаясь на извлечение такого параллелизма из того, что кажется непараллельным однопоточным кодом.

Смотрите также

Ссылки