- •4. Використання комп’ютерів в економіці, науці та техніці.
- •8. Структурні схеми комп’ютерів різних поколінь
- •11. Види архітектур комп’ютерів.
- •13. Мікропрограмна реалізація комп’ютерів.
- •14. Багаторівнева організація еом.
- •15.Багатопроцесорна архітектура
- •16.Матричные микропроцессоры
- •24. Архітектура Intel.
- •26. Канальна архітектура
- •40. Організація системи вводу - виводу.
- •41. Контролер вводу – виводу.
- •42.Програмно - керований обмін інформацією між пристроями комп’ютера.
- •45.Апаратні інтерфейси комп’ютера
- •46. Синхронізація в апаратних інтерфейсах комп’ютера. Функції контролера переривань.
- •47. Топологія апаратних інтерфейсів комп’ютера. Особливості реалізації сучасних апаратних інтерфейсів комп’ютера
- •48. Ввід/вивід аналогової інформації. Ввід/вивід дискретних сигналів.
- •53.Введення до іменованих конвеєрів
- •54. Ідея конвеєра команд та вигода від нього, причини збоїв в конвеєрі.
- •55. Ячейки, адреси, машинні слова, розряди, біти, байти.
- •57.Представлення чисел в форматі з фіксованою точкою (представлення беззнакових чисел, представлення знакових чисел в прямому та допоміжному кодах).
- •58. Особливості складання та віднімання цілих чисел (на прикладі персонального комп’ютера - пк).
- •59. Представлення чисел в форматі з плаваючою точкою (на прикладі пк).
- •60. Кодування ascii (American Standart Code for Information Interchange) та стандарт Unicode. Кодування українського тексту (Windows-1251, koi8 та ін.,.
- •64. Типові схеми постійно запам’ятовуючих та оперативно запам’ятовуючих пристроїв комп’ютерів.
- •66. Системні плати, склад, характеристики та порівняння.
- •67.Дискова память,сегмент та зміщення
- •68. Регістри компю’терів
- •69. Контролери комп’ютерів.
- •72. Організація буфера клавіатури.
- •73. Звукові карти та мультимедійні системи.
- •74. Системи охолодження та вентиляції.
- •75. Монітори та їх характеристика.
- •76. Принтери та їх характеристика.
- •77. Сканери та їх характеристика.
- •78. Пристрої управління та їх характеристика (миш, клавіатура, джойстик та ін.).
- •79. Накопичувачі та їх характеристика (fdd, hdd ).
- •80. Накопичувачі та їх характеристика (cd-r, cd-rw, dvd rom, dvd ram, Zip).
- •81. Накопичувачі та їх характеристика (магнітно-оптичні змінні пристрої, флеш-пам’ять та ін.).
- •82. Пристрої зв’язку (модеми, факс-модеми та ін. ).
- •83. Структура таблиці розміщення файлів на магнітних дисках. Типи файлів (імена, формати, розширення) та їх структура.
- •84 Структура даних на носіях інформації
- •4.1 Структура даних на магнітному диску
- •88. Адресация данных и команд.
- •89. Універсальність комп’ютерів: принцип фон-Неймана; гарвардський принцип.
- •92. (Модульний принцип побудови, масштабованість, сумісність програмного забезпечення. Орієнтування на клас задач. Модернізованість.
- •93. Вибір основних складових комп’ютера: процесор, чипсет, тип та об'єм озп, материнська плата, відеокарта, диск, монітор.
- •94. Вибір периферійних пристроїв комп’ютера: сd, dvd, сd-r, cd-rw, флеш-пам’ять.
- •95. Вибір периферійних пристроїв комп’ютера: принтер, сканер, мультимедіа.
- •96. Вибір периферійних пристроїв комп’ютера: модем, факс-модем та ін.
- •97. Перевірка архітектури комп’ютера та його складових. Методи та засоби.
- •98. Тестування та перевірка: оперативної та дискової пам’яті комп’ютера.
- •102. Тестування та перевірки: модема та факс - модема.
- •104. Дайте визначення та охарактерізуйте категорії регістрів
- •107. Визначить функції команди int в Асемблері. Переривання в Асемблері.
- •108. Макроозначення та функції в Асемблері. Макроозначення Invoke.
- •109. Змінні в Асемблері. Їх розміщення.
- •110. Особливості Асемблера в Windows. Створення вікон.
- •112.Опишіть технологію компіляції програм на Асемблері.
- •116. Еом .Характеристики апаратних засоби зберігання й обробки інформації .
- •118. Системний блок персонального комп'ютера- характеристика.
- •119. Апаратні засоби пк
- •120. Процесор (центральный процесор (цп) пк
- •121. Оперативна пам'ять пк та її характеристики.
- •122. Статична пам'ять (sram) у сучасних пк та її характеристики
- •123. Динамічна пам'ять (dram) у сучасних пк та її характеристики
- •126. Постановка задачі . Етапи.
- •127. Які етапи містить наукова постановка задачі
- •128. Характеристика , визначення й опис вхідної/вихідної інформації в постановці задачі.
- •129. Визначення та аналіз разработки алгоритму/алгоритмів рішення задачі.
- •130. Що визначає опис технологічного процесу обробки даних задачі.
- •Характеристика програм, комплексів програм та систем (Приклади)
- •Документування программ
- •Що визначає надійність программного забезпечення(программных средств).
- •Що визначає ефективність технічних засобів.
- •Що визначає ефективність програмних засобів
- •Етапи підготовки програми.
- •137. Модульна структура побудови програмного забезпечення та її характеристики
- •138. Етапи підготовки програм та комплексів программ.
- •140. Агоритми.- характеристика, призначення, функції, принципи побудови.
15.Багатопроцесорна архітектура
Відносно великі накладні витрати, пов'язані з обробкою переривань, незрідка роблять доцільним включення в систему додаткових процесорів. Є і інші аргументи на користь створення багатопроцесорних обчислювальних систем.
Одним з аргументів є підвищення надійності обчислювальної системи за допомогою багатократного резервування. Якщо один з процесорів багатопроцесорної системи відмовляє, система може перерозподілити завантаження між тими, що залишилися. Для комп'ютерів перших поколінь, біля яких напрацювання апаратури процесора на відмову було відносно невелике, підвищення надійності в такий спосіб часто виявлялося доцільним, особливо в додатках, що вимагали цілодобової доступності.
Примітка
Зрозуміло, що для забезпечення безперервної доступності недостатньо просто поставити багато процесорів, і навіть недостатньо уміти своєчасно виявити відмову і виключити процесор, що зламався, з системи. Необхідна також можливість замінити вузол, що відмовив, без виключення і без перезавантаження системи, що накладає вельми жорсткі вимоги і на конструкцію корпусу, і на електричні параметри міжмодульних з'єднань, і, нарешті, на програмне забезпечення, яке повинне виявити знов доданий процесорний модуль і включити його в конфігурацію системи.
Іншим аргументом на користь включення в систему додаткових процесорів є той факт, що алгоритми, використовувані для вирішення багатьох прикладних завдань, незрідка піддаються розпаралелюванню : розділенню роботи між декількома більш менш незалежно працюючими процесорами. Залежно від алгоритму (і, побічно, від природи вирішуваного завдання) рівень досяжного паралелізму може сильно розрізнятися. Відношення продуктивності системи до кількості процесорів і продуктивності однопроцесорної машини називають коефіцієнтом масштабування. Для різних завдань, алгоритмів, ОС і апаратної архітектури цей коефіцієнт різний, але завжди менше одиниці і завжди убуває у міру збільшення кількості процесорів.
Деякі завдання, наприклад, побудова фотореалістичних зображень методом трасування променів, злом шифрів повним перебором простору ключів або пошук позаземних цивілізацій піддаються масштабуванню дуже добре: можна включити в роботу десятки і сотні тисяч процесорів, передаючи при цьому між ними відносно малі об'єми даних. У цих випадках часто виявляється Доцільно навіть не встановлювати процесори в одну машину, а використовувати безліч окремих комп'ютерів, сполучених відносно низькошвидкісними каналами передачі даних. Це дозволяє задіювати процесори, підключені до мережі (наприклад, до Інтернет) і не зайняті в даний момент іншою корисною роботою.
Інші завдання, наприклад, робота з базами даних, піддаються розпаралелюванню в набагато меншій мірі, проте і в цьому випадку обробка запитів може бути розподілена між декількома паралельно працюючими процесорами. Кількість процесорів в серверах СУБД зазвичай вимірюється декількома штуками, вони підключені до обший шині, спільно використовують одну і ту ж оперативну пам'ять і зовнішні пристрої.
Многопроцессорность в таких системах зазвичай застосовується лише для ц0. вышения продуктивності, але вочевидь, що її ж можна використовувати і для підвищення надійності: коли функціонують всі процесори, система працює швидко, а з частиною процесорів працює хоч щось, хай і повільніше.
Деякі багатопроцесорні системи підтримують виконання на ных процесорах різних ОС — так, на IBM z90 частину процесорів M виконувати Linux, а останні — z/OS. У такій конфігурації, що працює під управлінням Linux Web-сервер може взаємодіяти з тим, що працює під z/OS сервером транзакцій через загальну фізичну пам'ять. Багатопроцесорні сервери Sun Fire можуть виконувати декілька копій Solaris.
Проміжне положення між цими крайнощами займають спеціалізовані масивно-паралельні комп'ютери використовувані для таких завдань, як чисельне вирішення еліптичних диференціальних рівнянь і чисельне ж моделювання методом кінцевих елементів в геофизичних, метеорологічних і деяких інших застосуваннях.
Сучасні суперкомп'ютери цього типа (IBM „SP6000, Cray Origin) складаються з десятків, сотень, а інколи і тисяч окремих процесорних модулів (кожен модуль є відносно самостійною обчислювальною системою, зазвичай багатопроцесорною, з власною пам'яттю і, незрідка, з власною дисковою підсистемою), сполучених між собою високошвидкісними каналами
Багатопроцесорні системи різного роду набувають все більш і більш широкого поширення. Якщо продуктивність окремого процесора подвоюється в середньому кожні півтора роки ("закон Мура"), то продуктивність багатопроцесорних систем подвоюється десять кожного місяця
На практиці, навіть добре алгоритми, що розпаралелюють, практично ніколи не забезпечують лінійного зростання продуктивності із зростанням числа процесорів. Це обумовлено, перш за все, витратами обчислювальних ресурсів на обмін інформацією між паралельно виконуваними потоками. На перший погляд, найпростіше здійснюється такий обмін в системах з процесорами, що мають загальну пам'ять, тобто власне багатопроцесорних комп'ютерах.
Насправді, оперативна пам'ять має кінцеву, і невелику в порівнянні з циклом центрального процесора, швидкість доступу. Навіть один сучасний процесор легко може зайняти всі цикли доступу ОЗУ, а декілька процесорів непродуктивно витрачатимуть час, чекаючи доступу до пам'яті. Багатопортове ОЗУ могло б вирішити цю проблему, але така пам'ять набагато дорожче звичайною, однопортовою, і застосовується лише в особливих випадках і в невеликих об'ємах.
Одне з основних рішень, що дозволяють погоджувати швидкості ЦПУ і ОЗУ, — це постачання процесорів високошвидкісними кешами команд і даних. Такі кеші незрідка роблять не лише для центральних процесорів, але і для адаптерів шин зовнішніх пристроїв. Це значно зменшує кількість звернень до ОЗУ, проте заважає рішенню задачі, ради якої ми і об'єднували процесори в єдину систему: обміну даними між потоками, що виконуються на різних процесорах (мал. 6.2).
Більшість контроллерів кешів сучасних процесорів надають засоби забезпечення когерентності кеша — синхронізацію вмісту кеш-пам'ятей декількох процесорів без обов'язкового запису даних в основне ОЗУ.
Суперскалярні процесори, біля яких порядок реального виконання операцій може не збігатися з порядком, в якому відповідні команди слідують в програмі, додатково посилюють проблему.
Порядок доступу до пам'яті в SPARC
Сучасні процесори надають можливість управляти порядком доступу команд до пам'яті. Наприклад, біля мікропроцесорів SPARCvQ визначено три режими роботи з пам'яттю (моделі пам'яті), перемикані бітами в статусному регістрі процесора.
Вільний доступ до пам'яті (RMO, Relaxed Memory Order), коли процесор використовує всі засоби кешування і динамічного переупорядковування команд, і не намагається забезпечити жодних вимог до впорядкованості выбор-ки і збереженню операндів в основній пам'яті.
Частково впорядкований доступ (PSO, Partial Store Order), коли процесор як і раніше використовує і кешування, і переупорядковування, але в потоці команд можуть зустрічатися команди MEMBAR. Зустрівши таку команду, сміття зобов'язане гарантувати, що всі операції читання і запису з пам'яті, зако дированные до цієї команди, будуть виконані (в даному випадку під виконання мається на увазі перенесення результатів всіх операцій з кеша в ОЗУ), д0 того, як процесор спробує виробити будь-яку з операцій доступу до пам'яті, наступних за MEMBAR.
Повністю впорядкований доступ (TSO, Total Store Order), коли процесор гарантує, що операції доступу до пам'яті звертатимуться до основного ОЗА в точності в тому порядку, в якому закодовані.
Кожен наступний режим підвищує упевненість програміста в тому, що його програма прочитає з пам'яті саме те, що туди записав інший процесор, але одночасно наводить і до падіння продуктивності. Найбільший програш забезпечує наївна реалізація режиму TSO, коли ми просто вимикаємо і динамічне переупорядковування команд, і кешування даних (кешування коди можна залишити, якщо лише ми не намагаємося виконати код, який піддається паралельній модифікації іншим задатчиком шини).
Іншим вузьким местомом багатопроцесорних систем є системна шина. Сучасні комп'ютери загального призначення, як правило, мають шинну архітектуру тобто і процесори, і ОЗУ, і адаптери шин зовнішніх пристроїв (PCI і т. д.) сполучені загальною магістраллю даних, системною шиною або системною магістраллю. У кожен момент магістраль може займати лише пара пристроїв задатчик і ведений. Зазвичай, задатчиком служить процесор — як центральний, так і канальний — або контроллер ПДП, а веденим може бути пам'ять або периферійний пристрій. При синхронізації вмісту кешів процесорний модуль також може виявитися в ролі веденого.
Доступ до шини регулюється арбітром шини. Практично застосовуються дві основні стратегії арбітражу — пріоритетнаколи пристрій, що має високий пріоритет, завжди дістає доступ, у тому числі і за наявності запитів від низькопріоритетних пристроїв, і справедлива (fair) коли арбітр гарантує всім пристроям доступ до шини протягом деякої кількості циклів.
Системи шинної архітектури прості в проектуванні і реалізації, до них легко підключати нові пристрої і типів пристроїв, тому така архітектура набула широкого поширення. Проте, особливо в багатопроцесорних системах, шина часто є одним з основних обмежувачів продуктивності. Підвищення пропускної спроможності шини частенько можливо, але наводить до підвищення обший вартості системи.
Втім, при великій кількості вузлів проблеми виникають і біля систем з настільки високошвидкісною шиною, як FirePane. Крім того, у міру зростання фізичних розмірів системи, стає необхідно брати до уваги фізичну швидкість передачі сигналів — як сигналів самої магістралі, так і запитів до арбітра шини і його відповідей. Тому шинна топологія з'єднань при багатьох десятках і сотнях вузлів виявляється .неприемлема, і застосовуються складніші топології.
Системи NUMA-Q
Багатопроцесорні сервери IBM NUMA-Q складаються з окремих процесорних модулів. Кожен модуль має власну оперативну пам'ять і чотири процесори х86. Модулі називаються quad (четвірки)
Четвірки сполучені високошвидкісними каналами IQ-Link з центральним комутатором. Заміна загальної шини на зіркоподібну топологію з центральним комутатором дозволяє вирішити проблеми арбітражу доступу до шини, зокрема, усунути затримки при запиті до арбітра шини і чеканні його відповіді запрошуючому пристрою. NUMA-системы фірми IBM можуть містити до 16 четвірок, тобто до 64 процесорів.
Архітектура дозволяє також включати в ці системи процесори з архітектурою, відмінною від х86, наприклад RS/6000 і System/390, дозволяючи, таким чином, створити в межах однієї машини гетерогенну мережу з надвисокошвидкісними каналами зв'язку.
При більшому числі модулів застосовуються ще складніші топології, наприклад гіперкубічна. У таких системах кожен вузол зазвичай також містить декілька процесорів і власну оперативну пам'ять
При гіперкубічному з'єднанні, кількість вузлів N пропорційно міри двійки, а кожен вузол має log2N з'єднань з іншими вузлами. Кожен вузол здатний не лише обмінюватися повідомленнями з безпосередніми сусідами по топології, але і маршрутизувати повідомлення між вузлами, що не мають прямого з'єднання. Щонайдовша дорога між вузлами, що знаходяться в протилежних вершинах куба, має довжину log2N і не є єдиним (мал. 6.6). Завдяки множинності доріг, маршрутизатори можуть вибирати для кожного повідомлення найменш завантажену в даний момент дорогу або обходити вузли, що відмовили.
Масивно паралельні системи Cray/SGI Origin
Вузли суперкомп'ютерів сімейства Cray/SGI Origin сполучені в гіперкуб каналами з пропускною спроможністю 1 Гбайт/с. Адаптери з'єднань забезпечують не просто обмін даними, а прозорий (хоча і з падінням продуктивності) доступ процесорів кожного з вузлів до оперативної пам'яті інших вузлів і забезпечення когерентності процесорних кешів.
Відмінність в швидкості доступу до локальної пам'яті процесорного модуля і Інших модулів є проблемою, і при невдалому розподілі завантаження між модулями (такому, що міжмодульні звернення будуть часты) Приведе до значного зниження продуктивності системи