туп всіх процесорів до програм і даних представляє широкі можливості організації паралельного обчислювального процесу (паралельних обчислень). Відсутні втрати реальної продуктивності на міжпроцесорний (між завданнями, процесами і т. д.) обмін даними). ​​
Системи з розподіленою пам'яттю утворюють обчислювальні комплекси (ВК) - колективи ЕОМ з межмашинного обміном для спільного вирішення завдань (рис. 1.5Б). У ВК об'єднуються обчислювальні засоби систем управління, вирішальні спеціальні набори завдань, взаємопов'язаних за даними. Прийнято говорити, що такі ВК виконують розподілені обчислення, а самі ВК називають розподіленими ВК.
Інше, протилежне втілення принципу Мімдіей - масспроцессорние або високопараллельних архітектури, об'єднуючі сотні - тисячі - десятки тисяч процесорів.
У сучасних супер-ЕОМ намітилася тенденція об'єднання двох принципів: загальної (распределяемой) і розподіленої (Локальної) оперативній пам'яті (ЛОП). Така структура використовується у проекті МВК В«Ельбрус-3В» і В«Ельбрус-ЗМВ». p> 2 Конвеєри операцій
В
2.1 Конвеєри
Вже багато років відомо, що головною перешкодою високої швидкості виконання команд є необхідність їх виклику з пам'яті. Для вирішення цієї проблеми можна спричиняти команди з пам'яті заздалегідь і зберігати в спеціальному наборі регістрів. Ця ідея використовувалася ще в 1959 році при розробці комп'ютера Stretch компанії IBM, а набір регістрів був названий буфером вибірки з попередженням. Таким чином, коли була потрібна певна команда, вона викликалася прямо з буфера, а звернення до пам'яті не відбувалося. p> Насправді при вибірці з попередженням команда обробляється за два кроки: спочатку відбувається виклик команди, а потім - її виконання. Ще більше просунула цю стратегію ідея конвеєра. При використанні конвеєра команда обробляється вже не за два, а за більшу кількість кроків, кожен з яких реалізується певним апаратним компонентом, причому всі ці компоненти можуть працювати паралельно. p> На малюнку 2.1 а) зображений конвеєр з п'яти блоків, які називаються ступенями. Перший ступінь (блок С1) викликає команду з пам'яті і поміщає її в буфер, де вона зберігається до тих пір, поки не буде потрібно. Другий ступінь (блок С2) декодує цю команду, визначаючи її тип і тип її операндів. Третій ступінь (блок СЗ) визначає місцезнаходження операндів і викликає їх з регістрів або з пам'яті. Четвертий ступінь (блок С4) виконує команду, і, нарешті, блок С5 записує результат назад у потрібний регістр. p> Щоб краще зрозуміти принципи роботи конвеєра, розглянемо аналогічний приклад. Уявімо собі кондитерську фабрику, на якій випічка тортів і їх упаковка для відправки виробляються роздільно. Припустимо, що у відділі відправки знаходиться довгий конвеєр, уздовж якого розташовуються 5 робочих (або ступенів обробки). Кожні 10 секунд (Це час циклу) перший робочий ставить порожню коробку для торта на стрічку конвеєра. Ця коробка відправляється до другого робітникові, який кладе в неї торт. Після цього коробка з тортом доставляється третього робітникові, який закриває і запечатує її. Потім вона надходить до четвертого робітникові, який ставить на ній штамп. Нарешті, п'ятий робочий знімає коробку з конвеєрної стрічки і поміщає її у великий контейнер для відправки в супермаркет. Приблизно таким же чином діє комп'ютерний конвеєр: кожна команда (у випадку з кондитерською фабрикою - торт) перед остаточним виконанням проходить кілька ступенів обробки. p> Повернемося до нашого конвеєру на малюнку 2.1. Припустимо, що час циклу у цієї машини - 2 нс. Тоді для того, щоб одна команда пройшла через весь конвеєр, потрібно 10 нс. На перший погляд може здатися, що такий комп'ютер буде виконувати 100 млн команд в секунду, насправді ж швидкість його роботи набагато вище. У протягом кожного циклу (2 нс) завершується виконання однієї нової команди, тому машина виконує не 100, а 500 млн команд в секунду! [2]
В
2.2 Оцінка продуктивності ідеального конвеєра
Нехай задана операція, виконання якої розбито на n послідовних етапів. Нехай ti - час виконання i-го етапу. При послідовних їх виконанні операція виконується за час
В
а швидкодія ЕОМ або одного процесора НД, що виконує тільки цю операцію, складе
В
Виберемо час такту - величину tT = max {ti} і вимагатимемо при розбитті на етапи, щоб для будь-якого i = 1, ..., n виконувалася умова ti + t (i +1) mod n = tT. Тобто щоб ніякі два послідовних етапу (включаючи кінець і новий початок операції) не могли бути виконані за час одного такту.
Максимальна швидкодія процесора при повному завантаженні конвеєра становить
В
Число n - кількість рівнів конвеєра, або глибина перекриття, так як кожен такт на конвеєрі паралельно виконуються n операцій. Чим більше число рівнів (станцій), тим більший виграш у швидкодії може бути отриманий.
Відома оцінка
В
тобто виграш у шв...