Тема реферату «Поняття мультімікропроцесорних систем (ММПС)» з дисципліни «Мультімікропроцесорні системи».
Мета роботи – ознайомитися з:
- визначенням мультіпроцесорних конфігурацій;
- архітектурою ММПС із загальною і розподіленою пам'яттю;
- протоколами взаємодії ММПС – MESI, DASH;
- стратегією запису в кеш-пам'яті та ін.
ММПС - це системи, що мають два й більше компонент, які можуть одночасно виконувати команди. Підпорядкованими процесорами можуть бути спецпроцесори, розраховані на виконання певного типу завдання або процесори широкого застосування. Спецпроцесори - співпроцесори, процесори вводу-виводу.
У міру зменшення відносини вартість/продуктивність стає більше економічним застосовувати кілька мікропроцесорів (далі ─ МП), замість одного складного.
Крім поліпшення економічних показників системи, мультипроцесорні конфігурації забезпечують кілька позитивних якостей, відсутніх в однопроцесорній конфігурації.
Кілька процесорів краще пристосовуються під вимогу конкретного застосування, крім витрат на непотрібні можливості централізованої системи. Більше того, модульність ММПС дозволяє в міру необхідності вводити додаткові процесори.
У ММПС завдання розподіляються між модулями. При виникненні відмови у системі простіше та дешевше знайти й замінити несправний процесор, чим заміняти (відшукувати) елемент, що відмовив, у складному процесорі.
При проектуванні ММПС доводиться вирішувати два завдання:
1.Змагання за доступ до системної шини.
2.Міжпроцесорні взаємодії.
Оскільки пам'ять та пристрої вводу-виводу по загальній системній шині розподіляють кілька процесорів, буде потрібна додаткова логіка для забезпечення того, щоб у будь-який момент часу доступ до системної шини мав тільки один процесор. Щоб один процесор здійснював диспетчеризацію завдання, або повертав результат іншому, необхідний строго певний спосіб взаємодії процесорів.
Максимальний режим роботи МП фірми INTEL спеціально призначений для реалізації ММПС. Наявні мультипроцесорні засоби максимального режиму розраховані на три базові конфігурації - співпроцесор, сильно зв'язана конфігурація та слабко зв'язана конфігурація.
У випадку сильно зв'язаної конфігурації (мал.1), центральний процесор і допоміжний або зовнішній процесор розділяють не тільки всю підсистему пам'яті та введення/виведення але й логіку керування шиною та генератор синхронізації. МП 8086 або його аналог є провідним або головним у системі, а допоміжний процесор - керуємим. Керування доступом до шини здійснює центральний процесор, тому сигнал запиту шини від допоміжного процесора подається в центральний. У даній конфігурації допоміжний процесор діє незалежно усередині кристала, але будучи співпроцесором, він повинен взаємодіяти безпосередньо із центральним процесором.
Малюнок 1. Cхема сильно зв'язаної конфігурації
Слабко зв'язані конфігурації застосовуються у середніх і великих системах. Будь-який активний модуль у такій системі може бути ведучим системної шини й містити центральний процесор, а також інший процесор, що може бути ведучим шини, співпроцесор або сильно зв'язану конфігурацію.
Системні ресурси розділяють кілька модулів, а проблему змагань при доступі до шини повинна вирішувати логіка керування системною шиною.
У випадку слабко зв'язаної конфігурації (мал. 2), кожний потенційний ведучий шини працює незалежно й прямі зв'язки між ними відсутні. Між процесорна взаємодія здійснюється через розділені ресурси. Крім того, у кожного модуля може бути своя пам'ять і пристрої вводу-виводу. Процесори в окремих модулях можуть одночасно звертатися до своїх локальних підсистем по локальних шинах і виконувати незалежно друг від друга вибірки команд і даних, що підвищує ступінь паралельності обробки.
Алгоритм функціонування співпроцесорної конфігурації наведений на мал.3.
При виконанні потоку команд основного процесора та виявленні команди, призначеної для співпроцесора, вона транслюється асемблером у такий спосіб ─ код команди WAIT, код команди ESC.
Код команди WAIT перед кодом ESC змушує мікропроцесор увести стан очікування до появи активного сигналу на вході TEST. Ця команда необхідна, щоб команда ESC не встигла дешифруватися до завершення співпроцесором його поточної команди. Якщо сигнал TEST уже активний, співпроцесор дешифрує команду ESC, а потім обидва процесори працюють паралельно (це неявна присутність тактів очікування). Однак у деяких випадках команду WAIT необхідно вказувати явно. Це необхідно, коли центральному процесору потрібно звернутися в пам’ять за операндом, що бере участь у попередній команді ESC. У співпроцесорної конфігурації до одного центрального процесора допускається підключення двох співпроцесорів.
У таких випадках кожному зі співпроцесорів необхідно призначати підмножини з безлічі кодів зовнішніх операцій і кожний співпроцесор повинен розпізнавати й виконувати коди операцій своєї підмножини. Підключення співпроцесорів здійснюється до системної шини, але один з них до лінії HOLD (сигнал запиту шини), іншій до HLDA (сигнал дозволу шини).
Малюнок 2. Слабко зв'язана конфігурація
Малюнок 3. Алгоритм функціонування співпроцесорної конфігурації
У цьому випадку обидва процесори працюють незалежно, але розділяють генератор синхронізації та логіку керування шиною.
Алгоритм меж процесорної взаємодії наведений на мал. 4.
Основний принцип взаємодії полягає у тому, що центральний процесор формує керуюче повідомлення в розділеній пам'яті й активізує незалежний процесор, посилаючи наказ в один з його портів. Потім незалежний процесор звертається до розділеної пам'яті, одержує відтіля призначену йому завдання й виконує її паралельно із центральним процесором. Формат повідомлення про завершення завдання звичайно обумовлений видом (архітектурою й призначенням ) незалежного процесора.
У слабко зв'язаних конфігураціях кожний центральний процесор має свою логіку керування шиною, а арбітраж шини досягається шляхом розширення цієї логіки й введення загальної для всіх провідних модулів зовнішньої логіки.
Переваги:
1. Система допускає модульне розширення. Кожний провідний модуль є незалежним пристроєм і звичайно це або окрема друкована плата або окрема мікросхема. Отже, такі модулі можна додавати або видаляти, не впливаючи на інші модулі в системі;
2. Відмова в одному модулі звичайно не викликає простою всієї системи, а модуль, що відмовив, можна легко знайти й замінити;
3. Кожний ведучий шини може мати локальну шину для доступу до відповідної пам'яті й пристроїв вводу/виводу, чим досягається високий ступінь паралельної обробки.
4. Особливість слабко зв'язаної конфігурації - наявність розвиненої логіки доступу до шини.
Три способи завдання пріоритетів:
- пріоритетний ланцюжок (мал.5);
- опитування (мал.6);
- незалежні запити (мал.7).
Пріоритет у випадку приоритетного ланцюжка визначається фізичним розташуванням модуля в системі, а якість – у мінімальному числі ліній керування, що не залежить від числа модулів у системі. Недолік ─ затримка поширення сигналу дозволу шини, що прямо пропорційна числу модулів у системі.
Пріоритет у випадку опитування – при появі сигналу "Запит шини " контролер генерує послідовність адрес модулів. Коли запитуючий модуль розпізнає свою адресу, він формує активний сигнал " Зайнятість шини ". Вартість - динамічна зміна пріоритетів провідні шини.
Малюнок 4 . Алгоритм між процесорної взаємодії
Малюнок 5. Пріоритетний ланцюжок
Малюнок 6. Опитування.
мультипроцесорний конфігурація архітектура схема
Малюнок 7. Незалежні запити
Пріоритети враховуються паралельно. Кожний модуль має окрему пару ліній запиту шини (2,4,6) й дозволи шини (1,3,5) й кожній парі призначений свій пріоритет, що перебуває в контролері. Дешифратор пріоритетів вибирає запит з максимальним пріоритетом і повертає відповідний сигнал дозволу шини. Арбітраж реалізується дуже швидко й не залежить від числа модулів у системі. Вада - максимальна швидкодія. Недолік - велика кількість ліній запиту та дозволу шини ( для n модулів необхідно 2n ліній).
До першого класу з загальною (поділюваною) пам'яттю відносяться ММПС, у якій кількість процесорних елементів ≤ 32 і тому що в системі усього одна пам'ять з тим самим часом доступу, ці обчислювальні системи іноді називаються UMA (Uniform Memory Access).
До другого класу (з розподіленою пам'яттю) відносяться системи в яких, крім загальної пам'яті, існує і визначений обсяг власної (локальної ) пам'яті, доступ до якої можуть мати всі процесорні елементи, що входять у систему.
- Наскрізний запис – запис здійснюється відразу в К-П і блок більш низького рівня ( К-П другого рівня чи основну пам'ять).