
- •1 Вступ
- •2 Класи комп’ютерних систем Комп’ютери із спільною пам’яттю (мультиплексорні системи)
- •3 Класифікація протоколів когерентності кешів
- •4 Реалізація smp систем
- •6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)
- •8 Класифікація комп’ютерних систем
- •10 Матричні процесори
- •11 Numa архітектура
- •13 Машинні потоки команд (Data Flow)
- •14 Кластерні системи
- •15 Операційні системи
- •16 Фізична організація файлових систем
- •17 Файлова система ntfs (New Technology File System)
- •18 Файлова система ext2
- •19 Архітектура ос
- •20 Багатошарова структура операційної системи
- •21 Віртуальна пам’ять
- •22 Архітектура ос
1 Вступ
Комп’ютерні системи — це певне об’єднання декількох ЕОМ або їх компонентів для вирішення ресурсоємнісних задач. Під терміном «ресурси» тут розуміють процесорний час, оперативна пам'ять, порти вводу\виводу. Теоретично будь-яку задачу можна вирішити на одній ЕОМ, але це може займати або дуже багато часу або вимагає великої кількості ресурсів.
Основні причини, які сповільнюють виконання роботи програм:
АЛП;
Пристрій управління;
Пам'ять;
Системна шина;
З програмної точки зору на продуктивність впливають наступні фактори:
Компілятор;
Операційна система;
Неефективне програмування.
Безкінечно покращувати апаратну частину ЕОМ неможливо, тому для покращення роботи використовують паралельну обробку даних та конвеєр. Паралельна обробка заключається в тому, що система використовує декілька однакових пристроїв для одночасної роботи над певною частиною задачі. Відповідно час виконання програми зменшується пропорційно кількості пристроїв системи. Паралельна обробка в сучасних суперкомпютерах реалізується в вигляді підтримки векторних команд. Векторні команди — це команди, аргументом яких є вектори.
Конвеєрна обробка.
Якщо є L незалежних стадій і n незалежних команд, то команди виконуються за L+n-1. Комп’ютери, що підтримують конвеєрну обробку називають суперскалярними.
Поєднання конвеєрної та паралельної обробки називається паралельно-конвеєрною обробкою. Існує декілька незалежних пристроїв, кожен з яких є конвеєром. Перед розглядом основних типів комп’ютерних систем розглянемо продуктивність.
Основною одиницею продуктивності є…це 1 операція з плаваючою комою за секунду. Розглянемо пікову та реальну продуктивність. Пікова продуктивність — це максимально можлива продуктивність системи. Реальна продуктивність — це продуктивність системи в умовах певної задачі. Пікова продуктивність — це теоретичний показник, якого досягти неможливо. Якщо реальна продуктивність складає 50% і вище, вважають, що система працює ефективно.
2 Класи комп’ютерних систем Комп’ютери із спільною пам’яттю (мультиплексорні системи)
В комп’ютері декілька процесорі мають доступ до спільної пам’яті і всі процеси працюють в єдиному адресному просторі. Переваги:
Швидкість обміну даними між процесами дуже велика;
Використання єдиного адресного простору значно спрощує розробку;
Можливість гарячої заміни процесора.
Основною складністю реалізації є реалізація механізму доступу до пам’яті.
Є декілька підходів реалізації:
Використання спільної шини;
Оперативна пам’ять, під’єднана до однієї шини, що являє собою набір провідників. В певний момент часу доступ до оперативної пам’яті має один процесор, який монополізує шину, а всі інші процесори чекають, коли звільниться шина.
Використання матричних комутаторів
Оперативна пам’ять розбивається на певну кількість блоків, доступ до якого може отримати процесор через комутатор. Комутатор розміщує на вузлах решітки і з’єднує пам’ять з процесором. Недолік: велика кількість комутаторів.
Найбільш використовувані — це симетричні багатопроцесорні системи SMP. Симетричність полягає в тому, що в системі використовуються однакові процесори по всіх технічних характеристиках. Зазвичай, дані системи використовуються в виробництві, науці, промисловості. Вдома використання є невигідним і неефективним, так як програмне забезпечення розроблене для одно процесорних систем.
Зрозуміло, що операційна система також повинна підтримувати роботу на багатопроцесорних системах.
Кількість процесорів неможливо збільшуваним, так як ускладнюється схемотехнічна реалізація комутації процесорів. Тому на практиці оптимально використовувати 16 процесорів. В симетричній системі кількість процесорів рівна 2n. Ще однією проблемою SMP це є проблема когерентності кешів. В однопроцесорній архітектурі вміст кеша процесора відповідає вмісту оперативної пам’яті. В багатопроцесорних системах кожен процесор в будь-який момент часу може змінювати вміст оперативної пам’яті, відповідно вміст кешу не буде відповідати дійсності. Під терміном когерентності розуміють відповідність даних всіх кешів процесорів вмісту оперативної пам’яті.