Паралелізм рівня пам'яті

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Паралелізм рівня пам'яті (англ. Memory-level parallelism ,MLP) це термін в комп'ютерній архітектурі , що характеризує можливість мати кілька очікуючих операцій з пам'яттю, зокрема кеш-промахів , або промахів буфера асоціативної трансляції(англ. Translation lookaside buffer, TLB), одночасно.

В одному процесорі, MLP може розглядатися як форма паралелізму на рівні команд (англ. Instruction-level parallelism ,ILP). Проте, MLP часто з’єднанні з суперскаляром, можливістю виконувати більше однієї команди одночасно. Наприклад, процесор, такий як Intel Pentium Pro є п'ятипозиційно суперскалярний, з можливістю приступити до виконання п'яти різних мікрокоманд в даному йому циклі, він може працювати при чотирьох різних промахах кешу,і при 20 різних завантажених мікрокоманд в будь-який час.

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

Можна стверджувати машина, яка не має ILP і не є суперскалярною, яка виконує одну команду не конвеєрним способом, але виконуючи апаратну передвибірку коду(не на рівні команд програмного забезпечення передвибірки коду) демонструє MLP (через численні передвибірки коду), але не ILP. Це відбувається тому, що існує декілька операцій з пам'яттю в очікуванні, але не команд. Команди часто з’єднанні з операціями.

Крім того, багатопроцесорні і багатопотокові комп'ютерні системи, можна сказати, демонструють MLP і ILP через паралелізм, але не внутрішньо-потоковий єдиний процес ILP і MLP. Часто, однак, ми обмежуємо терміни MLP і ILP ,для відділення визначення такого паралелізму від не паралельного однопотокового коду.

Посилання[ред. | ред. код]