Поодинокі і множинні потоки команд і даних - студопедія
Поняття - одиночних і множинних потоків команд і даних, чотири класи обчислювальних систем ОКОД, ОКМД, МК Л Д і МКМД введені М. Дж. Флінном.
Під потоком команд розуміється послідовний ряд команд, які виконуються системою, а під потоком даних - послідовний ряд даних, що викликаються потоком команд, включаючи проміжні результати. Множинність і число потоків визначаються як максимально можливе число одночасних операцій (команд) або операндів (даних), що знаходяться в однаковій стадії обробки.
Спрощені структурні схеми систем типу ОКОД, ОКМД, МКОД, МКМД зображені на рис. 2-5.

У системах типу ОКМД один пристрій управління здійснює управління роботою безлічі процесорних модулів так, що кожен з них виконує одну дану

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


У системах типу МКОД процес обробки розбивається на кілька етапів. Кожному з яких відповідає один з процесорних модулів. Ці модулі складають в сукупності магістраль обробки / конвеєр процесорів. Реальна швидкість обробки залежить від можливостей заповнення магістралі. Найбільш висока швидкість обробки досягається при виконанні довгих лінійних ділянок програм з однорідними операціями. При частих переривання лінійних ділянок командами розгалуження швидкість обробки знижується.
У системах типу МКМД кілька пристроїв управління здійснюють управління одночасним виконанням різних ділянок однієї і тієї ж програми, т. Е.
реалізується асинхронний паралельний обчислювальний процес. Такі системи мають велику гнучкість. Реальна швидкість обробки інформації залежить від можливостей завантаження процесорів, однак, якщо розпаралелювання обчислень при виконанні даної програми утруднено, то можна, скориставшись наявністю декількох пристроїв управління, одночасно виконувати кілька програм, підвищуючи тим самим завантаження процесорів. Системи типу МКМД відрізняються високою надійністю внаслідок хороших можливостей взаємного резервування однотипних пристроїв і машин.
1.4 Послівний і поразрядное обробка.
Сучасні обчислювальні системи мають складну організацію структури і функціонування. Опис систем на базі чотирьох класів ОКОД ОКМД, МКОД, МКМД виявляється занадто грубим. Для більш детального опису доцільно враховувати ознаки послівний і поразрядной обробки наступним чином.

Схему чотирьох класів обчислювальних систем ОКОД, ОКМД, МКОД, МКМД можна представити у вигляді квадрата (рис. 6). Верхня вершина відповідає класу ОКОД.
Перехід з неї до лівої вершині зв'язується з розмноженням потоку даних, в результаті чого виходить клас ОКМД, а перехід від верхньої до правої вершині зв'язується з розмноженням потоку команд, в результаті чого виходить клас МКОД. Перехід з лівої і правої вершин до нижньої зв'язується з розмноженням потоку команд і потоку даних відповідно, в результаті чого виходить один н той же клас МКМД
Схема чотирьох класів має низку недоліків. Так, наприклад, структурно різні асоціативні і матричні системи потрапляють в один і той же клас ОКМД. Системи з комбінованої і перебудовується структурою можуть займати два і навіть три

класу з чотирьох.
З метою поліпшення схеми її можна модифікувати так, щоб забезпечувалося відмінність між послівний обробкою (С) і поразрядной обробкою (Р). Така схема зображена на рис. 7. Вона містить вісім класів. Асоціативні і матричні системи займають в цій схемі різні класи - ОКМДР і ОКМДС відповідно. Схема має кращі можливості локалізації класів систем з комбінованої і перебудовується структурою. Так, наприклад, якщо у вихідній схемі системи займають два або три класи з чотирьох, то в модифікованої схемою вони можуть займати два або три класи з восьми відповідно, т. Е. Їх опис за допомогою класифікації стає більш визначеним, хоча, звичайно, не однозначним.
Модифікована схема восьми класів включена в базову схему класифікації і становить її четвертий рівень (рис. 1).
1.5. Основні структури.
Спрощені структурні схеми типових представників обчислювальних систем зазначених вище восьми класів зображені на рис. 8. Номери структурних схем обчислювальних систем на цьому малюнку відповідають номерам класів обчислювальних систем, представлених в четвертому рівні схеми класифікації на рис. 1. Відзначимо, що поділ пам'яті за типами на рис. 8 відображає, в першу чергу, її функціональні ознаки, а не конкретну конструкцію.
Системи ОКОДС і ОКОДР є звичайним і однорозрядних процесори відповідно і здійснюють послідовну обробку інформації. Решта системи є паралельними і здійснюють паралельну обробку інформації.
Обчислювальні системи паралельної обробки інформації або, більш коротко, паралельні обчислювальні системи містять два або більше процесорних модулів і підрозділяються на три основні класи: ОКМД, МКОД і МКМД. Вони являють собою такі системи, в центральній частині яких є два або більше потоку команд і (або) даних.
Системою типу ОКМД називається деяка паралельна обчислювальна система з єдиним спільним модулем управління роботою безлічі процесорних модулів, причому всі або частину цих модулів одночасно виконують потік команд Такі системи підрозділяються на системи з послівний обробкою ОКМДС і системи з поразрядной обробкою ОКМДР.
Ансамблі процесорів є такі паралельні системи типу ОКМДС, в яких процесорні модулі упорядковуються загальним потоком управління і обробки, як правило, це - порівняно невеликі процесори без взаємозв'язків або з низьким ступенем пов'язаності.
Системи з векторним потоком даних і матричні системи являють собою такі паралельні системи типу ОКМДС, в яких процесорні модулі упорядковуються загальним потоком управління і обробки, як правило, це - порівняно невеликі процесори з високим ступенем пов'язаності. У перших системах процесори зазвичай мають загальну оперативну пам'ять і є фактично складовими арифметико-логічними пристроями обробки, які виконують послідовно команду за командою над векторами операндів. По-друге системах процесори мають індивідуальну оперативну пам'ять і складають матричну конфігурацію зі зв'язками між безпосередніми сусідами.

Той факт, що системи типу ОКМДС можуть бути як з низькою, так і з високим ступенем пов'язаності, відзначений умовно на малюнку 8 за допомогою переривчастої лінії, що зв'язує зображення процесорів.
ОКМДР, які зазвичай оперують з розрядів даних (зріз розряду даних - це сукупність розрядів однієї і тієї ж фіксованої позиції в безлічі слів даних).
Перейдемо до обчислювальних систем типу МКОД. До паралельним системам типу МКОДС відносяться магістральні (конвеєрні) системи - такі системи, в яких здійснюється одночасне виконання декількох команд за допомогою послідовного проходження слів потоку даних через магістраль (конвеєр) кількох спеціалізованих блоків обробки. При цьому обробка розбивається на відповідне число подзадач (етапів), кожна з яких виконується на одному із зазначених спеціалізованих блоків обробки.
Принцип магістральної (конвеєрної) обробки заснований на поділі обчислювального процесу на кілька подпроцессов, кожен з яких виконується на окремому пристрої. При цьому послідовні процеси можуть виконуватися одночасно на своїх пристроях подібно до того, як це має місце в промислових технологічних процесах. Принцип конвеєрної обробки може застосовуватися на різних рівнях ієрархії обчислювального процесу, починаючи з рівня побудови логічних схем пристроїв. Залежно від рівня застосування принципу конвеєрної обробки можна виділити, розглядаючи рівні знизу вгору, арифметико-магістральні, командно-магістральні і макро магістральні системи, а в залежності від типу застосовуваних команд обробки серед магістральних систем можна виділити системи зі звичайними і системи з векторними командами.
Як зазначалося вище, в якості систем МКОДР можна розглядати системи з конвеєром однорозрядних процесорів.
Системою типу МКМД називається деяка паралельна обчислювальна система з декількома модулями управління роботою декількох процесорних модулів, причому ці модулі виконують кілька потоків команд. Число процесорів становить зазвичай величину в межах від 2 до 10, але може становити і кілька десятків і більше, особливо для мікропроцесорних систем. Основні типи систем МКМДС -многопроцессорние і багатомашинні системи.
Багатопроцесорною системою називається така паралельна система типу МКМДС, яка містить два або більше сильно пов'язаних центральних процесора, загальну для них оперативну пам'ять і, цілком або частково, загальні периферійні пристрої, включаючи периферійні процесори і канали введення-виведення, управління якими, як єдиним комплексом, здійснює єдина операційна система. В обчислювальній системі можуть бути кілька копій однієї операційної системи. Таким чином, многопроцессорная обчислювальна система містить два або більше процесорних модулів, що функціонують під єдиним управлінням, і здійснює одночасну обробку декількох команд і даних при загальній ієрархічній пам'яті.
Більш детально характерні риси багатопроцесорних систем можна представити таким чином.
Многопроцессорная система включає два йди кілька центральних пристроїв обробки інформації - центральних процесорних модулів. Ці пристрої можуть мати як однакові, так і різні характеристики. Основна пам'ять (оперативна пам'ять) повинна знаходитися в спільному користуванні і повинна бути доступною для всіх процесорів системи. Процесори можуть мати деяку власну пам'ять. В системі повинен бути загальний доступ до всіх пристроїв введення-виведення, включаючи канали, пристрої управління та периферійне устаткування. В системі повинна бути єдина інтегрована операційна система, що здійснює загальне керівництво апаратними та програмними засобами. При цьому повинна бути передбачена можливість тісної взаємодії апаратних засобів і програмного забезпечення:
1. на рівні системного програмного забезпечення при виконанні системних задач;
2. на програмному рівні при виконанні частин однієї і тієї ж програми декількома процесорами або при виконанні декількох незалежних програм (мультипрограмний режим паралельної обробки);
3. на рівні обміну даними;
4. на рівні апаратних переривань.
Слід зазначити, що взаємодія апаратних і програмних засобів залежить не тільки від організації взаємних зв'язків, але і від системного програмного забезпечення і процедур обробки даних. Базова структурна схема багатопроцесорноїсистеми зображена на рис. 9.

Багатомашинної системою називається така паралельна система типу МКМДС, яка містить зазвичай дві або більше однопроцесорних або багатопроцесорних слабо пов'язаних між собою обчислювальних систем із загальною зовнішньою пам'яттю і / або зі зв'язками через канали введення-виведення, що працюють спільно під управлінням своїх операційних систем. В системі можливі безпосередні зв'язки між процесорами в цілях управління. До її складу можуть входити однопроцесорні і багатопроцесорні системи одного і того ж або різних типів, а також такі обчислювальні системи, як магістральні, матричні, асоціативні та інші.
Як зазначалося вище, в якості систем МКМДР можна розглядати системи пов'язаних між собою однорозрядних процесорів.
Системами з комбінованою структурою будемо називати такі паралельні обчислювальні системи, структури яких характеризуються комбінацією ознак істотно відрізняються один з одного класів.
Одним з найбільш відомих типів систем з комбінованою структурою є ортогональні системи. Вони являють собою такі паралельні системи, які ведуть обробку двома процесорами - звичайним процесором типу ОКОДС і асоціативним процесором типу ОКМДР - і використовують загальну для них оперативну пам'ять в режимі поділу обладнання. Вони є системами з високим ступенем пов'язаності, оскільки пара процесорів має загальну оперативну пам'ять.
Системами з перебудовується структурою будемо називати такі паралельні обчислювальні системи, які володіють можливістю в процесі роботи змінювати тип структури і, в граничному випадку, здійснювати переходи від одного класу до інших істотно відмінним класах. Такі системи в останні роки отримали швидкий розвиток в зв'язку з розробкою і створенням розподілених обчислювальних систем на базі мікропроцесорів.
Концепція розподілених обчислювальних систем швидко розвивається і змінюється і ще не є сформованою. В даний час під такими системами розуміється новий клас обчислювальних систем, що мають велике число розосереджених універсальних засобів (ресурсів) апаратного і програмного забезпечення з можливістю швидкої і гнучкої перебудови, що функціонують автономно, але, разом з тим, узгоджено під управлінням операційної системи високого рівня,
Об'єднуючою ЇХ В єдине Ціле І забезпечує їхню взаємодію Через мережу зв'язку ;.
Розподілені обчислювальні системи втілюють подальший розвиток багатомашинних і багатопроцесорних систем з децентралізованим управлінням, в тому числі існуючих міні- і мікропроцесорних систем.
Слід виділити обчислювальні мережі. Вони складаються з територіально рознесених центрів (вузлів), утворених найрізноманітнішими обчислювальними системами, і систем зв'язку, лінії яких з'єднують центри в деяку конфігурацію мережі. Обчислювальні центри функціонують в тій чи іншій мірі автономно один від одного і взаємодіють між собою через систему зв'язку.
Обчислювальні мережі, в силу своїх особливостей, істотно відрізняються від інших типів паралельних обчислювальних систем і мають яскраво виражену специфіку як в частині організації структури і функціонування, так і в частині програмного забезпечення. І будуть розглянуті в інших курсах.
Різниця між розподіленої обчислювальної системою та обчислювальної мережею є, в принципі, питанням про розміри, розташування і функції вузлів, а також про кількість взаємодій між ними. Якщо всі компоненти системи відносно малі, залежні і локалізовані, то їх можна вважати частинами однієї розподіленої обчислювальної системи (машини). Білі, навпаки, вони досить складні і не залежні, то їх можна розглядати як різні машини мережі. Безліч різноманітних змішаних форм, ймовірно, стане звичайним в найближчі роки.
Можливо, що концепція центрального процесора застаріє. Велика обчислювальна машина буде в цьому випадку укомплектована десятками, сотнями або навіть тисячами ідентичних процесорів, виконаних на одному кристалі (або навіть частини кристала), у кожного з яких буде своя функція. Деякі з цих процесорів можуть мати прошивки для компіляції програм (для кожної мови - один процесор) для виконання програм після компіляції (також зі спеціалізацією процесорів з мов), для здійснення зв'язку з користувачами в оперативному режимі, для управління великими базами даних, для апаратної діагностики і для інших цілей.
Один з напрямків розвитку обчислювальних систем має справу з високо паралельними пристроями масової обробки (на рівнях аж до самих елементарних операцій), званими обчислювальними середовищами. Обчислювальна середовище являє собою сукупність найпростіших однакових автоматів, однаковим чином з'єднаних між собою і програмно настроюються на виконання деякої функції з функціонально повного набору. Основні принципи побудови обчислювальних середовищ -параллельность, конструктивна однорідність і програмна змінність структури.
Основні типи паралельних обчислювальних систем представлені на рис. 10. На цьому малюнку виділені однорідні і неоднорідні багатопроцесорні обчислювальні системи, оскільки характеристики однорідності і неоднорідності в великій мірі впливають на структуру багатопроцесорних систем в силу їх сильної пов'язаності.
Обчислювальні системи з підвищеною надійністю, а також розподілені обчислювальні системи і мережі показані окремо в зв'язку з їх специфікою.
