Обчислювальні системи і комплекси
Проблемно-орієнтовані обчислювальні комплекси та системи призначені для розв’язання визначеного класу задач в проблемній галузі. Проблемно-орієнтовані обчислювальні комплекси та системи займають проміжне місце між універсальними і спеціалізованими. Вони містять в собі елементи універсальних і елементи спеціалізованих систем, тобто проблемно-орієнтовані обчислювальні комплекси та системи… Читати ще >
Обчислювальні системи і комплекси (реферат, курсова, диплом, контрольна)
Проблемно-орієнтовані обчислювальні системи і комплекси
Системи обробки даних
Система — це сукупність, які цілеспрямовано взаємодіють і утворюють визначену цілісність і єдність.
Характеристики
1. Елемент системи — це частина системи, яка має визначене функціональне призначення. Складні елементи системи часто називають підсистемами, які складаються з більш простіших взаємозв'язаних елементів.
2. Організація системи — це внутрішня упорядкованість і узгодженість взаємодії елементів системи.
3. Структура системи — це основні елементи з яких складається система і зв’язки між ними.
4. Архітектура системи — це структура доповнена системою команд, характеристиками програмних і апаратних засобів. Вона визначаться принципами організації, формами організації пам’яті, методами обміну, а також способами утворення каналів зв’язку в середині системи.
Принцип обробки:
ь Конвеєрна — розпаралелення в часі, задачу розбиваємо на підзадачі, зв’язні між собою.
ь Векторна — великий масив, вибираємо команду і реалізуємо над всім масивом.
ь Систолічні — розпаралелення в просторі і часі побітово.
ь Розподілені — АСУТП.
Методи обміну інформацією
ь Синхронний — обмін у визначені моменти часу.
ь Асинхронний — по мірі приходу інформації.
Організація пам’яті
Чим ближче до процесора тим швидша, чим далі тим місткіша. Побудова: послідовно і паралельно. Канали: послідовні і паралельні.
Система обробки даних — це сукупність технічних засобів і програмного забезпечення, які призначенні для інформаційного обслуговування технічних об'єктів і користувачів. Основою систем обробки даних є технічні засоби, які складаються із: введення, зберігання, перетворення, виведення, опрацювання та візуалізація результатів обробки. Сюди входять ПК, пристрої спряження, апаратура передачі даних і лінії зв’язку.
Програмні засоби — це сукупність програм, які реалізують функції введення, зберігання, обробки, відображення та виведення результатів.
Приклади систем обробки даних: системи для розв’язання наукових і технічних задач, автоматизація.
Системи обробки даних можуть бути: системи телеобробки, обчислювальних комплексів, систем, мереж.
Комплекс — це набір апаратних засобів у вигляді декількох комп’ютерів або мікропроцесорів, і системного (базового) програмного забезпечення, що забезпечує: приймання, обробку і видачу інформації. Особливістю є те, що вони мають тільки базове програмне забезпечення і не мають прикладного ПЗ, яке адоптує комплекс до розв’язання конкретних задач.
Обчислювальні системи — це системи обробки даних, які включають технічні і програмні засоби орієнтовані на розв’язання множин конкретних задач, шляхом розробки прикладного ПЗ.
Обчислювальні мережі — це сукупність ПК, об'єднаних каналами передачі даних, які забезпечують передання і надання інформаційних обчислювальних послуг користувачеві, шляхом організації зручного і надійного доступу до ресурсів розподілених мереж, в залежності від охопленої території діляться на: локальні, глобальні і регіональні.
Системи телеобробки даних — це системи в яких використовується дистанційна централізована обробка даних, які надходять каналами зв’язку. Такі системи реалізуються на технічних засобах, які забезпечують введення даних, передачу каналами, спряження каналів зв’язку з ПК, обробку і видачу даних.
В цих системах поряд з технічними засобами використовують ПЗ, яке виконує функції:
1. Забезпечує роботу ПК в різних режимах телеобробки, управляє мережею телеобробки даних.
2. Управляє чергами повідомлень, редагує повідомлення і працює з помилками, які виникають.
Класифікація систем обробки даних
Системи обробки даних можна розділити на 2 класи:
1. Зосереджені системи
2. Розподілені системи
Зосереджені системи — це системи, в яких технічні засоби територіально зосереджені і обробка здійснюється централізовано.
Розподілені системи — це системи, в яких технічні засоби територіально розподілені і наближені до джерел виникнення інформації.
Обробка в розподілених системах здійснюється децентралізовано.
Обчислювальні комплекси та системи можна розділити на:
1. Одномашинні (однопроцесорні)
2. Багатомашинні(багатопроцесорні)
Обчислювальні мережі за територіальним розміщенням поділяються на:
1. Локальні
2. Регіональні
3. Глобальні
Основні класи та режими роботи обчислювальних комплексів та систем
Обчислювальні комплекси та системи можна класифікувати за ознаками:
1. За призначенням
2. За способом організації обчислюваного процесу
3. За складом обладнання
За призначенням обчислювальні комплекси та системи поділяються на 3 групи:
1. Універсальні
2. Проблемно-орієнтовані
3. Спеціалізовані
Універсальні обчислювальні комплекси та системи призначені для розв’язання широкого класу інженерно-технічних, економічних, математичних, інформаційних та інших задач. Такі обчислювальні комплекси та системи мають структурну організацію універсального типу, яка передбачає наявність ієрархії пам’яті, що дозволяє просто адаптуватись до різних задач; великий об'єм пам’яті, який використовується при їх розв’язанні; різний обсяг пам’яті програм. Чим ближче пам’ять розміщується до процесора — тим вона має більшу швидкодію і менший об'єм. Пам’ять буває: внутрішньо-кристалічна — має малий об'єм, але високу швидкодію; основна; зовнішня (масова) — має великий об'єм, але низьку швидкодію. Для збільшення швидкості обміну між рівнями пам’яті використовується буферна (кеш) пам’ять. Присутність користувацького інтерфейсу в універсальних обчислювальних комплексах та системах забезпечує зручний ввід/вивід інформації та оперативний вплив на управління обчислюваним процесом. Розвинута система програмного забезпечення підвищує ефективність обчислювальних комплексів та систем, зменшує трудоємність підготовчих робіт, спрощує зв’язок і полегшує експлуатацію.
Особливістю спеціалізованих обчислювальних комплексів та систем є те, що вони призначені для розв’язання однієї або декількох задач на протязі часу експлуатації. Їх можна розділити на 2 класи:
1. Процедурно-спеціалізовані обчислювальні комплекси та системи. Особливістю їх є те, що вони мають універсальну організацію. А спеціалізація здійснюється шляхом запису в пам’ять програм спеціалізованого програмного забезпечення.
2. Структурно-спеціалізовані обчислювальні комплекси та системи. В цих системах архітектура апаратно відображає структуру алгоритму розв’язку задач.
Переваги процедурно-спеціалізованих обчислювальних комплексів та систем — простота налаштування на розв’язання задач
Недолік — низька швидкодія в порівнянні з структурно-спеціалізованими обчислювальними комплексами та системами.
Переваги структурно-спеціалізованих обчислювальних комплексів та систем — висока швидкодія, що дозволяє опрацьовувати потоки даних в реальному часі.
Недолік — складність зміни алгоритму роботи, надлишкові апаратні засоби.
Проблемно-орієнтовані обчислювальні комплекси та системи призначені для розв’язання визначеного класу задач в проблемній галузі. Проблемно-орієнтовані обчислювальні комплекси та системи займають проміжне місце між універсальними і спеціалізованими. Вони містять в собі елементи універсальних і елементи спеціалізованих систем, тобто проблемно-орієнтовані обчислювальні комплекси та системи — це об'єднання апаратних і програмних засобів універсального і спеціалізованого підходів для розв’язання задач. Орієнтація проблемно-орієнтованих обчислювальних комплексів та систем на розв’язання визначеного класу задач здійснюється на основі інтегрованого підходу, який охоплює елементну базу, методі та алгоритми, програмне забезпечення. Комплексний підхід враховує особливості конкретних застосувань та інтенсивності надходження потоків даних.
Побудову проблемно-орієнтованих обчислювальних комплексів та систем можна здійснити такими шляхами:
· На основі універсального комп’ютера і процесорів шляхом розробки спеціалізованого програмного забезпечення
· На основі обчислювального ядра, орієнтованого на визначений клас задач, доповненого апаратно-програмними компонентами, які реалізують складні алгоритми розв’язку задач з проблемної галузі.
· У вигляді спеціалізованої алгоритмічної системи, архітектура та організація обчислювального процесу в якій відображає структуру алгоритму розв’язку задач.
Перший є доступний для широкого кола користувачів.
Перевага — є можливість використовувати раніше розроблене програмне забезпечення.
Недолік — невисока швидкодія, функціональна і структурна надлишковість
Другий варіант є перспективним, бо він передбачає поєднання універсальних і спеціалізованих засобів. Це забезпечує високу ефективність використання обладнання для систем, що працюють в реальному часі. Такий підхід використовується, коли алгоритми обробки є нерегулярними з великою кількістю логічних операцій. При розробці апаратних засобів з заданими технічними параметрами необхідно обчислювальне ядро доповнити апаратно-програмними компонентами, які забезпечують необхідну швидкодію для обробки даних.
Третій варіант побудови проблемно-орієнтованих обчислювальних комплексів та систем орієнтований на обробку інтенсивних потоків даних. При цьому, для забезпечення високої ефективності використання обладнання необхідно щоб була узгоджена інтенсивність надходження даних з обчислювальною інтенсивністю надходження апаратних засобів.
За способом організації обчислювального процесу обчислювальні комплекси і системи діляться на:
1. Однопрограмні — це комплекси і системи, в яких одночасно виконується тільки одна програма. Процеси введення даних, обчислення та виведення результатів виконуються послідовно в часі.
2. Багатопрограмні — в яких одночасно знаходяться і виконуються декілька програм, що забезпечує ефективне використання ресурсів обчислювальних комплексів і систем.
Однопрограмний режим характеризується тим, що обробка може здійснюватись за рахунок безпосереднього або неперервного доступу. В режимі безпосереднього доступу — користувач сам готовить всю необхідну для розв’язання задачі інформацію Завантажує дані та програму, безпосередньо спостерігає за ходом задачі та виведенням результатів обробки. При роботі в режимі неперервного доступу — користувач немає безпосереднього контакту з засобами обчислювальних систем. В цьому режимі користувач готовить і віддає завдання в систему, яке розв’язується в порядку черги, яка існує.
Багатопрограмні працюють у двох режимах. Пакетної обробки та розділення часу. В режимі пакетної обробки, вся інформація, а саме вхідні дані і програма вводяться попередньо, до розв’язання задач і при розв’язанні задач втручання користувачів в процес обробки не допускається. Особливістю пакетної обробки є те, що всі задачі які необхідно розв’язувати, об'єднуються в групи (пакети), так щоб в межах пакета забезпечувалось рівномірне завантаження всіх пристроїв обчислювальних систем. Особливістю розділення часу є те, що в обчислювальних комплексах і системах одночасно розв’язується декілька задач, кожній з яких по черзі виділяють відповідні кванти часу. Діалоговий характеризується можливістю переривання розв’язання задач користувача за допомого клавіатури. Характерні для багатокористувацьких систем, де в процесі розв’язання задач користувач має можливість корегувати під розв’язання своєї задачі. Режим реального часу — це один з варіантів розподіленого часу, цей режим застосовується в системах управління, та в системах обробки, де строго регламентується час відповіді системи на запити, які підходять.
При реалізації багатопрограмних режимів, основне навантаження лягає на операційну систему, яка повинна мати розвинену систему переривань та керувати обчислювальним процесом шляхом розпаралеленням завдань між процесорами, які входять в склад обчислювальної системи.
Переривання
Немасковані — неможна заборонити програмним шляхом.
Масковані — можна заборонити програмним шляхом.
Переривання використовуються для синхронізації обчислювального процесу, керування і для обміну з периферійними пристроями.
Обміни — синхронні (по заданому часу) і асинхронні (по мірі надходження)
Обчислювальні системи і комплекси можна класифікувати за складом обладнання:
1. З фіксованим складом обладнання.
2. З змінним складом обладнання.
Фіксований — характерний для спеціалізованих обчислювальних комплексів і систем, які орієнтовані на розв’язання однієї або декілька задач.
Переваги:
Оптимізовані і використовують мінімальну кількість обладнання.
Недоліки
Вузький клас розв’язання задач
Змінний — характерний для універсальних і проблемно-орієнтованих обчислювальних комплексів і систем, які орієновані на розв’зянання широкого кола задач, що вимагає для забезпечення режимів реального часу включення додаткового обладнання в залежності від алгоритмів розв’язання задач і вимог, які висуваються до параметрів обчислювальних систем і комплексів.
Структура обчислювальних комплексів і систем з перемінним складом обладнання включає такі компоненти:
1. Процесорне універсальне ядро.
2. Зовнішні пристрої, які підключаються до ядра, в залежності від вимог, які висуваються до часу та складності задач, які розв’язуються.
Структура з перемінним складом обладнання
УПЯ — універсальне процесорне ядро.
ЗПР — зовнішні пристрої розширення
УПЯ є постійним для всіх застосувань. Адаптація до розв’язання задач здійснюється шляхом підключення необхідної кількості зовнішніх пристроїв. Основним компонентом ООС з перемінним складом обладнання (ПСО) є УПЯ, вклад якого є незмінним.
Властивості УПЯ:
1. Розширення — яке є основою побудови на його базі сімейства обчислювальних систем для широкого спектру застосувань.
2. Відкритість — апаратики програмних засобів, що дозволяє доповнювати апаратні і програмні засоби;
Модульний підхід до побудови ПОС забезпечує створення їх сімейства, які відрізняються технічними характеристиками і функціональними можливостями.
Побудова ПОС з змінним складом обладнання, які використовують модульний принцип побудови. Забезпечуються такими перевагами:
1. Зменшується час обробки, від лагодження та введення в експлуатацію системи.
2. Дозволяє використовувати раніше розроблені ПЗ, яке також реалізується за модульним принципом.
3. Забезпечує швидку адаптацію системи до розв’язання конкретної задачі шляхом включення в систему додаткових апаратних та програмних модулів.
Способи проблемної орієнтації ОКІС (обчислювальні комплекси і системи)
Виробництво ОКІС — це галузь в якій сконцентровані сучасні досягнення передових технологій. Розробка і виготовлення ОКІС є економічно вигідно тільки при великому масштабі виробництва.
Універсальність — гарантує значний попит і відповідну економічну доцільність. Однак і висока продуктивність досягається за рахунок збільшення апаратних і програмних засобів, що веде до збільшення вартості, габаритів, потужності і зниження надійності.
Структура ПООС можна представити у вигляді постійної частини (універсального ядра) та змінної частини, яка складається з спеціальних обчислювальних пристроїв.
Структура ПОС залежить від конкретних вимог і множини алгоритмів n, які використовуються для розв’язання задач. При розв’язанні задач здійснюється розподіл алгоритмів розв’язання задачі між обладнанням F i V;
N=NF+NV
N — множина алгоритмів для розв’язку задачі.
NF - алгоритми, які реалізуються на УПЯ
NV — алгоритми, які реалізуються за допомогою зовнішніх модулів.
В залежності від співвідношення між, ПООС можна розділити на:
І клас. З переважним. використанням УПЯ, коли NF->NV; NV->0; NF>>NV;
ІІ клас. Переважають спеціалізовані засоби, тобто змінна частина NF->0; NV->NF; NF<V
ІІІ клас. З рівномірним використанням F I V (NF~ NV)
І клас. ПООС характерний тим, що основні обчислення зосереджені в УПЯ, тобто в основному задача розв’язується за допомогою програмних засобів.
ІІ клас. ПООС реалізований за допомогою спеціалізованих апаратних засобів. Використовується тільки для виконання допоміжних сервісних функцій.
ІІІ клас. ПООС приблизно рівне використання універсальних і спеціалізованих засобів. При розв’язанні задач універсальні засоби забезпечують управління I/O, та інші функції. А спеціалізовані реалізовують обчислювальні алгоритми, які використовують великий об'єм обчислень.
Основними шляхами використання ОС є використання проблемної орієнтації для здійснення її обчислення таким способом:
ь Структурний — передбачає апаратну реалізаці. І при якому архітектура відображає структуру алгоритму розв’язаня задачі.
ь Зовнішньо системна орієнтація — зводиться до використання спеціалізованих зовнішніх пристроїв. Приклад: до пк підключають периферію.
ь Програмний — при якому задачі реалізуються програмним шляхом.
ь Мікропрограмний — задачі розв’язуються на мікропрограмному рівні. Такий підхід передбачає доступ користувачів до ресурсів на мікропрограмному рівні.
Структурна орієнтація
Це один із основних методів підвищення продуктивності ОСІК при якому структура алгоритму розв’язання задачі адекватно відображає програмними засобами. Продуктивність — це кількість операцій виконання за одиницю часу. В мікропроцесорах використовується з фіксованою комою.
В алгоритмічних засобам кожному функціональному оператору алгоритму розв’язання задачі ставиться у відповідність операційний блок, а дуга між функціональними операторами ставиться у відповідність в канали передачі даних. В таких засобах алгоритм розв’язання задачі реалізується при проходженні даних з входів на виходи через всі операційні блоки за режимами роботи, алгоритмічні засоби можна розділити на два типи:
1. Асинхронний — по мірі надходження даних.
2. Синхронний — у визначені моменти часу
Асинхронні — одно тактові алгоритмічні засоби характеризуються тим, що обробка даних в них здійснюється без проміжних. Продуктивність таких структур визначається:
tAO maxk * tОПК
h — кількість послідовно заданих операційних пристроїв.
tОПК — час затримки проходження через к-тий операційний пристрій., який реалізується j-тим функціональним оператором Кожна однотактова структура є послідовною з точки зору реалізації функціональних операторів. Тому доцільно використовувати синхронні структури з конвеєрною реалізацією алгоритмів, в яких здійснюється суміщення виконання операцій над різними даними.
Два шляхи підвищення швидкодії:
1. Технологічний
2. Розпаралелення (просторове, часове)
При просторовому — задача розбивається на незалежні підзадачі, які інформаційно не зв’язані між собою. При часовому — задача розбивається на підзадачі, інформаційно зв’язані між собою.
Основними вимогами, які висуваються до алгоритмів систем і забезпечують модульність, регулярність та організацію, структуру на НВІЗ. Структурна організацію доцільно використовувати в наступних випадках.
1. Коли для розв’язання задачі не вистачає продуктивності універсальних засобів.
2. Коли використання універсальних засобів не забезпечує вимоги за вартістю, затратами обладнання, надійністю і т. п.
Зовнішньо-системна орієнтація здійснюється за рахунок використання спеціалізованих пристроїв введення, які враховують особливості, вид і характер вхідної інформації. В загальному випадку для обчислення системи зовнішніми пристроями будь-яких типів, які підключаються через відповідні канали.
Канали — це спеціальні пристрої, що управляють обміном даних між системою і зовнішніми пристроями. Отримують команди від процесорів і дальше працюють автономно.
Вони мають доступ до основної пам’яті і забезпечують:
1. Управління роботою зовнішніх пристроїв.
2. Приймання і передача даних.
3. Контроль за правильністю передачі даних.
Програмна орієнтація — здійснюється за рахунок програмної реалізації задач, шляхом реалізації алгоритмів, мінімізації часу від виконання. При програмній реалізації обчислювальні процеси переважно розгортаються в часі з великим обсягом пересилання інформації між оперативною пам’яттю та пристроями.
Особливість: вони доступні програмістам, перед якими виникає задача мінімізації об'єму програм і часу реалізації та забезпечення необхідної точності обчислення. Програмні засоби характеризуються в порівняння з апаратними низькою швидкодією та гнучкістю. При програмній реалізації програми, які використовуються для розв’язання задач зберігаються в постійній або оперативній пам’яіті.
Мікропрограмна орієнтація — це коли алгоритм розв’язання задач організовується на мікроапаратному рівні у вигляді мікрокоманд, забезпечує максимальне врахування архітектури ПК, оптимізація об'ємів мікропрограм, мінімізація часу. Вимагає знання апаратних засобів, архітектури, процесора і системи.
Особливості ПОС є те, що вони використовують одночасно і універсальні іспеціалізовані засоби, апаратні, програмні і мікропрограмні реалізації. Переваги залежать від вимог задач та складності алгоритмів розв’язання.
Інтерфейс — це сукупність апаратних і програмних засобів, які забезпечують обмін між елементами системи і регламентують конструктивні параметри.
ь Електричні параметри — логічний рівень 0,1, живлення, потужність споживання.
ь Часові параметри — частота обміну, сам наростання переднього фронту і спаду заднього.
ь Процедури обміну — коли подавати, що здійснюється, послідовність сигналів.
Структури обчислювальних комплексів (багатомашинні) — це об'єднання ПК між собою з метою підвищення надійності, продуктивності і розширення функціональних можливостей.
Багатопроцесорні обчислювальні комплекси — це об'єднання процесорів, які мають спільну оперативну пам’ять і спільні периферійні пристрої, такі обчислювальні комплекси мають кращі умови для взаємодії обчислювальних процесів, оскільки всі процесори мають доступ до всього обсягу даних, що зберігається в оперативній пам’яті і можуть взаємодіяти із всіма периферійними пристроями, які входять в склад комплексу.
Є два підходи до реалізації алгоритмів:
1. Традиційний — процедурний, коли алгоритм реалізовується у вигляді послідовності відповідних команд.
2. Архітектурний — тобто, коли алгоритм реалізується у вигляді відповідного з'єднання процесорів, які реалізують певні частини алгоритму. Тобто програмується архітектура системи і адаптується до структури алгоритму розв’язання задачі
Розпаралелення часу — це конвеєризація процесу обчислення задач, коли задача розбивається на послідовність підзадач, які інформаційно зв’язані між собою.
Простоова розпаралеленість — це коли задача розбивається на незалежні підзадачі, які інформаційно не зв’язані між собою.
Класифікація обчислювальних комплексів і систем за потоками команд і потоками даних.
Дану класифікацію запропонував Флін:
ь Одиночний потік даних (ОД)
ь Множинний потік даних (МД)
ь Одиночний потік команд (ОК)
ь Множинний потік команд (МК)
У 1966 році М. Флінном (Flynn) був запропонований надзвичайно зручний підхід до класифікації архітектур обчислювальних систем. В основу було покладено поняття потоку, під яким розуміється послідовність елементів, команд або даних, що обробляється процесором. Відповідна система класифікації заснована на розгляді числа потоків інструкцій і потоків даних і описує чотири архітектурних класу:
ь SISD = Single Instruction Single Data
ь MISD = Multiple Instruction Single Data
ь SIMD = Single Instruction Multiple Data
ь MIMD = Multiple Instruction Multiple Data
SISD (single instruction stream / single data stream) — одиночний потік команд і одиночний потік даних. До цього класу належать послідовні комп’ютерні системи, які мають один центральний процесор, здатний обробляти тільки один потік послідовно виконуваних інструкцій. В даний час практично всі високопродуктивні системи мають більше одного центрального процесора, проте, кожен з них виконує незв’язані потоки інструкцій, що робить такі системи комплексами SIMD-систем, що діють на різних просторах даних. Для збільшення швидкості обробки команд і швидкості виконання арифметичних операцій може застосовуватися конвеєрна обробка. У разі векторних систем векторний потік даних слід розглядати як потік з одиночних неподільних векторів. Прикладами комп’ютерів з архітектурою SISD є більшість робочих станцій Compaq, Hewlett-Packard і Sun Microsystems.
Рис. Однопроцесорна система Рис. структура
MISD (multiple instruction stream / single data stream) — множинний потік команд і одиночний потік даних. Теоретично в цьому типі машин безліч інструкцій повинно виконуватися над єдиним потоком даних. До цих пір жодної реальної машини, що потрапляє в даний клас, не було створено.
В якості аналога роботи такої системи, мабуть, можна розглядати роботу банку. З будь-якого терміналу можна подати команду і щось зробити з наявним банком даних. Оскільки база даних одна, а команд багато, то ми маємо справу з множинним потоком команд і одиничним потоком даних.
Рис. Багатопроцесорна система Рис. структура
SIMD (single instruction stream / multiple data stream) — одиночний потік команд і множинний потік даних. Ці системи зазвичай мають велику кількість процесорів, в межах від 1024 до 16 384, які можуть виконувати одну і ту ж інструкцію щодо різних даних в жорсткій конфігурації. Єдина інструкція паралельно виконується над багатьма елементами даних. Прикладами SIMD машин є системи СРР DAP, Gamma II і Quadrics Apemille. Іншим підкласом SIMD-систем є векторні комп’ютери. Векторні комп’ютери маніпулюють масивами подібних даних подібно до того, як скалярні машини обробляють окремі елементи таких масивів. Це робиться за рахунок використання спеціально сконструйованих векторних центральних процесорів. Коли дані обробляються за допомогою векторних модулів, результати можуть бути видані на один, два або три такти частото генератора (такт частото генератора є тимчасовим основним параметром системи). При роботі в векторному режимі векторні процесори обробляють дані практично паралельно, що робить їх у кілька разів швидшими, ніж при роботі в скалярному режимі. Прикладами систем подібного типу є комп’ютери Hitachi S3600.
Рис. Багатопроцесорна система Рис. Структура
MIMD (multiple instruction stream / multiple data stream) — множинний потік команд і множинний потік даних. Ці машини паралельно виконують декілька потоків інструкцій над різними потоками даних. На відміну від багатопроцесорних SISD-машин, згаданих вище, команди і дані пов’язані, тому що вони представляють різні частини одного і того ж виконуваного завдання. Наприклад, MIMD-системи можуть паралельно виконувати безліч підзадач, з метою скорочення часу виконання основного завдання. Наявність великої різноманітності потрапляють в даний клас систем, робить класифікацію Флінна не повністю адекватною. Дійсно і чотирьох-процесорний SX-5 компанії NEC і тисячі-процесорний Cray T3E обидва потрапляють в цей клас. Це змушує використовувати інший підхід до класифікації, інакше описує класи комп’ютерних систем. Основна ідея такого підходу може складатися в наступному.
Рис. Багатопроцесорна система Вважаємо, що множинний потік команд може бути оброблений двома способами: або одним конвеєрним пристроєм обробки, що працює в режимі поділу часу для окремих потоків, або кожен потік обробляється своїм власним пристроєм. Перша можливість використовується в MIMD комп’ютерах, які зазвичай називають конвеєрними або векторними, друге — в паралельних комп’ютерах. В основі векторних комп’ютерів лежить концепція конвеєризації, тобто явної сегментації арифметичного пристрою на окремі частини, кожна з яких виконує свої підзадачі для пари операндів. В основі паралельного комп’ютера лежить ідея використання для вирішення однієї задачі декількох процесорів, що працюють спільно, причому процесори можуть бути як скалярними, так і векторними.
Рис. структура Найбільш складнішою за організацією є МДМК. Для класу МДМК Хокні розробив свою класифікацію, яка дозволяє детальніше класифікувати такі системи за:
ь за організацією пам’яті;
ь за організацією обробки;
ь за організацією зв’язків;
Рис. Класифікація Хокні
ПООКС класу МДМК (класифікація Хокні)
За організацією пам’яті:
ь з розподіленою (розподілена і приближена до процесора).
ь З спільною (спільна пам’ять для всієї системи) З спільною, це такі системи, які використовують спільну пам’ять для збереження вхідних даних та для обміну результатами опрацювання. В таких системах обмін даними здійснюється через спільну пам’ять. З розподіленою пам’яттю, коли пам’ять розподілена по процесорах, тобто є локальною. Це забезпечує мінімізацію обсягів даних, якими обмінюються процесори, забезпечує збільшення швидкодії та зменшення кількість звертань до пам’яті. Дозволяє зосередити обчислення в процесорі і зменшити обмін між ними.
Недолік локальної — великий обсяг пересилок між процесорами та спільною пам’яттю.
ь З зосереджено розподіленою пам’яттю.
Системи, які мають, як локальну пам’ять для кожного процесора так і спільну пам’ять цілої системи. Такі системи мають переваги, як системи з розподіленими так і локальними (спільними). Недоліком таких систем є великий обсяг пам’яті та додаткові затрати обладнання.
За організацією обробки:
ь Синхронні (конвеєрні).
ь Асинхронні (однотактні).
Синхронні системи використовуються для підвищення швидкодії шляхом розбиття складної задачі на послідовність підзадач, які інформаційно зв’язані між собою. Таким чином, щоб виходи результатів розв’язання і-тої підзадачі є вхідними даними для (і+1) підзадачі.
Складність для забезпечення ефективної роботи конвеєрних систем, необхідно щоб складність підзадач була приблизно рівною. Чим менша складність задач, тим менший такт роботи конвеєра, і тим більша швидкодія системи.
Сходинка конвеєра складається з двох компонент:
ь Буферна пам’ять.
ь Операційний пристрій.
Буферна пам’ять необхідна для розділення конвеєра на сходинки, шляхом запам’ятовування результатів проміжних обчислень. Операційні пристрої реалізують алгоритм розв’язання підзадач.
Синхронні доцільно використовувати для опрацювання неперервних потоків даних, при цьому їх швидкодія буде визнатися тактом спрацювання або обчислення підзадач Асинхронні (однотактові), це системи, які працюють без проміжних запам’ятовувачів. Обчислення здійснюється шляхом проходження даних з входу на вихід. Асинхронні системи називаються однотактними, так як в даних системах відсутнє проміжне запам’ятовування результатів обробки. Однотактні системи доцільно використовувати для опрацювання одиничних задач. Оскільки при цьому швидкодія буде визначатися часом затримки проходження інформації з входу на вихід.
За зв’язками між елементами системи:
ь Регулярні зв’язки.
Прикладом таких є мережа [регулярні гратки]
Архітектура кластерної системи (спосіб з'єднання процесорів один з одним) більшою мірою визначає її продуктивність, ніж тип використовуваних в ній процесорів.
Критичним параметром, впливаючим на величину продуктивності такої системи, є відстань між процесорами.
Так, з'єднавши разом 10 персональних комп’ютерів, ми отримаємо систему для проведення високопродуктивних обчислень, однак проблема буде полягати в знаходженні найбільш ефективного способу з'єднання стандартних засобів один з одним, оскільки при збільшенні продуктивності кожного процесора в 10 разів продуктивність системи в цілому в 10 разів не збільшиться.
Розглянемо для прикладу завдання побудови симетричної 16-ти процесорної системи, в якій всі процесори були б рівноправні. Найбільш природним представляється підключення у вигляді одновимірної решітки, де зовнішні кінці використовуються для підключення зовнішніх пристроїв.
Рис. Схема з'єднання процесорів у вигляді плоскої решітки При такому типі з'єднання максимальна відстань між процесорами виявиться рівним 6 (кількість зв’язків між процесорами, що відокремлюють найближчий процесор від самого дальнього). Теорія ж показує, що якщо в системі максимальна відстань між процесорами більше 4, то така система не може працювати ефективно. Тому, при з'єднанні 16 процесорів один з одним одновимірна схема є не ефективною. Для отримання більш компактної конфігурації необхідно вирішити задачу про знаходження фігури, що має максимальний обсяг при мінімальній площі поверхні. У тривимірному просторі такою властивістю володіє куля. Але оскільки нам необхідно побудувати вузлову систему, то замість кулі доводиться використовувати куб (якщо число процесорів дорівнює 8) або гіперкуб, якщо число процесорів більше 8. Розмірність гіперкуба буде визначатися в залежності від кількості процесорів, які необхідно з'єднати. Так, для з'єднання 16 процесорів буде потрібно 4-х мірний гіперкуб. Для його побудови слід взяти звичайний 3-х мірний куб, зрушити в ще одному напрямі і, з'єднавши вершини, отримати гіперкуб розміром 4.
ь Системи типу гіперкуб Архітектура систем типу гіперкуб, де кожний процесор або ПК має зв’язок з іншими процесорами. Переваги даної системи — висока швидкодія. Недоліки — великі затрати на реалізацію і досить низька надійність.
Приклади гіперкуба
Рис. Топологія зв’язку, трьохмірний гіперкуб Рис. Топологія зв’язку, чотирьохмірний гіперкуб ь Ієрархічна структура Побудова обчислювальних систем за ієрархічним принципом, який передбачає розбиття системи на ієрархічні рівні і забезпечує зв’язки між рівнями. Наприклад трирівнева система:
І. процесор головний
ІІ процесор об'єднання
ІІІ мікроконтролери
Рис. Ієрархічна структура
Ієрархічні системи використовуються в АСУ складними технологічними процесами або складними технічними об'єктами. Особливістю таких систем є те, що на кожному рівні розв’язується задачі відповідної складності. Найпростіші задачі розв’язують процесори нижнього рівня. Найскладніші задачі розв’язують процесори верхнього рівня.
ь Системи із змінною конфігурацією.
На сучасному етапі розвитку елементної бази найперспективнішою є програмовані логічні інтегральні системи. Викриствання дозволяє перейти від процедурного розв’язання задач до структурного.
Відображає структуру алгоритму розв’язання задач шляхом апаратної реалізації функціональних операторів, який використовується для розв’зязання задач. ПЛІС налаштовуються на розв’язання задачі шляхом програмування архітектури, тобто архітектура повинна апаратно відображати структуру алгоритму розв’язання задачі.
Рис. Приклад системи з реконфігурованою структурою
Лекція (20.10.2009)
Класифікація Фенга
Дана класифікація ґрунтується на аналізі кількості слів і розрядів, які опрацьовуються в системі. Для характеристик обчислювальні системі вводиться параметр
P = m n
P — це ступінь паралелізму, який є в обчислювальній системі.
n — розрядність слів, які опрацьовуються обчислювальною системою.
m — кількість слів, що одночасно опрацьовуються.
За кількістю розрядів і кількістю слів обчислювальні системи можна розділити на чотири класи:
1. n = m = 1; такий клас називається розрядно-послідовний і послідовний.
Рис. Структура Особливістю даної системи є те, що вона ґрунтується на одному операційному пристрої з розрядністю = 1. Це дозволяє мінімізувати апаратні затрати і розгортає обчислення в часі. Переваги: малі затрати апаратури. Недоліки: великий час, необхідний на реалізацію алгоритму обчислення.
2. n > 1; m = 1; це система з одним операційним пристроєм, який має розрядність n; Однопроцесорна система в якій в кожному такті опрацьовується n-розрядні числа.
Рис. Структура В порівняні з попереднім, така система є більш швидкодіючою, але своєю реалізаціє вимагає більше апаратних затрат.
Така система називається розрядно паралельна і послідовно-послідовна. Прикладом такої системи є одно процесорні обчислювальні системи.
3. n = 1; m > 1; розрядно послідовні і послідовно паралельні системи.
Рис. Структура Дана система забезпечує розпаралелену обробку даних, на рівні слів. В такому такті, в такій системі опрацьовуються розрядні зрізи n-слів. Така система в порівнянні з попередніми має вищу швидкодію, але для реалізації вимагає більше апаратних затрат.
4. n > 1; m > 1; Коли для обробки використовується більше двох операційних пристроїв з розрядністю рівною n; Такі системи називаються розрядно і послідовно паралельні. Тобто розпаралелення здійснюється на рівні розрядів і на рівні слів.
Рис. Структура Даний клас обчислювальних систем має найбільшу швидкодію у порівнянні з раднішими. Оскільки він забезпечує максимальну ступінь розпаралелення, яка визначається кількістю слів одночасно опрацьованих і їх розрядність. Недоліком такої системи є великі апаратні затрати, які необхідно для її реалізації.
Класифікація Хендлера
В основу даної класифікації покладено можливості розподіленої і конвеєрної обробки інформації. Розподілена обробка — це обробка, яка здійснюється на базі пристроїв, які між собою інформаційно не зв’язані, тобто розподілена відноситься до розпаралелення обробки даних в просторі. Конвеєрна обробка — це розпаралелення в часі, яке передбачає розділення великої за обсягом задачі на підзадачі, таким чином що результат і-тої операції є вхідним для і+1 шої.
Класифікація Хендлера базується на трьох рівнях обробки даних в процесі виконання алгоритму:
1. Системний рівень обробки.
2. Рівень процесорів.
3. Рівень операційних пристроїв.
Рис. Структура обчислювальних систем, яка ґрунтується на трьох рівнях Пр — процесор. К — число паралельно працюючих процесорів.
ПУ — пристрої управління. АЛП — арифметично логічний пристрій.
d — кількість АЛП, які паралельно працюють в процесорів. ФП — функціональні пристрої.
w — кількість розрядів, які використовуються при реалізації АЛП
І — рівень забезпечує розпаралелення обробки даних на рівні розрядів.
ІІ — рівень забезпечує розпаралелення обробки даних на рівні слів і на рівні команд.
ІІІ — рівень забезпечує розпаралелення обробки даних на ріні програми, де кожен процесор розв’язує своб підзадачу.
Класифікація системи за Хендлером
— кількість процесорів, які працюють одночасно.
— глубина конвеєра кожного з процесорів, визначається кількістю сходинок конвеєра.
— кількість АЛП в кожному процесорів що працюють паралельно.
— визначає глубину конвеєра, кількість сходинок АЛП.
— число розрядів в слові, яка паралельно опрацьовується АЛП.
— глубина конвеєра, при опрацюванні розрядів деяких даних функціональному пристрою.
Особливості роботи ПООСіК в режимі реального часу
Режим реального часу при обробці даних ПООСіК здійснюється обробка даних без накопичення затримок. Тобто дані надходять з певними темпами і т. п.
Для забезпечення режиму необхідно:
Час обміну визначається розмірністю масиву N, розрядність слів n, кількістю каналів даних, розрядність каналів і частотою надходження.
Fd — частота
k — кількість каналів
nk — розрядність каналів надходження даних Другою необхідною умовою для забезпечення реального часу є, щоб інтенсивність надходження даних була рівна або менша від обчислювальної здатності ПОС;
— інтенсивність надходження даних.
— обчислювальна здатність
— частота надходження даних.
— кількість каналів надходження даних.
— розрядність каналів надходження даних.
— тактова частота роботи конвеєра.
— кількість трактів обробки
— розрядність трактів обробки Визначення необхідної продуктивності обчислювальних засобів для забезпечення розв’язання задач в реальному часі;
Складність алгоритмів, які необхідні для ров’язання задачі ®
Складність вимірюється в такий спосіб: кількість операцій необхідних для його реалізації; Сучасні алгоритми мають складність R=N2, де N — розмірність масива.
— коефіцієнт, який враховує особливості засобів реалізації.
m — кількість каналів надходження даних.
Компонентно-ієрархічний підхід до розробки ПООСІК
Компонентна — це складова частина ОС. Ієрархічний — це метод, який поділений на відповідні рівні з підпорядкуванням нижніх рівнів верхньому.
Розробки ПООСІК, які працюють в реальному часі і мають високу ефективність використання обладнання, будемо здійснювати на основі компонентного і ієрархічного підходу, який передбачає поділ розробки на ієрархічні рівні та види забезпечення.
ь алгоритмічне;
ь апаратне;
ь програмне;
Для реалізації такого підходу використовують метод декомпозиції, який передбачає розбиття обчислювальної системи на окремі компоненти з яких в міру необхідності комплектують конкретну обчислювальну систему. На кожному рівні ієрархії розв’язання задачі відповідної складності, які характеризується як одиницями інформації так і алгоритмами обробки. Методологія послідовної декомпозиції, яка використовується при комплексно ієрархічному підході відображає процес розробки, який називається зверху вниз.
На першому ієрархічному рівні розробки, алгоритми функціонування ОС подаються у вигляді функціонального апарату.
F = (Ф, Г) Ф = {Ф1, Ф2, … Фn} - алгоритм розв’язання задачі, який складається із множини функціональних операторів.
Г — закон відображення зв’язків між функціональними операторами.
Таб. Рівні і види забезпечення та виконувані розробки
Ієрархічний рівень | Види забезпечення та виконувані розробки | |||
Алгоритмічне | Апаратне | Програмне | ||
1-ий | Алгоритми функціонування ОС | Структура апаратних засобів ОС | Структура програмних засобів ОС | |
2-ий | Алгоритми функціонування процесів та їх складових | Структура процесів | Модульна програмна реалізація алгоритмів обробки | |
3-ий | Алгоритми реалізації базових операцій | Структура оперативних пристроїв для реалізації базових операцій | Підпрограмна реалізація базових операцій | |
4-ий | Алгоритми реалізацій арифметичних операцій. | Структура арифметичних пристроїв | Підпрограмна реалізація арифметичних операцій | |
Подання алгоритмів розв’язання задач у вигляді функціонального графу дозволяє виначити доцільність реалізації алгоритмів апаратним або програмним засобом. Крім того, на першому рівні, на основі аналізу функціонального графу розроблені алгоритми, структура апаратних і програмних засобів. Другий рівень ієрархії складають алгоритми реалізації складових і окремих процесів. Третій рівень складають елементи, які реалізують або мікрооперації або базові операції алгоритмів. До четвертого рівня відносять елементи, які реалізують арифметичні операції типу множення/ділення, додавання/віднімання і т. п.
Компоненто ієрархічну структуру можна описати за допомогою такого виразу:
— засоби 1 — 4 рівнів
n — кількість підсистем
m — кількість базових операцій
p — кількість арифметичних операцій.
Комп’ютерний ієрархічний підхід дозволяє:
1. Розпаралелити процес обробки.
2. Мінімізувати затрати на розробку, за рахунок використання спеціалістів високої кваліфікації.
3. Зменшити час розробки та від лагодження системи.
Процес розробки, який передбачає розробку структури системи з її деталізацією називається процесом розробки зверху вниз.
Процес розробки, який використовує компоненти нижніх для синтезу верхніх, є процесом проектування знизу вверх.
Кожен із процесів має свої переваги і недоліки
Принципи розробки ПООСІК
Для зменшення вартості і термінів розроблення ПООСІК, пропонується їх розробку здійснювати за такими принципами:
1. Змінного складу обладнання, який передбачає наявність ядра обчислювальної системи та змінних модулів, за допомогою яких ядро адаптується жо вимог конкретного застосування.
2. Модульність, передбачає розробку компонентів у вигляді функціонального завершених модулів, які мають вихід на стандартний інтерфейс.
3. Узгодження інтенсивності надходження даних з обчислювальною здатністю апаратних засобів, що забезпечує високу ефективність використання обладнання при обробці даних в реальному часі.
4. Конвеєрності та просторового паралелізму обробки даних, що забезпечує високу швидкодію обробки за рахунок розпаралелення обробки як в часі так і просторі.
5. Відкритості ПЗ, що забезпечує нарощення та його використання максимальної кількості драйверів та програмних засобів.
6. Спеціалізація та адаптація апаратно програмних засобів до структури обробки і адаптація ПЗ до алгоритмів. Використання спеціалізації і адаптації дозволяє реалізацію в загальному часі і оптимізацію програмних і апаратних засобів.
7. Програмованості архітектури шляхом використання ре програмованих логічних схем (інтегральних).
8. Використання паралельної пам’яті для зберігання інформації для обміну і проміжних результатів.
Паралельна пам’ять — це пам’ять, яка забезпечує за одне звертання доступ до даних.
Інтегрований підхід до ПООСІК повинен охоплювати:
1. Алгоритмічні, апаратні, програмні засоби та алгоритми обробки.
2. Методи та засоби автоматизованого проектування апаратних і програмних засобів обробки даних в реальному часі.
3. Нові орієнтовані на технології НВІС алгоритмічні рішення, архітектурні та схемо технічні рішення.
Форми відображення алгоритмів
Алгоритми, які орієнтовані на реалізацію на множині взаємопов'язаних процесорів називаються паралельними. Для реалізації в ПОС паралельні алгоритми повинні бути добре структуровані і забезпечувати детерміноване перетворення в часі.
При розробці алгоритмів для багатопроцесорних ПООС потрібно врахувати багато взаємозв'язаних факторів:
1. Необхідно, щоб алгоритми були рекурсивними та локально взаємозалежними.
Ефективність відображення алгоритму на процесорі безпосередньо зв’язана способом декомпозиції розв’язання задачі. Моделлю паралельних апаратних структур є точкові системи — гратки, які в Декартові системі координат відображають розміщення процесорів.
Така модель дозволяє оцінити, як часову так і апаратурну складність реалізації алгоритму. Алгоритм розв’язання задачі можна описати через залежність між входом і виходом.
Y=F (X)
Рис. Алгоритм Представлення алгоритму в аналітичному вигляді має свої переваги і недоліки.
Переваги:
· компактність.
Недоліки:
· неможливість в повній мірі оцінити складність алгоритму.
· Забезпечити розпаралелення алгоритму.
· Які необхідні апаратні затрати для реалізації.
Одна із форм відображення алгоритму — граф.
Символічно алгоритми можна подати, як композицію функціональних операторів у вигляді наступного запису
F={Ф, Г}, де Ф={Ф1, Ф2, …, Фn} - множина функціональних операторів. Г — закон взаємодії зв’язку між ними.
Графічно граф схема алгоритму представлена наступним чином:
Рис. Граф схема алгоритму Де кожному функціональному оператору у відповідність ставиться вершина, а зв’язки між функціональними операторами ставляться дуги. Функціональні оператори отримуються в результаті декомпозиції алгоритмів. Тобто розбиття алгоритму на функціональні оператори.
Представлення алгоритму у вигляді граф схеми:
1. Забезпечує визначення складності алгоритму.
2. Визначає, які функціональні оператори в ПОС доцільно реалізовувати апаратним, а які програмним.
Коли багато логічних операцій, операції переходу — програмним. Оператори, які містять тільки обчислення з детермінованими даними, то доцільно використовувати апаратний шлях.
Для апаратної реалізації алгоритму є потреба в просторово часовому відображенні, тобто на рівні арифметичних операцій. Таке відображення алгоритму повинно забезпечувати виявлення всіх форм паралелізму та знаходження просторово часових рішень для синтезу проблемно орієнтованих систем, які працюють в реальному часі.
Забезпечення просторово часового відображення з виявленням усіх форм паралелізму дозволяє ярусно-паралельна форма. При такій формі подання алгоритму, здійснити розподіл усіх його функціональних операторів за ярусами, так щоб в j-ярусі розміщені функціональні оператори, які залежать хоча б від одного з функціональних операторів j-1 ярусу, і не залежить від функціональних операторів наступних ярусів.
Ярус характеризується параметрами: ширини ярусу, тобто кількістю розміщених в ярусі функціональних операторів. Кількість каналів надходження даних, кількість видачі результатів і розрядністю каналів видачі і надходження даних.
Кількість ярусів, яка є при відображенні алгоритму в ярусній формі називається висотою відображення алгоритму. За допомогою просторово часових індексів в системі координат час і простір задається розміщенням операторів, таке відображення називається послідовно паралельною формою. Параметрами є: складність функціональних операторів, ширина ярусу, висота графу. Дані параметри є взаємозалежними і зміна одного веде до зміни іншого, залежно від засобів реалізації графів алгоритмів, їх відображення здійснюється з різною реалізацією.
Метод відображення алгоритму в ярусно паралельній формі. Метод переходу від граф схеми до ярусно — паралельної форми.
1. Скласти матрицю між функціональними операторами, де матриця стовпців є в їводи, а стрічки — виходи. У випадку коли є зв’язки між входом і виходом, тоді на перехресті ставимо «1», коли нема, то «0», шляхом додавання всіх стовпців матриці отримуємо нульовий вектор функціональних операторів, в яких буде «0» відносяться до «0» ярусу.