Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Принципи організації паралелізму виконання машинних команд в процесорах

Реферат Принципи організації паралелізму виконання машинних команд в процесорах





туп всіх процесорів до програм і даних представляє широкі можливості організації паралельного обчислювального процесу (паралельних обчислень). Відсутні втрати реальної продуктивності на міжпроцесорний (між завданнями, процесами і т. д.) обмін даними). ​​

Системи з розподіленою пам'яттю утворюють обчислювальні комплекси (ВК) - колективи ЕОМ з межмашинного обміном для спільного вирішення завдань (рис. 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 операцій. Чим більше число рівнів (станцій), тим більший виграш у швидкодії може бути отриманий.

Відома оцінка

В 

тобто виграш у шв...


Назад | сторінка 3 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Дослідження процесу роботи стрічкового конвеєра і вплив кута нахилу конвеєр ...
  • Реферат на тему: Блок виконання операцій десяткової арифметики
  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд
  • Реферат на тему: Розробка структури гіпотетичного мікропроцесора і центральній частині МЕОМ ...
  • Реферат на тему: Спеціалізований арифметико-логічний Пристрій комп'ютера (АЛП) для Викон ...