logo
AOM / Мельник А

12.9. Комунікаційні мережі багатопроцесорних систем 445

  1. Типи комунікаційних мереж 445

  2. Основні характеристики комунікаційних мереж багатопроцесорних систем 448

  3. Статичні топології комунікаційних мереж багатопроцесорних систем 449

  4. Шинні динамічні комунікаційні мережі багатопроцесорних систем 453

  5. Комутуючі динамічні комунікаційні мережі багатопроцесорних систем 456

  1. Типи комутуючих динамічних комунікаційних мереж 456

  2. Координатна мережа 457

  3. Матрична одноярусна комутуюча мережа 458

  4. Багатоярусні блокуючі комутуючі мережі 458

  5. Багатоярусні неблокуючі комутуючі мережі з реконфігурацією... 460

  6. Багатоярусні неблокуючі комутуючі мережі 463

  1. Короткий зміст розділу 464

  2. Література для подальшого читання 465

  3. Література до розділу 1 2 465

  4. Питання до розділу 12 467

Передмова

Комп'ютерні технології все стрімкішими темпами входять в усі сфери життя суспільства, що викликає потребу підготовки фахівців за відповідними напрямами, в першу чергу за напрямами "Комп'ютерна інженерія", "Комп'ютерні науки", "Про­грамна інженерія", "Прикладна математика", "Захист інформації в комп'ютерних системах та мережах", "Комп'ютеризовані системи, автоматика і управління". Однією з базових дисциплін підготовки бакалаврів за названими напрямами є дис­ципліна "Архітектура комп'ютера". Цей підручник повною мірою відповідає змісту міністерських програм за вищеназваними напрямами.

Запропонований підручник орієнтований на студентів вищих навчальних закла­дів, викладачів та аспірантів комп'ютерних напрямів підготовки та покликаний прищепити талановитій молоді розуміння основних принципів побудови та органі­зації сучасних комп'ютерів. Він також може бути корисним для фахівців в області комп'ютерних та інформаційних технологій.

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

В першому розділі розглянуто історичні аспекти розвитку комп'ютерів, подано основні поняття, функції та основні функціональні вузли комп'ютера, їх взаємозв'я­зок, а також загальну організацію роботи комп'ютера. Розглянуто характерні риси та сфери застосування різних типів комп'ютерів. Обгрунтовано місце предмета да­ної книги серед суміжних дисциплін та порядок його розгляду.

В наступному, другому, розділі розглянуто основні елементи архітектури комп'ютера. Показано як кодуються та виконуються команди в комп'ютері. Про­ведена класифікація команд відповідно до ініційованих ними типів операцій та де­тально розглянуті команди обробки даних, переміщення даних, передачі керування, введення-виведення. Введено поняття конвеєрного виконання команд - одного з ви­дів паралелізму на рівні команди. Розглянуто три типи архітектур комп'ютера за типом адресованої пам'яті: стекова, акумуляторна, та на основі регістрів загально­го користування, їх переваги і недоліки. Наведено різні способи адресації, включаючи безпосередню, пряму, непряму, базову, індексну, сторінкову і стекову. Детально роз­глянуто архітектури комп'ютерів з складною, з простою, з доповненою та з орієн­тованою системою команд.

В третьому розділі розкрито основні питання представлення даних в комп'юте­рі, які є важливими для розуміння матеріалу наступних розділів. Наведено правила

14

подання даних в позиційних системах числення та переведення чисел із однієї систе­ми числення до іншої. Описано представлення чисел зі знаком в прямому, оберненому та доповняльному кодах а також формати даних з фіксованою та з рухомою комою, включаючи стандарт ІЕЕЕ-754. Розглянуто питання кодування алфавітно-цифро­вої інформації кодами ASCII, EBCDIC та Unicode.

В четвертому розділі розкрито основні алгоритми виконання в комп'ютері опе­рацій обробки даних: логічних, зсуву, відношення, арифметичних, обчислення еле­ментарних функцій, перетворення даних (перетворення із формату з фіксованою в формат з рухомою комою і навпаки, перетворення з двійково-десяткового коду в двійковий і навпаки), реорганізації масивів і визначення їх параметрів (сортування, пошук максимуму або мінімуму, вибір заданого масиву, зсув елементів масиву, стиск масиву), обробки символів та стрічок символів (пошук символу, зсув, заміна символів в стрічці, пакування стрічок символів, порівняння стрічок символів).

В п'ятому розділі розглянуто принципи побудови арифметико-логічного при­строю (АЛП) сучасних комп'ютерів, який є одним з основних вузлів процесора. Роз­крито структури АЛП для виконання елементарних та складних операцій. Опи­сано багатоблокові АЛП на основі табличних, однотактових, багатотактових та конвеєрних операційних пристроїв для виконання операцій додавання, віднімання, множення, ділення та обчислення елементарних функцій над двійковими числами в форматах з фіксованою та рухомою комою.

В шостому розділі розглянуто структуру та організацію роботи пристрою ке­рування з жорсткою логікою, а також методи його проектування: на основі таблиць станів, на основі елементів часової затримки та на основі лічильників. Описано ро­боту та основні принципи, покладені в основу побудови пристрою мікропрограмного керування. Розглянуто питання розміщення мікрокоманд в пам'яті, формат мікро-команди і способи його оптимізацїї.

В сьомому розділі описано місце процесора в комп'ютері, його функції та склад, розглянуто виконання основних операцій процесора. Виділено базові принципи по­будови процесора комп'ютера з складною та з простою системою команд. Описано конвеєрну структуру процесора з простою системою команд та принципи побудови суперконвеєрних, суперскалярних та векторних процесорів.

У восьмому розділі розглянуто конфлікти в конвеєрі команд та методи їх усунен­ня. Проведено аналіз методів запобігання появі трьох класів конфліктів: структур­них, за даними та керування. Наведено приклади структур конвеєрних процесорів, в тому числі суперскалярних, в яких зменшено імовірність виникнення конфліктів. Розглянуто архітектури комп'ютерів, в яких відсутні конфлікти команд, а саме комп'ютерів з довгим форматом команди.

В дев'ятому розділі розглянуто структуру та основні характеристики пам'яті комп'ютера. Проаналізовано можливі варіанти організації регістрових файлів про­цесорів та пам'яті з асоціативним доступом. Описано будову запам'ятовуючих при­строїв, які може містити основна пам'ять, способи прискорення доступу до інфор-

75

мації, нарощування розрядності та ємності основної пам'яті. Подано типи сучасних дискових систем та обґрунтування використання масивів магнітних дисків з над-лишковістю, а також робота шести базових типів дискових масивів RAID: RAID 0, RAID 1, ... , RAID 5 та дискових масивів, створених на їх основі. Описано роботу оптичної пам'яті та пам'яті на магнітних стрічках.

Виходячи з принципу ієрархічної організації пам'яті, в десятому розділі описано організацію взаємодії між рівнями ієрархічної пам'яті. Зокрема, наведено принци­пи обміну інформацією між рівнями ієрархічної пам'яті, характеристики, які ви­користовуються для оцінки ефективності ієрархічної пам'яті, пояснено місце кеш пам'яті в складі комп'ютера, призначення і логіку роботи кеш пам'яті, описано переваги поділу кеш пам'яті першого рівня на кеш пам'ять даних та кеш пам'ять команд. Обгрунтовано різноманітність методів відображення основної пам'яті на кеш пам'ять, показано якими методами забезпечується узгодженість вмісту осно­вної і кеш пам'яті, чим обумовлене введення додаткових рівнів кеш пам'яті й які чинники впливають на вибір ємності кеш пам'яті і розміру блоку. Введено поняття статичного і динамічного розподілу пам'яті, поняття віртуальної пам'яті та сто­рінкової організації пам'яті. Описано алгоритми заміщення, які використовуються при завантаженні в основну пам'ять вмісту зовнішньої пам'яті, призначення буфера швидкого перетворення адреси. Розглянуто сегментну організацію пам'яті та пи­тання захисту пам'яті.

В одинадцятому розділі наведено пояснення способів розпізнавання пристроїв введення-виведення з використанням шини введення-виведення, лінії активації та прихованого пам'яттю введення-виведення. Наведено схему та описано функції ін-терфейсної схеми пристроїв введення-виведення. Наведено чотири загальних мето­ди керування введенням-виведенням і пояснено суть, переваги та недоліки програмно керованого введення-виведення. Введено основні поняття та характеристики сис­теми переривання програм. Наведено опис прямого доступу до пам'яті, його пере­ваги і недоліки, описано організацію введення-виведення під керуванням периферійних процесорів.

У дванадцятому розділі розглянуто питання подальшого підвищення продуктив­ності обробки інформації шляхом створення паралельних комп'ютерних систем. На­ведено основні положення класифікації комп'ютерних систем, запропоновані Шором та Фліном, і відповідні класифікаціям структури комп'ютерних систем, зокрема з спільною та з розподіленою пам'яттю, з однорідним доступом до пам'яті та з нео­днорідним доступом до пам'яті, а також лише з кеш пам'яттю. Наведено типи ко­мунікаційних мереж багатопроцесорних систем.

Головною ідеєю книги є концентроване викладення та пояснення базових концепцій побудови сучасних комп'ютерів без заглиблення в роботу конкретних комп'ютерних систем, що дає змогу зорієнтуватися у взаємозалежностях та зв'язках елементів ар­хітектури комп'ютера з метою забезпечення її цілісного бачення і розуміння, та за-

Матеріал підручника написано на основі курсів лекцій, прочитаних автором в Національному університеті "Львівська політехніка" та в кількох закордонних уні­верситетах, та на основі його багаторічної наукової діяльності. Хотів би виразити щиру подяку багатьом колегам і друзям за підтримку та допомогу в цій моїй діяльнос­ті. Окрема подяка доцентам кафедри ЕОМ Національного університету "Львівська політехніка" В. С. Глухову та В. В. Троценку за обговорення та поради, зроблені під час написання підручника. І, звичайно, велика подяка моїй дружині Тетяні та синам Віктору і Юрію за терпіння та розуміння необхідності виконання цієї роботи.

Ми з вдячністю приймемо всі зауваження та побажання.

Автор