Professional Documents
Culture Documents
архитектура
архитектура
АРХІТЕКТУРА
КОМП'ЮТЕР)
підручник
з
ЗМІСТ
Передмова 13
РОЗДІЛ 7.
Сучасний комп'ютер. Основні поняття 17
1.1. Історичні аспекти розвитку комп'ютерів 17
1.2. Функції, структура та характеристики комп'ютера 18
1.2.1. Функції та основні функціональні вузли комп'ютера 18
1.2.2. Тенденції зміни основних характеристик апаратних засобів комп'ютера 20
1.2.3. Оцінка продуктивності комп'ютера 23
1.2.3.1. Одиниці оцінки продуктивності 23
1.2.3.2. Тестові програми для оцінки продуктивності 25
1.2.4. Організація зв'язків між функціональними вузлами комп'ютера 26
1.3. Архітектура комп'ютера 28
1.3.1. Поняття архітектури комп'ютера 28
1.3.2. Архітектурні принципи Джона фон Неймана ЗО
1.3.3. Ненейманівські архітектури комп'ютерів 31
1.4. Типи сучасних комп'ютерів 33
1.4.1. Персональні комп'ютери 34
1.4.2. Робочі станції 40
1.4.3. Багатотермінальні системи 41
1.4.4. Сервери 42
1.4.5. Великі універсальні комп'ютерні системи 43
1.4.6. Кластерні комп'ютерні системи 44
1.4.7. Суперкомп'ютери 46
1.4.8. Мікроконтролери 48
1.4.9. Спеціалізовані комп'ютери 49
1.5. Предмет та порядок розгляду матеріалу даної книги 50
1.6. Підсумок розділу 53
1.7. Література для подальшого читання 53
1.8. Література до розділу 1 54
1.9. Питання по розділу 1 54
РОЗДІЛ 2.
Представлення даних у комп'ютері 56
2.1. Позиційні системи числення 56
2.2. Двійкові, вісімкові та шістнадцяткові числа 57
2.3. Переведення чисел із системи числення з основою к у десяткову систему. 59
2.4. Переведення чисел із десяткової системи у систему числення з основою к 59
2.5. Представлення чисел зі знаком 60
2.5.1. Прямий код 61
2.5.2. Обернений код 61
2.5.3. Доповняльний код 62
2.6. Формати даних 63
2.6.1. Способи представлення чисел 63
2.6.2. Числа з фіксованою комою 63
2.6.3. Числа із рухомою комою 65
2.6.4. Стандарт ІЕЕЕ-754 70
2.6.5. Кодування алфавітно-цифрової інформації 72
2.6.5.1. Двійково-кодовані десяткові числа 72
2.6.5.2. Розширений двійково-кодований десятковий код обміну EBCDIC 74
2.6.5.3 Американський стандартний код інформаційного обміну ASCII 75
2.6.5.4. Стандарт кодування символів Unicode 76
2.7. Короткий зміст розділу 77
2.8. Література для подальшого ч и т а н н я 77
2.9. Література до розділу 2 78
2.10. П и т а н н я до розділу 2 78
2.11. Задачі до розділу 2 79
Розділ 3.
Порядок виконання команд і програм в комп'ютері 82
3.1. Кодування та виконання команд в комп'ютері 82
3.1.1. Кодування команди та програми 83
3.1.2. Порядок виконання команд 84
3.1.3. Виконання команд на рівні регістрів процесора 85
3.2. Типи операцій та команд 87
3.2.1. Класифікація команд за типами операцій 87
3.2.2. Команди обробки даних 88
3.2.3. Команди переміщення даних 89
3.2.4. Команди передачі керування 90
3.2.4.1. Команди переходу. 91
3.2.4.2. Команди пропуску. 93
3.2.4.3. Команди звернення до підпрограм 94
3.2.5. Команди введення-виведення 96
3.2.6. Принципи формування системи команд комп'ютера 96
3.2.7. Конвеєрне виконання команд 98
3.3. Формати команд комп'ютера 102
3.3.1. Класифікація архітектури комп'ютера за типом адресованої пам'яті 102
3.3.2. Порівняльний аналіз форматів команд 105
3.4. Способи адресації операндів 107
3.4.1. Безпосередня адресація 108
3.4.2. Пряма адресація 108
3.4.3. Непряма адресація 109
3.4.4. Способи адресації операндів на основі операції зміщення 111
3.4.4.1. Відносна адресація 111
3.4.4.2. Базова адресація Ш
3.4.4.3. Індексна адресація 112
3.4.5. Сторінкова адресація 114
3.4.6. Неявна адресація 114
3.4.7. Стекова адресація 114
3.4.8. Використання стекової адресації 115
3.4.9. Вибір способів адресації операндів 117
3.5. Приклади форматів команд 118
3.5.1. Формати команд комп'ютерної системи I B M 370 119
3.5.2. Формати команд комп'ютера Cyber-70 120
3.5.3. Формати команд сучасного комп'ютера 121
3.6. Вплив технології компілювання на систему команд комп'ютера 122
3.7. Архітектура системи команд комп'ютера 123
3.7.1. Класифікація архітектури комп'ютера за складом системи команд 123
3.7.2. Комп'ютери із складною та з простою системою команд 123
3.7.3. Особливості архітектури комп'ютера з простою системою команд 124
3.7.4. Архітектура комп'ютера з доповненою системою команд 125
3.7.5. Комп'ютери зі спеціалізованою системою команд 126
3.8. Короткий зміст розділу 129
3.9. Література для подальшого читання 129
3.10. Література до розділу 3 130
3.11. Питання до розділу 3 131
Розділ 4.
Процесор універсального комп'ютера 133
4.1. Процесор комп'ютера із складною системою команд 133
4.1.1. Одношинна структура процесора 133
4.1.2. Основні операції процесораа 135
4.1.2.1. Вибірка слова з пам'яті 135
4.1.2.2. Запам'ятовування слова в пам'яті 135
4.1.2.3. Обмін даними між регістрами 135
4.1.2.4. Виконання арифметичних і логічних операцій 136
4.1.3. Багатошинна структура процесора 137
4.1.4. Приклади виконання операцій в процесорі 138
4.1.4.1. Виконання операції додавання двох чисел 138
4.1.4.2. Виконання операції переходу. 139
4.1.5. Особливості побудови процесора комп'ютера із складною системою команд.. 139
4.2. Процесор комп'ютера з простою системою команд 140
4.2.1. Вимоги до процесора комп'ютера з простою системою команд 140
4.2.2. Базові принципи побудови процесора комп'ютера з простою системою
команд 140
4.2.3. Взаємодія процесора з пам'яттю в комп'ютері з простою системою команд... 144
4.2.4. Виконання команд в процесорі комп'ютера з простою системою команд 146
4.2.4.1. Фаза вибирання команди 146
4.2.4.2. Фаза декодування команди 147
4.2.4.3. Фаза виконання та формування ефективної адреси 148
4.2.4.4. Фаза звернення до пам'яті та завершення умовного переходу. 149
4.2.4.5. Фаза зворотного запису. 150
4.2.5. Конвеєрна структура процесора комп'ютера з простою системою команд....151
4.2.5.1. Конвеєрний процесор 151
4.2.5.2. Мікродії ярусів конвеєрного процесора 155
4.3. Суперконвеєрні процесори 157
4.4. Суперскалярні процесори 158
4.5. Процесор векторного комп'ютера 160
4.6. Класифікація архітектури комп'ютера за рівнем суміщення опрацювання
команд та даних 164
4.7. Короткий зміст розділу 164
4.8. Література для подальшого ч и т а н н я 165
4.9. Література до розділу 4 165
4.10. П и т а н н я до розділу 4 165
Розділ 5.
Запобігання конфліктам в конвеєрі команд 767
5.1. Структурні конфлікти 167
5.2. Конфлікти за даними 170
5.2.1. Типи конфліктів за даними 170
5.2.2. Методи зменшення впливу конфліктів за даними на роботу конвеєра команд.. 171
5.2.3. Призупинення виконання команди 172
5.2.4. Випереджувальне пересилання 172
5.2.5. Статична диспетчеризація послідовності команд у програмі під час компіляції.. 174
5.2.6. Динамічна диспетчеризація послідовності команд у програмі під час
компіляції 176
5.2.7. Перейменування регістрів 177
5.3. Конфлікти керування 177
5.3.1. Типи конфліктів керування 177
5.3.2. Зниження втрат на вибірку команди, до якої здійснюється перехід 179
5.3.3. Зниження втрат на виконання команд умовного переходу. 181
5.3.3.1. Введення буфера попередньої вибірки 181
5.3.3.2. Дублювання початкових ярусів конвеєра 182
5.3.3.3. Затримка переходу. 183
5.3.3.4. Статичне передбачення переходу. 183
5.3.3.5. Динамічне передбачення переходу. 185
5.4. Покращена структура комп'ютера із спрощеною системою команд 189
5.5. Особливості запобігання конфліктам в суперскалярних процесорах 190
5.6. Комп'ютери з довгим форматом команди 192
5.7. Комп'ютери з комбінованою архітектурою 196
5.8. Комп'ютери з я в н и м паралелізмом виконання команд 198
5.9. Короткий зміст розділу. 200
5.10. Література для подальшого читання 201
5.11. Література до розділу 5 201
5.12. П и т а н н я до розділу 5 203
Розділ 6 .
Алгоритми виконання операцій обробки даних 204
6.1. Логічні операції 204
6.1.1. Операція заперечення 206
6Л.2. Логічне 1 206
6.1.3. Логічне АБО 206
6.1.4. Виключне АБО 207
6.2. Операції зсуву. 207
6.2.1. Логічні зсуви 207
6.2.2. Арифметичні зсуви 208
6.2.3. Циклічні зсуви 208
6.3. Операції відношення 209
6.3.1. Порівняння двійкових кодів на збіжність 209
6.3.2. Визначення старшинства двійкових кодів 209
6.4. Арифметичні операції 210
6.4.1. Додавання двійкових чисел без знаків 210
6.4.2. Додавання двійкових чисел із знаками 212
6.4.3. Віднімання двійкових чисел 213
6.4.4. Множення двійкових чисел 214
6.4.4.1. Множення цілих двійкових чисел без знаків 215
6.4.4.2. Багатомісна операція додавання часткових добутків 216
6.4.4.3. Множення двійкових чисел із знаками 220
6.4.4.4. Прискорене множення двійкових чисел за методом Бута 221
6.4.5. Ділення двійкових чисел 222
6.4.6. Арифметичні операції над двійковими числами у форматі
з рухомою комою 224
6.5. Операції обчислення елементарних функцій 226
6.5.1. Розклад функції в ряд та використання ітеративних обчислень 226
6.5.2. Обчислення елементарних функцій методом "цифра за цифрою". 226
6.5.3. Табличний метод обчислення елементарних функцій 228
6.5.4. Таблично-алгоритмічний метод обчислення елементарних функцій 228
6.6. Операції перетворення даних 229
6.6.1. Перетворення даних із формату з фіксованою у формат з рухомою комою
та навпаки 229
6.6.2. Перетворення даних з двійково-десяткового коду в двійковий та навпаки...231
6.7. Операції реорганізації масивів і визначення їх параметрів 231
6.8. Операції обробки символів та рядків символів 232
6.9. Короткий зміст розділу. 236
6.10. Література для подальшого читання 236
6.11. Література до розділу 6 236
6.12. Питання до розділу 6 237
Розділ 7.
Арифметико-логічний пристрій 239
7.1. Функції арифметико-логічного пристрою 239
7.2. Способи обробки даних в арифметико-логічному пристрої 240
7.3. Елементарні операції арифметико-логічного пристрою 241
7.4. Складні операції арифметико-логічного пристрою 243
7.5. Використання графа алгоритму при побудові арифметико-логічного
пристрою 244
7.6. Виконання складних операцій в арифметико-логічному пристрої 245
7.7. Структура арифметико-логічного пристрою 246
7.8. Типи операційних пристроїв 249
7.9. Табличний операційний пристрій 250
7.10. Багатотактовий операційний пристрій 252
7.11. Однотактовий операційний пристрій 254
7.12. Конвеєрний операційний пристрій 255
7.13. Алгоритмічні операційні пристрої 258
7.13.1. Пристрої додавання і віднімання двійкових чисел з фіксованою комою 258
7.13.2. Пристрої множення двійкових чисел з фіксованою комою 261
7.13.2.1. Багатотактовий пристрій множення двійкових чисел з молодших
розрядів множника при нерухомому множеному з зсувом суми
часткових добутків 261
7.13.2.2. Багатотактовий пристрій множення двійкових чисел з молодших
розрядів при нерухомій сумі часткових добутків з зсувом
множеного вліво 263
7.13.2.3. Багатотактовий пристрій множення двійкових чисел з старших
розрядів при нерухомій сумі часткових добутків з зсувом
множеного вправо 264
7.13.2.4. Багатотактовий пристрій множення двійкових чисел з старших
розрядів при нерухомому множеному з зсувом суми часткових
добутків вліво 266
7.13.2.5. Багатотактовий пристрій прискореного множення 267
7.13.2.6. Однотактові пристрої множення двійкових чисел з фіксованою
комою 268
7.13.2.7. Конвеєрні пристрої множення двійкових чисел
з фіксованою комою 269
7.13.3. Пристрої ділення двійкових чисел з фіксованою комою 270
7.13.3.1. Багатотактові пристрої ділення двійкових чисел з фіксованою
комою 270
7.13.3.2. Однотактові та конвеєрні пристрої ділення двійкових чисел
з фіксованою комою 272
7.13.4. Пристрої обчислення елементарних функцій методом "цифра за цифрою". 273
7.13.4.1. Багатотактовий пристрій обчислення елементарних функцій методом
"цифра за цифрою". 273
7.13.4.2. Однотактовий та конвеєрний операційні пристрої обчислення
елементарних функцій методом «цифра за цифрою» 274
7.13.5. Пристрої для виконання арифметичних операцій над числами
з рухомою комою 275
7.13.5.1. Пристрої додавання і віднімання чисел з рухомою комою 275
7.13.5.2. Пристрої множення та ділення чисел з рухомою комою 276
7.14. Таблично-алгоритмічні операційні пристрої 277
7.15. Короткий зміст розділу 280
7.16. Література для подальшого ч и т а н н я 280
7.17. Література до розділу 7 280
7.18. П и т а н н я до розділу 7 281
Розділ 8.
Пристрій керування 283
8.1. Функції та методи побудови пристрою керування 283
8.2. Пристрій керування з жорсткою логікою 284
8.2.1. Структура пристрою керування з жорсткою логікою 284
8.2.2. Методи проектування пристрою керування з жорсткою логікою 285
8.2.3. Пристрій керування на основі таблиць станів 285
8.2.3.1. Абстрактні автомати 285
8.2.3.2. Мови опису функціонування автоматів 285
8.2.3.3. Структурний синтез цифрових автоматів 291
8.2.4. Пристрій керування на основі синхронних елементів часової затримки 294
8.2.5. Пристрій керування на основі лічильників 295
8.3. Пристрій мікропрограмного керування 297
8.3.1. Організація роботи пристрою мікропрограмного керування 297
8.3.2. Організація мікропрограм в пам'яті мікрокоманд 300
8.3.3. Горизонтальне та вертикальне мікропрограмування 301
8.4. Порівняння пристроїв керування з жорсткою логікою та пристроїв
мікропрограмного керування 302
8.5. Короткий зміст розділу. 303
8.6. Література для подальшого читання 304
8.7. Література до розділу 8 304
8.8. Питання до розділу 8 305
Розділ 9.
Багаторівнева пам'ять комп'ютера 307
9.1. Типи та характеристики пам'яті комп'ютера 308
9.1.1. Багаторівнева структура пам'яті комп'ютера 308
9.1.2. Типи пам'яті 308
9.1.3. Основні характеристики пам'яті 313
9.2 Регістровий файл процесора 315
9.2.1. Типи регістрових файлів 315
9.2.2. Інтегрований багатопортовий регістровий файл 316
9.2.3. Розподілений регістровий файл 316
9.2.3.1. Кластерний розподілений регістровий файл 317
9.2.3.2. Розподілений регістровий файл з керованою комутацією 318
9.2.3.3. Розподілений регістровий файл з віконною організацією 318
9.2.4. Ієрархічний регістровий файл 319
9.2.5. Динамічна та статична організація збереження даних в регістрових
файлах 320
9.3. Пам'ять з асоціативним доступом 321
9.3.1. Організація та типи пам'яті з асоціативним доступом 321
9.3.2. Пам'ять з повним паралельним асоціативним доступом 325
9.3.3. Пам'ять з неповним паралельним асоціативним доступом 326
9.3.4. Пам'ять з послідовним асоціативним доступом 326
9.3.5. Пам'ять з частково асоціативним доступом 327
9.4. Основна пам'ять 328
9.4.1. Структура основної пам'яті 328
9.4.2. Нарощування розрядності основної пам'яті 329
9.4.3. Нарощування ємності основної пам'яті 329
9.4.4. Розшарування пам'яті 330
9.5. Оперативний запам'ятовуючий пристрій 331
9.6. Постійний запам'ятовуючий пристрій 334
9.6.1. Організація роботи постійного запам'ятовуючого пристрою 334
9.6.2. Запрограмований при виготовленні постійний запам'ятовуючий пристрій...335
9.6.3. Одноразово запрограмований після виготовлення постійний
запам'ятовуючий пристрій 336
9.6.4. Багаторазово програмовний постійний запам'ятовуючий пристрій 337
9.7. Зовнішня пам'ять 339
9.7.1. Магнітні диски 339
9.7.2. Масиви магнітних дисків з надлишковістю 341
9.7.2.1. Базовий тип дискових масивів RAID 0 343
9.7.2.2. Базовий тип дискових масивів RAID 1 343
9.7.2.3. Базовий тип дискових масивів RAID 2 344
9.7.2.4. Базовий тип дискових масивів RAID 3 344
9.7.2.5. Базовий тип дискових масивів RAID 4 345
9.7.2.6. Базовий тип дискових масивів RAID 5 346
9.7.2.7. Тип дискових масивів RAID 6 346
9.7.2.8. Тип дискових масивів RAID 7 347
9.7.2.9. Тип дискових масивів RAID 10 347
9.7.3. Оптична пам'ять 348
9.7.3.1. Постійна пам'ять на основі компакт дисків 349
9.7.3.2. Оптичні диски із стиранням 350
9.7.4. Магнітні стрічки 351
9.8. Короткий зміст розділу 352
9.9. Література для подальшого читання 353
9.10. Література до розділу 9 353
9.11. П и т а н н я до розділу 9 355
Розділ 10.
Організація пам'яті 357
10.1. Ієрархічна організація пам'яті комп'ютера 357
10.1.1. Різниця між продуктивністю процесора та пам'яті 357
10.1.2. Властивість локальності за зверненням до пам'яті 359
10.1.3. Принцип ієрархічної організації пам'яті 360
10.1.4. Характеристики ефективності ієрархічної організації пам'яті 361
10.1.5. Ієрархічна пам'ять сучасного комп'ютера 362
10.2. Організація обміну інформацією між процесором і основною пам'яттю
через кеш пам'ять 363
10.2.1. Кеш пам'ять в складі комп'ютера 363
10.2.2. Порядок взаємодії процесора і основної пам'яті через кеш пам'ять 364
10.2.3. Забезпечення ідентичності вмісту блоків кеш пам'яті і основної пам'яті....365
10.2.4. Функція відображення 366
10.2.4.1. Типи функцій відображення 366
10.2.4.2. Повністю асоціативне відображення 367
10.2.4.3. Пряме відображення 369
10.2.4.4. Частково-асоціативне відображення 371
10.2.5. Порядок заміщення блоків в кеш пам'яті з асоціативним відображенням 373
10.2.6. Підвищення ефективності кеш пам'яті 374
10.3. Організація обміну інформацією між основною та зовнішньою пам'яттю 376
10.3.1. Статичний та динамічний розподіл пам'яті 376
10.3.2. Розподіл основної пам'яті за допомогою базових адрес 377
10.3.3. Віртуальна пам'ять 379
10.3.4. Сторінкова організація пам'яті 380
10.3.4.1. Основні правила сторінкової організації пам'яті 380
10.3.4.2. Реалізація сторінкової організації пам'яті 381
10.3.4.4. Апаратна реалізація сторінкової таблиці 384
10.3.5. Сегментна організація віртуальної пам'яті 388
10.4. Захист пам'яті від несанкціонованих звернень 391
10.4.1. Задачі захисту пам'яті 391
10.4.2. Захист пам'яті за допомогою регістра захисту. 391
10.4.3. Захист пам'яті за граничними адресами 392
10.4.4. Захист пам'яті за значеннями ключів 392
10.4.5. Кільцева схема захисту пам'яті 393
10.5. Короткий зміст розділу 394
10.6. Література для подальшого читання 395
10.7. Література до розділу 10 395
10.8. Питання до розділу 10 397
Розділ 7 7.
Організація введення-виведення 399
11.1. Під'єднання зовнішніх пристроїв до комп'ютера 399
11.2. Розпізнавання пристроїв введення-виведення 401
11.3. Методи керування введенням-виведенням 403
11.4. Програмно-кероване введення-виведення 403
11.5. Система переривання програм та організація введення-виведення
за перериваннями 405
11.5.1. Функції системи переривання програм 405
11.5.2. Характеристики системи переривання програм 406
11.5.3. Вхід в переривальну програму. 407
11.5.4. Пріоритетне обслуговування переривання 409
11.5.5. Організація повернення до перериваної програми 410
11.5.6. Введення-виведення за перериваннями 411
11.6. Прямий доступ до пам'яті 412
11.7. Введення-виведення під керуванням периферійних процесорів 413
11.7.1. Принципи введення-виведення під керуванням периферійних
процесорів 413
11.7.2. Причини застосування каналів введення-виведення 415
11.7.3. Функції каналів введення-виведення 416
11.7.4. Керуюча інформація каналу введення-виведення 417
12
Розділ 12.
Паралельні комп'ютерні системи 422
12.1. Використання принципів паралельної обробки інформації в архітектурі
комп' ютера 422
12.2. Вибір кількості процесорів в багатопроцесорній системі 426
12.3. Багатопотокова обробка інформації 428
12.4. Класифікація паралельних комп'ютерних систем 432
12.4.1. Класифікація Шора 432
12.4.2. Класифікація Фліна 435
12.5. Типи архітектур систем ОКМД 437
12.6. Типи архітектур систем МКМД 439
12.7. Організація комп'ютерних систем із спільною пам'яттю 439
12.7.1. Типи комп'ютерних систем із спільною пам'яттю 439
12.7.2. Системи з однорідним доступом до пам'яті 441
12.7.3. Системи з неоднорідним доступом до пам'яті 442
12.7.4. Системи лише з кеш пам'яттю 443
12.8. Організація комп'ютерних систем із розподіленою пам'яттю 444
12.9. Комунікаційні мережі багатопроцесорних систем 445
12.9.1. Типи комунікаційних мереж 445
12.9.2. Основні характеристики комунікаційних мереж багатопроцесорних
систем 448
12.9.3. Статичні топології комунікаційних мереж багатопроцесорних систем 449
12.9.4. Шинні динамічні комунікаційні мережі багатопроцесорних систем 453
12.9.5. Комутуючі динамічні комунікаційні мережі багатопроцесорних систем 456
12.9.5.1. Типи комутуючих динамічних комунікаційних мереж 456
12.9.5.2. Координатна мережа 457
12.9.5.3. Матрична одноярусна комутуюча мережа 458
12.9.5.4. Багатоярусні блокуючі комутуючі мережі 458
12.9.5.5. Багатоярусні неблокуючі комутуючі мережі з реконфігурацією 460
12.9.5.6. Багатоярусні неблокуючі комутуючі мережі 463
12.10. Короткий зміст розділу. 464
12.11. Література для подальшого ч и т а н н я 465
12.12. Література до розділу 12 465
12.13. П и т а н н я до розділу 12 467
Цередмо&си
[ШІ[ШІ|ВІ|еІіві!ВІ|вІ|в)|ві[тІ|вІ|ві|вІ|ві|шІ|вІівШів)[шШ
Сучасний колт'ютер.
О сші&ні поняття
В цьому розділі р о з г л я д а ю т ь с я історичні аспекти р о з в и т к у комп'ютерів, п о д а ю т ь с я
основні п о н я т т я , функції та основні ф у н к ц і о н а л ь н і вузли комп'ютера, їх в з а є м о з в ' я з о к ,
а також загальна організація р о б о т и комп'ютера. П р о в о д и т ь с я аналіз та д а ю т ь с я п о
яснення о д и н и ц ь в и м і р ю в а н н я технічних х а р а к т е р и с т и к к о м п ' ю т е р а та аналізуються
закономірності їх зміни з р о з в и т к о м елементної бази. Вводиться п о н я т т я а р х і т е к т у р и
комп'ютера та в и д і л я ю т ь с я о с о б л и в о с т і архітектури Д ж о н а ф о н Н е й м а н а та відмінні
риси комп'ютерів н е н е й м а н і в с ь к и х архітектур. Розглядаються характерні риси та сфе
ри з а с т о с у в а н н я р і з н и х типів комп'ютерів: п е р с о н а л ь н и х , р о б о ч и х станцій, б а г а т о т е р -
мінальних систем, серверів, в е л и к и х у н і в е р с а л ь н и х к о м п ' ю т е р н и х систем, кластерів,
мікроконтролерів, с у п е р к о м п ' ю т е р і в та спеціалізованих комп'ютерів. О б ґ р у н т о в у є т ь с я
місце предмету даної к н и г и серед с у м і ж н и х д и с ц и п л і н та п о р я д о к його розгляду.
Основна Регістрова
Пристрої пам'ять (ОП)
виведення (РП)
1970 1975 1980 1985 1990 1995 2000 2005 2010 Рік випуску
Рис. 1.4. Ріст тактової частоти роботи процесора (за матеріалами Intel Corp.)
Щ о р о к у тактова частота р о б о т и п р о ц е с о р а з р о с т а є п р и б л и з н о на ЗО %.
Узагальнюючою х а р а к т е р и с т и к о ю швидкодії к о м п ' ю т е р а є його продуктивність, яка
враховує як ріст тактової частоти, так і архітектурні в д о с к о н а л е н н я . Починаючи з сере
д и н и 80-х р о к і в п р о д у к т и в н і с т ь комп'ютерів з р о с т а є щ о р о к у п р и б л и з н о на 50 %.
Ємність о с н о в н о ї пам'яті. Ємність динамічної н а п і в п р о в і д н и к о в о ї пам'яті з довіль
н и м д о с т у п о м (Dynamic Random Access M e m o r y - D R A M ) з р о с т а є в чотири р а з и кожних
три р о к и (рис. 1.5).
23
Ємність пам'яті
на кристалі 1 Гб
100 Мб
1 Мб -
1 к-
I > І І і і t і і і і І І І І 1 І 1
І 1 t S > і ^ t
Пристрій виведення
Процесор
Пристрій введення введення-виведення
Пристрій Пристрій
введення виведення
Процесор Пам'ять Буфер і Контролер Буфер Контролер
1
.І
Арбітр
шини
Рис. 1.8. Однотипна структура комп'ютера
Пам'ять
команд
Процесор
Пам'ять
даних
Кеш пам'ять
команд
Основна
Кеш пам'ять
пам'ять даних Процесор
другого рівня
і команд
Кеш пам'ять
даних
Рис. 1.10. Злиття архітектур через розділену на дві частини кеш пам'ять першого рівня
Органи Об'єкт
керування керування
>•
Комп'ютер
ЗЗам. 371.
34
а ь с сі
Таблиця 1.1
Intel Centrino Core Duo T2500: два ядра; тактова частота 2000 МГц;
Процесор
FSB 667 МГц
Пам'ять Встановлено 1024 Мбайтів пам'яті D D R 2-533
Кеш пам'ять 2х32КВ LI cache, 2048КБ L2 cache
Таблиця 1.2
Позна Назва Позна Значення префікса, Близьке значення,
Назва
чення на чення виражене через виражене через
префікса
префікса латині на латині степінь двох степінь десяти
Великорозмірні характеристики
Кіло К Kilo К 2 ю 1 тисяча = 10 3
20
Мета М Mega М 2
1 мільйон = 10 6
зо
Гіга Г Giga G 2
1 мільярд = 10 9
40
Тер а т Тега Т 2
1 трильйон = 10 12
50
Пета п Peta Р 2
1 трильярд = 10 і5
Малорозмірні характеристики
-іо
Мілі м Milli m 2
1 тисячна = 1 0 °
-20
Мікро мк Micro I і 2
1 мільйонна = 10 6
Нано н Nano п 2 - І О
1 мільярдна = 10 9
Р
-50
Фенто ф Fento f 2
1 трильярдна = 1 0 15
Послідовний
В и р о б н и к и р о б о ч и х станцій ш в и д к о в і д р е а г у в а л и на п о т р е б у в м а л о в а р т і с н и х моде
лях для р и н к у к о м е р ц і й н и х з а с т о с у в а н ь . П о т р е б а в високій п о т у ж н о с т і на р о б о ч о м у сто
лі навела компанії Sun Microsystems і Hewlett-Packard, які є л і д е р а м и на р и н к у р о б о ч и х
станцій, на ідею о р і є н т у в а т и свою п р о д у к ц і ю на комерційні з а с т о с у в а н н я . І хоча з н а ч н а
частина систем ц и х к о м п а н і й все ще о р і є н т о в а н а на технічні та наукові з а с т о с у в а н н я ,
спостерігається б е з п р е ц е д е н т н е з р о с т а н н я п р о д а ж у ї х продукції д л я р о б і т к о м е р ц і й н о г о
застосування, щ о в и м а г а ю т ь все більшої п о т у ж н о с т і для реалізації с к л а д н и х м е р е ж н и х
прикладних систем, в к л ю ч а ю ч и системи мультимедіа.
1.4.4. Сервери
П р и к л а д н і комерційні та бізнесові системи, р о з р а х о в а н і на багато користувачів,
в к л ю ч а ю ч и системи к е р у в а н н я б а з а м и даних і о б р о б к и т р а н з а к ц і й , великі в и д а в н и
чі системи, м е р е ж н і системи і системи о б с л у г о в у в а н н я к о м у н і к а ц і й , системи р о з р о б
ки п р о г р а м н о г о з а б е з п е ч е н н я і о б р о б к и з о б р а ж е н ь , в и м а г а ю т ь переходу до моделі об
ч и с л е н ь " к л і є н т - с е р в е р " і розподіленої о б р о б к и . В розподіленій моделі " к л і є н т - с е р в е р "
ч а с т и н у р о б о т и в и к о н у є сервер, а ч а с т и н у - к о м п ' ю т е р к о р и с т у в а ч а (в загальному ви
п а д к у ч а с т и н и сервера і к о р и с т у в а ч а м о ж у т ь в и к о н у в а т и с ь і на о д н о м у комп'ютері). Іс
нує декілька типів серверів для різних з а с т о с у в а н ь : ф а й л о в и й сервер, сервер бази даних,
п р и н т - с е р в е р , о б ч и с л ю в а л ь н и й сервер, сервер з а с т о с у в а н ь . Таким ч и н о м , тип сервера
в и з н а ч а є т ь с я р е с у р с о м , я к и м він володіє ( ф а й л о в а система, база даних, принтери, п р о
ц е с о р и або п р и к л а д н і п а к е т и п р о г р а м ) .
З і н ш о г о б о к у існує к л а с и ф і к а ц і я серверів за м а с ш т а б о м м е р е ж і , в якій в о н и в и к о
р и с т о в у ю т ь с я : сервер р о б о ч о ї групи, сервер відділу або сервер п і д п р и є м с т в а (корпора
т и в н и й сервер). Ц я к л а с и ф і к а ц і я н а д т о умовна. Н а п р и к л а д , р о з м і р групи може зміню
в а т и с я в діапазоні від декількох людей до декількох сотень людей, а сервер відділу може
о б с л у г о в у в а т и від 20 до 150 к о р и с т у в а ч і в . О ч е в и д н о , з а л е ж н о від числа користувачів і
х а р а к т е р у в и р і ш у в а н и х н и м и з а в д а н ь , в и м о г и до складу о б л а д н а н н я і п р о г р а м н о г о за
б е з п е ч е н н я сервера, до його надійності та п р о д у к т и в н о с т і с у т т є в о відрізняються.
Файлові сервери н е в е л и к и х р о б о ч и х груп (не більше 20-30 людей) простіше всього
р е а л і з у ю т ь с я на п л а т ф о р м і п е р с о н а л ь н и х к о м п ' ю т е р і в і п р о г р а м н о м у забезпеченні Nov
ell NetWare. Ф а й л - с е р в е р в д а н о м у в и п а д к у в и к о н у є р о л ь ц е н т р а л ь н о г о сховища даних.
Т и п о в и м и до складу н е в е л и к и х ф а й л - с е р в е р і в в х о д я т ь п р о ц е с о р , основна та з о в н і ш н я
п а м ' я т ь , а т а к о ж а д а п т е р Ethernet. До складу т а к и х серверів часто включаються диско
вод г н у ч к и х дисків і д и с к о в о д к о м п а к т - д и с к і в . Графіка для більшості серверів несуттєва,
т о м у д о с т а т н ь о мати з в и ч а й н и й м о н о х р о м н и й м о н і т о р з н е в и с о к о ю роздільною здатніс
тю. Б а ж а н о з а с т о с у в а т и п р и с т р і й б е з п е р е б і й н о г о ж и в л е н н я .
Для ф а й л - с е р в е р і в з а г а л ь н о г о доступу, з я к и м и в о д н о ч а с м о ж у т ь п р а ц ю в а т и де
кілька десятків, а то і сотень людей, п р о с т о ї о д н о п р о ц е с о р н о ї п л а т ф о р м и і програмного
з а б е з п е ч е н н я Novell м о ж е в и я в и т и с я недостатньо. В ц ь о м у в и п а д к у в и к о р и с т о в у ю т ь
ся п о т у ж н і б а г а т о п р о ц е с о р н і сервери з м о ж л и в о с т я м и н а р о щ у в а н н я основної пам'яті
до декількох ГБ, д и с к о в о г о п р о с т о р у до сотень ГБ, ш в и д к и м и інтерфейсами д и с к о в о
го о б м і н у (типу Fast SCSI-2, Fast&Wide SCSI-2 і Fiber Channel) і декількома м е р е ж н и м и
і н т е р ф е й с а м и . Ці сервери в и к о р и с т о в у ю т ь о п е р а ц і й н у
систему U N I X , м е р е ж н і п р о т о к о л и T C P / I P і NFS. На базі
б а г а т о п р о ц е с о р н и х U N I X - с е р в е р і в з а з в и ч а й будуються
т а к о ж сервери баз д а н и х в е л и к и х і н ф о р м а ц і й н и х систем,
бо на н и х п о к л а д а є т ь с я о с н о в н е н а в а н т а ж е н н я з о б р о б к и
і н ф о р м а ц і й н и х запитів. С е р в е р и подібного типу о т р и
м а л и н а з в у суперсерверів.
Р о з г л я н е м о технічні х а р а к т е р и с т и к и одного з серве-
. „ -> рів ф і р м и Sun, а саме сервера Т2000, зовнішній вигляд
Рис. 1.16. Зовнішній вигляд Г тг г
і
сервера Т2000 фірми Sun я к
наведено на рис. 1.16. Й о г о ціна, з а л е ж н о від к о м п -
о г о
1.4.7. Суперкомп'ютери
До класу с у п е р к о м п ' ю т е р і в н а л е ж а т ь к о м п ' ю т е р и , що м а ю т ь м а к с и м а л ь н у в даний
час п р о д у к т и в н і с т ь , а т а к о ж м а к с и м а л ь н у є м н і с т ь о с н о в н о ї та з о в н і ш н ь о ї пам'яті. Вони
асоціюються з в е л и к и м и р о з м і р а м и , в е л и к и м и з а в д а н н я м и , г р а н и ч н о в и с о к и м и харак
т е р и с т и к а м и . Ш в и д к и й р о з в и т о к к о м п ' ю т е р н о ї індустрії п р и з в о д и т ь до відносності да
ного п о н я т т я . С у п е р к о м п ' ю т е р десятирічної давності сьогодні під це в и з н а ч е н н я вже не
п о т р а п л я є . Н а п р и к л а д , п р о д у к т и в н і с т ь п е р с о н а л ь н и х комп'ютерів, щ о використовують
Pentium-II/300MHz, є б л и з ь к о ю до п р о д у к т и в н о с т і суперкомп'ютерів середини 70-х р о
ків, п р о т е за с ь о г о д н і ш н і м и м і р к а м и с у п е р к о м п ' ю т е р а м и не є ні ті, ні інші.
Н и ж ч е п о д а н о декілька п р и к л а д і в , щ о п о к а з у ю т ь основні х а р а к т е р и с т и к и комп'юте
рів ц ь о г о класу, які в и к о р и с т о в у ю т ь с я в д а н и й час.
C R A Y Т932, в е к т о р н о - к о н в е є р н и й к о м п ' ю т е р ф і р м и C R A Y Research Inc. (на сьогодні
це є підрозділ Silicon Graphics Inc.), у п е р ш е в и п у щ е н и й у 1996 році. М а к с и м а л ь н а про
д у к т и в н і с т ь одного п р о ц е с о р а д о р і в н ю є м а й ж е 2 м л р д операцій за секунду, основна
п а м ' я т ь н а р о щ у є т ь с я до 8 ГБ, д и с к о в и й п р о с т і р до 256000 ГБ (тобто 256Т6). К о м п ' ю т е р у
м а к с и м а л ь н і й конфігурації в м і щ у є 32 п р о ц е с о р и , що п р а ц ю ю т ь із з а г а л ь н о ю пам'яттю,
т о м у м а к с и м а л ь н а п р о д у к т и в н і с т ь всієї к о м п ' ю т е р н о ї системи складає більше 60 млрд
операцій за секунду.
I B M SP2, м а т р и ч н и й п а р а л е л ь н и й к о м п ' ю т е р ф і р м и I B M . П о б у д о в а н и й н а основі
с т а н д а р т н и х п р о ц е с о р і в PowerPC 604е або P O W E R 2 SC, сполучених між собою через
в и с о к о ш в и д к і с н и й к о м у т а т о р , причохму к о ж н и й м а є свою л о к а л ь н у основну пам'ять і
47
Структурна
Динаміка
біологія
механізмів
Прогноз Фармацевтика
— погоди на 3 доби
Тривимірне Хімічна
Двовимірна моделювання динаміка
аеродинаміка плазми
100 1 10 100 1
М F LOPS GFLOPS GFLOPS GFLOPS TFLOPS
1.4.8. Мікроконтролери
М і к р о к о н т р о л е р и - к о м п ' ю т е р и на кристалі, п р и з н а ч е н і д л я к е р у в а н н я е л е к т р о н н и
м и п р и с т р о я м и , з о к р е м а п о б у т о в и м и п р и с т р о я м и , в и р о б н и ч и м и лініями, вимірюваль
н и м и п р и с т р о я м и і т. д. До складу м і к р о к о н т р о л е р а входять наступні вузли:
> ц е н т р а л ь н и й п р о ц е с о р , р о з р я д н і с т ю від 4 до 64 бітів, з а л е ж н о від потрібної точ
ності о б ч и с л е н ь ;
> і н т е р ф е й с и в в е д е н н я - в и в е д е н н я , в п е р ш у чергу послідовні порти;
> п е р и ф е р і й н і пристрої, такі як: т а й м е р и та схеми захисту, ц и ф р о а н а л о г о в і та ана-
логоцифрові перетворювачі;
> п а м ' я т ь з д о в і л ь н и м д о с т у п о м д л я з б е р і г а н н я даних;
> п о с т і й н а п а м ' я т ь т и п у R O M , E P R O M , E E P R O M ч и Flash д л я з б е р і г а н н я п р о
грами;
> генератор тактів.
Така інтеграція н а з в а н и х п р и с т р о ї в на кристалі д о з в о л я є з а б е з п е ч и т и малі габарити
та с п о ж и в а н н я і с п р и я є ш и р о к о м у в и к о р и с т а н н ю м і к р о к о н т р о л е р і в у р і з н о г о р о д у
вбудованих системах. Наприклад, в сучасному автомобілі використовується понад
50 м і к р о к о н т р о л е р і в . Вони т а к о ж в и к о р и с т о в у ю т ь с я в п о б у т о в і й електроніці, мобільних
телефонах, в и р о б н и ч и х лініях т о щ о . На рис. 1.21 п о д а н о з о в н і ш н і й вигляд м і к р о к о н т р о
лера РІС 18F8720 ф і р м и Microchip в корпусі T Q F P з 80 в и в о д а м и .
Р о з р о б н и к и м і к р о к о н т р о л е р і в з а б е з п е ч у ю т ь с п е ц і а л ь н и й сервіс для користувачів,
з о к р е м а версії, які д о з в о л я ю т ь п е р е п р о г р а м у в а н н я п р о г р а м н о ї пам'яті ультрафіолето-
49
вим світлом, м о ж л и в і с т ь п і д к л ю ч е н н я з о в н і ш н ь о ї
оперативної п а м ' я т і в якості пам'яті п р о г р а м , та
інше. Сучасні м і к р о к о н т р о л е р и п р о г р а м у ю т ь с я
в коді м о в и С та м а ю т ь в н у т р і ш н і схеми відлаго-
дження.
Розгляд
V
Зверху Знизу
вниз вверх
О п и с м о ж е в и к о н у в а т и с ь як з н и з у догори, п о ч и н а ю ч и з е л е м е н т а р н и х е л е к т р о н н и х
компонентів і з а к і н ч у ю ч и п о в н и м о п и с о м системи, так і з г о р и донизу, ш л я х о м поді
лу системи на складові ч а с т и н и . П е р ш и й підхід в и к о р и с т о в у є т ь с я п р и п р о е к т у в а н н і
комп'ютерів та їх ф у н к ц і о н а л ь н и х вузлів, з о к р е м а при їх і є р а р х і ч н о м у описі м о в а м и
опису а п а р а т н и х засобів т и п у У Н О Ь т а Уегііод. Для р о з г л я д у т а в и в ч е н н я к о м п ' ю т е р а
другий підхід є е ф е к т и в н і ш и м , т о м у в п о д а л ь ш о м у будемо в о с н о в н о м у к о р и с т у в а т и с я
ц и м підходом.
Комп'ютер м а є багаторівневу організацію. Н а й н и ж ч и м є р і в е н ь ф і з и ч н и х п р и с т р о ї в ,
о б ' є к т а м и якого є т р а н з и с т о р и . Він є о с н о в о ю д л я ц и ф р о в о г о логічного рівня, о б ' є к т а м и
якого є вентилі, побудовані на декількох т р а н з и с т о р а х . Вентиль в и к о н у є п р о с т і логічні
функції, такі як: І, А Б О . На основі ц и ф р о в о г о логічного р і в н я ф о р м у є т ь с я рівень м і ж -
регістрових передач або м і к р о а р х і т е к т у р н и й рівень, о б ' є к т а м и я к о г о є регістри, м у л ь т и
плексори, л і ч и л ь н и к и , стеки регістрів, блоки постійної та о п е р а т и в н о ї п а м ' я т і , с у м а т о р и ,
арифметико-логічні п р и с т р о ї і т. д. Цей р і в е н ь м о ж н а поділити на підрівні, о с к і л ь к и к о
жен з п е р е р а х о в а н и х елементів м о ж е б у т и п р е д с т а в л е н и м к і л ь к о м а р і в н я м и п р о с т і ш и х
елементів. Н а с т у п н и м є а р х і т е к т у р н и й рівень, або рівень системи к о м а н д , я к и й т а к о ж
має підрівні. Далі йде м а к р о а р х і т е к т у р н и й рівень, або рівень о п е р а ц і й н о ї системи. Цей
рівень є відповідальним за м у л ь т и п р о г р а м у в а н н я , захист п а м ' я т і , с и н х р о н і з а ц і ю п р о ц е
сів та багато і н ш и х в а ж л и в и х ф у н к ц і й . І, нарешті, а с е м б л е р н и й рівень та рівні м о в п р о
г р а м у в а н н я . К о ж н а к о м а н д а асемблерного р і в н я т р а н с л ю є т ь с я у відповідну їй к о м а н д у
52
Мікроархітектурний рівень
\^ктт/ютері
У сучасних к о м п ' ю т е р а х в и к о р и с т о в у ю т ь різні ф о р м и та ф о р м а т и представлення да
них, я к и м и є числа та з а к о д о в а н і с и м в о л и . Це д о з в о л я є в и б и р а т и ті із них, що найбіль
ш о ю м і р о ю відповідають в и м о г а м р о з в ' я з у в а н и х задач. Тип в и к о р и с т о в у в а н и х ф о р м та
ф о р м а т і в п р е д с т а в л е н н я д а н и х с у т т є в о в п л и в а є н а х а р а к т е р и с т и к и комп'ютера.
У ц ь о м у розділі висвітлені о с н о в н і п и т а н н я п р е д с т а в л е н н я даних у комп'ютері, які
є в а ж л и в и м и д л я р о з у м і н н я матеріалу н а с т у п н и х розділів. О п и с а н і п о з и ц і й н і системи
ч и с л е н н я та п р и н ц и п и п о д а н н я д а н и х у двійковому, в і с і м к о в о м у і ш і с т н а д ц я т к о в о м у
кодах. Подані п р а в и л а п е р е в е д е н н я чисел із системи ч и с л е н н я з довільною основою до
десяткової, а т а к о ж п е р е в е д е н н я чисел із десяткової до системи ч и с л е н н я з іншою осно
в о ю . Розглянуті з а с а д и п о д а н н я чисел зі з н а к о м у п р я м о м у , о б е р н е н о м у та д о п о в н я л ь
н о м у кодах. П р о в е д е н о аналіз о с о б л и в о с т е й п о д а н н я д а н и х у ф о р м а т а х із фіксованою та
з р у х о м о ю комою, в к л ю ч а ю ч и п о д а н н я д а н и х з а с т а н д а р т о м ІЕЕЕ-754. З в а ж а ю ч и н а
в а ж л и в і с т ь , р о з г л я н у т о п и т а н н я кодування а л ф а в і т н о - ц и ф р о в о ї інформації кодами
A S C I I , E B C D I C т а Unicode.
5 5-1 1 0 -1 -т
Де:
• к - о с н о в а системи ч и с л е н н я , т о б т о кількість р і з н и х ц и ф р , які використовуються
в п о з и ц і й н і й системі ч и с л е н н я ,
57
а значення числа о б ч и с л ю є т ь с я за т а к и м в и р а з о м :
В -ІО"-' + Ю„ • 10^' + ... + О, • 10 + 0-10° + ГУ, • 10г + ТУ • 10г + ... + ГУ
2 і 1 2
• 10 ,
м
[4-І гі-2 І 0 і 2 М
де:
• N - кількість ц и ф р (розрядів) у цілій ч а с т и н і числа (зліва від к о м и ) ,
• М - кількість р о з р я д і в у д р о б о в і й ч а с т и н і ч и с л а (справа від к о м и ) ,
• Б. - з н а ч е н н я і-го р о з р я д у ( р о з р я д и цілої ч а с т и н и ) ,
• Б'. - з н а ч е н н я і-го р о з р я д у ( р о з р я д и д р о б о в о ї ч а с т и н и ) ,
• Б - з н а ч е н н я числа.
З в и ч а й н о , що д р о б о в о ї або цілої ч а с т и н и ч и с л а м о ж е і не бути (Ы а б о М = 0).
а з н а ч е н н я числа о б ч и с л ю є т ь с я за т а к и м в и р а з о м :
В = В^ • 2"-' + В _ • 2"~ + ... + В . 2' + В • 2° + В\ • 2"' + В^ • 2~ + ... + В' • 2~ ,
ы 2
2
І 0
2
м
м
де:
N - кількість д в і й к о в и х ц и ф р ( р о з р я д і в ) у цілій ч а с т и н і числа,
М - кількість д в і й к о в и х р о з р я д і в у д р о б о в і й ч а с т и н і числа,
В. - з н а ч е н н я і-го р о з р я д у цілої ч а с т и н и числа,
В'. - з н а ч е н н я і-го р о з р я д у д р о б о в о ї ч а с т и н и числа,
В - з н а ч е н н я числа.
П р и к л а д и д в і й к о в и х чисел:
1011010,01 = 1.2 + 0 • 2 + 1 • 2 + 1 • 2 + 0- 2 + 1 • 2 + 0- 2° + 0 • 2 + 1 • 2~ =
2
6 5 4 3 2 : і 2
1100110, 11 = 102,75 2 ш
N-1 N-2 1 0 1 2 М
де:
• N - кількість ц и ф р (розрядів) у цілій ч а с т и н і числа (зліва від коми),
• М - кількість р о з р я д і в у д р о б о в і й частині ч и с л а (справа від коми),
• Н. - з н а ч е н н я і-го р о з р я д у ( р о з р я д и цілої ч а с т и н и ) ,
• Н/ - з н а ч е н н я і-го р о з р я д у ( р о з р я д и д р о б о в о ї ч а с т и н и ) ,
• Н - з н а ч е н н я числа.
О с о б л и в і с т ю ц и х систем є з р у ч н и й перехід до двійкової системи та навпаки. Три
д в і й к о в и х р о з р я д и п е р е в о д я т ь с я в один вісімковий, а ч о т и р и двійкових р о з р я д и - в один
ш і с т н а д ц я т к о в и й , як п о к а з а н о в табл. 2.1.
Таблиця 2.1
Двійкова Шістнадцяткова Двійкова Шістнадцяткова
0000 0 1000 8
0001 1 1001 9
0010 2 1010 А
ООП 3 1011 В
0100 4 1100 С
0101 5 1101
0110 6 1110 Е
0111 7 1111 Р
Н а п р и к л а д , д в і й к о в е ч и с л о 01101101 у ш і с т н а д ц я т к о в і й системі з а п и с у в а т и м е т ь с я як
6 Б . Для п е р е в е д е н н я чисел із ш і с т н а д ц я т к о в о ї та вісімкової систем ч и с л е н н я у двійкову
необхідно к о ж н у ц и ф р у числа, я к е п е р е в о д и т ь с я , з а м і н и т и відповідно ч о т и р и - або три-
р о з р я д н и м д в і й к о в и м е к в і в а л е н т о м - т е т р а д о ю або тріадою, а о т р и м а н і двійкові ц и ф р и
р о з т а ш у в а т и на місцях ш і с т н а д ц я т к о в и х або вісімкових ц и ф р .
У разі необхідності п е р е в е д е н н я чисел із десяткової системи числення у вісімкову,
ш і с т н а д ц я т к о в у та д в і й к о в у п е р е в е д е н н я р о б и т ь с я л и ш е в одну систему (вісімкову або
ш і с т н а д ц я т к о в у ) . П о д а л ь ш е п е р е в е д е н н я в и к о н у є т ь с я через двійкову систему, в и к о р и с
товуючи тріади та т е т р а д и .
П р и к л а д 1. П е р е в е д е м о нисло 12345,67 з десяткової системи ч и с л е н н я у двійкову, ві
сімкову, ш і с т н а д ц я т к о в у .
1. П е р е в е д е н н я цілої ч а с т и н и числа у вісімкову систему:
12345 : 8 = 1543, з а л и ш о к 1;
1543 : 8 = 192, з а л и ш о к 7;
192 : 8 = 24, з а л и ш о к 0;
24 : 8 = 3, з а л и ш о к 0;
3 : 8 = 0, з а л и ш о к 3.
59
Результат: 30071.
2. Переведення д р о б о в о ї ч а с т и н и числа у вісімкову систему:
0,67x8 = 5,36;
0,36x8 = 2,88;
0,88 х 8 = 7,04;
0,04x8 = 0,32.
Н а б л и ж е н и й результат: 0,5270....
3. О т р и м а н н я п о в н о г о р е з у л ь т а т у ш л я х о м о б ' є д н а н н я результатів, о т р и м а н и х в п. 1
та п. 2. Результат: 30071,5270....
4. Переведення р е з у л ь т а т у у двійкову та ш і с т н а д ц я т к о в у системи ч и с л е н н я
(табл. 2.2). Поділ двійкового числа на тріади та т е т р а д и п о ч и н а є т ь с я від к о м и л і в о р у ч і
праворуч. Результат: 12345,6710=30071,52708=11000000111001,1010101112=3039,АВ816.
Таблиця 2.2
3 0 0 7 1 > 5 2 7 0 8-кові
цифри
0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 > 1 0 1 0 1 0 1 1 1 0 0 0 2-кові
цифри
3 0 3 9 > А В 8 16-кові
цифри
= 8 + 0 + 2 + 1 + 0 , 5 + 0 + 0 + 0,0625 = 11,5625;
Таким ч и н о м , 1011,1001 = 11,5625 . 2 10
= 849,0390625;
Результат: 2 Е Д 0 А = 849,0390625 . ] 6 ш
Д р о б о в а ч а с т и н а д е с я т к о в о г о ч и с л а X м н о ж и т ь с я на к за п р а в и л а м и десяткової
а р и ф м е т и к и . В о т р и м а н о м у д о б у т к у в і д ' є д н у є т ь с я ціла частина, яка може дорівнювати
0, а д р о б о в а ч а с т и н а з н о в у м н о ж и т ь с я на к із н а с т у п н и м в і д ' є д н а н н я м цілої частини. Ця
о п е р а ц і я п о в т о р ю є т ь с я або до о т р и м а н н я нульової д р о б о в о ї ч а с т и н и добутку, або до
о т р и м а н н я необхідної кількості р о з р я д і в числа Х . Ц и ф р а с т а р ш о г о р о з р я д у результату
к
Знак числа
0=»+"
1="-"
3 с,, С
,2 Сі С 0
V
Саме число в двійковому коді
0=»+"
і =».<
э І с»,
С.2 с, с 0
О б е р н е н и й код п - р о з р я д н о г о д в і й к о в о г о числа Є в и з н а ч а є т ь с я як
1
С При
В - \СІ
б > 0;
при С<0;\
)
а від'ємні - в діапазоні А < С < 2А. За в и з н а ч е н н я м обернений код від'ємного числа є до
пр
п о в н е н н я м модуля вихідного числа до найбільшого числа без знаку, яке може бути розмі
щене в р о з р я д н і й сітці. В з в ' я з к у з ц и м о т р и м а н н я оберненого коду двійкового від'ємного
числа з в о д и т ь с я до о т р и м а н н я інверсії п - р о з р я д н о г о коду модуля цього числа
З н о в у в а р т о н а в е с т и кілька п р и к л а д і в
5, = 0 0 1 0 1 , -5=10101 .
10 обернений КОД 10 обернений код
25, =011001 , -25 = 111001 -
10 обернений код 10 обернений код
2 . 5 . 3 . Доповняльний код
0="+"
1="-"
с,. 2
прямому коді 0 <\Є < А. Ц и ф р о в и м и розрядами доповняльного коду додатного числа ви
ражається модуль цього числа. Як уже було зазначено, доповняльний код від'ємного числа
зручно отримувати через обернений код шляхом додавання 1 до молодшого розряду обер
неного коду
Розглянемо приклади
5, =00101 - 5 , =11011
10 доповняльний код 10 доповняльний код
25, =011001 . -25 = 100111
10 доповняльний код 10 доповняльний код
12, =01100 - 1 2 = 10100
10 доповняльний код 10 доповняльний код
а) ао а- аг аз аж азі
Знак 2 зо 2 29 2
2 8
2 1
2 0
Ь) ао аі аг аз азо азі
Рис. 2.4. Розрядна сітка при представленні двійкових чисел з фіксованою комою:
а - кома фіксована перед старшим розрядом я,, Ь - кома фіксована після молодшого розряду а 31
додатне з н а ч у щ е число рівне 0,00... 01 =2~ . Тут після коми розміщено 30 нулів.
31
Не з а в ж д и діапазон п р е д с т а в л е н н я чисел у ф о р м а т і з ф і к с о в а н о ю к о м о ю є д о с т а т н і м
для проведення обчислень. В т а к о м у в и п а д к у в и к о р и с т о в у є т ь с я ф о р м а т п р е д с т а в л е н н я
чисел із р у х о м о ю комою.
У загальному в и п а д к у в форматі з рухомою комою число подається у вигляді А = ± т •
q , де т - мантиса числа, q - основа порядку, ± р - п о р я д о к числа. Попередній в и р а з м о ж
±p
5 Рл т
р т л
А
З а з в и ч а й у ф о р м а т і з р у х о м о ю к о м о ю з а м і с т ь п о р я д к у р в и к о р и с т о в у ю т ь так з в а н у
х а р а к т е р и с т и к у ("зміщений порядок") г = ± р + 1, де 1 - н а д л и ш о к (зсув), з н а ч е н н я якого
п і д б и р а є т ь с я т а к и м ч и н о м , щ о б у разі з м і н и з н а ч е н н я п о к а з н и к а від деякого м і н і м а л ь н о
го з н а ч е н н я - | р | до м а к с и м а л ь н о г о + | р | » х а р а к т е р и с т и к а г з м і н ю в а л а с я від 1 до г .
т і п тах т а х
5 р. т Л
т Г А А
О д и н и ц я с т а р ш о г о р о з р я д у н о р м а л і з о в а н о ї м а н т и с и з а з в и ч а й не в і д о б р а ж а є т ь с я у
ф о р м а т і числа, т о б т о є уявною. Р о з р я д слова, в я к о м у п о в и н н а була бути відображена ця
о д и н и ц я , в и к о р и с т о в у є т ь с я я к м о л о д ш и й р о з р я д х а р а к т е р и с т и к и , або с т а р ш и й р о з р я д
м а н т и с и , що д о з в о л я є з б і л ь ш и т и д і а п а з о н п р е д с т а в л е н н я чисел у ф о р м а т і з рухомою
комою, або точність обчислень.
Таким ч и н о м , м а н т и с а в т а к о м у варіанті в і д о б р а ж а є т ь с я , п о ч и н а ю ч и з розряду, що
йде після с т а р ш о г о . Це слід в р а х о в у в а т и під час в и к о н а н н я будь-якої операції з ман
тисою числа, і перед п о ч а т к о м о п е р а ц і й в і д н о в л ю в а т и с т а р ш и й р о з р я д м а н т и с и . Після
з а в е р ш е н н я о п е р а ц і й ф о р м у в а н н я н о р м а л і з о в а н о г о результату у відведеній для нього
р о з р я д н і й сітці, с т а р ш а о д и н и ц я м а н т и с и з н о в у в і д к и д а є т ь с я . П о р я д о к із к - р о з р я д н и м
полем м о ж е з м і н ю в а т и с я в м е ж а х від - 2 + 1 до + 2 - 1 (табл. 2.5, к = 3).
к _ 1 к_1
67
Таблиця 2.5
Прямий код Характеристика
Показник порядку Примітки
показника (показник + 4)
+3 011 111 3+4=7
+2 010 110 2+4=6
+1 001 101 1+4 = 5
0 000 100 0+4=4
-1 . 101 011 -1+4 = 3
-2 110 010 -2 + 4 = 2
-3 111 001 -3 + 4=1
000 Ознаку нуля
Як зазначалося, х а р а к т е р и с т и к а г - це п о р я д о к р з н а д л и ш к о м 1 = 2 . Вона не з м і н ю є
к_1
0 1 0 1 0 1 1 0 0 0 1 0 0 0
0 1 0 1 1 0 0 1 0 0 0 1 0 0
0 1 0 1 1 1 0 0 1 0 0 0 1 0
0 110 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 х 2 ° = 1 0 0 0 . 1 х 2 = 1 0 0 . 0 1 х 2 = 1 0 . 0 0 1 х 2 = 1.0001 х 2 = 0.10001 х 2 . Я к щ о в и к о
2 2
!
2
2
2
3
2
4
2
5
к о м о ю п о т р і б н о було б і б р о з р я д і в .
а) 0 0 10 1 1 0 0 0 1 0 0 0
Ь) о 1 0 0 0 1 1 0 0 0 0 0 0 0
а) 0 10 10 1 1 0 0 0 1 0 0 0
Ь) 0 0 1 1 1 0 1 0 0 0 0 0 0 0
0 0 110 0 1 0 0 0 0 0 0 0
0 1 7 8 31
Sm PI Р2 М
Тут з н а ч е н н я числа в и з н а ч а є т ь с я з в и р а з у А = 2 , де е = Р 2 .
е Р2
2 . 6 . 4 . Стандарт 1ЕЕЕ-754
8 9 31
Y Y —
8 бітів 23 біти
З н а ч е н н я числа о б ч и с л ю є т ь с я з а ф о р м у л о ю :
число = (-1) • 2 ~' • (1,М).
5 Е 27
11 12 63
Знак мантиси Порядок, зсунутий на 1023 Мантиса в прямому коді
(8) (Е) (М)
V. /
11 бітів I !| 52 біти
З н а ч е н н я числа о б ч и с л ю є т ь с я з а ф о р м у л о ю :
число = (-1?-2 - - Е тз
(1, М).
Діапазон чисел, які м о ж у т ь бути представлені в ц ь о м у форматі, п о к а з а н и й на
р и с . 2.15.
число
Наближена точність 2" = 10-
23 7
2-52 = Ш .15
представлення чисел
п р е д с т а в л е н н я н е в и з н а ч е н о г о з н а ч е н н я т а к о ж в и к о р и с т о в у є т ь с я м а к с и м а л ь н е значення
п о р я д к у та н е н у л ь о в а мантиса. Н е в и з н а ч е н е з н а ч е н н я н а з и в а ю т ь "не ч и с л о м " - Not a N u
mber (NaN). "Не ч и с л о " в и к о р и с т о в у є т ь с я , щ о б п р е д с т а в и т и з н а ч е н н я , яке не є дійсним
ч и с л о м і часто в и к о р и с т о в у є т ь с я як і н д и к а т о р п о м и л к и , н а п р и к л а д , коли відбулося ді
л е н н я 0 на 0. Я к щ о ч и с л о є д у ж е м а л и м , то в о н о п р е д с т а в л я є т ь с я н у л ь о в и м п о р я д к о м та
н е н у л ь о в о ю м а н т и с о ю . У табл. 2.7 наведено п р и к л а д и п р е д с т а в л е н н я різних величин в
ф о р м а т і за с т а н д а р т о м ІЕЕЕ-754 д л я чисел з о д и н а р н о ю та подвійною точністю.
Таблиця 2.7
32-розрядні числа 64-розрядні числа
Ненормалізоване 0 ооо 8
Не нуль 0 оооо 8
Не нуль
-0,0 1 ооо 8
.00000000 0 8 оооо 8
.000000000000000000 8
Десяткові Код з
Код 2 з 5
цифри надлишком 3
0 ООП 11 000
1 0100 00 011
2 0101 00 101
3 0110 00 по
4 0111 01 001
5 1000 01 010
6 1001 01 100
7 1010 10 001
8 1011 01 001
9 1100 10 100
Таблиця 2.10
Цифра
Зона 0000 (KKH 0010 ООП 0100 0101 0110 Olli 1000 1001 1010 1011 1100 1101 1110 F
(XXX) N1 IL son STX F.TX PI-' irr 1С DEL SMM VT FF C R SO Sl
(XX) 1 [>[ .К IX'1 002 тм RI:S N1. BS II CAN EM er CA 11 11 s IGS 1RS ins
0010 OS SOS FX BYP LF етв ESC SM cm LNQ A C K BEL
ООП SYN PN RS uc: EOT сиз IX'4 NA К Sl 'H
0100 SP < ( + 1
0101 & s * ) -.
оно — / •i >
Olli # © = "
1000 a b с d с r g Ii і
1001 j k 1 m П 0 P 4 r
1010 s I и V w X у z
1011 -
1100 л В С 1) і: ]• Ii II I
1101 J К L M N 0 P У R
1110 s T U V w X Y /,
1111 0 1 1 4 5 7 8
3 6 9
100 @ А В с D E F G H I J К L M N О
101 Р Q R S T U V W X Y z I \ 1 A
110 - а Ь с d с 1' о h і j k 1 m n 0
о
111 Р Ч X s t u V w X У z 1 1 ) DEL
-
Р о з ш и ф р у в а н н я а б р е в і а т у р з табл. 2.12 наведено в табл. 2.13.
Таблиця 2.13
Лбіісвіатура Po;HUH<j>pvBaHHn aur.tificbKoio Розшифрування українською
NUL NULL Пусто
SOU START OF HEADING Початок заголовка
STX START OF TEXT Початок т е к с т \
ЕТХ END OF TEXT Кінець ТЄКСТУ
EOT EN)) OF TRANSMISSION Кінець передачі
1-М.) ENQUIRY Хто там?
Лі 'К ACKNOWLEDGE Підівердження
BEL BELL Дзвінок
1)S BACKSPACE Повернення на крок
TAB HORIZONTAL TAB! ILATION Горизонтальна табуляція
I.I- LINEFEED Подача нової стрічки
VI' VERTICAL TABULATION Вертикальна табуляція
FF FORM FEED Подача нової форми
OR CARRIAGE RETURN Повернення карсгки
SO SHIFT OUT Вихід
SI SHUT IN В\іц
DLL DATA LANK ESCAPE Авторепстр 1
IX'l DEVICE CONTROL ONE Контроль пристрою 1
DC2 DEVICE CONTROL TWO Контроль пристрою 2
ОСІ DEVICE CONTROL THREE Контроль пристрою 3
IX "4 DEVICE CONTROL FOUR Контроль присгрою 4
NAK. NEC ATI VI-: AC 'KN( )WI .EDO! 1 Ні
SYN SYNCHRONOUS IDLE Синхронізація
ETB ENI) ()I- TRANSMISSK)N BLOCK Кінець блока
CAN CANOEI. Анулювання
F.M END OF MEDIl FM Кінець носія
sun SUBSTTrUTE Заміна
ESC ESCAPE Авторегістр 2
FS FILE SEPARATOR Розділювач файлів
RS RECORD SEPARATOR Розділювач записів
1!S UNO' SEPARATOR Розділювач елементів
DEL) DELETE Видалення
ли, або с и м в о л и і н о з е м н и х м о в .
Коди E B C D I C т а A S C I I з а б е з п е ч и л и к о д у в а н н я б у к в л а т и н с ь к о г о а л ф а в і т у . З ме
т о ю з а б е з п е ч е н н я к о д у в а н н я б у к в і н ш и х а л ф а в і т і в т а п і д т р и м к и м о в н а р о д і в світу в
1991 році було з а п р о п о н о в а н о код під н а з в о ю Unicode.
77
d. 5401 = .10
b.
с. 7
d.
9
6. Перевести наступні десяткові дробові числа в двійкові, обмежившись шістьма розряда
ми справа після коми:
a. 36.78125
b. 294.03125
c. 498.796875
d. 26.1240234375
7. Перевести наступні десяткові дробові числа в двійкові, обмежившись шістьма розряда
ми справа після коми:
a. 35.84375
b. 47.55
c. 50.90625
d. 74.874023
8. Представити наступні десяткові числа 8-розрядними двійковими із знаком в обернено
му і доповняльному кодах:
a. 67
b. 52
c. 219
d. 207
9. Використовуючи 3-розрядні слова, назвати всі можливі двійкові числа із знаком та їх
десяткові еквіваленти при їх представленні в:
a. Прямому коді
b. Оберненому коді
c. Доповняльному коді
10. Використовуючи 4-розрядні слова, назвати всі можливі двійкові числа із знаком та їх
десяткові еквіваленти при їх представленні в:
a. Прямому коді
b. Оберненому коді
c. Доповняльному коді
11. Визначити значення двійкового числа із знаком 1001, представленого в оберненому коді,
в десятковій системі.
12. Для числа з рухомою комою, яке має 3-бітовий порядок і 5-бітову мантису із знаком знайти:
a. Найбільше додатне та найменше від'ємне нормалізовані числа.
b. Зміщення порядку, при якому всі значення порядку є від'ємними.
13. Використовуючи 14-розрядний формат числа, причому 5 розрядів - для представлення
порядку, 8 розрядів - для представлення нормалізованої мантиси та один для її знаку:
a. Показати, як в цьому форматі будуть представлені числа 100.0 та 0.25.
b. Додати ці два числа в названому форматі.
14. Які найбільші та найменші додатні і від'ємні числа можуть бути представлені в форматі
ІЕЕЕ-754?
15. Записати в десятковій системі 32-розрядне число F0ABCD78, представлене в форматі
IEEE з рухомою комою. Тут для запису числа використана шістнадцяткова система.
16. Показати, як в форматі ІЕЕЕ-754 з рухомою комою можуть бути представлені наступні
числа: + 1;-1; 356*2 .
33
19. Описати діапазони представлення чисел при використанні форматів з фіксованою і ру
хомою комою
20. Вибрати формат представлення даних який забезпечує точність до 8 десяткової цифри
та динамічний діапазон від 10 до 10 . Тут число в дужках показник степеня
25 25
21. Приведіть діапазони представлення чисел при використанні відмінної від 2 основи по
рядку для формату з рухомою комою
22. Показати як в форматі ІЕЕЕ-754 з рухомою комою можуть бути представлені наступні
числа:+1;-1; 356*2"
23. Вибрати формат представлення даних, який забезпечує точність до 12 десяткової цифри
та динамічний діапазон від 10" до 10 . Тут число в дужках показник степеня
22 22
24. Декодувати наступний лист в 7-розрядному АБСІІ коді без біта парності: 1001010
1001111 1001000 1001110 0100000 1000100 1000101
Розділ З
коп А
0 к-1 0 т-1
О п е р а н д и т а к о ж п р е д с т а в л я ю т ь с я с и м в о л і ч н о . Н а п р и к л а д к о м а н д а A D D R, Y озна
чає д о д а в а н н я вмісту к о м і р к и п а м ' я т і Y до в м і с т у регістра R. З а у в а ж и м о , що операція
в и к о н у є т ь с я над в м і с т о м , а не над адресою к о м і р к и п а м ' я т і та регістра.
Таким ч и н о м , з ' я в л я є т ь с я м о ж л и в і с т ь н а п и с а н н я м а ш и н н и х п р о г р а м в символічній
ф о р м і . П о в н и й набір с и м в о л і ч н и х н а з в і п р а в и л а їх в и к о р и с т а н н я у т в о р ю ю т ь мову п р о
г р а м у в а н н я , в і д о м у я к асемблерна мова. С и м в о л і ч н і імена н а з и в а ю т ь с я м н е м о н і ч н и м и ,
а п р а в и л а їх в и к о р и с т а н н я д л я с т в о р е н н я к о м а н д і п р о г р а м н а з и в а ю т ь с я синтаксисом
мови.
П р о г р а м а , я к а п е р е в о д и т ь із м н е м о н і ч н о г о коду асемблерної м о в и в м а ш и н н и й , на
з и в а є т ь с я а с е м б л е р о м . К о м а н д и , які в и к о р и с т о в у ю т ь с я для переводу вихідної п р о г р а м и
в асемблерну, н а з и в а ю т ь с я к о м а н д а м и асемблера. Ці к о м а н д и в к а з у ю т ь як інтерпретува
ти назви, де р о з м і с т и т и п р о г р а м у в пам'яті, я к а кількість комірок пам'яті необхідна для
з б е р і г а н н я даних.
Асемблерна м о в а є д у ж е далекою від м о в и л ю д и н и і з а с т а в л я є програміста думати
в и х о д я ч и з п р и н ц и п і в п о б у д о в и к о м п ' ю т е р а . Тому були с т в о р е н і м о в и високого рівня та
к о м п і л я т о р и , які п е р е в о д я т ь п р о г р а м и з ц и х м о в на м о в у асемблера. В и к о р и с т а н н я мов
високого р і в н я м а є ц і л и й р я д переваг в п о р і в н я н н і з в и к о р и с т а н н я м асемблера. П о - п е р
ше, п р о г р а м і с т п и ш е п р о г р а м и на мові, близькій до його м о в и с п і л к у в а н н я . Більше того,
м о в и високого р і в н я о р і є н т у ю т ь с я на класи в и р і ш у в а н и х задач. По-друге, скорочується
час н а п и с а н н я п р о г р а м . І п о - т р е т є , м о в и високого р і в н я є н е з а л е ж н и м и від типу та архі
т е к т у р и комп'ютера, що д о з в о л я є в и к о р и с т о в у в а т и написані на ц и х мовах програми на
всіх комп'ютерах, а п р о г р а м і с т а з в і л ь н и т и від з н а н н я 'їх с т р у к т у р и та організації р о б о т и .
Р а з о м з т и м , хоча більшість п р о г р а м сьогодні п и ш у т ь с я на мовах високого рівня,
асемблерна м о в а є к о р и с н и м з а с о б о м для н а п и с а н н я м а ш и н н и х к о м а н д з а в д я к и близь
кості до м а ш и н н о ї м о в и , н а о ч н о с т і та к о м п а к т н о с т і , і ми т а к о ж будемо її для ц ь о г о в и
користовувати.
РгА РгД
ПЛ РгО
Ргі
РгК Рг(п-І)
п регістрів
РгССП
загального
призначення
А 1
Пристрій
РгА РгД
керування
і
ПЛ РгО
17 Рг 1
АЛП
РгК Рг (п-1)
п регістрів
регістрова загального
пам'ять призначення
ПРОЦЕСОР
Р о з г л я н е м о деякі т и п и к о м а н д д е т а л ь н і ш е .
Таблиця 3.1
№ Код
Функції команд комп'ютера D L X
пп команди
Арифметичні Операції над цілими та логічними даними в регістрах цілих
та логічні чисел; знакова арифметика з фіксацією переповнення
A D D , ADDI, A D D U , Додати, додати безпосереднє дане (immediate), з знаком та без
1
ADDUI знаку
SUB, SUBI, SUBU,
2 Відняти, відняти безпосереднє дане, з знаком та без знаку
SUBUI
MULT, M U L T U , DIV,
3 Перемножити та поділити, з знаком та без знаку
DIVU
4 AND, ANDI Додати, додати безпосереднє дане
Логічне АБО, логічне АБО над безпосереднім даним, виключне
5 OR, ORI, XOR, XORI
АБО, виключне АБО над безпосереднім даним
Зчитування старших 16 розрядів безпосереднього даного та
6 LHI
16 нулів молодших розрядів
SLL, SRL, SRA, Зсуви направо та наліво логічні та арифметичні, включаючи
7
SLLI, SRLI, SRAI безпосереднє дане
SEQ, SXE, SLT, Встановити за умови, якщо рівне нулю, не рівне нулю, менше
8
SGT, SLE, SGE ніж, більше ніж, менше ніж або рівне, більше ніж або рівне
Рухома кома Операції з рухомою комою
9 ADDD, ADDF Додати з подвійною точністю та з рухомою комою
10 SUBD, SUBF Відняти з подвійною точністю та з рухомою комою
11 MULTD, M U L T F Помножити з подвійною точністю та з рухомою комою
12 DIVD, DIVF Поділити з подвійною точністю та з рухомою комою
CVTD2F, CVTD2I,
Перетворення з формату з подвійною точністю до формату з
13 CVTF2D, CVTF2I,
рухомою комою, до формату з одинарною точністю та навпаки
CVTI2D, CVTI2F
EQD, EQF, NED, NEF,
Порівняння даних в форматах з одинарною та подвійною
14 LTD, LTF, GTD, GTF,
точністю та записати результат до регістру станів
LED, LEF, GED, GEF
Початок Трикомандний
МОУЄ Я З , А програмний сегмент
виконання
І+ 1 БСВ В, Я З
і+2 МОУЄ С , Р З
Дані
для
програми
Умовний перехід
345
i+3 Decrement Rl
• i+4 BRPi+2
+ (п-1) Add Nn.Rl i+5 Move RO, S
:
• S
•
S NO n
N1 M
N2 N2
. • •
Ні Nn
Рис. 3.7. Дві програми додавання п чисел шляхом послідовного виконання команд (а)
та з використанням переходів (Ь)
201
Безумовний перехід
209 1SZR1
210 BR201 Пропуск
211
Основна програма
500
650
651
689
800
Підпрограма БИВ 2
850
На ц ь о м у прикладі о с н о в н а п р о г р а м а п о ч и н а є т ь с я з к о м і р к и за а д р е с о ю 010. Ця п р о
грама включає з в е р н е н н я до п і д п р о г р а м и S U B I , я к а п о ч и н а є т ь с я з к о м і р к и за адресою
500. Коли в и к о н у є т ь с я ця к о м а н д а в и к л и к у , п р о ц е с о р п р и з у п и н я є в и к о н а н н я о с н о в н о ї
програми і п о ч и н а є в и к о н а н н я п і д п р о г р а м и S U B I ш л я х о м в и б о р у н а с т у п н о ї к о м а н д и
з комірки 500. Всередині п і д п р о г р а м и S U B I є д в а з в е р н е н н я до п і д п р о г р а м и SUB2, я к а
починається з к о м і р к и за адресою 800. В о б о х ц и х в и п а д к а х п р и з у п и н я є т ь с я в и к о н а н н я
підпрограми S U B I і в и к о н у є т ь с я п і д п р о г р а м а SUB2. К о м а н д а Return в к а з у є п р о ц е с о р у
повернутись назад до п р о г р а м и S U B I та п р о д о в ж и т и в и к о н а н н я к о м а н д и , яка іде за від
повідною к о м а н д о ю в и к л и к у Call. Ці з в е р н е н н я м і ж о с н о в н о ю п р о г р а м о ю та п і д п р о г р а
мами показані на рис. 3.10.
Основна пам'ять
010
100
101
Основна програма
500
600
601 Підпрограма SUB 1
650
651
689
800
Підпрограма SUB 2
850
І ЩІ 8%
Виклик підпрограми 19%
10%
Безумовний перехід
І 6%
8".%
Умовний перехід
75%
0% 75% 100%
Як в и д н о з р и с у н к а , н а й ч а с т і ш е в и к о р и с т о в у ю т ь с я к о м а н д и у м о в н о г о переходу, тоді
як команди з в е р т а н н я до п і д п р о г р а м і о с о б л и в о к о м а н д и б е з у м о в н о г о переходу в и к о
ристовуються д о с и т ь рідко. З р о з у м і л о , щ о п р и п о т р е б і с к о р о ч е н н я кількості к о м а н д д о
цільно з а л и ш и т и саме к о м а н д и у м о в н о г о переходу. Б і л ь ш е того, з в а ж а ю ч и на ч а с т о т у
використання п р и реалізації, д о ц і л ь н о ш у к а т и ш л я х и п р и с к о р е н н я в и к о н а н н я саме ц и х
команд. П р о а н а л і з у є м о далі самі к о м а н д и у м о в н о г о переходу, о с к і л ь к и їх є декілька т и
пів, і кожен тип т а к о ж м а є с в о ю ч а с т о т у в и к о р и с т а н н я (рис. 3.12).
Не рівне
Рівне
Більше ніж
Менше ніж
Рис. 3.12. Середня частота використання різних типів команд умовного переходу
Команда Результат
Адреса
команди
V
Вибірка
з
V
Буфер
V
і Виконання
Команда 4 ВК дк ВА во кв ЗР
Команда 5 ВК ДК ВА во кв ЗР
Команда 6 ВК ДК ВА во кв ЗР
Команда 7 ВК ДК ВА во кв ЗР
Команда 8 ВК ДК ВА во КВ ЗР
Команда 9 ВК ДК ВА ВО кв ЗР
Ч а с о в а діаграма в табл. 3.5 показує, що к о ж н а к о м а н д а в и к о н у є т ь с я ш л я х о м прохо
д ж е н н я через 6 я р у с і в к о н в е є р а . Р а з о м з т и м , не д л я к о ж н о ї к о м а н д и це п о т р і б н о Н а п р и
клад, к о м а н д а в и б і р к и н е в и м а г а є в и к о н а н н я операції З О . О д н а к п р и ї ї в и к о н а н н і м о ж н а
зробити шостий ярус конвеєра прозорим
Також на діаграмі п о к а з а н о , що всі стадії в и к о н у ю т ь с я п а р а л е л ь н о . В п е р ш у чергу
т у т п р и й н я т о , щ о н е в и н и к а є к о н ф л і к т і в п р и з в е р н е н н і д о пам'яті. Н а п р и к л а д , операції
ВК, ВО та ЗО п е р е д б а ч а ю т ь з в е р н е н н я до пам'яті. Діаграма допускає, що всі ці з в е р н е н н я
м о ж у т ь з д і й с н ю в а т и с ь о д н о ч а с н о . Більшість систем п а м ' я т і ц ь о г о не допускають, тому
з в е р н е н н я р о з н о с я т ь с я в часі. Іноді п о т р і б н е ч и с л о м о ж е з н а х о д и т и с ь в кеш пам'яті, а
стадії ВО та ЗО відсутні. Тому к о н ф л і к т и п р и з в е р н е н н і до п а м ' я т і не з а в ж д и сповільню
ють к о н в е є р
Декілька і н ш и х ф а к т о р і в о б м е ж у ю т ь ріст п р о д у к т и в н о с т і з а рахунок в и к о р и с т а н н я
конвеєра
• н е о д н а к о в і с т ь часу ш е с т и стадій в и к о н а н н я к о м а н д и п р и в о д и т ь до п р о с т о ю дея
к и х з них, як це м а л о місце в д в о я р у с н о м у конвеєрі;
• поява команди у м о в н о г о переходу може звести нанівець декілька вибірок команд
• подібною до к о м а н д и у м о в н о г о переходу є к о м а н д а п е р е р и в а н н я
Табл. 3.6 в і д о б р а ж а є в п л и в у м о в н о г о переходу п р и в и к о н а н н і тих же операцій, що й
в табл. 3.5.
Таблиця 3.6
Номер
1 2 3 4 5 6 7 8 9 10 11 12 13 14
такту
Команда 1 ВК ДК ВА ВО КВ ЗР
Команда 2 ВК ДК ВА во КВ ЗР
Команда 3 ВК ДК ВА во кв ЗР
Команда 4 ВК дк ВА во
Команда 5 ВК ДК ВА
Команда 6 ВК ДК
Команда 7 ВК
Команда 15 ВК ДК ВА во КВ ЗР
Команда 16 ВК ДК ВА ВО КВ ЗР
Вибірка команди
Декодування
команди
ГШ
Визначення адрес
операндів
Так
Вибірка операндів
Виконання
встановлення ПЛ £ команди
НІ
Очистити конвеєр
Запам'ятовував ня
результатів
В н а с т у п н и х розділах п и т а н н я п і д в и щ е н н я е ф е к т и в н о с т і в и к о р и с т а н н я конвеєрної
о б р о б к и буде р о з г л я н у т о д е т а л ь н і ш е .
Процесор
Рг
Рг
Вершина
стека
т
Комірка пам яті
Пам'ять
Процесор
г* Акумулятор
АЛП
Шина пам'яті
Комірка пам'яті
Пам'ять
Шина пам'яті
Пам'ять
Шина пам'яті
Комірка пам'яті
Пам'ять
Рг
Рг Проце
Рг сор
АЛП
Комірка пам'яті
Пам'ять
Б у д ь - я к и й із регістрів з а г а л ь н о г о п р и з н а ч е н н я м о ж е б у т и в и к о р и с т а н и й в якості
а к у м у л я т о р а , а д р е с н о г о регістра, індексного регістра, стекового регістра, а в деяких ма-
105
коп А1 А2 A3
коп А1 А2
коп А1
КОП
Розглянемо р о б о т у к о м п ' ю т е р а з р і з н и м и ф о р м а т а м и к о м а н д на п р и к л а д і к о м а н д и
додавання д в о х чисел, я к а н а й ш и р ш е в и к о р и с т о в у є т ь с я . Н е х а й п о т р і б н о додати в А Л П
число, я к е з н а х о д и т ь с я в п а м ' я т і за а д р е с о ю А, до числа, я к е з н а х о д и т ь с я в п а м ' я т і за
адресою В, і результат р о з м і с т и т и за а д р е с о ю С:
С := [А] + [В].
В табл. 3.7 п о к а з а н а послідовність к о м а н д , я к і п о т р і б н о в и к о н а т и п р и в и к о р и с т а н н і
трьох типів о п и с а н и х архітектур для в и к о н а н н я операції д о д а в а н н я д в о х чисел.
Таблиця 3.7
Тип архітектури
На основі регістрів загального призначення
Стекова Акумуляторна
Регістр-пам'ять Регістр-регістр Пам'ять-пам'ять
Push А Load А Load R1,A Load R1,A Add A,B,C
Push В Add В Add R1,B Load R2,B
Add Store С Store C,R1 Add R3.R1.R2
Pop С Store C.R3
Я к щ о в и к о р и с т о в у є т ь с я д в о а д р е с н а к о м а н д а т а архітектура т и п у "пам'ять-пам'ять",
то для в и к о н а н н я п о с т а в л е н о ї задачі необхідно в и к о н а т и дві к о м а н д и :
або дві к о м а н д и :
L O A D А, я к а означає А К К := [А],
A D D В, я к а о з н а ч а є А К К := [АКК] + [В],
S T O R E С, я к а о з н а ч а є С := [ А К К ] .
В ц ь о м у в и п а д к у к о м а н д а є н а й к о р о т ш о ю в п о р і в н я н н і з і н ш и м и , та в и к о н у є т ь с я в
процесорі найшвидше.
Головні критерії в и б о р у ф о р м а т у к о м а н д :
• ч и м к о р о т ш а к о м а н д а , т и м м е н ш а є м н і с т ь п а м ' я т і п о т р і б н а для її зберігання і т и м
менша розрядність шини команд;
107
коп ТАЇ А1 ТА 2 А2
КОП Операнд
АЧ АЧ
КОП І " А 1 оп І КОП І Й 1 Регістровий файл
і £=Ц , * ,
і РГД І ; РГД ]
а Ь
Рис. 3.23. Пряма адресація основної пам'яті а) та регістрового файлу процесора Ь)
ЗО ЗО
КОП А1 А2
КОП Я2
Рис. 3.24. Формати двоадресних команд при прямій адресації основної пам'яті
та регістрового файлу процесора для наведеного прикладу
КОП ТП Адреса
АЧ
коп А 1
ОП
РгД
Рис. 3.26. Непряма адресація основної пам'яті, яка вимагає здійснення двох звернень
Для з б е р і г а н н я а д р е с о п е р а н д і в м о ж н а в и к о р и с т а т и р е г і с т р о в и й ф а й л процесора
(рис. 3.27). Я к щ о р е г і с т р о в и й ф а й л м о ж е зберігати N слів, то, в и к о р и с т о в у ю ч и двійкове
к о д у в а н н я , необхідно п біт д л я п р е д с т а в л е н н я н е п р я м о ї адреси в адресній частині ко
м а н д и , де п =]к^ ]М[, а р о з р я д н і с т ь регістрів буде рівною пт =]1од М[. З н а ч е н н я в дуж
2
ОП
РгД
Рис. 3.27. Непряма адресація основної пам'яті з використанням регістрового файлу процесора
П р и відносній а д р е с а ц і ї д л я о т р и м а н н я в и к о н а в ч о ї а д р е с и о п е р а н д а вміст Б а д р е с
ного п о л я к о м а н д и д о д а є т ь с я д о в м і с т у п р о г р а м н о г о л і ч и л ь н и к а П Л , я к ц е п о к а з а н о
на рис. 3.28. Тобто вміст адресного поля к о м а н д и є з м і щ е н н я м відносно адреси поточної
команди. Даний тип адресації грунтується на тому, що при вибірці к о м а н д з в е р н е н н я від
бувається до комірок пам'яті, розміщених поблизу одна від одної. Тим самим зменшується
довжина адресної частини команди, оскільки д о в ж и н а поля з м і щ е н н я може бути досить
малою. Більше того, при переміщенні п р о г р а м и в пам'яті значення з м і щ е н н я не змінюєть
ся, оскільки взаємне р о з м і щ е н н я в пам'яті к о м а н д п р о г р а м и при ц ь о м у не змінюється.
АЧ
ПЛ оп
см
РгД
АЧ
Зміщення
Регістровий файл
База ОП
СМ
РгД
АЧ
База
А
Регістровий файл
Індекс ОП
СМ
РгД
АЧ
База
+ 1/-1
Лічильник ОП
А
СМ •
РгД
Я3а«. 371.
774
Регістровий файл
База
срА 1\ мрА
А
РгД
Адреса Адреса
Стек Стек
1000 1000
1001 1001
РгД РгД
І н ш и й підхід, я к и й з а б е з п е ч у є п р а в и л ь н е в и к о н а н н я інфіксного з а п и с у - в и к о р и с
т а н н я д у ж о к , п р и ч о м у , з т и м , що о б ч и с л е н н я п р о в о д и т ь с я від в н у т р і ш н і х д у ж о к до з о
внішніх. В д у ж к о в і й ф о р м і н а в е д е н и й в и р а з п р и й м е вигляд:
(( а + ((Ьс)/а)) - 0.
Замість аналізу п р і о р и т е т у знаків о п е р а ц і й т у т необхідно в и з н а ч и т и д у ж к и з най
більшою глибиною вкладення.
Д л я реалізації н а в е д е н о г о в и р а з у в к о м п ' ю т е р і м о ж н а в и к о р и с т а т и всі р а н і ш е описа
ні с п о с о б и адресації.
П о л ь с ь к и й м а т е м а т и к Я н Л у к а ш е в и ч п о к а з а в , щ о я к щ о з н а к и а р и ф м е т и ч н и х опе
рацій з а п и с у в а т и перед о п е р а н д а м и ( п р е ф і к с н а ф о р м а ) ч и після о п е р а н д і в (постфіксна
ф о р м а , а б о о б е р н е н и й п о л ь с ь к и й з а п и с ) , т о д л я в и з н а ч е н н я п о р я д к у в и к о н а н н я опера
цій д у ж к и с т а ю т ь н е п о т р і б н и м и .
Так, д л я наведеного в и щ е в и р а з у п р е ф і к с н а ф о р м а м а є вигляд:
- + а / х Ь с сі { ,
а п о с т ф і к с н а ф о р м а м а є вигляд:
а Ь с х о\ / + {-.
Ця ф о р м а - о б е р н е н и й п о л ь с ь к и й з а п и с .
О б е р н е н и й п о л ь с ь к и й з а п и с п р е к р а с н о п і д х о д и т ь для п р о в е д е н н я о б ч и с л е н ь н а
к о м п ' ю т е р і зі стеком.
Я к щ о в и р а з с к л а д а є т ь с я із N с и м в о л і в , то а л г о р и т м його о б ч и с л е н н я на стеку м о ж н а
п р е д с т а в и т и у вигляді блок-схеми, п о к а з а н о ї на рис. 3.35.
Задати N
Вставити к = 1
к:=к+1
Результат знаходиться
у вершині стека
1 2 3 4 5 6 7 8 9
Рис. 3.36. Використання стека при розрахунку по формулі в оберненому польському запису
Зсув вниз
А л г о р и т м ф у н к ц і о н у в а н н я т а к и й ж е , я к в и щ е о п и с а н о ф у н к ц і о н у в а н н я н а базі о с н о в
ної пам'яті О П . О п е р а ц і я в и к о н у є т ь с я н а д в м і с т о м Р г і і результат р о з м і щ у є т ь с я в Р г і , а
вміст н и ж н і х регістрів з м і щ у є т ь с я на о д и н к р о к вверх.
Рис. 3.38. Частота використання способів адресації при виконанні програм ТеХ,
spice ma gcc на комп'ютері VAX фірми DEC
Тип
КОП Адреса
адресації
Тип Тип
КОП Адреса 1
адресації 1 адресації 2
Тип
КОП Адреса 1 Адреса 2
адресації
ється п е р ш и м и д в о м а р о з р я д а м и
Формат S КОП В2 D2
коду операції К О П : 00 - RR; 01 -
16 4 12
RX; 10 - RRE, RS, R X , S, SI; 11 - SS,
Формат SS(OL) КОП L Bl DI В2 D2
SSE. К о р о т к о о п и ш е м о кожен тип
8 8 4 12 4 12
команди.
Формат SS(TL) КОП LI 12 Bl Dl B2 D2
Команда регістр-регістр RR.
8 4 4 4 12 4 12
Цей ф о р м а т команди є д в о б а й т о -
Формат SS(RS) КОП Bl Dl В2 D2
вим. В адресній частині з в е р н е н н я Kl KJ
8 4 4 4 12 4 12
відбувається до регістрів. Оскіль
ки багато операцій в и к о н у є т ь с я з Формат SSE КОП Bl Dl В2 D2
16 4 12 4 12
в и к о р и с т а н н я м регістрів, т а к и й
формат при своїй к о м п а к т н о с т і є Рис. 3.40. Формати команд комп'ютерної
досить е ф е к т и в н и м . системи IBM 370
720
1) icon R1 R2 R3 2) КОН R1 N
6 J 3
і 6 3 (
3) кои R1 R2 Л
f 3 3 11
4) кон R1 А
9 3 1к
5) коп L1 Л) L2
9 3 II 4
Команда типу R
Команда т и п у }
Дамо к о р о т к е п о я с н е н н я щ о д о н а в е д е н и х н а р и с у н к у ф о р м а т і в к о м а н д .
• К о м а н д а т и п у І о п р а ц ь о в у є б е з п о с е р е д н і й о п е р а н д (Immediate).
• Команда т и п у R о т р и м у є пару о п е р а н д і в із д ж е р е л ь н и х регістрів (Registers) регі
стрового ф а й л а п р о ц е с о р а т а п о в е р т а є результат з н о в т а к и д о регістра п р и з н а ч е н н я ц ь о
го файла.
• Команда т и п у } є к о м а н д о ю б е з у м о в н о г о переходу (Jump).
• Opcode є полем коду операції К О П , д о в ж и н а я к о г о с т а н о в и т ь 6 бітів.
• r s l , rs2 є п о л я м и з д о в ж и н о ю 5 бітів, що в и з н а ч а ю т ь н о м е р и р е г і с т р і в - д ж е р е л опе
рандів (register of source) та п р о г р а м н о в и б и р а ю т ь с я серед регістрів R0...R31 р е г і с т р о в о
го файла.
• rd є п ' я т и б і т о в и м полем н о м е р а р е г і с т р а п р и з н а ч е н н я , п р и й м а ч а р е з у л ь т а т у дії
(register of destination). Регістр п р и з н а ч е н н я т а к о ж в и б и р а ю т ь із м н о ж и н и R0...R31 регі
с т р о в о г о файла.
• Immediate - це 16-бітове поле, що м і с т и т ь б е з п о с е р е д н і й о п е р а н д . П р и ц ь о м у л і в и й
р о з р я д immediate р о з г л я д а ю т ь я к з н а к о в и й . П р и в и к о р и с т а н н і б е з п о с е р е д н і й о п е р а н д
р о з ш и р ю ю т ь вліво за п р а в и л а м и д о п о в н я л ь н о г о коду до 32-х бітів.
• Function - це поле, що в и з н а ч а є ф у н к ц і ю , я к а р о з ш и р ю є на 2 - 1 = 2047 к о м б і н а ц і й
й
Високорівнена оптимізація
І
Глобальна оптимізація
Т
Генерація коду
Пристрій Пристрій
Пам'ять команд вибірки команд керування
Шина команд
Шина даних
Процесор
Операційний
формування Пам'ять даних
пристрій
адрес
М о ж л и в і два в а р і а н т и ф о р м а т у к о м а н д - о р т о г о н а л ь н и й та к о д о в а н и й . О р т о г о н а л ь
н и й ф о р м а т с к л а д а є т ь с я з ф і к с о в а н и х н е з а л е ж н и х к е р у ю ч и х полів. У в и п а д к у кодовано
го ф о р м а т у і н т е р п р е т а ц і я бітів к о м а н д и як к е р у ю ч и х полів з а л е ж и т ь від з н а ч е н н я бітів
формату. У в и п а д к у о р т о г о н а л ь н о г о ф о р м а т у к о м а н д и р о з р я д и всередині керуючого
п о л я м о ж у т ь б у т и т а к о ж з а к о д о в а н і для з м е н ш е н н я його р о з р я д н о с т і .
З а з в и ч а й K O C K м а ю т ь 16- або 3 2 - р о з р я д н и й к о д о в а н и й ф о р м а т к о м а н д и . П р и к л а д
на п р о г р а м а р о з м і щ у є т ь с я в п а м ' я т і кристала. Ф о р м а т к о м а н д и в и б и р а ю т ь у з г о д ж е н и м з
р о з м і р о м п а р а л е л ь н о г о п о р т у д а н и х т а с т а н д а р т н и х блоків пам'яті, які в и к о р и с т о в у ю т ь
с я для з б е р і г а н н я п р и к л а д н о ї п р о г р а м и .
K O C K м а ю т ь е ф е к т и в н у с т р у к т у р у о с н о в н о ї т а регістрової пам'яті, які забезпечу
ють в и с о к у ш в и д к і с т ь о б м і н у м і ж р і з н и м и б л о к а м и т р а к т у д а н и х і м і ж т р а к т о м даних
та п а м ' я т т ю . Такі к о м п ' ю т е р и м а ю т ь один а б о два блоки п а м ' я т і даних. Для з б і л ь ш е н н я
п р о д у к т и в н о с т і р о б о т и т а к и х к о м п ' ю т е р і в п р и ї х побудові в и к о р и с т о в у є т ь с я гарвард
ська а р х і т е к т у р а ( р о з д і л е н н я п а м ' я т і д а н и х та п а м ' я т і п р о г р а м ) .
Більшість K O C K використовують гетерогенну структуру регістрової пам'яті, що
дозволяє зменшити кількість розрядів команди, збільшуючи швидкість обміну даними.
Ц е о з н а ч а є , щ о с п е ц і а л ь н о о р г а н і з о в а н і р е г і с т р и т а р е г і с т р о в і ф а й л и п р я м о під'єднані
д о с п е ц і а л ь н и х п о р т і в ф у н к ц і о н а л ь н и х блоків. Ф у н к ц і о н а л ь н і б л о к и м о ж у т ь в и б и р а
ти операнди або записувати результати тільки в конкретні регістри. Між елементами
к о м п ' ю т е р а є т і л ь к и ті з в ' я з к и , я к і є к о р и с н и м и д л я е ф е к т и в н о ї р е а л і з а ц і ї з а д а н о г о
алгоритму.
А р х і т е к т у р а K O C K з а з в и ч а й м а є р я д о с о б л и в о с т е й , які відділяють ї ї від і н ш и х архі
т е к т у р і не були в і д о б р а ж е н і в п о п е р е д н і х розділах. Далі наведено перелік особливостей
існуючих K O C K :
• Я к з а з н а ч а л о с ь в и щ е , система к о м а н д K O C K в к л ю ч а є спеціалізовані команди, які
д о з в о л я ю т ь в и к о н у в а т и к р и т и ч н і д і л я н к и з а д а н и х а л г о р и т м і в з а м і н і м а л ь н у кількість
м а ш и н н и х ц и к л і в та без з а с и л а н н я в п а м ' я т ь п р о м і ж н и х результатів. С т р у к т у р а трактів
д а н и х т а к и х п р о ц е с о р і в с п е ц і а л ь н о п р о е к т у є т ь с я д л я к о н к р е т н и х алгоритмів.
• П а м ' я т ь д а н и х з а з в и ч а й п р а ц ю є з о д н и м або д в о м а п р о ц е с о р а м и ф о р м у в а н н я
адрес, які п і д т р и м у ю т ь б е з п о с е р е д н і й , п р я м и й та н е п р я м и й с п о с о б и адресації. Також
п і д т р и м у ю т ь с я спеціальні адресні операції, такі як о б ч и с л е н н я модуля п р и реалізації
ц и р к у л я р н и х буферів п р и в и к о н а н н і фільтрації та підрахунок з і н в е р с н и м р о з п о в с ю
д ж е н н я м п е р е н о с у п р и в и к о н а н н і ш в и д к о г о п е р е т в о р е н н я Фур'є.
• K O C K о б р о б к и м о в н и х , відео- та аудіосигналів часто в к л ю ч а ю т ь блоки бітових
м а н і п у л я ц і й . Б і л ь ш е того, ці к о м п ' ю т е р и п і д т р и м у ю т ь кілька типів даних з фіксованою
к о м о ю ( н а п р и к л а д : 2 р і з н и х т и п и 1 6 - р о з р я д н и х д а н и х двох д о п о в н я л ь н и х кодів з різною
і н т е р п р е т а ц і є ю б і н а р н и х значень, 3 2 - р о з р я д н и й т и п д в о х д о п о в н я л ь н и х кодів у акуму
л я т о р і та т и п 8 - р о з р я д н о г о цілого в п р о ц е с о р а х ф о р м у в а н н я адрес). П е р е т в о р е н н я ти
пів д а н и х п і д т р и м у ю т ь с я а п а р а т у р о ю т р а к т у даних.
• Більшість K O C K п і д т р и м у ю т ь с т а н д а р т н і к о м а н д и к е р у в а н н я , такі я к умовні р о з
г а л у ж е н н я , що б а з у ю т ь с я на з н а ч е н н я х р о з р я д і в в регістрі кодів умов. П р и ц ь о м у в них
в р а х о в а н о м о ж л и в о с т і п о я в и з а т р и м о к п р и в и к о н а н н і о п е р а ц і й переходу, які пов'яза
ні з н а я в н і с т ю к о н в е є р а , р е а л і з о в а н о м о ж л и в і с т ь в и к о н а н н я а р и ф м е т и ч н и х команд та
к о м а н д п е р е с и л а н н я п р и н а я в н о с т і певної у м о в и , щ о д о з в о л я є реалізувати умовні ал-
729
ня. Багато книг, як н а п р и к л а д [10, 11, 15, 18], присвячені архітектурі процесора х86 фірми
Intel. Для тих, хто з а ц і к а в л е н и й у в и в ч е н н і серії 68000, п р о п о н у є т ь с я література [20, 31].
Н а л е ж н е о б г о в о р е н н я к о н в е є р н о ї о б р о б к и к о м а н д надає [24]. В [16] подано цікавий
к о р о т к и й огляд к о н ф л і к т і в у конвеєрі. Історія к о н в е є р н о ї о б р о б к и р о з к р и т а в [23]. Щоб
о д е р ж а т и з н а н н я о б м е ж е н ь і п р о б л е м з к о н в е є р н о ю о б р о б к о ю , в а р т о п р о ч и т а т и [ЗО].
П о д и в і т ь с я [11] д л я д о в е р ш е н о г о і з р у ч н о г о в в е д е н н я в сім'ю процесорів Intel. В [14]
з р о б л е н о о п и с б е з а д р е с н о ї м а ш и н и ф і р м и Burroughs. [28] дає д о с т а т н є уявлення п р о се
рію I B M 360. В [12] н а в е д е н о д е т а л і п р о систему V A X , в якій о б ' є д н а н а двоадресна архі
т е к т у р а з в і д п р а ц ь о в а н о ю с и с т е м о ю к о м а н д . В [25] н а д а н о к о р о т к и й огляд архітектури
S P A R C . В [19] з р о б л е н о ц і к а в и й огляд в і р т у а л ь н о ї м а ш и н и Java.
П о р і в н я н н я архітектур комп'ютерів із складною та спрощеною системою команд зробле
но в [21, 22]. Тут же з а п р о п о н о в а н о архітектуру комп'ютера із спрощеною системою команд
D L X . Архітектура комп'ютерів з доповненою системою команд розглянута в [4].
17. Lindholm, Tim, & Yellin, Frank. The Java Virtual Machine Specification. Online atjava.sun.com/
docs/books/vmspec/html/VMSpecTOC.cod.html.
18. Messmer, H. The Indispensable PC Hardware Book. Reading, M A : Addison-Wesley, 1993.
19. Meyer, J., & Downing, T. Java Virtual Machine. Sebastopol, C A : O'Reilly & Associates, 1991.
20. Miller, M. A. The 6800 Family, Architecture Programming and Applications, 2nd ed., Columbus,
OH: Charles E. Merrill, 1992.
21. D. Patterson, J. Hennessy. Computer Architecture. A Quantitative Approach. Morgan Kaufmann
Publishers, Inc. 1996.
22. Patterson, D. A., & Hennessy, J. L. Computer Organization and Design, Tlie Hardware/Software
Interface, 2nd ed , San Mateo, C A : Morgan Kaufmann, 1997.
23. Rau, B. Ramakrishna, & Fisher, Joseph A. "Instruction-Level Parallel Processing: History, Over
view and Perspective". Journal of Supercomputing 7 (1), Jan. 1993, pp. 9-50.
24. Sohi, G. "Instruction Issue Logic for High-Performance Interruptible, Multiple Functional Unit,
Pipelined Computers". IEEE Transactions on Computers, March 1990.
25. SPARC International, Inc., The SPARC Architecture Manual: Version 9, Upper Saddle River, NJ:
Prentice Hall, 1994.
26. Stallings, W. Computer Organization and Architecture, 5th ed., New York, NY: Macmillan Publi
shing Company, 2000.
27. Stern, Nancy. From ENIAC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers. Herndon,
VA: Digital Press, 1981.
28. Struble, G. W. Assembler Language Programming: The IBM System/360 and 370,2nd ed., Reading,
M A : Addison-Wesley, 1975.
29. Tanenbaum, Andrew. Structured Computer Organization, 4th ed., Upper Saddle River, NJ: Pren
tice Hall, 1999.
30. Wall, David W. Limits of Instruction-Level Parallelism. D E C - W R L Research Report 93/6, Nov.
1993.
31. Wray, W. C, 8c Greenfield, J. D. Using Microprocessors and Microcomputers, the Motorola Family.
Englewood Cliffs, NJ: Prentice Hall, 1994.
вий файл - стек програмно доступних регістрів РгО, Ргі... Рг(п-І). Обмін інформацією між
названими пристроями здійснюється через спільну внутрішню шину процесора. Зв'язок
процесора з основною пам'яттю проводиться через регістри адрес РгА та даних РгД.
Пристрій
керування Внутрішня шина
процесора
РгК
ПЛ
ЛІНІЇ
адреси
РгА
шина
лінії
пам'яті
даних
РгД
РгО
Рг (п - 1)
РгУ
. ... f Add ^
ЛІНИ / >
керування! Sub
АЛП
АЛП ^ , .*
PrZ
Рис. 4.1. Однотипна структура процесора
Pr(i-l)in
P:(i-l)out
Подання 1 на вхід керування регістра Priout з'єднує вихід регістра Ргі з шиною, а подання
1 на вхід керування регістра Ргііп записує число з ш и н и в регістр Ргі. Подаючи на регістри
вказані сигнали, м о ж н а переписувати числа з одного регістра в інший наприклад, для пере
запису числа із регістра РгЗ до регістра Рг5 необхідно подати наступні сигнали: РгЗош, Рг5іп.
А р и ф м е т и к о - л о г і ч н и й п р и с т р і й ( А Л П ) п р о ц е с о р а п р и з н а ч е н и й д л я в и к о н а н н я опе
рацій о б р о б к и даних. Тип в и к о н у в а н о ї о п е р а ц і ї в к а з у є т ь с я кодом на вході керування
А Л П . В А Л П , з о к р е м а , в и к о н у ю т ь с я такі операції: з с у в - з м і щ е н н я кодів, які зберігають
ся в регістрах р е г і с т р о в о г о файлу, в л і в о а б о в п р а в о на з а д а н е ч и с л о р о з р я д і в ; додавання
до слова 1 або -1 - о п е р а ц і я р а х у н к у ; д е ш и ф р у в а н н я - п е р е т в о р е н н я двійкових кодів у
сигнали ( о д н о р я д н и й код); ш и ф р у в а н н я - п е р е т в о р е н н я о д н о р я д н о г о коду в двійковий;
п о р і в н я н н я - в и з н а ч е н н я в і д н о ш е н н я с т а р ш и н с т в а д в о х чисел а б о їх рівності; п о р о з -
р я д н е д о п о в н е н н я - ф о р м у в а н н я о б е р н е н о г о коду; п о р о з р я д н і логічні м н о ж е н н я і до
д а в а н н я двох чисел; п о р о з р я д н е д о д а в а н н я д в о х чисел по модулю; д о д а в а н н я двох чисел.
З в и ч а й н о , цей перелік м о ж е бути р о з ш и р е н и й .
Розглянемо в и к о н а н н я операції д о д а в а н н я д в о х чисел з регістрів Р г і і Рг2 з з а п и с о м
результату в регістр РгЗ на о д н о ш и н н і й с т р у к т у р і п р о ц е с о р а , представленій на рис. 4.1:
1) Priout, РгУіп ( з а п и с до вхідного регістра А Л П РгУ вмісту регістра Р г і ) .
2) Pr2out, A d d , P r Z i n ( п о д а н н я числа з р е г і с т р а Рг2 на в н у т р і ш н ю ш и н у процесора,
звідки в о н о п о с т у п а є на другий вхід А Л П , в и к о н а н н я в А Л П операції д о д а в а н н я чисел з
регістра РгУ та з ш и н и і з а п а м ' я т о в у в а н н я р е з у л ь т а т у в регістрі PrZ).
137
ЛІНИ
адрес
цінна
пам'я
ЛІНІЇ РгД
даних
Р г ( п - 1)
керування
АЛП -
Міжшинний
зв'язок
Фаза в и к о н а н н я :
4) (Поле адреси PrK)out, P r A i n , з ч и т у в а н н я (адреса з п о л я а д р е с и регістра к о м а н д и
РгК переписується до регістра адреси РгА, на вхід к е р у в а н н я р е ж и м о м р о б о т и о с н о в н о ї
пам'яті подано сигнал Read).
5) Prlout, РгУіп, ч е к а н н я п і д т в е р д ж е н н я сигналу з ч и т у в а н н я (число з регістра Р г і
записалось до регістра PrY, а ч и с л о з о с н о в н о ї пам'яті з а п и с а л о с ь до регістра РгД).
6) РгДоиі, A d d , P r Z i n (число з регістра РгД п о с т у п и л о на ш и н у та д о д а л о с я в А Л П до
числа з регістра PrY, а результат з а п и с а в с я в регістр P r Z ) .
7) PrZout, P r l i n , E n d (число з регістра P r Z п е р е п и с а л о с ь в регістр Р г і , кінець в и к о
нання операції).
Тут A d d - код операції д о д а в а н н я , я к и й п о с т у п а є на вхід А Л П та вказує й о м у тип
виконуваної операції.
Час виконання
НЕМ ю №
І
Блок вибірки команди з ОП
\
Б л о к декодування команди та
вибірки операндів з регістрової пам'яті
Операційний блок
1
а б
Рис. 4.5 а - отоковий граф виконання команди; 6 - структура процесора,
орієнтованого на його реалізацію
Б л о к декодування
команди та вибірки
операндів з Б л о к запису даних д о
Блок вибірки команди э ОП регістрової пам'яті регістрової пам'яті
Адреса
Команда
команди
ихідн, В х і
Д н і
[ані Адреса д а н |
даного
Кеш пам'ять
читання/ Контролер читання/
запис кеш пам'яті запис
Процесор Основна
пам'ять
Асоціативна
шина кеш пам'ять шина
процесора пам'яті
ІПЧям 171.
146
р і ш е н н я п р о с п р о м о ж н і с т ь з а д о в о л ь н и т и к о н к р е т н и й п р о ц е с о р н и й з а п и т без залучення
до о б м і н у п о в і л ь н о ї о с н о в н о ї пам'яті.
С п р о щ е н и й в а р і а н т с т р у к т у р и комп'ютера, в я к о м у в и к о р и с т о в у є т ь с я кеш пам'ять,
п о д а н о на рис. 4.8. П р и с т р і й к е р у в а н н я надсилає керуючі сигнали до процесора та основ
ної пам'яті. З п р о ц е с о р а сигнали станів, я к и м и м о ж у т ь бути біти регістра команди і інше,
надходять до п р и с т р о ю к е р у в а н н я , аби реалізувати р о з г а л у ж е н н я м і к р о п р о г р а м и .
Для з б е р і г а н н я д а н и х і к о м а н д в и к о р и с т а н о розділені кеш пам'яті даних і команд Гар
вардської а р х і т е к т у р и . В свою чергу, кеш п а м ' я т і з в ' я з а н і з є д и н о ю п а м ' я т т ю П р и н с т о н -
ської а р х і т е к т у р и . Ясно, що о б м і н в підсистемі " о с н о в н а п а м ' я т ь - кеш п а м ' я т ь даних» є
д в о с т о р о н н і м , а в підсистемі «основна п а м ' я т ь - кеш п а м ' я т ь к о м а н д " - о д н о с т о р о н н і м .
Пристрій керування
Команди Дані
Сигнали
керування
Основна пам'ять
Ш = ІМ[РС];
ОТС = Р С + 4 .
747
В = Regs [IR J; u
I m m = ((TR ) ## I R
16
16
).
1 6 3 ]
м н о ж и н и R -..R 0 31
Тут с и м в о л о м ## п о з н а ч е н о о п е р а ц і ю з ч е п л е н н я (конкатенацію).
В а ж л и в о , що в р а м к а х ф а з и ID в и к о н у є т ь с я д е к о д у в а н н я ( р о з п і з н а в а н н я ) к о м а н д и та
в и б и р а н н я усіх м о ж л и в и х варіантів о п е р а н д і в п о т о ч н о ї к о м а н д и , н е з а л е ж н о від її типу,
з м е т о ю з б і л ь ш е н н я швидкодії. З і н ш о г о боку, м о ж л и в і с т ь одночасного в и б и р а н н я усіх
варіантів о п е р а н д і в п о т е н ц і й н о о б у м о в л е н о відповідною с т р у к т у р о ю ф о р м а т і в команд,
де ф і к с о в а н о р о з т а ш у в а н н я п о л і в - п о к а ж ч и к і в на д ж е р е л а д а н и х та п р и й м а ч і операндів
і результатів. І н ш и м и с л о в а м и , ф о р м а т и к о м а н д п р о ц е с о р а втілюють техніку к о д у в а н н я
ф о р м а т і в к о м а н д , що відома під н а з в о ю "fixed-field coding".
Мікродїї, що в и к о н у ю т ь в р а м к а х ф а з и в и к о н а н н я та в и з н а ч е н н я е ф е к т и в н о ї адреси
ЕХ, в ж е з а л е ж а т ь від т и п у п о т о ч н о ї к о м а н д и . Враховуючи це, вигідно поділити усі ко
м а н д и п р о ц е с о р а н а н а с т у п н і т р и групи:
• к о м а н д и в и к о н а н н я о п е р а ц і й з а в а н т а ж е н н я о п е р а н д і в з о с н о в н о ї пам'яті та збере
ж е н н я результатів у о с н о в н і й пам'яті;
• команди виконання операцій арифметико-логічного пристрою;
• к о м а н д и в и к о н а н н я о п е р а ц і й у м о в н и х та б е з у м о в н и х переходів.
Далі р о з г л я д а є м о п р и т а м а н н і к о ж н і й групі к о м а н д мікродії
К о м а н д и в и к о н а н н я о п е р а ц і ї з в е р н е н н я д о пам'яті д а н и х
В р а м к а х ф а з и ЕХ операції з в е р н е н н я до п а м ' я т і д а н и х (load/store instructions) го
т у ю т ь з н а ч е н н я е ф е к т и в н о ї адреси, т о б т о в и р а х о в у ю т ь з н а ч е н н я бінарного коду, що є
а д р е с о ю к о м і р к и п а м ' я т і даних. Виконується н а с т у п н а мікродія:
ALUoutput = А + Imm.
П о з н а ч е н е в мікродії д о д а в а н н я б е з п о с е р е д н ь о г о о п е р а н д а (однієї з к о м п о н е н т адре
си) з вмістом р о б о ч о г о регістра А (другої к о м п о н е н т и ) реалізується в A L U . О т р и м а н а
сума (вона з а в ж д и ціла і додатна, п е р е н о с о м н е х т у ю т ь ) з а п и с у є т ь с я до ще одного, п р о
з о р о г о для програміста, регістра ALUoutput. Цей регістр м а є р о з р я д н і с т ь 32 біти. Він
зберігає коди результатів, що з ' я в л я ю т ь с я на виході комбінаційної схеми з назвою A L U .
Я к щ о п р и г а д а т и дію к о м а н д и LW, тоді п р и з н а ч е н н я та ф о р м а з а п и с у наведеної мікродії
стає з р о з у м і л о ю .
К о м а н д и в и к о н а н н я о п е р а ц і ї а р и ф м е т и к о логічного п р и с т р о ю типу регістр
регістр.
П р и к л а д о м к о м а н д и т и п у регістр-регістр є к о м а н д а A D D R1,R2,R3. Виконується вка
зана к о м а н д о ю н а с т у п н а м і к р о д і я
ALUoutput = А ор В.
Тут у з а г а л ь н е н е п о з н а ч е н н я (ор) м о ж н а к о н к р е т и з у в а т и як (add), (sub) тощо, з а л е ж н о
від к о н к р е т н о г о в и д у п о т о ч н о ї к о м а н д и , я к а о п р а ц ь о в у є т ь с я в і н ф о р м а ц і й н о м у тракті
к о м п ' ю т е р а П і д к р е с л и м о , що на попередній щ о д о ЕХ фазі, а саме на фазі ID, до с л у ж б о
в и х регістрів у ж е з а в а н т а ж е н о вміст в и б р а н и х регістрів регістрового файла з адресами
R2 і R3. Результат дії п о к и що не з б е р е ж е н о в регістрі R1, але його т и м ч а с о в о з а п и с а н о до
с л у ж б о в о г о регістра ALUoutput.
149
З в е р н е н н я до пам'яті.
В рамках ф а з и з в е р н е н н я д о пам'яті M E M в и к о н у ю т ь с я н а с т у п н і мікродії:
L M D = D M [ALUoutput];
DM [ALUoutput] = В.
З в е р н е н н я до п а м ' я т і з а с т о с о в у є т ь с я в к о м а н д а х з а в а н т а ж е н н я ( н а п р и к л а д , LW R6,
112(R3)) та в к о м а н д а х з б е р е ж е н н я ( н а п р и к л а д , SW 112(R3),R6).
Перша мікродія в и к о н у є т ь с я тільки у в и п а д к у к о м а н д и Load ( з а в а н т а ж е н н я ) . Тут за
допомогою п о п е р е д н ь о р о з р а х о в а н о ї адреси п а м ' я т і даних, яка т и м ч а с о в о зберігається
у с л у ж б о в о м у регістрі ALUoutput, з д і й с н ю є т ь с я д о с т у п до п а м ' я т і , що і п о з н а ч е н о за
писом D M [ALUoutput].
Ф і з и ч н о з пам'яті з а в ж д и з ч и т у є т ь с я 32 біти (або навіть цілі п а к е т и з 32-х бітових
структурних о д и н и ц ь ) . О т р и м а н и й з п а м ' я т і д а н и х б і н а р н и й код т и м ч а с о в о з а в а н т а ж у -
150
Н а в е д е н а м і к р о к о м а н д а н а д с и л а є до к о м і р к и R6 р е г і с т р о в о г о ф а й л а вміст комірки
п а м ' я т і д а н и х за а д р е с о ю 112 + (R3), яке на попередніх ф а з а х в ж е було в и б р а н е з пам'яті
і т и м ч а с о в о зберігалося в с л у ж б о в о м у регістрі L M D . На ц ь о м у о п и с мікродій керування
р о б о т о ю к о м п ' ю т е р а D L X з а в е р ш е н о . В табл. 4.1. наведено п р и к л а д и алгоритмів в и к о
нання команд в комп'ютері D L X .
J5I
Таблиця 4.1
Приклади алгоритмів виконання команд в комп'ютері DLX
Приклад
Алгоритм виконання команди
команди
Арифметичні та логічні команди
ADD R1,R2,R3 Regs[Rl] = Regs[R2) + Regs[R3]
ADDI R1,R2,#3 RegsfRl] = Regs[R2] + 3
LHI R l , #42 Regs[Rl] =42 ##0 16
П о я с н и м о н а прикладі с и н т а к с и с з а п и с у а л г о р и т м і в в и к о н а н н я о к р е м и х м а ш и н н и х
команд к о м п ' ю т е р а DLX (див. т а б л и ц ю 4.1). Розглянемо запис:
г а д і Ш ] ^ = ( П М [ К е [ К 8 ] ] ) ## ВМ [ адяв]].
3 1 6 8 5 0
8
К о н в е є р н у с т р у к т у р у п р о ц е с о р а к о м п ' ю т е р а з п р о с т о ю системою к о м а н д р о з г л я н е
мо на прикладі в и щ е о п и с а н о г о к о м п ' ю т е р а ВІХ. Вище в и к о н а н н я т и п о в о ї к о м а н д и в
комп'ютері ОЬХ було розділено на н а с т у п н і ф а з и :
152
Рис. 4.9. Конвеєрна структура процесора комп'ютера DLX (з кеш пам'яттю даних та команд)
Рис. 4.10. Робота конвеєра у вигляді зміщених в часі схем тракту даних
і+1 ІБ Ш ЕХ МЕМ
і+2 ІБ Ю ЕХ МЕМ
і+3 ІБ ГО ЕХ МЕМ ШВ
і+4 ц> ш ЕХ МЕМ ШВ
200 « з 290 л«
50 50 60 50 50 50 50 60 50 50 50 50 60 50 50
Команда 1 60 60 60 60 60
Команда 2 60 60 60 60 60
Команда з 60 60 60 60 60
5 5 5 $ 4
Конвлйєрн* опрацювання потоку команд
MEM/WB.ALUoutput;
156
Мікродії я р у с у IF.
П е р ш а мікродія в и б и р а є нову к о м а н д у з пам'яті к о м а н д за адресою, що зберігається
в P C , і з а п и с у є її до п о л я IR (Instruction Register) к о н в е є р н о г о регістра IF/ID. В той самий
час друга мікродія з м і н ю є вміст п о л я N P C к о н в е є р н о г о регістра і п р о г р а м н и й лічиль
н и к за а л г о р и т м о м : я к щ о бітове поле cond (condition - умова) попередньої команди,
я к а п р о й ш л а ф а з у ЕХ, є о д и н и ц е ю (true), тоді п о р у ш у є т ь с я п р и р о д н а черговість і вміст
I F / I D . N P C т а P C о т р и м у є з н а ч е н н я п о л я E X / M E M . N P C к о н в е є р н о г о регістра ЕХ/МЕМ;
і н а к ш е з а п и с у є т ь с я н а с т у п н а адреса ( Р С + 4 ) з в р а х у в а н н я м байтової логічної структури
адреси пам'яті.
Мікродії я р у с у ID.
Усі ч о т и р и мікродії є с у м і с н и м и і в и к о н у ю т ь с я в часі паралельно. П е р ш а мікродія
в и б и р а є п е р ш и й о п е р а н д з п р о г р а м н о к е р о в а н о г о регістра регістрового файла до служ
б о в о г о регістра А, що є і н т е г р о в а н и м до к о н в е є р н о г о регістра ID/ЕХ. П р и ц ь о м у адреса
п р о г р а м н о к е р о в а н о г о регістра в и з н а ч а є т ь с я вмістом р о з р я д і в 8.. 10 поля IR к о н в е є р н о
го регістра IF/1D. Тут в и б и р а є т ь с я о п е р а н д . Такі ж за п р и з н а ч е н н я м дії виконує друга
м і к р о о п е р а ц і я , але з і н ш и м д ж е р е л о м і п р и й м а ч е м . Третя і ч е т в е р т а мікродії зберігають
контекст к о м а н д и , що з н а х о д и т ь с я на п о т о ч н і й сходинці. Це необхідно для її коректного
п р о с у в а н н я к о н в е є р о м . Ч е т в е р т а м і к р о д і я в и б и р а є (та з н а к о в о р о з ш и р ю є з 16 до 32-х
бітів) до с л у ж б о в о г о регістра Imm (immediate - безпосередній) операнд, я к и й містився
у р о з р я д а х 16...31 п о л я IR к о н в е є р н о г о регістра. П о т о ч н у ф а з у ID м о ж н а р о з ш и р и т и у
назві д о д а т к о в и м о з н а ч е н н я м Operand Fetch ( в и б и р а н н я операндів).
М і к р о д і ї ярусу ЕХ (команди а р и ф м е т и к о - л о г і ч н о г о п р и с т р о ю ) .
В а ж л и в о відзначити, що на фазі ЕХ в п е р ш е від п о ч а т к у в и к о н а н н я к о м а н д и має бути
в и з н а ч е н и м її т и п . П е р ш а мікродія зберігає вміст регістра к о м а н д и . Ч е т в е р т а мікродія
з а б о р о н я є к о м а н д а м A L U в п л и в а т и н а послідовність в и б и р а н н я к о м а н д з пам'яті. Друга
і т р е т я мікродії у т в о р ю ю т ь а л ь т е р н а т и в у (або). К о ж н а з н и х в и з н а ч а є пару операндів для
операції ор і п р и ц ь о м у з а п и с у є результат ор до с л у ж б о в о г о ( п р о г р а м н о - н е к е р о в а н о г о )
в и х і д н о г о регістра A L U під н а з в о ю ALUoutput.
М і к р о д і ї я р у с у ЕХ ( к о м а н д и load/store).
П е р ш а м і к р о д і я зберігає к о н т е к с т регістра к о м а н д и , друга вираховує виконавчу
( е ф е к т и в н у ) адресу п а м ' я т і д а н и х на основі бази (Immediate - безпосередній операнд),
т р е т я зберігає вміст с л у ж б о в о г о , п р о г р а м н о - н е к е р о в а н о г о регістра В, четверта з а б о р о
н я є п о т о ч н і й команді з м і н ю в а т и п р и р о д н и й п о р я д о к а д р е с у в а н н я команд.
М і к р о д і ї я р у с у ЕХ (команда branch).
П е р ш а мікродія в и р а х о в у є ц і л ь о в у адресу м о ж л и в о г о переходу та зберігає її у р о б о
ч о м у ( н е к е р о в а н о м у п р о г р а м і с т о м ) в и х і д н о м у регістрі ALUoutput, а к о н к р е т н о - у полі
ALUoutput к о н в е є р н о г о регістра Е Х / М Е М . Друга мікродія в и р а х о в у є істинне або хибне
з н а ч е н н я логічної у м о в и , що в и з н а ч а є т ь с я п о р і в н я н н я м в деякому, тобто ор розумінні,
с л у ж б о в о г о регістра А, в и з н а ч е н о г о за вмістом на фазі ID, з нулем (дорівнює нулю, не
д о р і в н ю є нулю, т о щ о ) . Логічне з н а ч е н н я у м о в и з а п и с у є т ь с я до поля cond конвеєрного
регістра Е Х / М Е М з м е т о ю д о з в о л у з м і н и п р и р о д н о г о п о р я д к у в и б и р а н н я команд п р о
г р а м и , коли cond=l. Контексти н е зберігаються, щ о свідчить п р о н е ф о р м а л ь н е завер
ш е н н я о п р а ц ю в а н н я цієї к о м а н д и в конвеєрі.
157
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WBS
IF ID EX ME WB IF1 !F2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
IF ID EX ME WB IF1 IF2 ID1 ID2 EX1 EX2 ME1 ME2 WB1 WB2
а) Ь)
Рис. 4.16. Діаграма виконання команд в суперскалярному процесорі з двома конвеєрами команд, коли
в одному такті виконується одна (а) та дві (Ь) фази команди
160
М о ж л и в е с у м і щ е н н я с у п е р с к а л я р н о г о т а с у п е р к о н в е є р н о г о о п р а ц ю в а н н я команд,
як це п о к а з а н о на рис. 4.16 Ь.
SCALAR VECTOR
(1 operation) (N operations)
add г З , r l , r2 add . vv v3 , v l , v2
Відповідна с к а л я р н а п р о г р а м а м а є вигляд:
767
LD F0,a
ADDI R4,Rx,#512 ; last address to
load
Loop:
LD F2,0(Rx) ; load X(l)
M U L T D F2,F0,F2 ; a*X(l)
LD F4, 0(Ry) ; load Y(l)
ADDD F4.F2.F4 ; a*X(l)+Y(l)
SD F4,0(Ry) ; store into Y(l)
ADDI Rx,Rx,#8 ; increment index
ADDI Ry,Ry,#8 ; increment index
SUB R20,R4,Rx ; compute bound
BNZ R20, loop ; check if done
с к л а д н о ю та п р о с т о ю системою к о м а н д , к о н в е є р н і та с у п е р к о н в е є р н і , а т а к о ж процесори
с у п е р в е к т о р н и х к о м п ' ю т е р і в , коли в п р о ц е с о р і є декілька конвеєрів команд. Основна їх
відмінність - з а б е з п е ч е н н я о д н о ч а с н о г о в и к о н а н н я однієї к о м а н д и над в е к т о р о м даних.
Це, з о к р е м а , д о з в о л я є будувати їх б л о к и в и к о н а н н я к о м а н д за к о н в е є р н и м п р и н ц и п о м і
п р и ц ь о м у п о з б у т и с я конфліктів, які с у т т є в о г а л ь м у ю т ь р о б о т у конвеєра ч и ускладню
ють й о г о структуру.
Для в и я с н е н н я б а з о в и х п р и н ц и п і в п о б у д о в и п р о ц е с о р і в в е к т о р н и х комп'ютерів роз
г л я н е м о с т р у к т у р у та систему к о м а н д п р о ц е с о р а в е к т о р н о г о варіанта комп'ютера БЬХ,
а саме к о м п ' ю т е р а ЭЬХУ. До с к л а д у п р о ц е с о р а , с т р у к т у р а якого приведена на рис. 4.18,
в х о д я т ь п р и с т р і й в е к т о р н о г о ч и т а н н я запису, регістрові ф а й л и з в е к т о р н и м и та ска
л я р н и м и р е г і с т р а м и , а т а к о ж о п е р а ц і й н и й п р и с т р і й з н а б о р о м к о н в е є р н и х операційних
п р и с т р о ї в д о д а в а н н я , м н о ж е н н я та д і л е н н я з р у х о м о ю комою та в и к о н а н н я а р и ф м е т и ч
н и х і логічних о п е р а ц і й над ц і л и м и ч и с л а м и .
Конвеєрні операційні п р и с т р о ї
,элаваннр з рухом сю к о м о
Г/нохсння з р у х о м о ю к о м о ю
Д і л е н н я з р у х о м о ю комою
Логічні сперацТ
1999.
4. Stallings, W. Computer Organization and Architecture, 5th ed., New York, NY: Macmillan Publis
hing Company, 2000.
5. D. Patterson, J. Hennessy. Computer Architecture. A Quantitative Approach. Morgan Kaufmann
Publishers, Inc. 1996.
6. Patterson, D. A., 8c Hennessy, J. L. Computer Organization and Design, The Hardware/Software
Interface, 2nd ed., San Mateo, С A: Morgan Kaufmann, 1997.
7. AGERWALA, T. A N D J. C O C K E [1987]. "High performance reduced instruction set processors",
IBM Tech. Rep. (March).
8. Bakoglu, H. В., G. F. Grohoski, L E. Thatcher, J. A. Kahle, С R. Moore, D. P. Tuttle, W. E. Maule,
W. R. Hardell, D. A. Hicks, M. Nguyen phu, R. K. Montoye, W. T. Glover, and S. Dhawan [1989]. «ІВМ
second-generation RISC processor organization,» Proc. Int'l Conf. on Computer Design, IEEE (Octob
er), Rye, N.Y., 138-142.
9. Johnson, M. [1990]. Superscalar Microprocessor Design, Prentice Hall, Englewood Cliffs, N.J.
10. JOUPPI, N. P. A N D D. W. W A L L [1989]. "Available instruction-level parallelism for superscalar
and superpipelined processors", Proc. Third Conf. on Architectural Support for Programming Languages
and Operating Systems, I E E E / A C M (April), Boston, 272-282.
11. Чому в процесорі комп'ютера із складною системою команд команда виконується за ба
гато тактів?
12. Чому в процесорі комп'ютера із складною системою команд потрібна складна система
розпізнавання команди?
13. Чому в процесорі комп'ютера із складною системою команд організація конвеєризації ви
конання команд складніша, ніж у процесорі комп'ютера з простою системою команд?
14. Основні вимоги до процесора комп'ютера з простою системою команд.
15. Сформуйте правила вибору системи команд комп'ютера з простою системою команд.
16. Чому в системі команд комп'ютера з простою системою команд відносно небагато опера
цій та способів адресації?
17. Чому в комп'ютері з простою системою команд команди обробки даних мають реалізува
тися лише у формі "регістр-регістр"?
18. Чому в комп'ютері з простою системою команд обміни з основною пам'яттю виконуються
лише за допомогою команд завантаження/запису?
19. Чому в процесорі комп'ютера з простою системою команд дешифрування команд із спро
щеними форматами має виконуватися лише апаратно?
20. Що є основою проектування структури процесора комп'ютера з простою системою ко
манд?
21. Як будується процесор для того, щоб команда виконувалася за один такт?
22. Поясніть принципи роботи процесора комп'ютера DLX.
23. Опишіть фази виконання команди в процесорі комп'ютера D L X .
24. Поясніть роботу конвеєрного процесора комп'ютера D L X .
25. Проаналізуйте та поясніть мікродії, що виконуються на сходинці IF конвеєра комп'ютера
DLX.
26. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ID конвеєра комп'ютера
DLX.
27. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ЕХ конвеєра комп'ютера
D L X при виконанні команди АЛП.
28. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ЕХ конвеєра комп'ютера
D L X при виконанні команд завантаження і збереження (load/store).
29. Проаналізуйте та поясніть мікродії, що виконуються на сходинці ЕХ конвеєра комп'ютера
D L X при виконанні команди умовного переходу (branch).
30. Проаналізуйте та поясніть мікродії, що виконуються на сходинці M E M конвеєра комп'ю
тера D L X при виконанні команд АЛП.
31. Проаналізуйте та поясніть мікродії, що виконуються на сходинці M E M конвеєра комп'ю
тера D L X при виконанні команд завантаження або збереження.
32. Проаналізуйте та поясніть мікродії, що виконуються на сходинці WB конвеєра комп'ю
тера D L X при виконанні команд АЛП.
33. Проаналізуйте та поясніть мікродії, що виконуються на сходинці WB конвеєра комп'ю
тера D L X при виконанні команди load.
34. Основна ідея суперконвеєрних процесорів.
35. Суперскалярні процесори - структура та принцип роботи.
36. Процесори векторних комп'ютерів - структура та принцип роботи.
37. Наведіть класифікацію архітектури комп'ютера за рівнем суміщення в ньому опрацю
вання команд та даних.
Розділ 5
5. 7. Структурні конфлікти
К о н в е є р и з а ц і я в и к о н а н н я к о м а н д в комп'ютері в и м а г а є з н а ч н и х додаткових затрат
обладнання, о с о б л и в о я к щ о з а б е з п е ч у є т ь с я б е з к о н ф л і к т н е в и к о н а н н я в конвеєрі всіх
м о ж л и в и х комбінацій команд. Я к щ о я к а - н е б у д ь к о м б і н а ц і я к о м а н д н е м о ж е бути в и к о -
168
Instructions I Cycles •8 -7 -6 •5 -4 -З -2 •1 0
and г5,г6,г7
С т р у к т у р н і к о н ф л і к т и другої групи в и н и к а ю т ь т а к о ж п р и о д н о ч а с н о м у з в е р н е н н і д о
пам'яті даних, н а п р и к л а д , при необхідності ч и т а н н я о п е р а н д а для однієї к о м а н д и та за
пису р е з у л ь т а т у д л я другої. Такі к о н ф л і к т и в и н и к а ю т ь і в к о м п ' ю т е р а х з о д н і є ю п а м ' я т
тю к о м а н д і даних. У ц ь о м у випадку, коли одна к о м а н д а , я к а з н а х о д и т ь с я в конвеєрі,
здійснює з в е р н е н н я до п а м ' я т і за д а н и м и , в о н о к о н ф л і к т у в а т и м е з в и б і р к о ю пізнішої в
черзі к о м а н д и , яка в и б и р а є т ь с я з тієї ж пам'яті. В к о м п ю т е р і D L X м о ж л и в и й конфлікт,
наприклад, п р и о д н о ч а с н о м у зверненні до о с н о в н о ї п а м ' я т і з б о к у кеш п а м ' я т і д а н и х та
команд.
Зрозуміло, що комп'ютер, в якому забезпечена підтримка конвеєрного виконання
команд без с т р у к т у р н и х конфліктів, з а в ж д и м а т и м е в и щ у п р о д у к т и в н і с т ь п о р і в н я н о з
к о м п ' ю т е р о м і з с т р у к т у р н и м и к о н ф л і к т а м и . В и н и к а є п и т а н н я : ч о м у р о з р о б н и к и допус
кають н а я в н і с т ь с т р у к т у р н и х конфліктів? Ц ь о м у є дві п р и ч и н и . П о - п е р ш е , р я д струк
турних конфліктів п р и н ц и п о в о д у ж е в а ж к о а б о й н е м о ж л и в о л і к в і д у в а т и д л я всіх в и
падків р о б о т и к о н в е є р а , н а п р и к л а д , в и р і ш и т и п и т а н н я о д н о ч а с н о г о д о с т у п у д о п а м ' я т і
170
ш Rl,0(R2)
SUB R4,R1,R5
AND R6 , Rl,R7
OR R8,R1,R9
Iwrl,0x0(r3) IF I ID
or г8,і1,(9 IF | ID ЩЩ MEM 1 WB 1
Н а й п о ш и р е н і ш и м с п о с о б о м з а п о б і г а н н я к о н ф л і к т а м в конвеєрі к о м а н д , поява я к и х
в и к л и к а н а з а л е ж н о с т я м и м і ж д а н и м и , є в и п е р е д ж у в а л ь н е п е р е с и л а н н я даних із попе
редніх ярусів к о н в е є р а в я р у с и , де ці дані потрібні, м и н а ю ч и п р о м і ж н і яруси конвеєра.
Р о з г л я н е м о з а с т о с у в а н н я в и п е р е д ж у в а л ь н о г о п е р е с и л а н н я на кількох прикладах для
к о н к р е т н и х ф р а г м е н т і в коду п р о г р а м и .
В и п е р е д ж у в а л ь н е п е р е с и л а н н я д а н и х з м е т о ю у с у н е н н я к о н ф л і к т у і пригальмову
в а н н я к о н в е є р а к о м п ' ю т е р а D L X д л я коду п р о г р а м и
773
SUB R5 , R6 , R7
LW R4,0(R5)
SW 12(R5),R6
Instructions / Cycles
lw г4,0х0(г5] IF
ID I intEX j MEM I WB 1
В и п е р е д ж у в а л ь н о г о п е р е с и л а н н я в и м а г а є і о с т а н н я ( т р е т я ) к о м а н д а через те, що в и
користовує вміст регістра Я4, я к и й ф о р м у є т ь с я другою к о м а н д о ю . Третій команді по
трібно щ е одне в и п е р е д ж у в а л ь н е п е р е с и л а н н я зсувної к о м п о н е н т и в и к о н а в ч о ї адреси
(вмісту регістра Я5), що п о з н а ч е н о на р и с у н к у іще однією д о д а т к о в о ю лінією.
П о т р і б н о з а з н а ч и т и , що в и п е р е д ж у в а л ь н е п е р е с и л а н н я не з а в ж д и є м о ж л и в и м . Роз
глянемо в и к о н а н н я в конвеєрі н а с т у п н о г о ф р а г м е н т а коду
LW R1,0(R2)
ADD R4,R1,R2
AND R6,R1,R7
XOR R3 , Rl, R5
З а л е ж н і с т ь д а н и х о б у м о в л е н а в и к о р и с т а н н я м к о м а н д а м и , я к і н а д х о д я т ь після п е р
шої к о м а н д и , вмісту регістра R1, я к и й у конвеєрі ф о р м у є т ь с я із с т а н д а р т н о ю з а т р и м
кою. П р и ц ь о м у друга к о м а н д а в и к о р и с т о в у є в и п е р е д ж у в а л ь н е п е р е с и л а н н я д а н и х від
першої к о м а н д и після з а в е р ш е н н я ф а з и M E M , коли в ж е о т р и м а н о м а й б у т н і й вміст ре
гістра R1. Але оскільки цей вміст о т р и м а н о л и ш е на такті -6, а він був п о т р і б н и й на
такті -7, то з ' я в и л а с ь з а т р и м к а R-Stall, тому, що п р и н ц и п о в о н е м о ж л и в е п е р е с и л а н н я до
минулого (рис. 5.8).
174
5\У 8(г0),г4
ІЛУ г5,12(г0)
1Л¥г6,16(гО)
Б и В г7,г5,г6
20(г0),г7
Ігд&исіюпї І £у6е%
ь іг.ОхЦіО] № І Ю
І» гЗ ,0х4(і0] СЕ І МЕМ І
І № Г Я-5із1 І
м 0х8(і£Г.|г4 \Г Г Я-ЗіаІ І Ш § ІМЕМ І
кч Г5.0хс(с0) П Г Т
Ьі іб.ОхІОВД І М и | МЕМ | У/8
ІЦЬ Е7.Г5.ГЄ ІГ І н-БІаГ І МЕМ І У/8 '
МЕМ І ШІ
Рис. 5.9. Діаграма виконання неоптимізованої програми
Ш г2,0(г0)
Ж гЗ,4(гО)
ІЛ¥г5,12(гО)
ІЛУг6,16(гО)
А О Э г4,г2,гЗ
БИВ г7,г5,г6
Б\У 8(г0),г4
Б\У 20(г0),г7
776
•4
Instructions I Cycles - I I - I - I - I - І - ° І І ' І
H h
1 Б U 1 3 1 2 1 1 1 7 6
<т г 2 , 0 х 0 ; Ю ) MEM WB
lw г 3 . 0 х 4 ( Ю ) ID MEM J W B "
lw г 5 . 0 х с ( Ю ) MEM | WB '
add г 4 . г 2 . г З I IF I ID
N
y MEM I WB I
sub г 7 , г 5 , г Є Г IF I R-Stail I ID ХЩЩ M E M | WB "
sw 0x8(r0).t4 ID MEM WB
dd r7,r8,rl
bnez г4,$ТЕХТ
and r5,r7,r7
add r2,r2,r3
Instructions / Cycles
add r7,r8/l
Ьпег г4,$ТЕХТ
and г5,г7д7
add Г2,Г2,ГЗ
, I
Регістр команд
Читання/
запис
Пам'ять команд Буфер адрес
переходів
Ярус декодування
Мультиплексор
Регістр команд
1 Читання/
Буфер команд, запис
до яких
Пам'ять команд
здійснюється
перехід
Мультиплексор
Ярус декодування
__L_
Регістр команд
Читання/
запис
Пам'ять команд Буфер циклу
команда
Мультиплексор
Ярус декодування
FIFO
Блок обчислення
пл Пам'ять
цільової адреси МП
команд переходу
FIFO
За з н а ч е н н я м п р о г р а м н о г о л і ч и л ь н и к а ПЛ к о м а н д и з п а м ' я т і к о м а н д зчитуються в
один з б у ф е р і в FIFO. Блок о б ч и с л е н н я ц і л ь о в о ї адреси аналізує к о ж н у з ч и т а н у команду.
П р и в и я в л е н н і к о м а н д и у м о в н о г о переходу він о б ч и с л ю є адресу переходу та керує бло
к а м и F I F O і п р о г р а м н и м л і ч и л ь н и к о м з т и м , щ о б з а б е з п е ч и т и паралельне з ч и т у в а н н я
обох м о ж л и в и х п о с л і д о в н о с т е й к о м а н д з адреси переходу в блоки FIFO. Після обчис
л е н н я адреси переходу блок о б ч и с л е н н я цільової адреси підключає до входу конвеєра
к о м а н д через м у л ь т и п л е к с о р МП в і д п о в і д н и й б у ф е р , а вміст і н ш о г о б у ф е р а стирається.
За р а х у н о к п о п е р е д н ь о ї в и б і р к и для в и я в л е н н я того, з д і й с н е н н и м чи нездійсненним
є у м о в н и й перехід, т а к и м підходом в д а є т ь с я з м е н ш и т и в т р а т и на в и к о н а н н я команд
у м о в н о г о переходу. П р и ц ь о м у б у ф е р п о п е р е д н ь о ї вибірки м о ж н а р о з г л я д а т и я к декіль
ка д о д а т к о в и х ярусів к о н в е є р а , які з б і л ь ш у ю т ь його початкову з а т р и м к у та не в п л и в а ю т ь
на п р о д у к т и в н і с т ь . З рис. 5.12 в и д н о , що т а к и й підхід у с к л а д н ю є р о б о т у конвеєра. Крім
того, п р и н а я в н о с т і в п р о г р а м і декількох к о м а н д у м о в н о г о переходу підряд це вимагає
в к л ю ч е н н я д о д а т к о в и х блоків F I F O та іще більше у с к л а д н ю є р о б о т у комп'ютера.
Пам'ять
ї
Блок обчислення
Решта ярусів
пл конвеєра
цільової адреси МП
команд команд
переходу
a)
nstructbns / Cycles -13 , -12 , -11 , -10
Iwr2,0n0(i1l
!wr3.0x14(r1)
addirl.rl.0x4 ID MEM I WB 1
subi r4,r1,0x1 Û 1ЕЛЖ MEM I WB
*» i7,n3.t5 ] aborted
lw r2.0x0ti1) I IF I ID j HEM I W B l
b)
Рис. 5.17. Діаграма роботи модифікованого конвеєра
185
Компаратор
Регістр 1/0
Програмний Регістр і/о Програмний глобальної
лічильник глобальної лічильник історії
історії
IX
Таблиця Таблиця Таблиця
історії історії історії
переходів переходів переходів
І ї
Лічильник
+ 1/-1
І
Лічильник
+1/-1
Лічильник
<
І
Код
Код
передбачення
Код
передбачення
передбачення
а) б) в)
Програмний
лічильник
Таблиця
історії
переходів
Лічильник
7
Код
передбачення
Рис. 5.20. Дворівнева схема передбачення переходу з використанням таблиці локальної історії
Програмний
лічильник
w u u
Мультиплексор
Код
передбачення
Рис. 5.21. Структура гібридної схеми передбачення переходу
С т р у к т у р а д о д а т к о в о містить:
- с у м а т о р A D D , я к и й п р и с к о р е н о , в ж е на сходинці ID, обраховує цільову адресу пе
реходу;
- вузол Zero п е р е н е с е н о на о д и н я р у с вперед, щ о б п р и с к о р и т и р е а к ц і ю конвеєра
на к о м а н д у у м о в н о г о переходу та с и н х р о н і з у в а т и цю р е а к ц і ю з о б р а х у в а н н я м цільової
адреси переходу. В результаті з м е н ш е н о на т а к т з а т р и м к у переходу;
- введено додаткові і н ф о р м а ц і й н і ш и н и , що д о з в о л я ю т ь п р и с к о р е н о надсилати до
вузлів п р о ц е с о р а коди о п е р а н д і в при реалізації в и п е р е д ж е н н я . П р и ц ь о м у кількість вхо
дів м у л ь т и п л е к с о р і в А Л П з б і л ь ш е н о .
К о л ь о р а м и відтінені відповідності станів вузлів к о н в е є р а командам, які цей конвеєр
опрацьовує.
Регістр
зайнятості
ФПк
б л о к у р е з е р в у в а н н я є а н а л о г і ч н о ю р о б о т і і н т е г р о в а н о ї б у ф е р н о ї пам'яті, т о б т о коман
да поступає на виконання при готовності операндів та незайнятості функціонального
пристрою.
БР1 ФП1
БР2 ФП2
З блоку
декодування Пристрій
диспетчеризації
БРЗ ФПЗ
БРк Ф П к
О с к і л ь к и метод р е з е р в у в а н н я о р і є н т о в а н и й н а п о д а н н я н а о п р а ц ю в а н н я одночасно
декількох к о м а н д , в и к о р и с т а н н я розподіленої б у ф е р н о ї п а м ' я т і (вікна команд) для забез
печення перевпорядкуванням команд є значно простішим порівняно з використанням
б а г а т о п о р т о в о ї і н т е г р о в а н о ї б у ф е р н о ї пам'яті. П о д і б н у р о з п о д і л е н у буферну пам'ять
в п е р ш е з а п р о п о н у в а в Р. Томасуло в к о м п ' ю т е р н і й системі ІВМ360/91 у 1967 році, тому
о п и с а н и й м е т о д р е з е р в у в а н н я н о с и т ь його ім'я.
В а ж л и в и м п и т а н н я м д л я з а б е з п е ч е н н я в и к о н а н н я стратегії н е в п о р я д к о в а н о г о по
с т у п л е н н я к о м а н д та н е в п о р я д к о в а н о г о з а в е р ш е н н я к о м а н д є п і д т р и м а н н я правильної
послідовності в и к о н а н н я к о м а н д при декількох п а р а л е л ь н о п р а ц ю ю ч и х ф у н к ц і о н а л ь н и х
п р и с т р о я х . В и р і ш е н н я ц ь о г о п и т а н н я було з н а й д е н е в 1988 р о ц і С м і т о м та Плескуном,
які з а п р о п о н у в а л и для ц ь о г о в и к о р и с т а т и б у ф е р в і д н о в л е н н я послідовності. До цього
б у ф е р а к о м а н д и з а п и с у ю т ь с я в порядку, я к и й відповідає з а д а н о м у п р о г р а м о ю порядку
їх з ч и т у в а н н я , а з ч и т у в а н н я к о м а н д и з б у ф е р а д о з в о л е н о тільки після з а в е р ш е н н я її ви
к о н а н н я та коли всі попередні к о м а н д и вже з ч и т а н і з буфера.
Рис. 5.25. Кристал суперскалярного процесора MIPS R10000, на якому позначені вузли процесора
та виділено засоби керування невпорядкованим виконанням команд
ГЗЗам.371.
194
В'язанка команд
з блоку вибірки
команд
Ділення 3 Множення 3 Додавання з
Перехід Читання/запис
Фіксованою комою рухомою КОМОЮ рухомою комою
Регістровий файл
Ї
Обмін даними
з пам'яттю т
З а в д а н н я е ф е к т и в н о г о п л а н у в а н н я п а р а л е л ь н о г о в и к о н а н н я к о м а н д в комп'ютері з
д о в г и м ф о р м а т о м к о м а н д и повністю лягає на к о м п і л я т о р . К о м п і л я т о р з послідовності
к о м а н д початкової п р о г р а м и генерує в ' я з а н к у к о м а н д ш л я х о м п р о г л я д а н н я програми як
в межах, так і за м е ж а м и лінійних д і л я н о к п р о г р а м и без галужень. Для забезпечення ко
р е к т н о с т і в и к о н а н н я операцій к о м п і л я т о р має бути здатним визначати можливість появи
конфліктів при виконанні команд. У п е в н и х ситуаціях, коли к о м п і л я т о р не може зроби
ти з а к л ю ч е н н я , що конфлікт не відбудеться, н а п р и к л а д , у в и п а д к у з в е р н е н н я до масиву,
коли індекс о б ч и с л ю є т ь с я під час в и к о н а н н я п р о г р а м и , операції не м о ж у т ь плануватися
для п а р а л е л ь н о г о в и к о н а н н я . Відповідно це п р и з в о д и т ь до з н и ж е н н я продуктивності.
К о м п і л я т о р в и з н а ч а є д і л я н к у п р о г р а м и без циклів, я к а стає кандидатом для форму
в а н н я в ' я з а н к и к о м а н д . Для з б і л ь ш е н н я р о з м і р у тіла ц и к л у ш и р о к о використовується
м е т о д и к а р о з к р у ч у в а н н я ц и к л і в , щ о п р и з в о д и т ь д о у т в о р е н н я в е л и к и х фрагментів про
г р а м и , що не містять з в о р о т н и х дуг.
Я к щ о в и к о н а н н ю підлягає п р о г р а м а , щ о м а є тільки переходи вперед, компілятор р о
б и т ь е в р и с т и ч н и й п р о г н о з в и б о р у у м о в н и х гілок. Шлях, щ о м а є н а й б і л ь ш у вірогідність
в и к о н а н н я (його н а з и в а ю т ь т р а с о ю ) , в и к о р и с т о в у є т ь с я для оптимізації, щ о проводиться
з в р а х у в а н н я м конфліктів за д а н и м и м і ж к о м а н д а м и і о б м е ж е н ь за а п а р а т н и м и ресур
сами. Під час п л а н у в а н н я генерується в ' я з а н к а к о м а н д . Всі к о м а н д и , які входять до в'я
з а н к и к о м а н д , в и д а ю т ь с я о д н о ч а с н о і в и к о н у ю т ь с я паралельно. Після о б р о б к и першої
траси п л а н у є т ь с я н а с т у п н и й шлях, щ о м а є н а й б і л ь ш у вірогідність в и к о н а н н я (попере
д н я траса більше не р о з г л я д а є т ь с я ) . П р о ц е с п а к у в а н н я к о м а н д послідовної програми у
в ' я з а н к и к о м а н д п р о д о в ж у є т ь с я до тих пір, поки не буде о п т и м і з о в а н а вся програма.
К л ю ч о в о ю у м о в о ю д о с я г н е н н я е ф е к т и в н о ї р о б о т и к о м п ' ю т е р а з довгим ф о р м а т о м
к о м а н д и є к о р е к т н и й п р о г н о з в и б о р у у м о в н и х гілок. Відмічено, н а п р и к л а д , що прогноз
у м о в н и х гілок для н а у к о в и х п р о г р а м часто в и я в л я є т ь с я т о ч н и м . П о в е р н е н н я назад є у
всіх ітераціях циклу, за в и н я т к о м останньої. Таким ч и н о м , п р о г н о з буде коректний в
більшості в и п а д к і в . Інші у м о в н і гілки, н а п р и к л а д , гілка о б р о б к и п е р е п о в н е н н я і пере
вірки г р а н и ч н и х у м о в (вихід за м е ж і масиву), т а к о ж є н а д і й н о п е р е д б а ч у в а н и м и .
З погляду а р х і т е к т у р н и х ідей к о м п ' ю т е р з д о в г и м ф о р м а т о м к о м а н д и м о ж н а розгля
дати як р о з ш и р е н н я архітектури к о м п ' ю т е р а з п р о с т о ю системою команд, оскільки тут
795
L: ALU
S: Shifter, ALU
M; Multiplier
On-Chip Data Memory
D: Address gen.
1
1
Функціональний Функціональний Функціональний
пристрій для пристрій для Функціональний пристрій
операцій операцій пристрій виконання
з фіксованою з рухомою звернення умовних
комою комою до пам'яті переходів
Тут A D D - о п е р а ц і я д о д а в а н н я з ф і к с о в а н о ю комою, F A D D - о п е р а ц і є ю д о д а в а н н я
з рухомою комою, LD - з а в а н т а ж е н н я п о д в і й н о г о слова, a B R C C - у м о в н и й перехід за
деякою у м о в о ю (Conditional Code Branch).
В'язанка к о м а н д п р о ц е с о р а Crusoe о т р и м а л а назву молекули. Вона м а є д о в ж и н у
64/128 бітів та в м і щ у є ч о т и р и к о м а н д и ( ч о т и р и а т о м и ) . Усі атоми в м е ж а х молекули в и
конуються паралельно. Ф о р м а т м о л е к у л и п р я м о в и з н а ч а є з в ' я з о к атома і з к о н к р е т н и м
функціональним п р и с т р о є м , що з н а ч н о і с п р о щ у є , і п р и с к о р ю є апаратні з а с о б и . Самі
молекули п р о ц е с о р о п р а ц ь о в у є із з б е р е ж е н н я м черговості, т о б т о без в и к о р и с т а н н я
складних а п а р а т н и х засобів н е в п о р я д к о в а н о г о о п р а ц ю в а н н я . Для з а б е з п е ч е н н я е ф е к
тивного в и к о р и с т а н н я п р о ц е с о р а мінімізується кількість н е з а п о в н е н и х атомів, а у в и
падках несумісності атомів за паралельністю, на місце в і д с у т н ь о г о атома в с т а в л я є т ь с я
пуста операція.
П р о г р а м а Code Morphing є ф у н д а м е н т а л ь н о ю системою динамічної трансляції, що
транслює к о м а н д и однієї архітектури (в д а н о м у в и п а д к у КССК п р о ц е с о р а х86) в к о м а н д и
іншої архітектури (КДФК). П р о г р а м у Code M o r p h i n g р о з м і щ е н о в П З П п р о ц е с о р а і вона
є першою програмою, що виконується п р и з а в а н т а ж е н н і процесора. Рис. 5.29 ілюструє
зв'язок між кодом процесора х86, п р о г р а м о ю Code Morphing та я д р о м процесора Crusoe.
Рис. 5.29. КДФК (VLIW engine), Code Morphing, BIOS, операційна система
та прикладні програми в кодах процесора х86
39 27 26 21 20 14 13 7 6 0
Код операції Предикат Рг операнда 1 Рг операнда 2 Рг результату
6. FISHER, J. A. [1983]. "Very long instruction word architectures and ELI-512", Proc. Tenth Symp
osium on Computer Architecture (June), Stockholm, 140-150.
7. Fisher, J. A. and S. M. Freudenberger [1992]. "Predicting conditional branches from previous runs
of a program", Proc. Fifth Conf. on Architectural Support for Programming Languages and Operating
Systems, I E E E / A C M (October), Boston, 85-95.
202
8. Hwu, W . - M . and Y. Patt [1986]. "HPSm, a high performance restricted data flow architecture having
minimum functionality", Proc. 13th Symposium on Computer Architecture (June), Tokyo, 297-307.
9. Johnson, M. [1990]. Superscalar Microprocessor Design, Prentice Hall, Englewood Cliffs, N.J.
10. JOUPPI, N. P. A N D D. W. W A L L [1989]. "Available instruction-level parallelism for superscalar
and superpipelined processors", Proc. Third Conf. on Architectural Support for Programming Languages
and Operating Systems, I E E E / A C M (April), Boston, 272-282.
11. Lam, M. [1988]. "Software pipelining: An effective scheduling technique for V L I W processors",
SIGPLAN Conf. on Programming Language Design and Implementation, A C M (June), Atlanta, Ga.,
318-328.
12. Mahlke, S. A., W. Y. Chen, W . - M . Hwu, B. R. Rau, and M. S. Schlansker [1992]. "Sentinel sched-
uling for V L I E and superscalar processors", Proc. Fifth Conf. on Architectural Support for Programming
Languages and Operating Systems (October), Boston, I E E E / A C M , 238-247.
13. McFarling, S. [1993] "Combining branch predictors", W R L Technical Note TN-36 (June), Digital
Western Research Laboratory, Palo Alto, Calif.
14. McFarling, S. and J. Hennessy [1986]. "Reducing the cost of branches", Proc. 13th Symposium on
Computer Architecture (June), Tokyo, 396-403.
15. N1COLAU, A. A N D J. A. Fisher [1984]. "Measuring the parallelism available for very long instr-
uction word architectures", IEEE Trans, on Computers C-33:ll (November), 968-976.
16. Pan, S.-T, K. So, and J. T. Rameh [1992]. "Improving the accuracy of dynamic branch prediction
using branch correlation", Proc. Fifth Conf. on Architectural Support for Programming Languages and
Operating Systems, I E E E / A C M (October), Boston, 76-84.
17. RAU, B. R., C D. GLAESER, A N D R. L. P1CARD [1982]. "Efficient code generation for horizontal
architectures: Compiler techniques and architectural support", Proc. Ninth Symposium on Computer
Architecture (April), 131-139.
18. Riseman, E. M. and C. C Foster [1972]. "Percolation of code to enhance parallel dispatching and
execution", IEEE Trans, on Computers C-2L12 (December), 1411-1415.
19. SMITH, A. and J. LEE [1984]. "Branch prediction strategies and branch-target buffer design",
Computer 17:1 (January), 6-22.
20. Smith, J. E. [1981]. "A study of branch prediction strategies", Proc. Eighth Symposium on Comp-
uter Architecture (May), Minneapolis, 135-148.
21. Smith, J. E. and A. R. Pleszkun [1988]. "Implementing precise interrupts in pipelined processors",
IEEE Trans, on Computers 37:5 (May), 562-573. This paper is based on an earlier paper that appeared in
Proc. 12th Symposium on Computer Architecture, June 1988.
22. Smith, M. D., M. Horowitz, and M. S. Lam [1992]. "Efficient superscalar performance through
boosting", Proc. Fifth Conf. on Architectural Support for Programming Languages and Operating Syste-
ms (October), Boston, I E E E / A C M , 248-259.
23. Smith, M. D., M. Johnson, and M. A. Horowitz [1989]. "Limits on multiple instruction issue".
24. SOHI, G. S. [1990]. "Instruction issue logic for high-performance, interruptible, multiple functi-
onal unit, pipelined computers", IEEE Trans, on Computers 39:3 (March), 349-359.
25. SOHI, G. S. A N D S. Vajapeyam [1989]. "Tradeoffs in instruction format design for horizontal
architectures", Proc. Third Conf. on Architectural Support for Programming languages and Operating
Systems, I E E E / A C M (April), Boston, 15-25.
26. T H O R L I N , J. F. [1967]. "Code generation for PIE (parallel instruction execution) computers",
Proc. Spring Joint Computer Conf. 27.
27. T O M A S U L O , R. M. [1967]. "An efficient algorithm for exploiting multiple arithmetic units", IBM
J. Research and Development 11:1 (January), 25-33.
28. WALL, D. W. [1991]. "Limits of instruction-level parallelism", Proc. Fourth Conf. on Architectu-
ral Support for Programming Languages and Operating Systems (April), Santa Clara, Calif, IEEE/ A C M ,
248-259.
203
29. Wall, D. W. [1993]. Limits of Instruction-Level Parallelism, Research Rep. 93/6, Western Research
Laboratory, Digital Equipment Corp. (November).
30. WEISS, S. and J. E. Smith [1984]. "Instruction issue logic for pipelined supercomputers", Proc.
11th Symposium on Computer Architecture (June), Ann Arbor, Mich., 110-118.
31. WEISS, S. and J. E. S M I T H [1987]. "A study of scalar compilation techniques for pipelined sup
ercomputers", Proc. Second Conf. on Architectural Support for Programming Languages and Operating
Systems (March), I E E E / A C M , Palo Alto, Calif., 105-109.
32. Yeh, T. and Y. N. Patt [1992]. "Alternative implementations of two-level adaptive branch predicti
on", Proc. 19th Symposium on Computer Architecture (May), Gold Coast, Australia, 124-134.
33. Y E H , T. A N D Y. N. Patt [1993]. "A comparison of dynamic branch predictors that use two levels
of branch history", Proc. 20th Symposium on Computer Architecture (May), San Diego, 257-266.
сАморитміьІшкона^
а&ра&шдотік
Операції о б р о б к и д а н и х ініціюються в і д п о в і д н и м и к о м а н д а м и о б р о б к и д а н и х . Д о
числа цих операцій входять:
• логічні операції (логічне м н о ж е н н я , логічне д о д а в а н н я , інверсія і т. д.) над р о з р я д а
ми слів, с к а л я р а м и та в е к т о р а м и ;
• операції зсуву ( п р а в о р у ч , ліворуч) над с к а л я р а м и та в е к т о р а м и ;
• операції в і д н о ш е н н я : м е н ш е , більше, рівне, м е н ш е - р і в н е , більше-рівне;
• а р и ф м е т и ч н і операції ( д о д а в а н н я , в і д н і м а н н я , м н о ж е н н я та ділення) над о д и н о ч
н и м и д а н и м и т а в е к т о р а м и даних;
• операції о б ч и с л е н н я е л е м е н т а р н и х ф у н к ц і й т и п у exp X, In X, Sin X, Cos X, arctg y/x,
S h X , C h X , піднесення д о степеня A ; m
• операції п е р е т в о р е н н я д а н и х ( п е р е т в о р е н н я із ф о р м а т у з ф і к с о в а н о ю в ф о р м а т з
рухомою комою і н а в п а к и , п е р е т в о р е н н я з д в і й к о в о - д е с я т к о в о г о коду в д в і й к о в и й і на
впаки і т. д.);
• операції реорганізації масивів і в и з н а ч е н н я їх п а р а м е т р і в : с о р т у в а н н я , п о ш у к мак
симуму або мінімуму, в и б і р з а д а н о г о масиву, з с у в елементів масиву, стиск масиву;
• операції о б р о б к и с и м в о л і в та стрічок символів: п о ш у к символу, зсув, заміна с и м в о
лів у стрічці, п а к у в а н н я стрічок символів, п о р і в н я н н я стрічок символів.
В останніх к о м п ' ю т е р а х у з в ' я з к у з ш и р о к и м в и к о р и с т а н н я м засобів телекомуніка-
цій та мультимедіа до складу о с н о в н и х о п е р а ц і й д о б а в и л и с я складні операції т и п у коду
в а н н я , компресії, ш и ф р у в а н н я т о щ о .
В даному розділі р о з г л я н е м о основні а л г о р и т м и в и к о н а н н я в и щ е н а з в а н и х о п е р а ц і й ,
не вникаючи в п и т а н н я їх реалізації в комп'ютері.
• операції п е р е т в о р е н н я даних ( п е р е т в о р е н н я із ф о р м а т у з ф і к с о в а н о ю в ф о р м а т з
рухомою комою і н а в п а к и , п е р е т в о р е н н я з д в і й к о в о - д е с я т к о в о г о коду в д в і й к о в и й і на
впаки і т. д.);
• операції реорганізації масивів і в и з н а ч е н н я їх п а р а м е т р і в : с о р т у в а н н я , п о ш у к мак
симуму або мінімуму, в и б і р з а д а н о г о масиву, з с у в елементів масиву, стиск масиву;
• операції о б р о б к и с и м в о л і в та стрічок символів: п о ш у к символу, зсув, з а м і н а с и м в о
лів у стрічці, п а к у в а н н я стрічок символів, п о р і в н я н н я стрічок символів.
В останніх к о м п ' ю т е р а х у з в ' я з к у з ш и р о к и м в и к о р и с т а н н я м засобів телекомуніка-
цій та мультимедіа до складу о с н о в н и х о п е р а ц і й д о б а в и л и с я складні операції т и п у коду
вання, компресії, ш и ф р у в а н н я т о щ о .
В даному розділі р о з г л я н е м о основні а л г о р и т м и в и к о н а н н я в и щ е н а з в а н и х о п е р а ц і й ,
не вникаючи в п и т а н н я їх реалізації в комп'ютері.
Приклади:
N O T (1000 10100010 1100) = 0111 0101 1101 0011.
N O T Q l l O 1011 1010 0111) = 0001 01000101 1000.
6.1.2. Логічне І
Ця о п е р а ц і я ( з а г а л ь н о п р и й н я т е п о з н а ч е н н я I, A N D ) передбачає наявність як міні
м у м д в о х о п е р а н д і в , н а з в е м о 'їх X та Y. Вона в и к о н у є п о р о з р я д н у кон'юнкцію змінних,
т о б т о о т р и м а н н я о д и н и ц і л и ш е тоді, коли всі вхідні змінні рівні одиниці. Відобразимо
з н а ч е н н я функції н а с т у п н о ю т а б л и ц е ю і с т и н н о с т і (табл. 6.2.)
Таблиця 6.2
бітХ бітУ біт результату
0 0 0
0 1 0
1 0 0
1 1 1
1 0 1
1 1 1
6 6 6 "0"
СГ'
Ь ь ь о-
Ч б с О О О «
0 У О О О »•
Ц и к л і ч н и й зсув ліворуч
НЗгм. 371.
210
S. = X XOR у. XOR с.
с._, = (х. AND у) OR (х. AND с.) OR (у. AND с.)
с
о= °
де: S. - і-тий р о з р я д с у м и , х., у. - і-ті р о з р я д и п е р ш о г о та другого доданків відповідно,
с - р о з р я д переносу.
Ці ф о р м у л и о т р и м а н і з н а с т у п н о ї таблиці істинності (табл. 6.5).
Таблиця 6.5
с. X. У, S.
1 і
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
211
0 1 1 0 10 11 10 1 1 0 0 11
0 1 0 0 0 0 0 1 1 1 0 10 1 1 0
10 10 1 1 0 0 1 0 0 0 1 0 0 1
| Переповнення [
Рис. 6.7. Приклади виконання операції додавання двійкових чисел без знаків
П о з н а ч и м о о п е р а т о р в и к о н а н н я операції о д н о р о з р я д н о г о д в і й к о в о г о д о д а в а н н я від
повідно до табл. 6.5 з н а к о м суми, як це п о к а з а н о на рис. 6.8.
Хі У'
Сі+1
X
\1
1
Сп-11
11
•* X - X X
Рис. 6.9. Граф алгоритму п-розрядного додавання двійкових чисел з послідовним переносом
п р и ч о м у с т а р ш и й р о з р я д є з н а к о в и й . В о б е р н е н о м у коді к =1100 , а в д о п о в н я л ь н о м у
2
п р а в и л ь н и й р е з у л ь т а т 3 п р и в р а х у в а н н і п е р е н о с у із с т а р ш о г о р о з р я д у . Цей п е р е н о с
називається циклічним. Додавання до отриманої суми одиниці циклічного переносу
н е в и к л и к а є п о в т о р н о г о ц и к л і ч н о г о п е р е н о с у . Н а в е д е н и й п р и к л а д н а г л я д н о ілюструє
р и с . 6.10.
214
Таблиця 6.6
ь. X. Уі Б
0 0 0 0 0
0 0 1 1 1
0 1 0 1 0
0 1 1 0 0
1 0 0 1 1
1 0 1 0 1
1 1 0 0 0
1 1 1 1 1
0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 0
0 0 10 1 1 1 0 1 1 0 1 1 1 0 1
Переповнення
Рис. 6.12. Приклади виконання операції додавання двійкових чисел без знаків
П р и в и к о н а н н і м н о ж е н н я д в о х о п е р а н д і в о д н а к о в о ї р о з р я д н о с т і р о з р я д н і с т ь резуль
тату з б і л ь ш у є т ь с я вдвічі, п о р і в н я н о з р о з р я д н і с т ю м н о ж н и к і в .
П р и в и к о н а н н і м н о ж е н н я о п е р а н д і в , п р е д с т а в л е н и х в п р я м о м у коді, їх модулі м н о
ж а т ь с я як цілі двійкові числа без знаків, або як д р о б о в і числа без знаків, оскільки п р о -
215
Я к щ о п о з н а ч и т и м н о ж е н е б у к в о ю X, а м н о ж н и к б у к в о ю У, п р и ч о м у п р е д с т а в и т и У у
вигляді суми його д в і й к о в и х р о з р я д і в
3 наведеного в и р а з у в и д н о , що о п е р а ц і я м н о ж е н н я д в і й к о в и х чисел з в о д и т ь с я до
операції логічного м н о ж е н н я м н о ж е н о г о ( м н о ж е н е - п е р ш и й м н о ж н и к ) на р о з р я д и
м н о ж н и к а та п і д с у м о в у в а н н я о т р и м а н и х результатів з їх з с у в о м на кількість р о з р я д і в ,
рівну відповідному п о к а з н и к у с т у п е н я у виразі. Граф а л г о р и т м у м н о ж е н н я м а є вигляд,
показаний на рис. 6.13.
Y0 Y1 Y2 Y(n-1) X
I XY
Рис. 6.13. Граф алгоритму множення
Цп-1) 14 1.3 12
1"ОДД 1 К
ОДД2
ОДД З
ОДД 4
1
ОДД(п-1)
Т
7лпЛ 2п-1 2а 2-і 22 2: 2о
Рис. 6.14. Граф алгоритму послідовного попарного додавання часткових добутків,
отриманих починаючи з аналізу молодших розрядів множника
дів л і в о р у ч . М о л о д ш и й р о з р я д р е з у л ь т а т у к о ж н о г о і-го О Д Д ( О Д Д О Д Д , , О Д Д
]; ( п ) є
в і д п о в і д н и м р о з р я д о м д о б у т к у Ъ., а н у л ь о в и й р о з р я д д о б у т к у є р і в н и м м о л о д ш о м у р о з
р я д у п е р ш о г о ч а с т к о в о г о добутку. Р о з р я д и д о б у т к у від Х - г о до2п -то о т р и м у ю т ь с я з
виходів ( п - І ) - г о о п е р а т о р а ОДД, п о ч и н а ю ч и з другого виходу.
П о д і б н и м до р о з г л я н у т о г о є а л г о р и т м послідовного п о п а р н о г о д о д а в а н н я часткових
добутків, о т р и м а н и х п о ч и н а ю ч и з аналізу с т а р ш и х р о з р я д і в м н о ж н и к а , г р а ф якого по
к а з а н о на рис. 6.15.
277
і ОДД 1
І" Я2 яз Я (п-1)
ОДД 2
ОДД з
ОДД 4
ОДД (п-1)
т
ЗЬп-1
ХУ п-і)
( ХУ -2)
(п
ХУ 3 ХУ 2
ХУі ХУо
І
|цп-1) |цп-2)
ОДД п/2 І •
^3 ||_2
,1" 1,
ОДД 2 ОДД1
ОДД п/4
£
ОДД п/2-1
і і_
ОДД (п-1)
р я д н о г о д в і й к о в о г о д о д а в а н н я . Ц е д о з в о л я є п о в н і ш е врахувати о с о б л и в о с т і порозряд-
ної о б р о б к и д а н и х та з м е н ш и т и о б ч и с л ю в а л ь н у складність алгоритмів, т о б т о кількість
в и к о н у в а н и х о п е р а ц і й . Для ц ь о г о в и п а д к у р о з р о б л е н а велика кількість алгоритмів до
д а в а н н я ч а с т к о в и х д о б у т к і в . Н и ж ч е р о з г л я н у т і н а й у ж и в а н і ш і а л г о р и т м и . Найвідоміши-
ми серед м а т р и ч н и х а л г о р и т м і в , які б а з у ю т ь с я на в и к о р и с т а н н і операторів двомісного
о д н о р о з р я д н о г о д в і й к о в о г о д о д а в а н н я , є а л г о р и т м и з г о р и з о н т а л ь н и м та діагональним
р о з п о в с ю д ж е н н я м п е р е н о с у та а л г о р и т м и Дадда і Уоллеса.
Д л я н а о ч н о с т і о б м е ж и м о с я ч о т и р и р о з р я д н и м и ч и с л а м и . В и к о н а н н я багатомісної
операції д о д а в а н н я ч а с т к о в и х д о б у т к і в для двох ч о т и р и р о з р я д н и х чисел А та В, де А =
а{і ар. \ В = Ьфрф м о ж н а п р е д с т а в и т и у вигляді, п о к а з а н о м у на рис. 6.17.
2 д 0
2 аф + 2 аф + 2 аф + 2°аф
3
0
2
0
і
и и
2 аф 4
1 + 2 аф +2 о Ь +2 аф
3
і
2
} 1
1
]
2 афі
2 +2 а Ь4
2 2 +2' аЬ х 2 +2 а Ь 2
п 2
2 аф. + 2 аф, + 2 аф + 2 а Ь
6 5 4
г
3
0 3
2 г
7
7 +2 г л
6 +2 2 5
3 +2 г
4
4 +2 г
3
3 +2 г 2
2 +2% +2°гп
L IX XX ХА
Т
1
2,
Рис. 6.18. Граф алгоритму паралельного матричного виконання багатомісної операції
додавання часткових добутків з горизонтальним розповсюдженням переносу
219
н о р о з р я д н о г о двійкового д о д а в а н н я [п - 2п о п е р а ц і й п о в н о г о та п о п е р а ц і й н е п о в н о
2
U 11 И
а.Ь, аф„ о,Л, а,Л, u. h
: D a.b t u b,
Q */„/>, aj^
Xx H x і—
4- x
aj>. ah.
il 1 A
X x *J
X X
"A
X X X X
н о р о з р я д н о г о двійкового д о д а в а н н я (п - 2п о п е р а ц і й п о в н о г о та п о п е р а ц і й н е п о в н о г о
2
в і д п о в і д н о д о г р а ф а а л г о р и т м у п о с л і д о в н о г о п о п а р н о г о д о д а в а н н я часткових добутків,
о т р и м а н и х п о ч и н а ю ч и з аналізу с т а р ш и х р о з р я д і в м н о ж н и к а , п о к а з а н о г о на рис. 6.15.
На рис. 6.20 п о к а з а н о г р а ф алгоритму Дадда в и к о н а н н я багатомісної операції додаван
ня часткових добутків, п о б у д о в а н и й на основі графа а л г о р и т м у паралельного попарного
д о д а в а н н я часткових добутків з в и к о р и с т а н н я м с т р у к т у р и бінарного дерева (рис. 6.16).
«А а,Ь.
ІХ хх
н о р о з р я д н о г о д в і й к о в о г о д о д а в а н н я (п - 2п о п е р а ц і й п о в н о г о та п операцій неповно
2
2 = ХУ = Х^(У„- - О М
2
' -Х&і ~УХ " +Х(У -У)2' + ...+ Х(У, _ - У „ _ ) 2 "
2
г і і 2
( Ч)
1, я к щ о У." = 0, У + 1 = 1,
! -1, я к щ о У = 1, У. +1 = 0.
При цьому добуток формується відповідно до виразу:
2 = ХУ = Х ( - У + К(2 '-2') + У,(2' - 2 ) + ...+ГД2^""" -2"') + ...+ У„_,{2 "' -2"""' ))
0
І 2 н г] 1
якщо 7 . ="00","П";
( М )
2 =0;
0 і = 0,я-1; Г И ) =0; 2 =2 = ХУ,
п
(^початок)
1*
-0;
2:і =0;
и 1
V 2 + ,:=2,Х
1+1 1
ирифм
Тут знаком •» п о з н а ч е н а о п е р а ц і я а р и ф м е т и ч н о г о з с у в у п р а в о р у ч .
222
Тепер р о з г л я н е м о п р и к л а д :
Х = 0 1 0 1 0101; Y=01101011.
Результати п р о м і ж н и х о б ч и с л е н ь наведені в табл. 6.9.
Таблиця 6.9
і Z. операція
6 1110 0100 0001 1100 0110 101110 z =^ 1111 0010 0000 1110
M
2
7 1111 00100000 1110 0110 101110 z,+x 0010 0011 1000 0111
M
- 2
Таким ч и н о м
р а з у q. = N O T (p.);
• зі з с у в о м д і л ь н и к а п р а в о р у ч в і д п о в і д н о до р е к у р е н т н о ї ф о р м у л и
На n - м у к р о ц і д і л е н н я в о б о х в и п а д к а х в и з н а ч а є т ь с я з н а ч е н н я n-го р о з р я д у частки
та з а л и ш о к .
223
Блок-схема а л г о р и т м у ділення з а п е р ш и м в а р і а н т о м , я к и й м а є ш и р ш е в и к о р и с т а н н я ,
наведена на рис. 6.22.
ПОЧАТОК
графа, о п и с а н о г о а л г о р и т м у ділення.
у х
1
І Б І Віднімання
З Віднімання
І ГЧ = Ы О Т р 2 ' У У д 1 ' Р ! І
62У.
224
R3 = 2 ( R , - p x Y ) = 2 ( 0 . 1 0 0 0 - 0 x 0 . 1 1 0 0 ) = 1.0000, q = 1;
3 3
Таким ч и н о м м а є м о Q = q ^ ^ q , = 0.1010.
У методі д і л е н н я без в і д н о в л е н н я з а л и ш к у в і д н і м а н н я , що в и к л и к а л о появу від'єм
н о г о з а л и ш к у при в и з н а ч е н н і з н а ч е н н я р о з р я д у ч а с т к и , е к в і в а л е н т н е д в о м відніманням
п р и визначенні сусіднього м о л о д ш о г о р о з р я д у ч а с т к и . Ділення в и к о н у є т ь с я за т и м же
співвідношенням зі зсувом залишків ліворуч відповідно до рекурентної формули
R = 2(8,, - У ) , Р і
5 = X± У = М • 2 х
Рх
±М г • 2
Ру
= {м -2'±Му )• 2 х
Рг
= [м ±М • 2"')-2 \
х У
р
Наведемо п р и к л а д :
М = 1.000 1000; Р = 0 1 1 0 ; М = 1 . 1 1 0 1001; Р = 0 1 0 0 .
х х у у
Оскільки п е р ш и й о п е р а н д б і л ь ш и й , п о р я д о к ч и с л а У п р и в о д и т ь с я до п о р я д к у числа
Х : М = 0 . 0 1 1 1010; Р = 0 1 1 0 .
у у
Далі м а н т и с и додаються:
М = М + М = 1.000 1000+0.011 1010 =10.0000010; Р = 0 1 1 0 .
5 х у 5
Тепер п р о в о д и т ь с я н о р м а л і з а ц і я : М = 1 . 0 0 0 0001; Р = 0 1 1 1 .
5 5
М н о ж е н н я чисел у ф о р м а т і з р у х о м о ю к о м о ю о п и с у є т ь с я н а с т у п н и м с п і в в і д н о
шенням:
В = X• У = М х • 2 Рх
• Му • ї \ = М • Му • 2 р
х
Рх+Рг
П р и в и к о н а н н і м н о ж е н н я п о р я д к и о п е р а н д і в додаються, а м а н т и с и п е р е м н о ж у ю т ь
ся. Після п е р е м н о ж е н н я м а н т и с в и н и к а ю т ь додаткові м о л о д ш і р о з р я д и м а н т и с и , які від
кидаються або заокруглюються.
Розглянемо приклад:
М = 1.000 1000; Р = 0 1 1 0 ; М = 1 . 1 1 0 1001; Р = 0 1 0 0 .
х х у у
Ділення чисел у ф о р м а т і з р у х о м о ю к о м о ю о п и с у є т ь с я н а с т у п н и м с п і в в і д н о ш е н н я м :
- X М -2
у
Рх
М х ^р_ Р
У Му2 Рг
Му
б у т и корінь.
Щ о б п е р е в і р и т и п р а в и л ь н і с т ь п о п р о б у є м о д о б у т и корінь з 36:
Ац = \ (приймаємо випадкове число)
А, = + і ) / 2 = 18.5
( %8 5
А і = 3
= Ю.2229
+
18 5
- )/ 2
А = ( З б ^ +10.2229)/2 = 6.8722
} 222д
Аі =
( 7 б 0553
3 + 6
- 0 5 5 3
)/ 2 = 6
- 0 0 0 2
А =(з^/
6 0 0 0 2 + 6.0002)/2 = 6.0000
1+1 і г
і І
у. , = у + і х . г - - ' 1
і+і i l l
z i + 1 =z-f.c
f / = - R S i g n Y . + (l-R)SignZ.
С = ](l+p)/2[arctg2 + (l + |p|)arth2 M 11
+ ] ( 1 - р ) /2[ 2 ;м
і = 0, 1,2, З, 3, 4 , . . . , п - 1 .
Тут ]h[ - ціла ч а с т и н а від h; | р | - м о д у л ь р; f. - д в і й к о в і о п е р а т о р и , що п р и й м а ю т ь
значення +1 або -1 з а л е ж н о від з н а к у У. а б о Z, і - н о м е р ітерації, п р и ч о м у , ітерації З,
12,... к, 3 ( к - 1 ) , . . . п о в т о р ю ю т ь с я двічі. П а р а м е т р р в и з н а ч а є т и п о б ч и с л ю в а н и х ф у н к
цій: р = 0 - лінійні, р = 1 - т р и г о н о м е т р и ч н і , р= -1 - гіперболічні; R - п а р а м е т р , що в и
значає від чого з а л е ж и т ь з н а ч е н н я {.: я к щ о R = 0, то f. = sign Z., я к щ о R = 1, то f = signY.;
C - к о н с т а н т и . В табл. 6.10 п р е д с т а в л е н і ф у н к ц і о н а л ь н і м о ж л и в о с т і р о з г л я н у т о г о а л г о
ритму при р і з н и х з н а ч е н н я х п а р а м е т р і в р, R і р і з н и х п о ч а т к о в и х у м о в а х X , Y , Z . Тут К.
і К - коефіцієнти деформації відповідно тригонометричного і гіперболічного векторів,
г
X Y z -1 1 K(X +Y )" 0 2
ArthY/X+Z
2 2
Рис. 6.24. Ціле число Х= 79• = 1001111^ яке представлене в двійковій формі
в доповняльному 16-розрядному коді
2 0,000000100111100 101101
3 0,000001001111000 101100
4 0,000010011110000 101011
5 0,000100111100000 101010
6 0,001001111000000 101001
7 0,010011110000000 101000
8 0,100111100000000 100111
X = + 0,1001111 . 2 3 9 32
= + 1001111,0 = +79 .
(2) (10)
с т а т н ь о з с у н у т и п е р е т в о р ю в а н е ч и с л о на о д и н р о з р я д п р а в о р у ч , і, т и м самим, отримати
н о р м а л і з о в а н у мантису, з а л и ш и в ш и на місці з н а к о в и й р о з р я д , та додати до початкового
з н а ч е н н я п о р я д к у о д и н и ц ю . Тобто п р и в і д ' є м н о м у значенні м а н т и с а зсувається право
руч, а до п о р я д к у д о б а в л я є т ь с я о д и н и ц я . Таким ч и н о м , елементи числа з р у х о м о ю комою
визначені. Й о г о з н а ч е н н я в з а д а н и х м е ж а х п р е д с т а в л е н о на рис. 6.27.
15 14 ... 10
0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0
П р и п е р е т в о р е н н і к о ж н у ц и ф р у д е с я т к о в о г о числа п е р е т в о р ю ю т ь н а його д в і й к о в и й
4-розрядний еквівалент.
Десяткове число 3 6 9 1
Десяткове число 8 0 7 2
А н а л о г і ч н и м ч и н о м здійснюється п е р е т в о р е н н я й і н ш и х кодів.
max/
min
max/
min
max/
min
max/
min
max/
min
max/
min
плах/
min
Код операції
, Сигнали станів
г
- п е р е т в о р е н н я о д н о р я д н о г о коду в д в і й к о в и й ; п о р і в н я н н я - в и з н а ч е н н я відношення
с т а р ш и н с т в а д в о х слів або їх рівності; п о р о з р я д н е д о п о в н е н н я - ф о р м у в а н н я оберне
ного коду; п о р о з р я д н і логічні м н о ж е н н я і д о д а в а н н я двох слів; п о р о з р я д н е додавання
двох слів за модулем; с у м а двох чисел. В багатьох к о м п ' ю т е р а х цей перелік розширений
більш с к л а д н и м и о п е р а ц і я м и , н а п р и к л а д а р и ф м е т и ч н и м и , в і д н о ш е н н я , о б р о б к и рядків
символів, о б ч и с л е н н я е л е м е н т а р н и х ф у н к ц і й і т. д.
З а л е ж н о від с п о с о б у о б р о б к и о п е р а н д і в А Л П діляться на послідовні, послідовно-
п а р а л е л ь н і та паралельні. В п е р ш о м у в и п а д к у о б р о б к а операндів в А Л П здійснюється
п о с л і д о в н о в часі н а д к о ж н и м р о з р я д о м , тоді як в о с т а н н ь о м у операції здійснюються
п а р а л е л ь н о в часі н а д всіма р о з р я д а м и операндів.
За с п о с о б о м п р е д с т а в л е н н я чисел р о з д і л я ю т ь А Л П з фіксованою та з рухомою ко
мою, п р и ч о м у перші м о ж у т ь бути о р і є н т о в а н і на о б р о б к у цілих або д р о б о в и х чисел.
З а л е ж н о від с п о с о б у в и к о н а н н я о п е р а ц і й А Л П діляться на однотактові, коли задана
о п е р а ц і я в и к о н у є т ь с я за один такт, та багатотактові, коли для в и к о н а н н я операції по
т р і б н о в и к о н а т и д е я к у кількість тактів.
А Л П м о ж у т ь б у т и к о н в е є р н и м и або с к а л я р н и м и . В и к о р и с т а н н я к о н в е є р н о г о прин
ц и п у о б р о б к и д а н и х д о з в о л я є с у т т є в о п і д в и щ и т и п р о д у к т и в н і с т ь А Л П та комп'ютера в
цілому.
За х а р а к т е р о м в и к о р и с т а н н я елементів А Л П діляться на о д н о - та багатоблокові. В
о д н о б л о к о в и х ( б а г а т о ф у н к ц і о н а л ь н и х ) А Л П всі операції над всіма т и п а м и операндів ви
к о н у ю т ь с я т и м и ж в у з л а м и , я к і к о м у т у ю т ь с я в і д п о в і д н и м ч и н о м з а л е ж н о від потрібного
р е ж и м у р о б о т и . В б а г а т о б л о к о в и х А Л П о к р е м і групи о п е р а ц і й над к о ж н и м типом опе
рандів в и к о н у ю т ь с я о к р е м и м и б л о к а м и . Це д о з в о л я є п і д в и щ и т и п р о д у к т и в н і с т ь А Л П за
рахунок п а р а л е л ь н о г о в и к о н а н н я о п е р а ц і й .
ЗРгІ
ЗРг2
РП Рг2
г і1
АЛП
РгЗ
І
Рис. 7.3. Паралельний спосіб обробки даних в АЛП
ЗРгІ
Ргі
1
АЛП Рг2
ЗР1
ЗРг2
а Ь
Рис. 7.4. Послідовно-паралельний спосіб обробки даних в АЛП
• д о д а в а н н я до слова 1 а б о -1 - о п е р а ц і я р а х у н к у ;
• дешифрування п е р е т в о р е н н я слів в сигнали ( о д н о р я д н и й код);
• шифрування п е р е т в о р е н н я о д н о р я д н о г о коду в д в і й к о в и й ;
• порівняння в и з н а ч е н н я в і д н о ш е н н я с т а р ш и н с т в а двох слів або їх рівності
• порозрядне доповнення ф о р м у в а н н я о б е р н е н о г о коду;
• п о р о з р я д н е логічне м н о ж е н н я і д о д а в а н н я д в о х слів
• п о р о з р я д н е д о д а в а н н я двох слів по модулю;
• сума д в о х чисел
Е л е м е н т а р н і операції є о с н о в о ю д л я в и к о н а н н я більш складних операцій процесора.
А л г о р и т м и в и к о н а н н я ц и х о п е р а ц і й п р е д с т а в л я ю т ь с я я к послідовність елементарних,
які н а з и в а ю т ь с я м і к р о к о м а н д а м и , а набір м і к р о к о м а н д м і к р о п р о г р а м а м и Більше того,
в більшості сучасних к о м п ' ю т е р і в елементарні операції в х о д я т ь до складу їх системи ко
манд, не д и в л я ч и с ь на н а я в н і с т ь в складі системи к о м а н д складних операцій, які вима
гають в и к о н а н н я великої кількості елементарних, н а п р и к л а д операцій компресії даних,
ш и ф р у в а н н я д а н и х і т. д. Це п о я с н ю є т ь с я д в о м а п р и ч и н а м и : наявність в складі системи
к о м а н д к о м п ' ю т е р а к о м а н д в и к о н а н н я е л е м е н т а р н и х о п е р а ц і й забезпечує його універ
сальність, і, крім того, ці о п е р а ц і ї в и к о н у ю т ь с я г р а н и ч н о ш в и д к о , що д о з в о л я є досягти
високих тактових частот роботи процесора
Н а основі к о м б і н а ц і й н и х схем д л я в и к о н а н н я в и щ е н а з в а н и х елементарних операцій
с и н т е з у ю т ь с я вузли А Л П д л я в и к о н а н н я с к л а д н и х о п е р а ц і й , щ о буде п о к а з а н о далі
А р и ф м е т и к о л о г і ч н и й п р и с т р і й д л я в и к о н а н н я е л е м е н т а р н и х операцій н а я в н и й в
к о ж н о м у у н і в е р с а л ь н о м у к о м п ' ю т е р і Р о з г л я н е м о побудову с т а н д а р т н о г о 4-розрядного
А Л П , ф у н к ц і о н а л ь н е п о з н а ч е н н я та входи виходи я к о г о п о к а з а н о на рис. 7.5. Інтерфейс
А Л П в к л ю ч а є дві вхідних (А і В) та одну вихідну 4 - р о з р я д н і ш и н и даних. Дані з вхідних
ш и н о б р о б л я ю т ь с я в А Л П в і д п о в і д н о до з н а ч е н н я д в і й к о в о г о коду на входах керування
М та БО-БЗ. Результат о б р о б к и п о с т у п а є на вихідну ш и н у Е
О Сі+4
АШ
Ао
Аі
А2 н
Аз
Во Ро
Ві Р\
В2
Вз ЇЗ
Эо
Бі А=В
Б2
Бз
М
• операції о б р о б к и с и м в о л і в та р я д к і в символів.
244
Операнд А Операнд В
Рг1 Рг2
У1 У2
МП1 МП2
Код операдм
АЛП
РгЗ
Результат
Комутуюча мережа
11
Пристрій для
виконання ОПп
елементарних от ОП2
операцій
І Стани
Комутуюча мережа
Інформаційні виходи
1 1 1 1
^3
BytetWoni
LopoUmt Shifter-Unit
Extraction Urni
=1
Рис. 7.9. Структура АЛП програмованого процесора NIOS 2.0 фірми Altera
а Ь
Рис. 7.10. Структури АЛП процесорів UltraSPARC фірми Sun Microsystems (а)
та РА-8000 фірми Huwlett-Packard (b)
ник чисел з ф і к с о в а н о ю к о м о ю ( M U L , D I V ) , д в а А Л П д л я о б р о б к и д а н и х з р у х о м о ю к о
мою ( F A L U 0 т а F A L U 1 ) . А Л П п р о ц е с о р а U l t r a S P A R C м о ж е в и к о н у в а т и д о ч о т и р ь о х опе
рацій за один такт.
П р о ц е с о р РА-8000 ф і р м и Huwlett-Packard є с у п е р с к а л я р н и м п р о ц е с о р о м з н е в п о -
рядкованим виконанням команд, який може виконувати до чотирьох команд за один
такт. Й о г о А Л П в к л ю ч а є п о д в а н а с т у п н и х б л о к и (длоки, р о з м і щ е н і з в е р х у д о н и з у н а
рис. 7.10b): 6 4 - р о з р я д н е А Л П д л я в и к о н а н н я е л е м е н т а р н и х о п е р а ц і й над ц і л о ч и с л о в и
ми даними, операційний пристрій зсуву та сортування, операційний пристрій множен
ня та накопичення, операційний пристрій ділення та добування квадратного кореня.
Функції п р и с т р о ю д л я в и к о н а н н я е л е м е н т а р н и х о п е р а ц і й р а н і ш е було р о з г л я н у т о .
Розглянемо далі о р г а н і з а ц і ю р о б о т и о п е р а ц і й н и х п р и с т р о ї в .
щ о реалізувати н а д а н и й час н е м о ж л и в о .
До інших недоліків т а б л и ч н о г о методу, які т а к о ж о б м е ж у ю т ь його в и к о р и с т а н н я , на
лежать:
• з р о с т а н н я часу з в е р т а н н я до п а м ' я т і п р и з б і л ь ш е н н і її о б ' є м у ;
• в е л и к и й о б с я г п о п е р е д н і х о б ч и с л е н ь для р о з р а х у н к у вмісту таблиць;
• великі в и т р а т и часу на з а п и с о б ч и с л е н и х значень у П З П .
Т а к и м ч и н о м , в и к о р и с т а н н я т а б л и ч н и х о п е р а ц і й н и х п р и с т р о ї в є доцільним при ма
л и х р о з р я д н о с т я х аргументів.
Код операції ті
Операнд А Операнд в
С1
РґІ Рг2
С2
• І , У1 У2
МП1 МП2 Пристрій
керування
Код
Багатофункціональна мікрооперацїі
комбінаційна схема
СЗ
РгЗ
У, У, г„г,
а) Ь)
Рис. 7.14. Перехід від просторового графа алгоритму до часового
254
П р о с т о р о в и й г р а ф а л г о р и т м у с к л а д а є т ь с я з ф у н к ц і о н а л ь н и х операторів, я к и м від
повідають о б ч и с л ю в а л ь н і операції, та дуг, я к и м и здійснюється передача даних для об
р о б к и . Ч а с о в и й г р а ф а л г о р и т м у складається з однієї в е р ш и н и , я к а послідовно виконує
операції п р о с т о р о в о г о графу. Д а н и й г р а ф х а р а к т е р и з у є т ь с я наявністю вхідних та вихід
н и х вузлів, які є н е з а л е ж н и м и входами (виходами) в е р ш и н и графу. П о д а в а н н я вхідних
д а н и х та видача в и х і д н и х д а н и х з д і й с н ю є т ь с я у певні п р о м і ж к и часу (такти). Вхідні дані
Х та Х п о с т у п а ю т ь на 1 та 2 такті, а видача в и х і д н и х результатів У та У відбувається на
1 2 ; 2
Вхідні дані
Рг Рг
Вихідні дані
ФО - функціональний оператор
КС - комбінаційна схема
К о ж н о м у ф у н к ц і о н а л ь н о м у о п е р а т о р у а л г о р и т м у ФО п о с т а в л е н а у відповідність
комбінаційна схема КС, яка його в и к о н у є . На вході та виході о п е р а ц і й н о г о п р и с т р о ю
включені регістри.
Часова затримка в однотактовому операційному пристрої Т визначається сумою за о п
і І
Цей ш л я х (їх м о ж е бути декілька) н а з и в а є т ь с я к р и т и ч н и м ш л я х о м . О б ч и с л е н н я часу
виконання а л г о р и т м у в о д н о т а к т о в о м у о п е р а ц і й н о м у п р и с т р о ї з в о д и т ь с я , т а к и м ч и н о м ,
до з н а х о д ж е н н я к р и т и ч н о г о шляху.
Затрати о б л а д н а н н я \ У н а о д н о т а к т о в и й о п е р а ц і й н и й п р и с т р і й в и з н а ч а ю т ь с я су
0 П
і
а т а к о ж на вхідні та вихідні регістри.
а Ь
Я к м и вже в и я с н и л и , п о т о к о в и м г р а ф о м а л г о р и т м у н а з и в а ю т ь таке п р е д с т а в л е н н я
графа, яке передбачає р о з д і л е н н я всіх його в е р ш и н по ярусах т а к и м ч и н о м , що в і-му
256
КРД КРК 1
1-І
КС 1
КРД 2
КС 2
КС т
КРД т 1
і і І —
У1 Результат
31>г1
ЗРгЗ
Пристрій Сі- І
керування
С і
РгІ Рг2
РгЗ
О д н о т а к т о в и й с у м а т о р будується ш л я х о м а п а р а т н о г о в і д о б р а ж е н н я г р а ф а а л г о р и т
м у д о д а в а н н я двійкових чисел, т о б т о ш л я х о м з а м і н и ф у н к ц і о н а л ь н и х операторів а л г о
р и т м у в і д п о в і д н и м и к о м б і н а ц і й н и м и схемами.
Н а й п р о с т і ш и м з о д н о т а к т о в и х суматорів є о д н о т а к т о в и й с у м а т о р , я к и й а п а р а т н о ві
д о б р а ж а є г р а ф а л г о р и т м у д о д а в а н н я д в і й к о в и х чисел з п о с л і д о в н и м п е р е н о с о м і відпо
відно н а з и в а є т ь с я с у м а т о р о м з п о с л і д о в н и м п е р е н о с о м . С х е м а ц ь о г о суматора п о в т о р ю є
граф відповідного а л г о р и т м у п - р о з р я д н о г о д о д а в а н н я д в і й к о в и х чисел з п о с л і д о в н и м
переносом (рис. 4.5). Недоліком с у м а т о р а з п о с л і д о в н и м п е р е н о с о м є значна з а т р и м к а
при ф о р м у в а н н і переносу, о с к і л ь к и д л я о т р и м а н н я о с т а н н ь о г о р о з р я д у суми п е р е н о с
повинен бути с ф о р м о в а н и м всіма п о п е р е д н і м и о д н о р о з р я д н и м и с у м а т о р а м и .
Для з м е н ш е н н я кількості о п е р а ц і й , які з н а х о д я т ь с я на к р и т и ч н о м у шляху, с т в о р е н о
ряд алгоритмів д о д а в а н н я , в я к и х с к о р о ч е н о кількість п о с л і д о в н и х о п е р а ц і й при ф о р м у
ванні переносу та відповідних с т р у к т у р суматорів. Це, з о к р е м а , с у м а т о р и з н а с к р і з н и м ,
частково г р у п о в и м і г р у п о в и м п е р е н о с а м и , в я к и х з д і й с н ю є т ь с я п а р а л е л ь н е ф о р м у в а н
ня переносів для всіх р о з р я д і в , а б о для груп р о з р я д і в . Д о с и т ь п р о с т о ю та е ф е к т и в н о ю є
реалізація в суматорі а л г о р и т м у за м е т о д о м в и б о р у переносу.
О с к і л ь к и п и т а н н ю п о б у д о в и е ф е к т и в н и х а л г о р и т м і в д о д а в а н н я д в і й к о в и х чисел
приділено д о с т а т н ь о уваги в літературі, к о р о т к о р о з г л я н е м о о с т а н н і й з н а з в а н и х в и щ е
підходів, т о б т о реалізацію а л г о р и т м у за м е т о д о м в и б о р у переносу. Р о з і р в а в ш и в довіль
ному місці тракт п р о х о д ж е н н я п е р е н о с у та с ф о р м у в а в ш и два т р а к т и його п о д а л ь ш о г о
п р о х о д ж е н н я із з н а ч е н н я м вхідного п е р е н о с у 0 та 1 відповідно, з п о с л і д у ю ч и м в и б о р о м
результату за допомогою м у л ь т и п л е к с о р а за з н а ч е н н я м р е а л ь н о г о переносу в місці р о з
риву, о т р и м а є м о п о к а з а н у на рис. 7.20 схему суматора.
АО...АЗ В0...ВЗ
і СМ2
смз
СМ1 СО
34...37 БО...ЗЗ
п-1 І 0
Ні
і- 1
см
п-1+ІодМ п-1 , 0
Рг2
Алгоритм м н о ж е н н я д в і й к о в и х чисел, я к и й р е а л і з у є м е т о д м н о ж е н н я п о ч и н а ю ч и з
м о л о д ш и х р о з р я д і в м н о ж н и к а з з с у в о м суми ч а с т к о в и х д о б у т к і в в п р а в о , о п и с у є т ь с я на
с т у п н и м ітераційним в и р а з о м :
_(г +х-г )
і (І)
дег =0;
о і = 0,и-1; 2 =2 = ХХ.
п
Тут в ж и т о наступні п о з н а ч е н н я : X, У, 7. - м н о ж е н е , м н о ж н и к і д о б у т о к в і д п о в і д н о , 2.
- сума часткових добутків на і-му етапі, У(і) - і-й р о з р я д м н о ж н и к а , п - кількість р о з
рядів операндів без в р а х у в а н н я з н а к о в о г о р о з р я д у .
В к о ж н о м у ц и к л і м н о ж е н е додається до с у м и ч а с т к о в и х д о б у т к і в , я к щ о У. = 0, і не
додається, я к щ о У. = 0, після чого сума ч а с т к о в и х д о б у т к і в м н о ж и т ь с я на 2 , т о б т о зсу і
так
С Кінець
Приклад:
Необхідно п о м н о ж и т и два числа (без з н а к о в о г о р о з р я д у ) :
X = 0101 0101; У = 01101011;
Хід о п е р а ц і й п р о і л ю с т р о в а н о в табл. 7.3:
Таблиця 7.3
і г\ У(У(0) Х.У(І) 2і+ Х.У(і) 2-,
0 0000 0000 0000 0000 ОНО 1011 0101 0101 0101 0101 0000 0000 0010 1010 1000 0000
1 0010 1010 1000 0000 ОНО 1011 0101 0101 0111 1111 1000 0000 ООП 1111 1100 0000
2 ООП 1111 1100 0000 ОНО 1011 0000 0000 ООП 1111 1100 0000 0001 1111 1110 0000
3 0001 1111 1110 0000 ОНО 1011 0101 0101 0111 0100 11100000 ООП 1010 0111 0000
4 ООП 1010 0111 0000 ОНО 1011 0000 0000 ООП 10100111 0000 0001 1101 ООП 1000
5 0001 1101 ООП 1000 ОНО 1011 0101 0101 0111 0010 0011 1000 ООП 1001 0001 1100
6 ООП 1001 0001 1100 ОНО 1011 0101 0101 1000 1110 0001 1100 0100 0111 0000 1110
7 0100 0111 0000 1110 ОНО 1011 0000 0000 0100 0111 0000 1110 0010 0011 1000 0111
смчд •*—
і —•» зсув
Рг м н о ж е н о г о
Ь с , = 2 1 ,
деХ =Х;
0 2 =0;
0 / = 0,я-1; 2 =2 = ХУ.
П
і <с У І
г =глху
м
х -гх
м І
Приклад:
Необхідно п о м н о ж и т и два числа (без з н а к о в о г о р о з р я д у ) :
Х=0101 0101; ¥ = 0 1 1 0 1 0 1 1 .
Хід операцій п р о і л ю с т р о в а н о в табл. 7.4.
264
Таблиця 7.4
і 7Л У (У(і)) X гі+і= гі+х.у(і)
0 0000 0000 0000 0000 0110 1011 0000 0000 0101 0101 0000 0000 0101 0101
1 0000 0000 0101 0101 0110 1011 0000 0000 1010 1010 0000 0000 1111 1111
2 0000 0000 1111 1111 01101011 0000 0001 0101 0100 0000 0000 1111 1111
3 0000 0000 1111 1111 0110 1011 0000 0010 1010 1000 0000 0011 1010 0111
4 0000 0011 1010 0111 о н о 1011 0000 0101 0101 0000 0000 0011 10100111
5 0000 0011 1010 0111 0110 1011 0000 1010 1010 0000 0000 1110 0100 0111
6 0000 1110 0100 0111 0110 1011 0001 0101 0100 0000 00100011 10000111
7 0010 0011 1000 0111 0110 1011 0010 1010 1000 0000 0010 0011 1000 0111
СМЧД
Рг множеного
Тут С М Ч Д - с у м а т о р ч а с т к о в и х д о б у т к і в . М н о ж н и к з б е р і г а є т ь с я в регістрі м н о ж н и
ка, а м н о ж е н е - в регістрі м н о ж е н о г о . П е р ш и й з ц и х регістрів є п - р о з р я д н и м , а другий .
- 2 п - р о з р я д н и м . С у м а т о р ч а с т к о в и х д о б у т к і в є н а к о п и ч у в а л ь н и м с у м а т о р о м , т о б т о на
й о г о виході є регістр з о б е р н е н и м з в ' я з к о м як це п о к а з а н о на рис. 7.22, я к и й т а к о ж є
2 п - р о з р я д н и м . Перед п о ч а т к о м в и к о н а н н я операції м н о ж е н е з н а х о д и т ь с я в правій час
тині регістра м н о ж е н о г о . В к о ж н о м у такті вміст р е г і с т р а м н о ж е н о г о з с у в а є т ь с я на один
р о з р я д в л і в о в с т о р о н у с т а р ш и х р о з р я д і в , а вміст регістра м н о ж н и к а в к о ж н о м у такті
з с у в а є т ь с я на о д и н р о з р я д в п р а в о в с т о р о н у м о л о д ш и х р о з р я д і в . Р о з р я д в к р а й н ь о м у
п р а в о м у тригері регістра м н о ж н и к а в и п а д а є , а на й о г о місце п о м і щ а є т ь с я н а с т у п н и й
р о з р я д м н о ж н и к а , я к и й керує о п е р а ц і є ю С М Ч Д , т о б т о в к а з у є чи є в д а н о м у такті дода
в а н н я , чи й о г о немає. В п о р і в н я н н і з п о п е р е д н ь о ю с т р у к т у р о ю т у т регістр м н о ж е н о г о та
С М Ч Д обов'язково мають бути 2п-розрядними.
деХ,=Х; г =0;
0 і=0,и-1; 2=2 = ХУ.
265
Тут в ж и т о н а с т у п н і п о з н а ч е н н я : X, У, Ъ - м н о ж е н е , м н о ж н и к і д о б у т о к в і д п о в і д н о ,
7л - сума ч а с т к о в и х д о б у т к і в на і-му етапі, У ( п - і - І ) - ( п - і - І ) - й р о з р я д м н о ж н и к а , п - кіль
кість р о з р я д і в о п е р а н д і в без в р а х у в а н н я з н а к о в о г о р о з р я д у .
А л г о р и т м м о ж н а п р е д с т а в и т и блок-схемою, п о к а з а н о ю на рис. 7.27.
1
/=;+і
^—<^ і =
так
С
Кінець
Рг множника
Р г множеного
2 М - 2 • 2 + X • У(„_,_,),
І
дег =0;
о / = 0,/і-1; г . ^ ^ І Т .
Тут в ж и т о н а с т у п н і п о з н а ч е н н я : X, У, Ъ - м н о ж е н е , м н о ж н и к і д о б у т о к відповідно,
7. - сума ч а с т к о в и х д о б у т к і в на і-му етапі, У . + 1 ) - ( п - і - І ) - й р о з р я д м н о ж н и к а , п - кіль
кість р о з р я д і в о п е р а н д і в без в р а х у в а н н я з н а к о в о г о р о з р я д у .
А л г о р и т м м о ж н а п р е д с т а в и т и блок-схемою, п о к а з а н о ю на рис. 7.29.
та*
2 =22.
М
і=і+1
С
Рис. 7.29. Блок-схема алгоритму множення
Кінець
четвертим методом
Приклад:
М н о ж и м о два числа (без з н а к о в о г о р о з р я д у ) :
Х = 0 1 0 1 0 1 0 1 ; У=01101011.
Хід о п е р а ц і й п р о і л ю с т р о в а н о в табл. 7.6.
267
Таблиця 7.6
і гі У(У(п-і-1)) 2.гі гі+і=2.гі+ ХІ+І-У(П-І-І)
0 0000 0000 0000 0000 0110 1011 0000 0000 0000 0000 0000 0000 0000 0000
1 0000 0000 0000 0000 0110 1011 0000 0000 0000 0000 0000 0000 0101 0101
2 0000 0000 0101 0101 0110 1011 0000 0000 1010 1010 0000 0000 1111 1111
3 0000 0000 1111 1111 0110 1011 0000 0001 1111 1110 0000 0001 1111 1110
4 0000 0001 1111 1110 0110 1011 0000 0011 1111 1100 0000 0100 0101 0001
5 0000 0100 0101 0001 0110 1011 0000 1000 1010 0010 0000 1000 1010 0010
6 0000 1000 1010 0010 0110 1011 0001 0001 0100 0100 0001 0001 1001 1001
7 0001 0001 1001 1001 0110 1011 00100011 0011 0010 0010 0011 1000 0111
СР Рг множника
СМЧД
і1
Рг множеного
Тут С М Ч Д - с у м а т о р ч а с т к о в и х д о б у т к і в . М н о ж н и к з б е р і г а є т ь с я в регістрі м н о ж н и
ка, а м н о ж е н е - в регістрі м н о ж е н о г о . П е р ш и й з ц и х р е г і с т р і в є п - р о з р я д н и м , а д р у г и й
- 2 п - р о з р я д н и м . С у м а т о р ч а с т к о в и х д о б у т к і в є н а к о п и ч у в а л ь н и м с у м а т о р о м , т о б т о на
його виході є р е г і с т р з о б е р н е н и м з в ' я з к о м як це п о к а з а н о на р и с . 7.22, я к и й т а к о ж є
2 п - р о з р я д н и м . П е р е д п о ч а т к о м в и к о н а н н я о п е р а ц і ї м н о ж е н е з н а х о д и т ь с я в лівій час
тині регістра м н о ж е н о г о . В к о ж н о м у такті вміст регістра м н о ж е н о г о та вміст С М Ч Д зсу
ваються на один р о з р я д в п р а в о в с т о р о н у м о л о д ш и х р о з р я д і в . Р о з р я д в к р а й н ь о м у л і в о
му тригері регістра м н о ж н и к а в и п а д а є , а на його місце п о м і щ а є т ь с я н а с т у п н и й р о з р я д
м н о ж н и к а , я к и й керує о п е р а ц і є ю С М Ч Д , т о б т о в к а з у є чи є в д а н о м у такті д о д а в а н н я , чи
його немає. В п о р і в н я н н і з б а з о в о ю с т р у к т у р о ю А О П м н о ж е н н я п е р ш и м м е т о д о м тут,
як в базовій с т р у к т у р і А О П м н о ж е н н я д р у г и м м е т о д о м , регістр м н о ж е н о г о та С М Ч Д
о б о в ' я з к о в о м а ю т ь бути 2 п - р о з р я д н и м и .
В усіх ч о т и р ь о х р о з г л я н у т и х с т р у к т у р а х А О П м н о ж е н н я д в і й к о в и х чисел час в и к о
н а н н я операції І = п і д е І - з а т р и м к а С М Ч Д .
ш с м
0 1 Рг множника п
00 - додавання відсутнє,
1і СА 01 - СМЧД := СМЧД + X
і 10 - СМЧД :=СМЧД+ 2Х
смчд 11 - СМЧД :=СМЧД+ ЗХ
т
0 Рг множеного п
зсув
П о д і б н и м ч и н о м м о ж е б у т и р е а л і з о в а н и й п р и с т р і й м н о ж е н н я з о д н о ч а с н и м аналі
з о м д в о х р о з р я д і в м н о ж н и к а з з а с т о с у в а н н я м всіх ч о т и р ь о х в и щ е р о з г л я н у т и х методів
м н о ж е н н я . П р и м н о ж е н н і чисел, п р е д с т а в л е н и х в д о п о в н я л ь н о м у коді, доцільно вико
р и с т о в у в а т и п р и с т р і й , я к и й р е а л і з у є а л г о р и т м Бута, р о з г л я н у т и й в розділі 4.
Ч а с т о з а с т о с о в у ю т ь с я а с и н х р о н н і п р и с т р о ї м н о ж е н н я з о д н о ч а с н и м аналізом всіх
р о з р я д і в м н о ж н и к а . В т а к и х п р и с т р о я х кількість тактів в и з н а ч а є т ь с я кількістю одиниць
в множнику.
Приклад:
Х = 101001110001
¥ = 110000111110.
На п о з и ц і я х нулів у м н о ж н и к у У д о д а в а н н я не в и к о н у є т ь с я , л и ш е зсув на відповідну
кількість р о з р я д і в .
М н о ж н и к У м о ж н а п р е д с т а в и т и в вигляді У = 1100010000(-1)0. Тоді взамін 7 додавань
необхідно в и к о н а т и 3 д о д а в а н н я і одне в і д н і м а н н я . О с о б л и в о е ф е к т и в н и й цей метод при
виконанні множення на константи.
П р и побудові к о н в е є р н о г о о п е р а ц і й н о г о п р и с т р о ю м н о ж е н н я д в і й к о в и х чисел з
фіксованою комою к о ж н о м у ф у н к ц і о н а л ь н о м у о п е р а т о р у а л г о р и т м у с т а в и т ь с я у від
повідність к о м б і н а ц і й н а схема, я к а його в и к о н у є , і, крім того, комбінаційні схеми, які
реалізують ф у н к ц і о н а л ь н і о п е р а т о р и ярусів п о т о к о в о г о г р а ф а алгоритму, р о з д і л я ю т ь с я
к о н в е є р н и м и регістрами. А л г о р и т м м н о ж е н н я в и к о н у є т ь с я над в х і д н и м и д а н и м и п р и 'їх
однократному п р о х о д ж е н н і через к о н в е є р н и й о п е р а ц і й н и й п р и с т р і й .
Я к щ о в и б р а т и д л я реалізації г р а ф а л г о р и т м у п о с л і д о в н о г о п о п а р н о г о д о д а в а н н я
часткових добутків, о т р и м а н и х п о ч и н а ю ч и з а н а л і з у м о л о д ш и х р о з р я д і в м н о ж н и к а ,
який п р е д с т а в л е н и й на рис. 4.8, то с т р у к т у р а і-го я р у с а к о н в е є р н о г о о п е р а ц і й н о г о п р и
строю м н о ж е н н я д в і й к о в и х чисел з ф і к с о в а н о ю к о м о ю буде м а т и в и г л я д , п о к а з а н и й
рис. 7.33.
270
т і
і і і
1- й ярус
Ргг
1* і* і у
2- Й ярус
3- й ярус
І* I х
1^
а) Ь)
Рис. 7.33. Структура і-го яруса (а) та конвеєрного операційного пристрою (Ь)
множення двійкових чисел з фіксованою комою
МЛІ
Зсув
Рі н, Рг О,
т
ї ї
Рис. 7.34. Структура багатотактового АОП ділення двійкових чисел з відновленням залишку
271
Рг V
Рис. 7.35. Структура багатотактового АОП ділення двійкових чисел без відновлення залишку
Рг К, Рг
Віднімач
Я!
N
1-І ' Ом
Рис. 7.36. і-й ярус конвеєрного операційного пристрою ділення двійкових чисел
з фіксованою комою за алгоритмом з відновленням залишку
І і І і
ч
1-Й ярус
— т і , іу -іо,
1-і о,
2-й яруг
ч 3-Й ярус |
2 ч | а |У | а,
П-Й яруг
ч
Ь)
Рис. 7.37. Структура і-го яруса (а) та конвеєрного операційного пристрою (Ь) ділення
двійкових чисел з фіксованою комою за алгоритмом без відновлення залишку
273
С , а т а к о ж результатів п р о м і ж н и х о б ч и с л е н ь X . , Y , Z..
С 3 1 , С 3 2 - схеми зсуву на і р о з р я д і в (і=1,2,...,п);
СВ1, СВ2, СВЗ - суматори-віднімачі;
П З П - п о с т і й н и й з а п а м ' я т о в у ю ч и й п р и с т р і й д л я з б е р і г а н н я констант;
МП - м у л ь т и п л е к с о р .
Зн PrY
18 Зам. 371.
274
І І ї ї І 1 1
і • й ярус
1. _ __ Н Е Е
гУ>--5-
ПЗП
1 131
т: и- й ярус
Рис. 7.39. Структура пристрою для виконання однієї ітерації алгоритму "цифра за цифрою"
275
П а р а м е т р р у п р а в л я є подачею на с у м а т о р - в і д н і м а ч СВЗ к о н с т а н т С. П а р а м е т р {.
управляє с у м а т о р а м и - в і д н і м а ч а м и , п о с т у п а ю ч и із з н а к о в о г о р о з р я д у У. а б о 7. через ко
мутатор КМ 1 з а л е ж н о від коду операції Ы.
В к л ю ч и в ш и послідовно п т а к и х п р и с т р о ї в , де п - кількість ітерацій, о д е р ж и м о кон
веєрний о п е р а ц і й н и й п р и с т р і й в и к о н а н н я а л г о р и т м у " ц и ф р а за ц и ф р о ю " (рис. 7.39Ь).
Якщо з описаного п р и с т р о ю в и д а л и т и к о н в е є р н і регістри, о т р и м а є м о о д н о т а к т о в и й
операційний пристрій в и к о н а н н я а л г о р и т м у " ц и ф р а з а цифрою".
Як відомо, ф о р м а т з р у х о м о ю к о м о ю передбачає н а я в н і с т ь д в о х ч а с т и н ч и с л а - п о
рядку (Р) та м а н т и с и (М). Ч и с л а п р е д с т а в л я ю т ь с я у вигляді X = М2 , У = М 2 . ?х
у
Ру
П р и в и к о н а н н і д о д а в а н н я та в і д н і м а н н я п о р я д к и о п е р а н д і в в и р і в н ю ю т ь с я , а м а н т и с и
додаються. П о р я д к и в и р і в н ю ю т ь с я з б і л ь ш е н н я м п о р я д к у м е н ш о г о о п е р а н д у д о з н а ч е н н я
порядку більшого операнду. Цей п о р я д о к є п о р я д к о м результату. Щ о б п р и в и р і в н ю в а н н і
порядків в е л и ч и н а о п е р а н д а не з м і н ю в а л а с я , й о г о м а н т и с а о д н о ч а с н о з м е н ш у є т ь с я . Піс
л я в и к о н а н н я в и р і в н ю в а н н я п о р я д к і в в и н и к а ю т ь додаткові м о л о д ш і р о з р я д и м а н т и с и ,
які до, або після д о д а в а н н я , в і д к и д а ю т ь с я або з а о к р у г л ю ю т ь с я .
Блок-схема д о д а в а н н я та в і д н і м а н н я д в і й к о в и х чисел з р у х о м о ю к о м о ю н а в е д е н а
на рис. 7.40.
Приймання і аналіз
даних
Вирівнювання
порядків та зсув
мантис
Зникнення мантиси
при зсуві або переповнення
сума Додавання або віднімання при додаванні порядків
рівна 0 мантис
Нормалізація
результату
Кінець
Детальніший р о з п и с а л г о р и т м у д о д а в а н н я та в і д н і м а н н я д в і й к о в и х чисел з р у х о м о ю
комою наведено н и ж ч е , а с т р у к т у р а о д н о т а к т о в о г о о п е р а ц і й н о г о п р и с т р о ю д о д а в а н н я
та віднімання двійкових чисел з р у х о м о ю к о м о ю наведена на рис. 7.41. Послідовність
кроків а л г о р и т м у та відповідні їм вузли п р и с т р о ю є н а с т у п н и м и :
276
і!
Ру Му
Віднімач
Мантиса Мантиса
меншого числа більшого числа
Схема зсуву
Величина зсуву праворуч
Суматор
Схема визначення
кількості нулів
в старших розрядах
Схема зсуву
Віднімач ліворуч
Зкоригований порядок
Нормалізавана мантиса
I Результат
Ъ = Ш = М х 2 Р х
/ М у 2 р
У = М х /М у 2 ^
і
Иишаченпя т а к а
добутку
Кпіначення т а к а
частки
Перевірка Переповнення,або
символів '>нпі її співмножників = 0 Перевірка на 0
ділнме рінне нулю
ні 0 тільника і ділим»! и
і і ІІереікіцнеііня
Додавання МИ ожени я Вирівнювання ді.ти
иорялкш маніне м о ю ( М^О* М, )
1
1 1
} ІирМП 1! 1.1 і ЦЯ
Вїлнімання Ділення
порядків мантис
переповнені] II
т
КІНІ'ЦЬ
Ь
Рис. 7.42. Блок-схеми виконання операцій множення а) та ділення Ь) чисел з рухомою комою
1-
Рг
Х2
ПМ1 ПМ4
Суматор [ | Віднімач
П р и н ц и п и побудови т а б л и ч н о - а л г о р и т м і ч н и х о п е р а ц і й н и х п р и с т р о ї в з в и к о р и с т а н
н я м загального підходу п р и обчисленні п о п р а в к и р о з г л я н е м о н а п р и к л а д і о б ч и с л е н н я
елементарних ф у н к ц і й з в и к о р и с т а н н я м р а ц і о н а л ь н о г о н а б л и ж е н н я .
Нехай о б р о б ц і п і д л я г а ю т ь н о р м а л і з о в а н і числа, представлені у ф о р м а т і з фіксованою
комою. О б ч и с л е н н я е л е м е н т а р н и х ф у н к ц і й будемо р о б и т и на основі м е т о д у сегментної
апроксимації, в і д п о в і д н о до я к о г о д і а п а з о н з м і н и а р г у м е н т у [0,5; 1] р о з б и в а є т ь с я на ін
тервали з н а с т у п н и м н а б л и ж е н н я м ф у н к ц і ї на к о ж н і м і н т е р в а л і за д о п о м о г о ю в и р а з у
У = Б(Х) = А + Ш (X + В) . К о н с т а н т и А та В в и б и р а ю т ь с я з у м о в и мінімізації а б с о л ю т н о ї
2
Суматор
Квадратор
і г
хема зсуву
Суматор
функцій к о н с т а н т и м а ю т ь різні з н а ч е н н я . В к л ю ч е н н я к о н в е є р а к о м а н д д о з в о л я є о б ч и с
лювати на т а к о м у п р и с т р о ї о д н о ч а с н о к ф у н к ц і ї від к даних.
280
7. 7 7. Література до розділу 7
1. Благовещенский Ю. В., Теслер Г. С. Вычисление элементарных функций на ЭВМ. - К., "Тех
ника", 1977. - 208 с.
281
Пристрій/ керу&анш>
8.1. Функції та методи побудови пристрою керування
Пристрій к е р у в а н н я в и р о б л я є послідовність сигналів, необхідних для в и к о н а н н я к о
манди, та послідовності к о м а н д , т о б т о п р о г р а м и . К о м а н д а в к о м п ' ю т е р і в и к о н у є т ь с я за
один або за декілька тактів, в к о ж н о м у із я к и х в и к о н у є т ь с я одна а б о декілька м і к р о о п е -
рацій. Кожна м і к р о о п е р а ц і я п р е д с т а в л я є с о б о ю д е я к у е л е м е н т а р н у дію передачі або пе
р е т в о р е н н я інформації, я к а ініціюється п о с т у п л е н н я м керуючого сигналу (мікронаказу)
на вхід к е р у в а н н я відповідного п р и с т р о ю . П р и к л а д о м м о ж е б у т и к е р у ю ч и й сигнал, я к и й
в с т а н о в л ю є або о ч и щ у є п р а п о р е ц ь стану, к е р у ю ч и й сигнал з а п и с у до регістра, керую
чий код на вході м у л ь т и п л е к с о р а і т. д. Для реалізації к о м а н д и необхідно на відповідні
керуючі входи подати р о з п о д і л е н у в часі послідовність к е р у ю ч и х сигналів.
П р и с т р і й к е р у в а н н я є о д н и м з вузлів п р о ц е с о р а . Як п р и к л а д на рис. 8.1 п о к а з а н а
взаємодія в процесорі м і ж п р и с т р о є м к е р у в а н н я та а р и ф м е т и к о - л о г і ч н и м п р и с т р о є м і
регістровою пам'яттю.
сигнали
керування
Пристрій керування
Арифметико-логічний
пристрій
Дешифратор
Дешифратор коду
тактів
операції
^ К о д оп
Лічильник тактів
Окрім наведених в и щ е к о м п о н е н т і в п р и с т р о ю к е р у в а н н я , д о й о г о с к л а д у в х о д и т ь
контролер послідовності сигналів к е р у в а н н я , я к и й о т р и м у є тактові імпульси з блоку
синхроімпульсів, а т а к о ж код р е ж и м у р о б о т и к о м п ' ю т е р а . Він м а є два о к р е м и х р е ж и м и
роботи: з в и ч а й н и й р е ж и м т а р е ж и м запуску к о м п ' ю т е р а . К о н т р о л е р послідовності сиг
налів к е р у в а н н я є я д р о м п р и с т р о ю к е р у в а н н я . П р и н ц и п и його р о б о т и будуть наведені
далі при розгляді п р и с т р о ю м і к р о п р о г р а м н о г о к е р у в а н н я .
т о б т о я = 8 Щ Хі);
г
^ Х = {х,,х ,...,х }^
2 т Y={y„y ,.. y )
2 > l
S-{s,,s ....,s„}
2
як п о ч а т к о в и й стан, з я к о г о а в т о м а т з а в ж д и п о ч и н а є р о б о т у .
О т ж е , на а б с т р а к т н о м у рівні ф у н к ц і о н у в а н н я ц и ф р о в и й автомат розглядається як
п е р е т в о р ю в а ч вхідних слів у вихідні слова, які с к л а д а ю т ь с я з букв вхідного і вихідного
алфавіту. В н у т р і ш н і с т а н и а в т о м а т у - це і н ф о р м а ц і я п р о м и н у л е (передісторію) розви-.
тку п р о ц е с у к е р у в а н н я в часі. Вона д о з в о л я є в и к о р и с т а т и час як я в н у вхідну змінну. По
т р і б н о в і д з н а ч и т и , що а б с т р а к т н и й а в т о м а т ф у н к ц і о н у є в д и с к р е т н о м у часі, а переходи
з одного стану в і н ш и й п р о в о д я т ь с я м и т т є в о .
З а л е ж н о від способу г е н е р у в а н н я з н а ч е н ь вихідних сигналів р о з р і з н я ю т ь три типи
автоматів: Мілі, М у р а , С-автомат.
А в т о м а т Мілі о п и с у є т ь с я н а с т у п н о ю системою р і в н я н ь :
y(t) = X(x(t) s(t))
s(t + l) = b(x(t) s(t)).
А в т о м а т Мілі м о ж н а п р е д с т а в и т и у вигляді с т р у к т у р н о ї схеми (рис. 8.4), вузли якої
п р е д с т а в л я ю т ь відповідно ф у н к ц і ю виходів X , ф у н к ц і ю переходів 5 і п а м ' я т ь станів S,
та з'єднані м і ж с о б о ю в і д п о в і д н и м и з в ' я з к а м и . З н а ч е н н я на його виході в м о м е н т часу t
в и з н а ч а є т ь с я з н а ч е н н я м в д а н и й м о м е н т на його вході та його станом, а т а к о ж функцією
виходів. С т а н а в т о м а т у Мілі в м о м е н т ч а с у t + І в и з н а ч а є т ь с я з н а ч е н н я м в д а н и й момент
на його вході та й о г о с т а н о м , а т а к о ж ф у н к ц і є ю переходів.
. x(t) .
y(t)
X
S(t + 1)
S(t)
Автомат М у р а о п и с у є т ь с я н а с т у п н о ю с и с т е м о ю р і в н я н ь :
y(t) = X(s(t))
s(/+l)=8(x(0 s(t)).
А в т о м а т М у р а т а к о ж м о ж н а п р е д с т а в и т и у вигляді с т р у к т у р н о ї схеми (рис. 8.5), вуз
ли якої п р е д с т а в л я ю т ь відповідно ф у н к ц і ю виходів X , ф у н к ц і ю переходів 5 і п а м ' я т ь
станів S, та з'єднані м і ж собою в і д п о в і д н и м и з в ' я з к а м и .
x(t) y(t)
S(t + 1)
S(t)
Уі (() = хМо)
s(t + l) = b(x(Q s(t))
У0>
2
SCt н- П
S(t)
51 Б1 Б1
Э2 БЗ Б4 Б2
БЗ ЭЗ Й1 Б4
Б4 БЗ Б1 Э2
Таблиця 8.2
\Х(1) Х1 Х2 хз
Э1 У1 У1 У2
Э2 УЗ УЗ УЗ
ЭЗ У2 У1 УЗ
Б4 У2 У1 УЗ
З п е р ш о г о р я д к а табл. 8.2 в и д н о , що п е р е б у в а ю ч и в стані 51 п р и п о с т у п л е н н і вхідного
сигналу XI на виході а в т о м а т у буде с ф о р м о в а н о сигнал У 1 , так само, як і п р и п о с т у п л е н
ні вхідного сигналу Х2, а п р и п о с т у п л е н н і вхідного сигналу ХЗ на виході а в т о м а т у буде
с ф о р м о в а н о сигнал У2. П о д і б н и м ч и н о м м о ж н а п р о в е с т и аналіз і н ш и х р я д к і в таблиці.
В таблиці виходів повністю в и з н а ч е н о г о а в т о м а т у М у р а к о ж н о м у с т а н у а в т о м а т у
призначається відповідний в и х і д н и й сигнал у . П р и к л а д повністю в и з н а ч е н о г о а в т о м а т у
Мура з а л ф а в і т о м станів 5 = /5,, 5 , 5 ,в } та в и х і д н и м а л ф а в і т о м У = {у,, у? ] наведено в
2 3 4 Уъ
табл. 8.3.
Таблиця 8.3
щ У(г)
Э1 У1
Э2 У1
БЗ У2
Б4 УЗ
З табл. 8.3 в и д н о , що с т а н у Б1 та 52 а в т о м а т у відповідає в и х і д н и й сигнал У 1 , стану БЗ
відповідає в и х і д н и й сигнал У2, а с т а н у відцовідає в и х і д н и й сигнал УЗ.
С-автомат буде з а д а в а т и с я д в о м а т а б л и ц я м и виходів, п е р ш а з я к и х відповідає табли
ці виходів а в т о м а т у Мілі, а друга - таблиці а в т о м а т у Мура.
На п р а к т и ц і таблиці переходів і таблиці виходів часто с у м і щ а ю т ь с я в одну с у м і щ е н у
таблицю. Табл. 8.4 є с у м і щ е н о ю т а б л и ц е ю а в т о м а т у Мілі д л я в и щ е н а в е д е н о г о прикладу.
Таблиця 8.4
\ Х(г)
8(1Г\ Х1 Х2 ХЗ
Э1/У1 82/У1 31/У2
Э2 БЗ/УЗ 54/УЗ эг/уз
БЗ Б3/У2 БІ/УІ 34/УЗ
Э4 Э3/У2 Э1/У1 Э2/У3
З першого рядка табл. 8.4 в и д н о , що п е р е б у в а ю ч и в стані Б1 п р и п о с т у п л е н н і вхідно
го сигналу XI автомат з а л и ш и т ь с я в т о м у ж стані, а на виході а в т о м а т у буде с ф о р м о в а н о
сигнал У 1 , при п о с т у п л е н н і вхідного с и г н а л у Х2 а в т о м а т п е р е й д е в стан 82, а на виході
автомату буде с ф о р м о в а н о сигнал У 1 , п р и п о с т у п л е н н і вхідного сигналу ХЗ а в т о м а т за
л и ш и т ь с я в тому ж стані, а на виході а в т о м а т у буде с ф о р м о в а н о сигнал У2. П о д і б н и м
ч и н о м м о ж н а п р о в е с т и аналіз і н ш и х р я д к і в таблиці.
290
Мова а н а л і т и ч н и х в и р а з і в передбачає з а д а н н я а в т о м а т у ш л я х о м з а п и с у д л я к о ж н о г о
стану автомату в і д о б р а ж е н н я F ., я к е м і с т и т ь н а б о р и з т р ь о х об'єктів s , х, у , п р и ч о м у
y n к
Приклад:
ßi ß 2 ß
« • •
а, «Ks
• • •
• • •
пам'ять
Комбінаційна схема
М, М 2 • • • M k s (тривіальний автомат)
|. . .
* • * u ks
co o ] C 2 ю к у
Мова а н а л і т и ч н и х в и р а з і в передбачає з а д а н н я а в т о м а т у ш л я х о м з а п и с у д л я к о ж н о г о
стану автомату в і д о б р а ж е н н я F , я к е м і с т и т ь н а б о р и з т р ь о х об'єктів s ,х у , п р и ч о м у
sj n ( к
Приклад:
^2 = &<Л fy XS (x
3 A 3 fy \S (x
3 3 3 / )\
Уз
ß: ß 2 ß
О, • Ш «
• • • "*V
пам'ять
Комбінаційна схема
м, м 2 • • • M k s (тривіальний автомат)
и, и * • * u ks |. . .
2
. . .
Ш,С0 2 GJ k y
Х1 Х2
ЄЇ/УЗ
Э2 33/У2 вілч
Б2Г/2
рядів: К = 2, К = 1 та К = 2.
5 х у
Х2 1 Б1 0 1 У2 0 1
Э1 1 0 УЗ 1 0
У4 1 1
Таблиця 8.10
\ в 0 1
м,и / щсо
2 2 И|И / щоз
2 г
00 01/00 00/10
01 10/01 00/11
10 10/00 01/01
Побудова а б с т р а к т н о г о автомату.
Структурна схема ц и ф р о в о г о а в т о м а т у Мілі для р о з г л я д у в а н о г о п р и к л а д у м а є в и
гляд, показаний на рис. 8.10.
\У> Х |00 2
Комбінаційна схема,
що р е а л і з у є *
функцію виходів
М. М,
Комбінаційна схема,
ще реалізує
функцію переходу
ІЗ 1
ßi
н =a oc2ßva a2ß
2 1 I
w, = ßa,
w =a,a va,a2ß .
2 2
293
Таблиця 8.10
0 1
и,и / щт
2 г
00 01/00 00/10
01 10/01 00/11
10 10/00 01/01
Побудова а б с т р а к т н о г о автомату.
С т р у к т у р н а схема ц и ф р о в о г о а в т о м а т у Мілі для р о з г л я д у в а н о г о п р и к л а д у м а є в и
гляд, п о к а з а н и й на рис. 8.10.
0)
Комбінаційна схема,
що реалізує
функцію виходів
а а.
Комбінаційна с х е м а ,
що реалізує
функцію переходу
X
Р
Рис. 8.10. Структурна схема цифрового автомату для розглядуваного прикладу
и =а,а2Руа,а2Р
2
>?, = р а ,
н> = а , а у а , а 2 Р .
2 2
294
аі
сої
С
Q
D
а2 со2
Q АБО
R
а Ь с
Рис. 8.12. Заміна двох послідовно з'єднаних мікрооперацій на один елемент затримки
а), к ліній на к-входовий елемент АБО Ь), та умовну вершину на два елементи 1с)
Тригер
Тригер
1_£Г
Рис. 8.13. Фра гмент блок-схеми, яка задає сигнали керування а), та відповідний
їй фрагмент схеми пристрою керування Ь)
поділених елементів з а т р и м к и .
гі_ги~иг
С1
П
сз г и и 1
л _ г и 1_Г
С5 п п
Рис. 8.14. Фрагмент часової діаграми роботи комп'ютера
О с н о в н и м е л е м е н т о м п р и с т р о ю к е р у в а н н я на основі л і ч и л ь н и к і в є л і ч и л ь н и к за мо
дулем к, виходи я к о г о з'єднані з д е ш и ф р а т о р о м (рис. 8.15а).
Л І Ч И Л Ь Н И К за Т!_
Кінець модулем к
1 +- і
і-* Дешифратор
« п
СКИД
Дозвіл
Рк
•
Р1 Р2
Кінець
Комбінаційна
Скид Сигнали
схема
керування
Код стану
програми
мкпл
I
Пам'ять
мікрокомапд
і
Адреса наступної Код Код РгМК
мікрокоманди УМОВ мікрпомі-раіні
Пам'ять адрес
перших мікрокоманд
мікрокодів
роботи
+1
Контролер
11.1.1 н гь М К ІН>С.1І.ШВ П І К ] і
макрокоманд
КС форму на
мин переходу
П а м ' я т ь мікропрограм
інші мікропрограми
к о н т р о л е р послідовності м і к р о к о м а н д керувати р о з г а л у ж е н н я м и в м е ж а х м і к р о п р о г р а м
пам'яті м і к р о к о м а н д ? На рис. 8.18 п о к а з а н о о д и н з варіантів в и р і ш е н н я ц ь о г о з а в д а н н я .
Д о ц и х пір м и р о з г л я д а л и м і к р о п р о г р а м и без р о з г а л у ж е н ь . О д н а к існують м і к р о к о м а н
ди переходу, які м і с т я т ь адресу переходу та м і к р о н а к а з и д л я схеми ф о р м у в а н н я адреси
СФА додатково до м і к р о н а к а з і в д л я і н ш и х вузлів к о м п ' ю т е р а . К о н т р о л е р послідовності
м і к р о к о м а н д р а з о м з схемою ф о р м у в а н н я а д р е с и СФА, в и к о р и с т о в у є адресу н а с т у п н о ї
м і к р о к о м а н д и ( А Н М К ) та код у м о в и переходу (КУ) д л я в и з н а ч е н н я адреси н а с т у п н о ї
мікрокоманди.
Для к е р у в а н н я п е р е х о д о м в коді м і к р о о п е р а ц і ї К М К О к о ж н о ї м і к р о к о м а н д и н а я в н а
і н ф о р м а ц і я п р о н а л е ж н і с т ь цієї м і к р о к о м а н д и до м і к р о к о м а н д переходу. Тому в к о ж н о
м у такті н а виході д е ш и ф р а т о р а м і к р о к о м а н д Д Ш М К О генерується м і к р о н а к а з , я к и й ін
ф о р м у є к о н т р о л е р п о с л і д о в н о с т і м і к р о к о м а н д п р о н а л е ж н і с т ь , а б о неналежність, даної
м і к р о к о м а н д и до м і к р о к о м а н д переходу. Я к щ о це м і к р о к о м а н д а переходу, то к о н т р о л е р
послідовності м і к р о к о м а н д п о в і д о м л я є схему ф о р м у в а н н я адрес п р о необхідність ф о р
м у в а н н я адреси переходу, а не приріст на о д и н и ц ю в м і с т у м і к р о п р о г р а м н о г о л і ч и л ь н и к а
М К П Л . П р и цьому, я к щ о це б е з у м о в н и й перехід, то перехід в і д б у в а є т ь с я за адресою з
адресного поля м і к р о к о м а н д и . Я к щ о ж це у м о в н и й перехід, то адреса н а с т у п н о ї м і к р о
команди ф о р м у є т ь с я з в р а х у в а н н я м коду у м о в переходу та коду стану п р о г р а м и , я к и й
поступає з регістра с т а н у п р о г р а м и регістрової п а м ' я т і п р о ц е с о р а .
де Ь - кількість м і к р о н а к а з і в .
• Групування м і к р о н а к а з і в . Групі м і к р о н а к а з і в в и д і л я є т ь с я один біт мікрокоманди
та в и к о р и с т о в у є т ь с я б а г а т о т а к т о в а с и н х р о н і з а ц і я .
П р и в и к о р и с т а н н і в е р т и к а л ь н о г о м і к р о п р о г р а м у в а н н я м і к р о к о м а н д а складається з
полів коду мікрооперації, коду у м о в переходу і адреси наступної м і к р о к о м а н д и , як це
було р о з г л я н у т о р а н і ш е (рис. 8.17). Тобто ф о р м а т м і к р о к о м а н д и подібний до форма
ту к о м а н д и к о м п ' ю т е р а . Цей м е т о д д о з в о л я є більш е ф е к т и в н о в и к о р и с т о в у в а т и поля
м і к р о к о м а н д и , т о б т о к о м а н д а є к о р о т ш о ю , а о б ' є м пам'яті м е н ш и м , п о р і в н я н о з гори
зонтальним мікропрограмуванням. Разом з тим, горизонтальне мікропрограмування є
швидшим, оскільки не вимагає використання дешифраторів.
• М о ж у т ь бути в и к о р и с т а н і н а р о б к и м і к р о п р о г р а м в н а с т у п н и х п о к о л і н н я х ком
п'ютерів однієї сім'ї.
• М і к р о п р о г р а м у в а н н я є п р о с т і ш и м , ніж к е р у в а н н я з ж о р с т к о ю логікою, що с п р о
щує р о з р о б к у п р и с т р о ю к е р у в а н н я .
• П р о с т і ш и м є о б с л у г о в у в а н н я м і к р о п р о г р а м о в а н и х к о м п ' ю т е р і в та їх відлагоджен-
ня з а в д я к и п р о с т і ш і й заміні м і к р о к о м а н д та м і к р о п р о г р а м .
В швидкодії м і к р о п р о г р а м н е к е р у в а н н я п р о г р а є к е р у в а н н ю з " ж о р с т к о ю " логікою.
Тому, з а в д я к и с т в о р е н н ю мов о п и с у а п а р а т н и х засобів к о м п ' ю т е р а та п о т у ж н и х п р о -
і а м н и х засобів в и с о к о р і в н е в о г о п р о е к т у в а н н я , п р и с т р о ї к е р у в а н н я з ж о р с т к о ю логі-
ою з н а й ш л и ш и р ш е з а с т о с у в а н н я в сучасних комп'ютерах.
П р и с т р і й к е р у в а н н я є о д н и м з в у з л і в п р о ц е с о р а . Відомі д в а о с н о в н и х м е т о д и п о -
удови п р и с т р о ї в к е р у в а н н я : п р и с т р о ї к е р у в а н н я з ж о р с т к о ю л о г і к о ю т а п р и с т р о ї
ікропрограмного керування. В комп'ютері, крім пристрою керування центрального
процесора, м о ж у т ь в и к о р и с т о в у в а т и с ь п р и с т р о ї к е р у в а н н я в у з л а м и к о м п ' ю т е р а , на
приклад, п р и с т р о ї к е р у в а н н я о п е р а ц і й н и м и п р и с т р о я м и А Л П , п р и с т р і й к е р у в а н н я
процесора в в е д е н н я - в и в е д е н н я і т. д. П р и н ц и п и п о б у д о в и в к а з а н и х п р и с т р о ї в є іден
тичними.
Р о з г л я н у т о с т р у к т у р у та о р г а н і з а ц і ю р о б о т и п р и с т р о ю к е р у в а н н я з ж о р с т к о ю логі
кою, а т а к о ж м е т о д и п р о е к т у в а н н я п р и с т р о ї в к е р у в а н н я з ж о р с т к о ю логікою: на основі
таблиць станів, на основі т а к т о в а н и х елементів часової з а т р и м к и , та на о с н о в і л і ч и л ь
ників.
Метод т а б л и ц ь станів передбачає р о з г л я д п р и с т р о ю к е р у в а н н я я к ц и ф р о в о г о авто
мату. Ц и ф р о в и й автомат подано у вигляді його м а т е м а т и ч н о ї ( а б с т р а к т н о ї ) і с т р у к т у р н о ї
моделей, які відповідно н а з и в а ю т ь с я а б с т р а к т н и м та с т р у к т у р н и м а в т о м а т а м и . А б с т р а к
тну модель в и к о р и с т а н о на п е р ш о м у етапі п р о е к т у в а н н я , коли о п и с у є т ь с я ф у н к ц і о н у
вання автомату, тобто правила п е р е р о б к и вхідної і н ф о р м а ц і ї у вихідну. На ц ь о м у етапі
автомат п о д а н о у вигляді автоматів Мілі, М у р а та С-автомату. Слід з а у в а ж и т и , що р о з
гляд абстрактної моделі ц и ф р о в о г о а в т о м а т у д о з в о л я є п р о в о д и т и й о г о п о п е р е д н ю о п т и -
мізацію ще до етапу с т р у к т у р н о г о синтезу. П о к а з а н о п р и к л а д з а с т о с у в а н н я с т р у к т у р н о ї
моделі для побудови схеми ц и ф р о в о г о автомату.
О п и с а н о основні засади п р о е к т у в а н н я п р и с т р о ї в к е р у в а н н я з ж о р с т к о ю логікою на
основі с и н х р о н н и х елементів часової з а т р и м к и та на основі л і ч и л ь н и к і в . Відзначено, що
вихідними д а н и м и для такого п р о е к т у в а н н я є часові зміни сигналів к е р у в а н н я , о т р и м а
ні з часової діаграми р о б о т и комп'ютера.
О п и с а н а р о б о т а п р и с т р о ю м і к р о п р о г р а м н о г о к е р у в а н н я . Наведені о с н о в н і п о н я т
тя м і к р о п р о г р а м у в а н н я : м і к р о н а к а з , м і к р о к о м а н д а , м і к р о п р о г р а м а , г о р и з о н т а л ь н е та
вертикальне м і к р о п р о г р а м у в а н н я . С ф о р м о в а н і п р и н ц и п и , п о к л а д е н і в основу п о б у д о в и
пристрою м і к р о п р о г р а м н о г о к е р у в а н н я , серед я к и х в п е р ш у чергу н е о б х і д н о відзначити
те, що кожній команді з системи к о м а н д к о м п ' ю т е р а с т а в и т ь с я у відповідність м і к р о п р о
грама її в и к о н а н н я в комп'ютері, всі м і к р о к о м а н д и зберігаються в п а м ' я т і м і к р о к о м а н д ,
304
АЛП ПЗП
Процесор Внутрішня
констант
пам'ять
Пристрій керування
ШП Регістрова
мікропрограм пам'ять
Кеш пам'ять
пам ять
Основна процесора
пам'ять введення-
виведення
Зовнішня
пам'ять
Ш на
магнітних Ї П на
барабанах магнітних
Ш на
дисках ЧП на
магнітних
стрічках оптичних
дисках
Адреса слова
О СЛОВО о
слово 1
п- 1 СЛОВО і
СЛОВО М-1
Рис. 9.2. Адресна пам'ять організацією п.2 т
Вихідні Дані
' Р Дані
а) Ь)
Рис. 9.3. Інтерфейс адресної пам'яті
Адреса запис/зчитування
Дані
шина шина
РгО
адреси даних
ДшА
Ргі
< щ
* * *
Рг(к-І)
^
В р е ж и м і з а п и с у і н ф о р м а ц і я з а п и с у є т ь с я л и ш е в в и б р а н и й д е ш и ф р а т о р о м адреси
ДшА регістр. А в р е ж и м і з ч и т у в а н н я на ш и н у д а н и х п о с т у п а є л и ш е і н ф о р м а ц і я з в и б р а
ного д е ш и ф р а т о р о м адреси Д ш А регістра. Виходи і н ш и х регістрів в цей час з н а х о д я т ь с я
в стані високого імпедансу.
З пам'яті з в п о р я д к о в а н и м д о с т у п о м дані в и б и р а ю т ь с я в порядку, я к и й в и з н а ч а є т ь с я
її в н у т р і ш н ь о ю с т р у к т у р о ю . П а м ' я т ь з в п о р я д к о в а н и м д о с т у п о м будується т а к и м ч и
ном, що дані в и б и р а ю т ь с я , а б о з а п и с у ю т ь с я , через в х і д н и й регістр, а п р а в и л о їх пере
м і щ е н н я між комірками п а м ' я т і " з а ш и т е " в з в ' я з к а х м і ж н и м и .
До такої пам'яті н а л е ж и т ь з о к р е м а п а м ' я т ь з п о с л і д о в н и м д о с т у п о м , ш и р о к о в и к о
ристовувана в комп'ютерах, з якої дані з ч и т у ю т ь с я п о с л і д о в н о одне за о д н и м в п о р я д к у
їх з а п и с у або в п о р я д к у з ч и т у в а н н я .
П а м ' я т ь з п о с л і д о в н и м д о с т у п о м будується т а к и м ч и н о м , що дані з ч и т у ю т ь с я а б о
записуються до цієї п а м ' я т і в п о с л і д о в н о м у п о р я д к у о д н е за о д н и м , у т в о р ю ю ч и д е я к у
чергу. З ч и т у в а н н я здійснюється з черги слово за с л о в о м в п о р я д к у з а п и с у або в з в о
р о т н о м у порядку. П р я м и й п о р я д о к з ч и т у в а н н я з а б е з п е ч у є т ь с я п а м ' я т т ю т и п у FIFO з
дисципліною о б с л у г о в у в а н н я " п е р ш и й п р и й ш о в - п е р ш и й в и й ш о в " (First In, First Out).
Обернений порядок зчитування забезпечується пам'яттю типу LIFO з дисципліною об
слуговування "останній п р и й ш о в - п е р ш и й в и й ш о в " (Last In, First Out), або, що є т и м же
самим, п а м ' я т т ю т и п у F I L O з д и с ц и п л і н о ю о б с л у г о в у в а н н я " п е р ш и й п р и й ш о в - остан
ній в и й ш о в " (First In, Last Out). П а м ' я т ь з п о с л і д о в н и м д о с т у п о м , яка п о б у д о в а н а на ре
гістрах, часто н а з и в а є т ь с я стеком. П р и к л а д такої п а м ' я т і п о к а з а н о на рис. 9.5, де дані з
ш и н и через регістр даних РгД п о с т у п а ю т ь до п о с л і д о в н о з ' є д н а н и х регістрів п а м ' я т і РгО,
Р г і , . . . Р г ( к - І ) , п о я к и х р у х а ю т ь с я вверх а б о в н и з з а л е ж н о від з н а ч е н н я сигналу р е ж и м у
роботи.
312
:_ вниз
РгД
І
і
1г
PrO •*—•
м
Prl
* * *
—
Рг (к-1) •*—
Рис. 9.5. Стекова пам'ять типу FILO
ТІ ТІ
• ппд
Вверх/
• ппд
1
вниз
і"
Т
Вихідні дані
Рг ознаки
Регістри
^ ^ Слово 0
<4 Слово 1
Схема
порівняння Ознака Інформація Слово і
Слово М-1
ті. Час з а п и с у - це інтервал часу після м о м е н т у подачі сигналу запису, достатній для
з а п а м ' я т о в у в а н н я слова в пам'яті. М і н і м а л ь н о д о п у с т и м и й інтервал між послідовними
з ч и т у в а н н я м та з а п и с о м н а з и в а є т ь с я ч а с о м з ч и т у в а н н я / з а п и с у . Цей час м о ж е переви
щ у в а т и час з ч и т у в а н н я а б о запису, оскільки після в и к о н а н н я цих операцій може бути
п о т р і б н и й час на в і д н о в л е н н я п о ч а т к о в о г о с т а н у пам'яті.
• Час доступу. Для п а м ' я т і з д о в і л ь н и м д о с т у п о м час д о с т у п у р і в н и й інтервалу
часу від м о м е н т у н а д х о д ж е н н я адреси до моменту, коли дані з а н о с я т ь с я в п а м ' я т ь або
стають д о с т у п н и м и . Д л я п а м ' я т і з р у х о м и м носієм і н ф о р м а ц і ї - це час, що витрачається
на у с т а н о в к у головки з а п и с у / з ч и т у в а н н я (або носія) в п о т р і б н у позицію.
• Тривалість ц и к л у п а м ' я т і або період з в е р н е н н я . Дане п о н я т т я застосовується до
п а м ' я т і з д о в і л ь н и м д о с т у п о м , для якої в о н о о з н а ч а є м і н і м а л ь н и й час м і ж д в о м а послі
д о в н и м и з в е р н е н н я м и до пам'яті. Період з в е р н е н н я в к л ю ч а є час д о с т у п у плюс деякий
д о д а т к о в и й час. Д о д а т к о в и й час м о ж е бути п о т р і б е н д л я з а т у х а н н я сигналів на лініях, а
в д е я к и х т и п а х п а м ' я т і , де з ч и т у в а н н я і н ф о р м а ц і ї п р и в о д и т ь до її р у й н у в а н н я , - для від
н о в л е н н я з ч и т а н о ї інформації.
Вартість п а м ' я т і п р и й н я т о оцінювати в і д н о ш е н н я м її загальної вартості до ємності в
бітах або байтах, т о б т о вартістю з б е р і г а н н я одного біта або байта інформації. На рис. 9.8
п о к а з а н а зміна з р о к а м и в а р т о с т і з б е р і г а н н я одного MB і н ф о р м а ц і ї та часу доступу до
о д и н и ц і і н ф о р м а ц і ї в не для т р ь о х типів пам'яті: статичної н а п і в п р о в і д н и к о в о ї пам'яті
з д о в і л ь н и м д о с т у п о м ( S R A M ) , д и н а м і ч н о ї н а п і в п р о в і д н и к о в о ї пам'яті з довільним до
с т у п о м ( D R A M ) та п а м ' я т і на м а г н і т н и х дисках (Disk).
100.000г •
о SRAM
,1960
10.000 • DRAM
«Disk
• 1985
1.000
1980
1990
100 зі 995° • 1985
Ціна
S/MB • 2000 • 1990 »1980
10 Різниця в часі доступу Г
'2005 1995 1985
«2000 «1990
•2005
»1995
0.1
»2000
0.01 10 100 1.000 10.000 100.000 1.000.000 10.000.000 100.000.000
І Час доступу (не) І
Рис. 9.8. Зміна з роками вартості зберігання одного МВ інформації та часу доступу
до одиниці інформації
1 1
Інтегрований _ Розподілень Ієрархічний
багатопортовии . . , 1
, . ,
1
1
Кластерна Організація з Регістрові
організація керованою комутацією вікна
Рис. 9.9. Класифікація шипів регістрових файлів
С Е т т т
ts7
Рис. 9.11. Організація регістрового файла процесора TMS320C64x фірми Texas Instruments
К о ж н а п і д м н о ж и н а м а є свій л о к а л ь н и й р е г і с т р о в и й ф а й л . Д л я п е р е с и л а н н я д а н и х з
р е г і с т р о в о г о ф а й л а однієї п і д м н о ж и н и д о ф у н к ц і о н а л ь н и х е л е м е н т і в і н ш о ї п і д м н о ж и -
н и в и к о р и с т о в у ю т ь с я додаткові м у л ь т и п л е к с о р и М П . Ф а к т и ч н о , м о ж л и в і с т ь п о в н о
цінної п е р е с и л к и о б м е ж е н а , о с к і л ь к и д л я ц ь о г о в к о ж н о м у з л о к а л ь н и х р е г і с т р о в и х
файлів в и д і л я є т ь с я т і л ь к и о д и н порт. С а м е з цієї п р и ч и н и о р г а н і з а ц і ю р е г і с т р о в о г о
файла Т М 8 3 2 0 С 6 4 х м о ж н а н а з в а т и к л а с т е р н о ю . З р о з у м і л о , щ о о п и с а н а о р г а н і з а ц і я р е
гістрового ф а й л а д л я п р и в е д е н о г о т и п у п р о ц е с о р і в д о з в о л я є з м е н ш и т и з а т р а т и о б л а д
н а н н я та п р и с к о р и т и час д о с т у п у до р е г і с т р і в у п о р і в н я н н і з і н т е г р о в а н и м р е г і с т р о в и м
ф а й л о м того ж об'єму.
318
т т т ККМ
Комутуюча мережа
В р о з г л я н у т и х с т р у к т у р а х р о з п о д і л е н и х р е г і с т р о в и х ф а й л і в д о с т у п до регістрів для
о б ч и с л ю в а л ь н и х модулів р о з м е ж о в у в а в с я в просторі. Існує інша організація розподі
л е н и х р е г і с т р о в и х ф а й л і в , я к а п е р е д б а ч а є р о з п о д і л е н и й д о с т у п до регістрів в часі. Така
о р г а н і з а ц і я о т р и м а л а назву р е г і с т р о в и х вікон. В о с н о в н о м у вона використовується для
з м е н ш е н н я д о в ж и н и к о м а н д и та с п о ж и в а н о ї п о т у ж н о с т і процесора, а т а к о ж дає можли
вість н а р о щ у в а т и кількість регістрів без зміни ф о р м а т у к о м а н д и . За затратами облад
н а н н я та часом д о с т у п у р о з п о д і л е н и й р е г і с т р о в и й ф а й л із віконною організацією близь
к и й до р о з п о д і л е н о г о р е г і с т р о в о г о ф а й л а з к е р о в а н о ю к о м у т а ц і є ю . На рис. 9.13 показано
с т р у к т у р у р о з п о д і л е н о г о р е г і с т р о в о г о ф а й л а з в і к о н н о ю організацією. Тут регістровий
т
319
Блок керування
Керування
Вибір файлу
доступом
Адреси
Вхідні дані
Вихідні дані
РО N-1
II т | мережа 1
Комутуюча
І
Комутуюча мережа 2
Ознака , Сигнали
пошуку керування
пам'яттю
Запис
ознаки
Пристрій керування
Встановлення
регістріРі Встановлення
маски
Результат Рг маски
порівняння
С и г н а л и збігу Регістри Запис-читання
Слово 0
Слово 1
* * *
Регістр Схема
порівняний Ознака
збігів Інформація Слово і
на збіжність
* * *
•4 • Слово М-1
Результат порівняння
Ця пам'ять включає:
• м а с и в регістрів д л я з б е р і г а н н я N т - р о з р я д н и х слів, в к о ж н о м у з я к и х частина
розрядів зайнята ознаками, а іншу частину розрядів займає службова інформація;
• регістр асоціативної о з н а к и , куди п о м і щ а є т ь с я код ш у к а н о ї і н ф о р м а ц і ї (ознака
п о ш у к у ) . Р о з р я д н і с т ь ц ь о г о регістра з а з в и ч а й є м е н ш о ю чи р і в н о ю д о в ж и н і слова п;
• схему п о р і в н я н н я на з б і ж н і с т ь , я к а в и к о р и с т о в у є т ь с я д л я п р о в е д е н н я паралель
н о г о а б о послідовного п о р і в н я н н я бітів о з н а к п о ш у к у всіх слів, що зберігаються, з від
п о в і д н и м и б і т а м и асоціативної о з н а к и пошуку, і в и р о б л е н н я сигналів збігу;
• регістр збігів, в я к о м у к о ж н о м у регістру м а с и в у п а м ' я т і відповідає один розряд,
в я к и й з а н о с и т ь с я о д и н и ц я , я к щ о всі р о з р я д и о з н а к и слова відповідного регістра спів
п а л и з о д н о й м е н н и м и р о з р я д а м и асоціативної о з н а к и п о ш у к у ;
• регістр маски, я к и й д о з в о л я є з а б о р о н и т и п о р і в н я н н я п е в н и х бітів;
• п р и с т р і й к е р у в а н н я , я к и й на основі з о в н і ш н і х сигналів к е р у в а н н я здійснює за
п и с асоціативної о з н а к и п о ш у к у до відповідного регістра, в с т а н о в л ю є маску в регістрі
м а с к и , та на основі д а н и х п о р і в н я н н я на з б і ж н і с т ь з регістра збігів здійснює зчитування
д а н и х із регістрів асоціативної п а м ' я т і , а т а к о ж з а п и с до н и х вхідних даних.
П р и з в е р н е н н і до п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м , с п о ч а т к у сигналами з блоку ке
р у в а н н я р о з р я д и регістра м а с к и , я к і н е п о в и н н і в р а х о в у в а т и с я п р и п о ш у к у інформа
ції, в с т а н о в л ю ю т ь с я в нульові з н а ч е н н я , і всі р о з р я д и регістра збігів встановлюються
в о д и н и ч н и й стан. Після ц ь о г о в регістр асоціативної о з н а к и з а н о с и т ь с я код шуканої
і н ф о р м а ц і ї (ознака п о ш у к у ) і п о ч и н а є т ь с я її п о ш у к , в процесі я к о г о схема п о р і в н я н н я на
з б і ж н і с т ь о д н о ч а с н о п о р і в н ю є п е р ш и й біт о з н а к д а н и х всіх регістрів пам'яті, з першим
бітом асоціативної о з н а к и пошуку. Ті схеми, які з а ф і к с у в а л и неспівпадіння, формують
сигнал, що п е р е в о д и т ь в і д п о в і д н и й біт регістра збігів у н у л ь о в и й стан. Так само відбува
ється п р о ц е с п о ш у к у і д л я р е ш т и н е з а м а с к о в а н и х бітів о з н а к и пошуку.
323
У к о ж н о м у к о н к р е т н о м у з а с т о с у в а н н і п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м з а в д а н н я по
ш у к у і н ф о р м а ц і ї м о ж е ф о р м у л ю в а т и с я п о різному.
П р и простому пошуку, я к и й був розглянутий вище, потрібен повний збіг всіх розрядів
ознаки пошуку з о д н о й м е н н и м и р о з р я д а м и ознак слів, що зберігаються в регістрах пам'яті.
При складному пошуку можуть ставитись наступні завдання:
• Пошуку слів із максимальним або мінімальним значенням ознаки. При цьому бага
тократна вибірка з пам'яті слова з максимальним або мінімальним значенням ознаки (з вик
л ю ч е н н я м його з п о д а л ь ш о г о пошуку), по суті, є в п о р я д к о в а н о ю вибіркою інформації.
• П о ш у к слів, о з н а к а я к и х п о р і в н я н о з а с о ц і а т и в н о ю о з н а к о ю п о ш у к у є н а й б л и ж
чим більшим або м е н ш и м значенням. Ця операція також забезпечує проведення впо
рядкованої вибірки інформації.
• З н а х о д ж е н н я слів, ч и с е л ь н е з н а ч е н н я о з н а к и в я к и х є б і л ь ш и м або м е н ш и м за
даної в е л и ч и н и . П о д і б н и й підхід д о з в о л я є в е с т и п о ш у к слів з о з н а к а м и , що л е ж а т ь все
р е д и н і а б о поза з а д а н и м и м е ж а м и .
О ч е в и д н о , щ о р е а л і з а ц і я с к л а д н и х методів п о ш у к у в и м а г а є в н е с е н н я відповідних
змін у с т р у к т у р у п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м .
Важливим п и т а н н я м є організація зчитування з пам'яті з асоціативним доступом
інформації, коли з а с о ц і а т и в н о ю о з н а к о ю п о ш у к у с п і в п а д а ю т ь о з н а к и декількох слів. У
ц ь о м у в и п а д к у з а с т о с о в у є т ь с я один із д в о х підходів: в и к о р и с т о в у є т ь с я л а н ц ю г черговос
т і а б о п р о в о д и т ь с я о п и т у в а н н я . В и к о р и с т а н н я л а н ц ю г а черговості д о з в о л я є п р о в о д и т и
з ч и т у в а н н я слів у п о р я д к у з р о с т а н н я н о м е р а регістра п а м ' я т і н е з а л е ж н о від величини
а с о ц і а т и в н и х о з н а к . П р и п р о в е д е н н і о п и т у в а н ь в п о р я д к о в у ю т ь с я ті р о з р я д и , які були
замасковані, і не б р а л и участі в пошуку. В і н ш о м у варіанті для ц и х цілей виділяються
спеціальні р о з р я д и регістрів.
Істотні відмінності в с т р у к т у р і п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м м о ж у т ь бути пов'я
зані з в и б р а н и м п р и н ц и п о м з а п и с у і н ф о р м а ц і ї . Раніше був о п и с а н и й варіант із записом
у н е з а й н я т и й регістр з н а й м е н ш и м н о м е р о м . На п р а к т и ц і з а с т о с о в у ю т ь с я й інші спо
с о б и , н а п р и к л а д , за с п і в п а д і н н я м о з н а к , за чергою та інші. Н а й с к л а д н і ш и м є з а п и с із
с о р т у в а н н я м і н ф о р м а ц і ї на вході п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м за в е л и ч и н о ю озна
ки слова. Тут м і с ц е п о л о ж е н н я регістра, куди буде п о м і щ е н е нове слово, з а л е ж и т ь від
с п і в в і д н о ш е н н я о з н а к и з а п и с у в а н о г о слова і о з н а к слів, що в ж е зберігаються в пам'яті з
асоціативним доступом.
П р и побудові п а м ' я т і з а с о ц і а т и в н и м д о с т у п о м в и б и р а ю т ь один з ч о т и р ь о х варіан
тів п о р і в н я н н я о з н а к , т о б т о організації п е р е г л я д у в м і с т у пам'яті: п а р а л е л ь н о за всіма
словами, п о с л і д о в н о за всіма словами, п а р а л е л ь н о за всіма р о з р я д а м и , послідовно за всі
м а р о з р я д а м и . Ц і в а р і а н т и м о ж у т ь к о м б і н у в а т и с я . Н а з в а н і ч о т и р и варіанти п о р і в н я н
н я о з н а к в и з н а ч а ю т ь п р и н ц и п и п о б у д о в и схеми п о р і в н я н н я н а збіжність. Відповідно
до ц и х п р и н ц и п і в , м о ж е б у т и з а п р о п о н о в а н о кілька типів організації пам'яті з асоціа
т и в н и м д о с т у п о м . У п а м ' я т і з п о в н и м п а р а л е л ь н и м а с о ц і а т и в н и м д о с т у п о м одночасно
п о р і в н ю ю т ь с я всі р о з р я д и о з н а к всіх слів п а м ' я т і (так з в а н и й о д н о ч а с н и й п о ш у к по сло
ву). Це н а й ш в и д ш а та н а й с к л а д н і ш а з т о ч к и з о р у з а т р а т о б л а д н а н н я с т р у к т у р а пам'яті
з а с о ц і а т и в н и м д о с т у п о м . М о ж л и в е п о р і в н я н н я не всіх р о з р я д і в ознак слів пам'яті, а по
частинах, аж до п о р о з р я д н о г о п о р і в н я н н я , коли о д н о ч а с н о п о р і в н ю ю т ь с я з бітом асоці
ативної о з н а к и п о ш у к у п о о д н о м у біту о з н а к и к о ж н о г о слова (так з в а н и й п о р о з р я д н и й
325
Встановлення
Запис-читання Встановлення m i Результат
тригерів порівняння
Шукана
ознака
0
та дані
Комірка 2
Пристрій
збору
даних
Комірка N TN
V
Дані
Комірка
Результат
Ознака або дане Читання порівняння
Схема
порівняння
А4А
Дане
Схема
порівняння
Результат
Ознака або дане Читання
Дане
п Слово 1 0
Сигнали
керування
пам'яттю
Пристрій
керування
т Сигнали
керування
Сигнали
керування
Слово 2 Слово 1 Слово 0
•
Рис. 9.19. Загальна структура пам'яті з послідовним асоціативним доступом
Блок 1
Т1
Блок 2
а -
Блок п
Тп
0 РгА а-1
Основна пам'ять
ПЗП
Контролер
о с н о в н о ї
озп пан' я т і
Дозвіл Читання/
р о б о т и з а п и с
Дина даних
X
Рис. 9.21. Структура основної пам'яті
L. J
MCn-t MC I MCo
il Ji I—Ï T~~~E
Ао
Am
CS
WÉ
Адреса
Номер модуля Адреса в модулі
основної нам яті
РгД РгД І Р
Рис. 9.23. Блокова структура пам'яті з блоковою схемою розподілу розрядів адреси
330
Адреса
Адреса в модулі Номер модуля
основної пам'яті
ЕЙ І ! І РгА РгД І Р
Рис. 9.24. Блокова структура пам'яті з циклічною схемою розподілу розрядів адреси
Шина адрес
РгА
ДШ
МП МП МП МП
о 2 3
РгД
Шина даних
0 2 З
4 6 7
8 10 11
12 13 14 15
Рис. 9.26. Принцип роботи пристрою з розшаруванням пам'яті
А5 А4 A3
Вертикальні лінії
Рис. 9.27. Матриця комірок пам'яті з координатним принципом адресації
М а т р и ц я комірок
Вхідні/вихідні
дані
Лотка
зчігтуваккя
Адреса
/ОЕ
/RAS
Легка
Ядро
/СЕ мікросхеми пам'яті
каруванки
/CS
.WE
/CAS
Логіка
даггсу
ПЗП
і
РгД
^ Шина даних
Логічні
добутки
Програмовані вентилі А Б О
-о
о о
о 0 —
/
0-
Фіксовані вентилі І
мішається в керамічний корпус, що має невелике кварцове вікно, через яке і проводиться
о п р о м і н ю в а н н я . Щоб запобігти в и п а д к о в о м у с т и р а н н ю інформації, після опромінювання
кварцове вікно заклеюють н е п р о з о р о ю плівкою. П р о ц е с с т и р а н н я може виконуватися ба
гато разів. Кожне с т и р а н н я з а й м а є близько 20 хвилин. Ц и к л програмування займає декіль
ка сотень мілісекунд. Час з ч и т у в а н н я є близьким до показників R O M і D R A M .
У п о р і в н я н н і з P R O M м і к р о с х е м и E P R O M є д о р о ж ч и м и , але завдяки можливості
б а г а т о к р а т н о г о п е р е п р о г р а м у в а н н я в о н и часто з а с т о с о в у ю т ь с я . Д а н и й вид мікросхем
в и п у с к а в с я в р а м к а х серії К573.
П р и в а б л и в і ш и м варіантом багатократно програмованої пам'яті є програмована постій
на пам'ять E E P R O M , вміст якої м о ж е бути стертий електрично. С т и р а н н я і запис інфор
мації в цю п а м ' я т ь п р о в о д я т ь с я п о б а й т о в о , п р и ч о м у с т и р а н н я - не окремий процес, а
л и ш е етап, що відбувається а в т о м а т и ч н о при записі. О п е р а ц і я запису займає істотно біль
ше часу ніж з ч и т у в а н н я - декілька сотень м і к р о с е к у н д на байт. У мікросхемі використо
вується той же п р и н ц и п зберігання інформації, що і в E P R O M . П р о г р а м у в а н н я E P R O M
не в и м а г а є спеціального п р о г р а м а т о р а і реалізується з а с о б а м и самої мікросхеми. Випус
к а ю т ь с я два варіанти м і к р о с х е м E E P R O M : з п о с л і д о в н и м і п а р а л е л ь н и м доступом, при
ч о м у п е р ш и х з н а ч н о більше. У E E P R O M з д о с т у п о м по послідовному каналу (SEEPROM
- Serial E E P R O M ) адреси, дані і к о м а н д и передаються по о д н о м у провіднику і синхронізу
ються імпульсами на т а к т о в о м у вході. Перевагою S E E P R O M є малі габарити і мінімальне
ч и с л о ліній в в е д е н н я - в и в е д е н н я , а недоліком - в е л и к и й час доступу. S E E P R O M випуска
ються в рамках серій м і к р о с х е м 24Сххх, 25Сххх і З З С х х х , а паралельні E E P R O M - в складі
серії 28Сххх.
В ц і л о м у E E P R O M є д о р о ж ч и м и , н і ж E P R O M , а м і к р о с х е м и мають м е н ш щільне па
к у в а н н я комірок, т о б т о м е н ш у ємність.
Відносно н о в и й в и д н а п і в п р о в і д н и к о в о ї п а м ' я т і - це ф л е ш - п а м ' я т ь (назву flash мож
на п е р е в е с т и як "спалах блискавки", що підкреслює в і д н о с н о високу швидкість пере
п р о г р а м у в а н н я ) . Вперше а н о н с о в а н а у середині 80-х років, ф л е ш - п а м ' я т ь багато в чому
схожа н а E E P R O M , але в и к о р и с т о в у є о с о б л и в у технологію побудови запам'ятовуючих
елементів. А н а л о г і ч н о E E P R O M , у ф л е ш - п а м ' я т і с т и р а н н я і н ф о р м а ц і ї п р о в о д и т ь с я елек
т р и ч н и м и с и г н а л а м и , але не п о б а й т о в о , а по блоках або повністю. Тут слід зазначити, що
існують м і к р о с х е м и ф л е ш - п а м ' я т і з р о з б и т т я м на д у ж е дрібні блоки (сторінки) з авто
м а т и ч н и м п о с т о р і н к о в и м с т и р а н н я м , що з б л и ж у є їх за м о ж л и в о с т я м и з E E P R O M . Як і у
в и п а д к у з E E P R O M , м і к р о с х е м и ф л е ш - п а м ' я т і в и п у с к а ю т ь с я у варіантах з послідовним
і паралельним доступом.
За організацією масиву з а п а м ' я т о в у ю ч и х елементів р о з р і з н я ю т ь ф л е ш - п а м ' я т ь з то
т а л ь н и м о ч и щ е н н я м , коли с т и р а н н я д о п у с т и м о тільки для всього масиву запам'ятову
ючих елементів, та з б л о к о в и м о ч и щ е н н я м , коли м а с и в з а п а м ' я т о в у ю ч и х елементів роз
д і л ь н и й на декілька блоків різного а б о о д н а к о в о г о розміру, вміст я к и х може очищатися
незалежно.
Вміст ф л е ш - п а м ' я т і м о ж е бути о ч и щ е н и й за декілька секунд, з а п и с одного слова зай
м а є декілька м і к р о с е к у н д , а час д о с т у п у до даних п р и з ч и т у в а н н і - декілька десятків
наносекунд.
339
І
баятое 17 7 \41 515 20 41 / 515 \20 17 7 41 515 20
/ у и.—воо М а М а а » .
1
і 1
Гвлппкм
стЦ сгЦ
T T T T
Рис. 9.36. Структура RAID 1
344
Запис даних
Читання даних
Читання д а н и х ^
і Запис даних
Читання даних
Читання даних
і і 1 1
Формувач лінії паритету
1
1 І І
Читання даних
І І
Рис. 9.39. Структура RAID 5
Ж"
31 Р(а)
а2 Р(2)_
Р(с)
P(d)
ЇТТ1
~т~
Схема контролю і виправлення помилок
~1 Г Читання даних
ґ
Keu-п-
Х7т? і
\г
1
г
Операційна система
реального часу
тт Читання даних
тт
Рис. 9.42. Структура RAID 10
Таку к о н ф і г у р а ц і ю д и с к о в и х м а с и в і в н а з и в а ю т ь д в о р і в н е в и м R A I D або R A I D 10
( R A I D 0+1). О б л а с т ь її з а с т о с у в а н н я : дешеві м а с и в и , в я к и х головне - надійність збері
г а н н я даних.
Як в ж е було с к а з а н о в и щ е , м о ж л и в і й інші комбінації б а з о в и х типів дискових маси
вів. Н а п р и к л а д , п р и п о є д н а н н і технологій R A I D 0 та R A I D 3 , коли в додаток до принци
пів організації R A I D 0 р о л ь о к р е м и х дисків в и к о н у ю т ь дискові масиви, організовані за
схемою R A I D 3, о т р и м у є т ь с я схема R A I D 53. Ч а с т о застосовують розділення загального
дискового п р о с т о р у на ч а с т и н и , п р и ч о м у о б ' є м к о ж н о ї з них визначається користувачем.
Одна частина ф у н к ц і о н у є як R A I D одного типу, інша - як R A I D іншого типу. Це дозволяє
досягти в и щ о ї п р о д у к т и в н о с т і та м о ж л и в о с т і р е з е р в н о г о копіювання на випадок збою.
П о т р і б н о в і д з н а ч и т и , щ о к е р у в а н н я м а с и в а м и R A I D м о ж е бути реалізоване про
г р а м н о , як, н а п р и к л а д , у Windows N T , а п а р а т н о або п р о г р а м н о - а п а р а т н о . П р и апаратній
реалізації д о с я г а є т ь с я в и щ а п р о д у к т и в н і с т ь , п р и ч о м у система R A I D м о ж е бути викона
на як а в т о н о м н и й п р и с т р і й , в я к о м у п о є д н у ю т ь с я м а с и в дисків і к о н т р о л е р . Контролер
м і с т и т ь м і к р о п р о ц е с о р і п р а ц ю є під к е р у в а н н я м особистої операційної системи, реалі
з о в у ю ч и р і з н о м а н і т н і р е ж и м и р о б о т и R A I D , з а б е з п е ч у ю ч и м о ж л и в і с т ь з а м і н и несправ
н и х дисків без в т р а т и і н ф о р м а ц і ї т а без з у п и н к и р о б о т и .
Коррек
00 FF X 10 00 Мин Сен Сектор Режим Денные тирующий
колосс
_ 2352 б а й т а — • >!
Блок в к л ю ч а є наступні п о л я :
• С и н х р о н і з а ц і ю . Це поле і д е н т и ф і к у є початок блоку і складається з нульового
байта, д е с я т и б а й т і в , що містять тільки о д и н и ч н і р о з р я д и , і з н о в у байта зі всіх нулів.
• І д е н т и ф і к а т о р . З а г о л о в о к , що м і с т и т ь адресу блоку і байт режиму. Режим 0 ви
значає п о р о ж н є поле даних; р е ж и м 1 відповідає за в и к о р и с т а н н я коду, що коригує по
м и л к и , і н а я в н і с т ь 2048 б а й т даних; р е ж и м 2 в и з н а ч а є наявність 2336 байт даних і від
сутність к о р и г у ю ч о г о коду.
• Дані. Дані к о р и с т у в а ч а .
• К о р и г у ю ч и й код (КК). Поле п р и з н а ч е н е для з б е р і г а н н я додаткових даних корис
тувача в р е ж и м і 2, а в р е ж и м і 1 м і с т и т ь 288 байт коду з в и п р а в л е н н я м помилок.
Рис. 9.44 і л ю с т р у є організацію і н ф о р м а ц і ї на C D - R O M . Як вже наголошувалося, дані
р о з т а ш о в а н і п о с л і д о в н о по с п і р а л е в и д н і й д о р і ж ц і . Для в а р і а н т у з постійною лінійною
ш в и д к і с т ю д о в і л ь н и й д о с т у п д о і н ф о р м а ц і ї стає с к л а д н і ш и м .
60' 03" 00' 00"
О с т а н н і м ч а с о м н а м і т и в с я п е р е х і д д о н о в о г о т и п у о п т и ч н и х д и с к і в D V D (Digital
Video Data). Д и с к и D V D складаються з двох шарів з а в т о в ш к и 0,6 мм, т о б т о мають дві
р о б о ч и х поверхні, і з а б е з п е ч у ю т ь з б е р і г а н н я по 4,7 Гбайт на кожній. У технології D V D
в и к о р и с т о в у є т ь с я л а з е р з м е н ш о ю д о в ж и н о ю хвилі (650 нм п р о т и 780 нм для стандарт
н и х C D - R O M ) , а т а к о ж в и т о н ч е н і ш а схема корекції. Все це д о з в о л я є з б і л ь ш и т и число
д о р і ж о к і п і д в и щ и т и щільність запису. Крім того, при записі застосовується метод комп
ресії інформації, в і д о м и й я к M P E G 2 .
9. 7 0. Література до розділу 9
1. Искусственный интеллект: В 3-х книгах. Кн. 3. Программные и аппаратные средства: Спра
вочник / Под ред. В Н. Захарова, В Ф. Хорошевского. - М.: Радио и связь, 1990. - 191 с
2. Каган Б М. Электронные вычислительные машины и системы. - М.: Энергия, 1979.- 528 с
3. Каган Б М., Каневский M M. Цифровые вычислительные машины и системы. - М.: Энер
гия, 1974. - 680 с
4. Мельник А О. Програмовані процесори обробки сигналів. - Львів: Видавництво Націо
нального університету "Львівська політехніка", 2000. - 55 с
5. Угрюмов Е П. Цифровая схемотехника. - СПб.: БХВ - Санкт-Петерберг, 2000. - 528 с
6. Мельник А О. Принципи побудови буферної сортувальної пам'яті. Вісник Державного уні
верситету "Львівська політехніка" "Комп ютерна інженерія та інформаційні технології", N 307,
1996.- С. 65-71.
354
46. Чим відрізняються простий і складний пошуки інформації в пам'яті з асоціативним до
ступом?
47. Поясніть організацію роботи пам'яті з повним паралельним асоціативним доступом
48. Поясніть організацію роботи пам'яті з неповним паралельним асоціативним доступом
49. Поясніть організацію роботи пам'яті з послідовним асоціативним доступом
50. Поясніть організацію роботи пам'яті з частково асоціативним доступом
51. Які види запам ятовуючих пристроїв може містити основна пам'ять?
52. Охарактеризуйте можливі варіанти побудови блокової пам'яті
53. Які можливості по скороченню часу доступу до інформації надає блокова організація
пам'яті?
54. Чим обумовлена ефективність розшарування пам яті?
55. Як здійснюється нарощування розрядності основної пам'яті?
56. Яка топологія запам ятовуючих елементів лежить в основі організації напівпровіднико
вих ЗП?
57. Яку мінімальну кількість ліній повинен містити стовпець МС пам яті?
58. Поясніть призначення керуючих сигналів в мікросхемі пам'яті
59. Чим обумовлена необхідність регенерації вмісту динамічних ОЗП?
60. Охарактеризуйте основні сфери застосування статичних і динамічних ОЗП
61. Який вид ПЗП має найвищу швидкість перепрограмування?
62. Як побудовано ПЗП, що запрограмований при виготовленні?
63. Як побудовано ПЗП, який одноразово запрограмований після виготовлення?
64. Приведіть структуру матриці одноразово програмованого ПЗП
65. Як побудовано багаторазово програмований ПЗП?
66. Назвіть типи багаторазово програмованих ПЗП
67. Як розміщена інформація на магнітному диску?
68. Назвіть типи сучасних дискових систем
69. Для чого використовуються масиви магнітних дисків з надлишковістю?
70. Поясніть роботу шести базових типів дискових масивів RAID: RAID 0, RAID 1,..., RAID 5 та
дискових масивів, створених на їх основі
71. Назвіть типи оптичної пам яті
72. Як організована пам'ять на магнітних стрічках?
Р о з д і л 10
Оргаищшцяу пам'яті
В комп'ютері в и к о р и с т о в у є т ь с я декілька р і з н и х типів пам'яті. Це п о в ' я з а н о з т и м , що
н е м о ж л и в о о д н и м т и п о м п а м ' я т і в и р і ш и т и всі з а в д а н н я , які с т о я т ь перед нею, в п е р ш у
чергу з а б е з п е ч и т и в е л и к у є м н і с т ь та в и с о к у швидкодію. Р а з о м з т и м , п о с т а є з а в д а н н я
забезпечення е ф е к т и в н о ї взаємодії всіх типів пам'яті, щ о б система п а м ' я т і в ц і л о м у за
довольняла всі в и м о г и з боку і н ш и х вузлів комп'ютера. Як буде п о к а з а н о в д а н о м у розді
лі, це м о ж л и в о з д і й с н и т и з а в д я к и в и к о р и с т а н н ю при побудові с и с т е м и п а м ' я т і підходу,
відомого як п р и н ц и п ієрархічної організації пам'яті.
Відповідно до ц ь о г о п р и н ц и п у п а м ' я т ь к о м п ' ю т е р а будується на основі п р и с т р о ї в
пам'яті різних типів, які, з а л е ж н о від х а р а к т е р и с т и к , н а л е ж а т ь до п е в н о г о р і в н я ієрархії.
Пам'ять н и ж ч о г о р і в н я м а є м е н ш у ємність, ш в и д ш а і м а є б і л ь ш у в а р т і с т ь в п е р е р а х у н к у
на біт, ніж п а м ' я т ь в и щ о г о р і в н я . Рівні ієрархії в з а є м о з в ' я з а н і : всі дані на о д н о м у рівні
м о ж у т ь бути т а к о ж знайдені на в и щ о м у рівні, і всі дані на ц ь о м у в и щ о м у рівні м о ж у т ь
бути знайдені на н а с т у п н о м у в и щ о м у рівні і т. д. З р у х о м в в е р х по ієрархічній струк
турі з м е н ш у є т ь с я с п і в в і д н о ш е н н я вартість/біт, з р о с т а є є м н і с т ь та час доступу. О д н а к
завдяки п р и н ц и п у л о к а л ь н о с т і за з в е р н е н н я м з р у х о м в в е р х по ієрархічній с т р у к т у р і
зменшується частота з в е р н е н н я до п а м ' я т і з б о к у ц е н т р а л ь н о г о п р о ц е с о р а , що веде до
з м е н ш е н н я загальної вартості п р и з а д а н о м у рівні п р о д у к т и в н о с т і .
П р и н ц и п и з а б е з п е ч е н н я е ф е к т и в н о ї взаємодії м і ж р і в н я м и ієрархії п а м ' я т і р о з г л я
даються в д а н о м у розділі.
Час одного такту (не) 1 000 166 50 6 1.6 0.26 3800 разів
358
Виходячи з н а в е д е н и х д а н и х в табл. 10.1 та табл. 10.2, на рис. 10.2 показана зміна з ро
ками часу д о с т у п у д о с т а т и ч н о ї Т та динамічної Т
5 К А М н а п і в п р о в і д н и к о в о ї т а диско
0 К А М
Чж (не)
10 Зменшення часу
доступу Оо основної
пам'яті 9% щорічно
І Л Ч > ГЧ CD 0% О
Адреси „цикловіітерації Л і н і й н а
послідовність
Вибірка
команди
Вибірка
даних
Час
Рис. 10.4. Типовий розподіл звернень до пам'яті
О б и д в а в и д и л о к а л ь н о с т і о б ' є д н у є п о н я т т я л о к а л ь н о с т і з а з в е р н е н н я м . Властивість
л о к а л ь н о с т і м о ж н а в и р а з и т и в чисельній ф о р м і і п р е д с т а в и т и у вигляді так званого пра
вила «90/10»: 90 % часу р о б о т и п р о г р а м и п о в ' я з а н о з д о с т у п о м до 10 % адресного про
стору цієї п р о г р а м и .
З в л а с т и в о с т і л о к а л ь н о с т і витікає, що п р о г р а м у р о з у м н о п р е д с т а в и т и у вигляді по
слідовно о б р о б л ю в а н и х ф р а г м е н т і в - к о м п а к т н и х груп к о м а н д і даних. П о м і щ а ю ч и такі
ф р а г м е н т и в ш в и д ш у п а м ' я т ь , м о ж н а і с т о т н о п о н и з и т и загальні з а т р и м к и на звернення
до п а м ' я т і , о с к і л ь к и к о м а н д и і дані, будучи один р а з передані з повільного пристрою
п а м ' я т і в ш в и д к и й , потім м о ж у т ь в и к о р и с т о в у в а т и с я багато разів, і середній час досту
пу до н и х в ц ь о м у в и п а д к у в и з н а ч а є т ь с я в ж е ш в и д ш и м п р и с т р о є м пам'яті. Це дозволяє
зберігати великі п р о г р а м и і м а с и в и д а н и х на повільних, великої ємності, але дешевих
п р и с т р о я х п а м ' я т і , а в процесі о б р о б к и а к т и в н о в и к о р и с т о в у в а т и ш в и д к у пам'ять по
р і в н я н о н е в е л и к о ї є м н о с т і , з б і л ь ш е н н я якої п о в ' я з а н е з в е л и к и м и в и т р а т а м и .
Ці ф у н д а м е н т а л ь н і в л а с т и в о с т і п о з и т и в н о д о п о в н ю ю т ь одна о д н у з т о ч к и з о р у в и
рішення з а в д а н н я з а б е з п е ч е н н я необхідної є м н о с т і та високої швидкодії п а м ' я т і за п р и
йнятну ціну. Вони є п і д ґ р у н т я м доцільності в и к о р и с т а н н я при побудові системи п а м ' я т і
підходу, відомого як п р и н ц и п ієрархічної організації пам'яті.
Відповідно до ц ь о г о п р и н ц и п у п а м ' я т ь к о м п ' ю т е р а с к л а д а є т ь с я із п р и с т р о ї в п а м ' я т і
різних типів, які, з а л е ж н о від х а р а к т е р и с т и к , н а л е ж а т ь до п е в н о г о р і в н я ієрархії.
П а м ' я т ь н и ж ч о г о р і в н я має м е н ш у є м н і с т ь , ш в и д ш а і м а є в е л и к у в а р т і с т ь в п е р е р а
хунку на біт, ніж п а м ' я т ь в и щ о г о рівня. Рівні ієрархії в з а є м о з в ' я з а н і : всі дані на д е я к о м у
н и ж ч о м у рівні м о ж у т ь б у т и т а к о ж знайдені на в и щ о м у рівні, і всі дані на ц ь о м у в и щ о м у
рівні м о ж у т ь бути знайдені на н а с т у п н о м у в и щ о м у рівні і т. д.
З рухом вверх по ієрархічній структурі зменшується співвідношення вартість/біт, з р о с
тає ємність та час доступу. Однак завдяки властивості локальності за з в е р н е н н я м з р у х о м
вверх по ієрархічній структурі зменшується частота з в е р н е н н я до пам'яті з боку н и ж ч и х
рівнів, що веде до з м е н ш е н н я загальної вартості при з а д а н о м у рівні продуктивності.
На к о ж н о м у рівні ієрархії п а м ' я т ь р о з б и в а є т ь с я на блоки, які є н а й м е н ш о ю і н ф о р м а
ційною о д и н и ц е ю , що п е р е с и л а є т ь с я м і ж д в о м а сусідніми р і в н я м и ієрархії. Р о з м і р бло
ків може бути ф і к с о в а н и м а б о з м і н н и м . П р и ф і к с о в а н о м у р о з м і р і блоку є м н і с т ь пам'яті
зазвичай кратна його розміру. Р о з м і р блоків на к о ж н о м у рівні ієрархії н а й ч а с т і ш е р і з н и й
і збільшується від н и ж ч и х рівнів до в и щ и х .
П р о ц е с о р взаємодіє з п а м ' я т т ю н а й н и ж ч о г о р і в н я ієрархії, яка р о з м і щ е н а н а й б л и ж ч е
до нього. П р и зверненні з б о к у п р о ц е с о р а до п а м ' я т і , н а п р и к л а д , д л я з ч и т у в а н н я к о м а н д
або даних, п р о в о д и т ь с я їх п о ш у к в п а м ' я т і н и ж н ь о г о р і в н я . Ф а к т в и я в л е н н я потрібної
інформації н а з и в а ю т ь п о п а д а н н я м (hit), і н а к ш е г о в о р я т ь п р о п р о м а х (miss). П р и п р о
маху п р о в о д и т ь с я п о ш у к п о т р і б н о ї і н ф о р м а ц і ї в п а м ' я т і н а с т у п н о г о в и щ о г о р і в н я , де
також м о ж л и в і п о п а д а н н я а б о п р о м а х и . Після в и я в л е н н я необхідної і н ф о р м а ц і ї в и к о н у
ється послідовне п е р е с и л а н н я в м і с т у блоку з ш у к а н о ю і н ф о р м а ц і є ю з в и щ и х рівнів на
нижчі. Слід з а з н а ч и т и , що н е з а л е ж н о від числа рівнів ієрархії, п е р е с и л а н н я і н ф о р м а ц і ї
може здійснюватися л и ш е м і ж д в о м а сусідніми р і в н я м и , т о б т о п е р е с и л а н н я і н ф о р м а ц і ї
в обхід деяких рівнів не д о п у с к а є т ь с я .
При проведенні о б м і н у і н ф о р м а ц і є ю б л о к а м и м і ж п р и с т р о я м и п а м ' я т і р і з н и х рівнів
ієрархії необхідно в и р і ш у в а т и н а с т у п н і п и т а н н я :
• вибрати п р а в и л о з а м і щ е н н я вмісту о д н и х блоків в м і с т о м і н ш и х блоків, оскільки
через м е н ш у ємність в п а м ' я т і н и ж ч о г о р і в н я не м о ж е б у т и т а к а сама кількість блоків, як
в пам'яті в и щ о г о рівня;
• в и з н а ч и т и д о п у с т и м е місце р о з т а ш у в а н н я н о в о г о в м і с т у блоку при записі з до
триманням правила заміщення;
• вибрати та д о т р и м у в а т и с ь стратегії з а п и с у з м е т о ю з а б е з п е ч е н н я узгодженості
копій вмісту одних і тих же блоків, р о з т а ш о в а н и х на р і з н и х рівнях, при записі нової ін
формації в копію, що з н а х о д и т ь с я на н и ж ч о м у рівні.
то з а л е ж н і с т ь м і ж н и м и м о ж н а в и р а з и т и н а с т у п н о ю ф о р м у л о ю : к = 1 - к ;
т ь
Сотні ГБ.
десятки мс, Оптичні диски Магнітні стрічки
0.0000001
центів/біт • Файли
і (МБ)
Десятки ГБ.
одиниці мс. Магнітні диски RAID Флеш пам'ять
0.00001-0.000001
центів/біт
Сторінки
(0.5-8 КБ)
Одиниці МБ,
сотні мкс. Дискова кеш пам'ять
Сторінки
(0.5-8 КБ)
Одиниці ГБ,
сотні не, Основна пам'ять
0.0001-0.00001 центів/біт
Блоки
[8-128 Б)
Сотні КБ.
десятки не. Кеш пам'ять (L2)
0.5-0.1 центів/біт
Блоки
(8-128 Б)
Десятки КБ,
одиниці не, Кеш пам'ять (L1)
1 -0.5 центів/біт
Команди
та дані
(1-8 Б)
Сотні Б.
одиниці не
Регістри процесора
шого рівня в и к о р и с т а н о розділені кеш п а м яті даних і команд. В свою чергу, обидві кеш
пам'яті першого р і в н я з в ' я з а н і з є д и н о ю кеш п а м ' я т т ю другого рівня, я к а взаємодіє з
о с н о в н о ю п а м ' я т т ю . З р о з у м і л о , що обмін в підсистемі "кеш п а м ' я т ь Ь2 - кеш пам'ять да
н и х ІЛ" є д в о с т о р о н н і м , а в підсистемі "кеш п а м ' я т ь Ь2 - кеш пам'ять команд ІЛ" - одно
стороннім.
Рэздпенз Об'єднана Ба'атоблскова
кеш пам'ять кеш пам'ять ппчскна пам'ять з
Процесор команд і даних більшої ємкості розшаруванням
11
гСі^_и пам'ять Пам'ять™]
ком анд Ц Пам'ять"!
Об'єднана
ш. і 1 АРоі пам ять Пам'ять " !
ГФ • > К е ш пам'ять
Пам'ять_|
даних
багзтопортсвий
рэпстровкй файл
Кеш
пам'ять
Номер
секторе о і г з
номер і і і і і і і і і і гг г гг гггггзз
блоку 0 1 2 3 * 5 8 / 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Основна
пам'ять
Блок 0 Блок 0
Тег
Тег Блок 2
Блок і
Адреса основної
пам'яті
Блок
Тег Б л о к 511 25
33554431
Тег Слово
а) -Ь)
Рис. 10.8. Взаємодія основної пам'яті з кеш пам'яттю з використанням повністю асоціативного
відображення а) та формат адреси основної пам'яті Ь)
к бітів т бітів
Номер
Тег слова
Компаратор Тег у Г)
5 Дані
Попадання
Ти Блок 0
Ter Блок 1
Ter Блок 2
а) Ь)
і ег V 1>
KorVfiapaTcp ~J
Слово
X САМ>>
Попадання
Тег Блок о
Сектор 0
Тег Блюк >
23 ES3
Сектор І
Ш
Тег
Сектор 127
Тгг Б/кж 511
17 8
І £
ter' V
"со»; ho
Попадання
С Слово
Адреса
Тег V
Блок
Рис. 10.13. Ідентифікація даних в кеш пам'яті з частково-асоціативним доступом
Таким ч и н о м , ч и м м е н ш е п р о м а х і в , т и м в и щ а е ф е к т и в н і с т ь в и к о р и с т а н н я кеш
пам'яті. Розглянемо т и п и п р о м а х і в до кеш п а м ' я т і та підходи до з м е н ш е н н я їх кількості
й п о в ' я з а н и х з н и м и втрат. Існує три т и п и п р о м а х і в : о б о в ' я з к о в і , ємнісні та конфліктні.
О б о в ' я з к о в і п р о м а х и - це п р о м а х и , я к і в и н и к а ю т ь п р и п о ч а т к о в о м у з в е р н е н н і до
основної пам'яті. З р о з у м і л о , щ о п е р ш и й д о с т у п д о кеш п а м ' я т і о б о в ' я з к о в о буде п р о м а
хом. Для з м е н ш е н н я кількості ц ь о г о т и п у п р о м а х і в п о т р і б н о з б і л ь ш у в а т и р о з м і р блоків
в кеш пам'яті.
Ємнісні п р о м а х и п о в ' я з а н і з о б м е ж е н и м р о з м і р о м кеш пам'яті. Для з м е н ш е н н я кіль
кості цього т и п у п р о м а х і в п о т р і б н о з б і л ь ш у в а т и р о з м і р кеш пам'яті.
Конфліктні п р о м а х и п о в ' я з а н і з е ф е к т и в н і с т ю а л г о р и т м у з а м і щ е н н я блоків в кеш
пам'яті. Для з м е н ш е н н я кількості ц ь о г о т и п у п р о м а х і в п о т р і б н о з б і л ь ш у в а т и асоціатив
ність кеш пам'яті, аж до в и к о р и с т а н н я д л я її реалізації п о в н і с т ю асоціативної пам'яті.
На рис. 10.14 наведено з а л е ж н і с т ь в е л и ч и н и к о е ф і ц і є н т а п р о м а х і в від є м н о с т і кеш
пам'яті та від кількості блоків в о д н о м у секторі кеш п а м ' я т і з в и к о р и с т а н н я м ч а с т к о в о -
асоціативного в і д о б р а ж е н н я п р и в и к о н а н н і н а б о р у т е с т о в и х п р о г р а м S P E C 92.
Кількість блоків в секторі
ч а с т к о в о - а с о ц і а т и в н о ї к е ш пам'яті
CO
CO «З CM
Ємність кеш пам'яті (КБ)
Рис. 10.14. Залежність значення коефіцієнта промахів від ємності та від кількості блоків
в одному секторі частково-асоціативної кеш пам'яті
З операційної
1 З програми
, , 1 • .
системи
Рг умовної адреси Рг базової адреси
СМ
*
Виконавча адреса
а) Ь)
Рис. 10.16. Області основної пам'яті В та О є дірками, оскільки програма Е
не вставляється на їх місце
и
А Е
'ШШШ
шш,
С с
ИИ
а) Ь)
Рис. 10.17. Переміщення програми із області С а) та очікування місця для програми Е Ь)
Адреса
Фізична п а м я т ь
0
Дане
Зовнішня
пам'ять
Віртуальна Фізична
Перетворення Адреса
адреса адреса
віртуальних
адрес 0
у фізичні Основна
пам'ять
Рис. 10.18. Взаємодія процесора з основною пам'яттю при використанні віртуальної пам'яті
• в і р т у а л ь н а адреса п е р е т в о р ю є т ь с я у фізичну;
• ф і з и ч н а адреса п о д а є т ь с я до ф і з и ч н о ї п а м ' я т і (основної або зовнішньої);
• в ф і з и ч н і й п а м ' я т і з н а х о д и т ь с я відповідна фізичній адресі комірка;
• до цієї к о м і р к и з а п и с у є т ь с я , а б о з неї з ч и т у є т ь с я , дане, причому, я к щ о ця ко
мірка з н а х о д и т ь с я в з о в н і ш н і й пам'яті, то з в е р н е н н я до неї здійснюється через основну
п а м ' я т ь ш л я х о м п е р е з а п и с у і н ф о р м а ц і ї з з о в н і ш н ь о ї пам'яті до основної.
, ,. _ в-бітова адреса
к-бітовии номер
. в межах
віртуальної сторінки
г
' г
віртуальної сторінки
Рис. 10.19. Поділ віртуальної та фізичної пам'ятей
, . Б-бітова адреса
к-бітовии номер г
. в межах
віртуальної сторінки
г
' г
віртуальної сторінки
Рис. 10.20. Формат віртуальної адреси
р-бітовий номер s
" ДР
6 i T 0 B a а е с а в
10
сторінкова
таб. піци
Сторінкова таблиця
Номер Основна Зовнішня
Тип фізичної
пам'яті пам'ять пам'ять
Віртуальна пам'ять програми сторінки
ОП (1
ОГІ
зп 2
зп 3
ОП 1
ОП 5
Віртуальна пам'ять програми З
7
сторінкова
таблиця
385
Віртуальна адрзса
31 23 31 12 11 О
pi I р2 I Ns слова |
Віртуальна адреса
Рг А процесора
Сторінкова таблиця
першого рівня
Сторінкова табпи
Сторінка в основній пам'яті другого рівня
Сторінка в зовнішній пам'яті
У7Л н е використаний з а п и с
Сторінки пам'яті
Рис. 10.27. Використання багаторівневих сторінкових таблиць
25 3 а к . 3 7 1 .
386
он
Помер фінічпої
сторінки
14 РВ РН РМ РД
1
Помер фі нічної
сторінки
НФС V
Рт Тег НФС
Номер Номер
ф ізичної слова
сторінки
Попадання
Рис. 10.29. Структура частково-асоціативної кеш пам'яті буфера перетворення з передісторією
0
Таблиця
Таблиця констант
4К 4К
символів Граматичне
Таблиця дерево
ек виханого 8К 8К
тексту
12К 12К
Сегментна таблиця
П о ч а т о ї СТООІНХОЕЮ:
Номер сегмента
таблиці
Таблиця 10.1
Сторінкова
Характеристика Сегментна організація пам'яті
п/п організація пам'яті
Чи повинен програміст знати, який вид
1. ні так
організації пам'яті використовується?
2. Скільки є лінійних адресних просторів? 1 багато
Чи може адресний простір
3. так так
перевищувати ємність пам'яті?
Чи можуть бути розпізнані та окремо
4. ні так
захищені процедури і дані?
Чи можна розміщувати таблиці
5. ні так
змінного об'єму?
Чи можливе спільне застосування так
6. ні
процедур декількома користувачами?
Для отримання можливості
Для отримання
розміщувати програми і дані в
великого адресного
Для чого була розроблена дана логічно незв'язаних адресних
7. простору без необ
організація пам'яті? просторах і для полегшення су
хідності збільшен місного використання і захисту
ня фізичної пам'яті інформації
Віртуальна адреса
Номер сегмента
Рис. 10.32. Перетворення віртуальної адреси у фізичну адресу при використанні сегментної
та сторінкової організації пам'яті
Регістр
Пам'ять
захисту
Верхня адреса
п о м е р и.шк'а Р і А
ПКЗ
• Розря.і
Рі КЗ режиму Ті РЗ
захисту
Ключ
захисту
зд
Схема
пам'яті порівняння
— - II
Ключ сигнал
програми переривання
ПКЗ - пам'ять ключів захисту
РЗ - режим звернення
ЗД - звернення дозволено
3. B A E R , J.-L. A N D W . - H . W A N G f 1988]. "On the inclusion property for multi-level cache hierarchi-
es", Proc. 15th Annual Symposium on Computer Architecture (May-June), Honolulu, 73-80.
4. B H A N D A R K A R , D. P. [1995], Alpha Architecture Implementations, Digital Press, Newton, Mass.
5. BORG, A., R. E. KESSLER, A N D D. W. W A L L [1990]. "Generation and analysis of very long add-
ress traces", Proc. 17th Annual Int'l Symposium on Computer Architecture (Cat. No. 90CH2887-8), Seattle,
May 28-31, IEEE Computer Society Press, Los Alamitos, Calif, 270-9.
6. CASE, R. P. A N D A. PADEGS [1978]. "The architecture of the I B M System/370", Communications
of the ACM 21:1, 73-96. Also appears in D. P. Siewjorek, C. G. Bell, and A. Newell, Computer Structures:
Principles and Examples (1982), McGraw-Hill, New York, 830-855.
7. C L A R K , D. W . [1983]. "Cache performance of the VAX-W780", ACM Trans, on Computer Systems
1:1,24-37.
8. C O N T I , C , D. H . GIBSON, A N D S. H . P1TKOWSKY [1968J. "Structural aspects of the Sys-
tem/360 Model 85, Part I: General organization", IBM Systems }. 7:1, 2-14.
9. C R A W F O R D , J. H. A N D P. P. GELSINGER [1987]. Programming the 80386, Sybex, Alameda,
Calif.
10. FABRY, R. S. [1974]. "Capability based addressing", Comm. ACM 17:7 (July), 403-412.
11. FARKAS, K. I. A N D N. P. JOUPPI [1994]. "Complexity/performance tradeoffs with non-bloc-
king loads", Proc. 21st Annual Int'l Symposium on Computer Architecture, Chicago (April).
12. G A O , Q. S. [1993]. "The Chinese remainder theorem and the prime memory system", 20th Annual
Int'l Symposium on Computer Architecture ISCA '20, San Diego, May 16-19, 1993. Computer Architect-
ure News 21;:2 (May), 337—40.
13. G E E , J. D., M . D. H I L L , D. N P N E V M A T I K A T O S , A N D A. J. S M I T H [1993]. "Cache performance of the
SPEC92 benchmark suite", IEEE Micro 13:4 (August), 17-27.
14. HILL, M . D. [1987]. Aspects of Cache Memory and Instruction Buffer Performance, Ph.D. Thesis,
University of Calif, at Berkeley, Computer Science Division, Tech. Rep. UCB/CSD 87/381 (November).
15. H I L L , M . D. [1988]. "A case for direct mapped caches", Computer 21:12 (December), 25-40.
16. JOUPPI, N. P. [1990]. "Improving direct-mapped cache performance by the addition of a small
fully-associative cache and prefetch buffers", Proc. 17th Annual Int'l Symposium on Computer Architecture
(Cat. No. 90CH2887-8), Seattle, May 28-31, 1990. IEEE Computer Society Press, Los Alamitos, Calif,
364-73.
17. K I L B U R N , T., D. B. G . E D W A R D S , M . J. L A N I G A N , A N D F. H . S U M N E R [1962], "One-level storage
system", IRE Trans, on Electronic Computers EC-11 (April) 223-235. Also appears in D. P. Siewiorek,
C. G. Bell, and A. Newell, Computer Structures: Principles and Examples (1982), McGraw-Hill, New York,
135-148.
18. KROFT, D. [1981]. "Lockup-free instruction fetch/prefetch cache organization", Proc. Eighth Ann-
ual Symposium on Computer Architecture (May 12-14), Minneapolis, 81-87.
19. L A M , M . S., E . E. R O T H B E R G , A N D M . E . W O L F [1991]. "The cache performance and optimizatio-
ns of blocked algorithms", Fourth Int'l Conf. on Architectural Support for Programming Languages and
Operating Systems, Santa Clara, Calif, April 8-11. SIGPLAN Notices 26:4 (April), 63-74.
20. L E B E C K , A. R . A N D D . A . W O O D [1994]. "Cache profiling and the SPEC benchmarks: A case
study", Computer 27:10 (October), 15-26.
21. LIPTAY, J. S. [1968]. "Structural aspects of the System/360 Model 85, Part II: The cache", IBM
Systems }. 7:1, 15-21.
22. M C F A R L I N G , S. [1989]. "Program optimization for instruction caches", Proc. Third Int'l Conf. on
Architectural Support for Programming Languages and Operating Systems (April 3-6), Boston, 183-191.
23. MOWRY, T. C, S. L A M , A N D A . G U P T A [1992]. "Design and evaluation of a compiler algorithm
for prefetching", Fifth Int'l Conf. on Architectural Support for Programming Languages and Operating
Systems (ASPLOS-V), Boston, October 12-15 , SIGPLAN Notices 27:9 (September), 62-73.
397
До числа п р и с т р о ї в в в е д е н н я н а л е ж а т ь наступні:
• Клавіатура.
• О п т и ч н і пристрої, з о к р е м а з ч и т у в а ч і п е р ф о к а р т , п а п е р о в и х стрічок та штрихо
в и х кодів, ц и ф р о в а відеокамера, о п т и ч н и й п р и с т р і й з ч и т у в а н н я міток.
• Магнітні пристрої, н а п р и к л а д , п р и с т р і й для з ч и т у в а н н я коду, нанесеного в ви
гляді м а г н і т н и х стрічок.
• Е к р а н н і п р и с т р о ї , до числа я к и х в х о д я т ь сенсорні е к р а н и , світлове перо, мишка.
• Ш и р о к и й с п е к т р а н а л о г о в и х п р и с т р о ї в з ц и ф р о в и м виходом.
Д о числа п р и с т р о ї в в и в е д е н н я н а л е ж а т ь наступні:
• Електронно-променева трубка.
• Р і д к о к р и с т а л і ч н и й дисплей.
• П р и н т е р (ударного типу, с т р у м е н е в и й , л а з е р н и й , т о ч к о в о - м а т р и ч н и й ) .
• Графопобудовувач.
• П е р ф о р а т о р и карт та стрічок.
• Ш и р о к и й с п е к т р а н а л о г о в и х п р и с т р о ї в з ц и ф р о в и м входом.
• Звукові пристрої.
П р и с т р о ї в в е д е н н я - в и в е д е н н я та з ' є д н а н і з н и м и в н у т р і ш н і п р и с т р о ї комп'ютера,
крім вузлів п р я м о г о ф у н к ц і о н а л ь н о г о п р и з н а ч е н н я , містять елементи, які переміщують
і н ф о р м а ц і ю м і ж н и м и та п р о ц е с о р о м і о с н о в н о ю п а м ' я т т ю . До ц и х елементів належать:
• Блоки, призначені для зберігання інформації, яка підлягає введенню-виведенню.
• Ш и н и , по я к и х з д і й с н ю є т ь с я о б м і н і н ф о р м а ц і є ю м і ж п р о ц е с о р о м та пам'яттю
комп'ютера і керуючими вузлами зовнішніх пристроїв.
• Керуючі вузли в н у т р і ш н і х та п е р и ф е р і й н и х п р и с т р о ї в (контролери введення-ви
ведення).
• П р и с т р о ї з в ' я з к у ( і н т е р ф е й с н і схеми, які далі с к о р о ч е н о будемо називати інтер
ф е й с а м и ) з о в н і ш н і х п р и с т р о ї в , які з а б е з п е ч у ю т ь з в ' я з о к м і ж з о в н і ш н і м и і внутрішніми
п р и с т р о я м и к о м п ' ю т е р а в і д п о в і д н о д о п р о т о к о л і в обміну.
Шина
С и с т е м н і плата
Процесор пам'яті Основна
пам'ять
26 3аи" 371.
402
В ц ь о м у в и п а д к у п р о ц е с о р з в е р т а є т ь с я до п р и с т р о ю в в е д е н н я - в и в е д е н н я за його но
м е р о м і н е з а л е ж н о від пам'яті. Н а п р и к л а д , він м о ж е в к а з у в а т и тип операції введення-
виведення та номер пристрою введення-виведення.
На рис. 11.1 н а в е д е н о варіант взаємодії в н у т р і ш н і х та з о в н і ш н і х пристроїв комп'юте
ра з в и к о р и с т а н н я м двох о к р е м и х ш и н - ш и н и пам'яті та ш и н и введення-виведення.
М о ж л и в е в и к о р и с т а н н я о б ' є д н а н о ї ш и н и пам'яті т а в в е д е н н я - в и в е д е н н я . Я к щ о вико
р и с т о в у є т ь с я спільна ш и н а для о с н о в н о ї пам'яті та п р и с т р о ї в в в е д е н н я - в и в е д е н н я , то
м о ж е бути в и к о р и с т а н а спеціальна лінія активації, по якій в и б и р а є т ь с я для взаємодії з
п р о ц е с о р о м або п а м ' я т ь , а б о п р и с т р і й в в е д е н н я - в и в е д е н н я (рис. 11.3).
Лінія
активації
Клавіатура Магнітний Магнітна Основна
Принтер
та дисплей диск стрічка пам'ять
Ліни даних
Ліни керування
Регістри даних
Дешифратор адрес
і станів
Пристрій керування
Інтерфейси і
схеми
Пристрій
введення-виведення
Шина введення
Шина даних Інтерфейс -виведення
Шина адрес І Регістр даних | Наявність даних Пристрій
Процесор Читання даних введення-
V
Запис даних Дані прийнято виведення
РКС
Ні ^ ^ " " и п е р а ц і я ^ ^
"^іавершенаЗ^^
Ттак
Продовження виконання
програми
I
Процесор
РгД РгД
Р РКС р РКС
Клавіатура Дисплей
Запити переривання
— t P —— t3 Івпп — їв
Запити переривання
Глибина переривання 2
Глибина переривання З
В п е р ш о м у випадку, коли п о с т у п и в з а п и т п е р е р и в а н н я 2, в и к о н а н н я п е р ш о ї п р о
грами п е р е р и в а є т ь с я і в и к о н у є т ь с я друга п р о г р а м а , я к а в и к о н у є т ь с я до з а в е р ш е н н я не
дивлячись на те, що під час її в и к о н а н н я п о с т у п и в з а п и т 3. Це п о я с н ю є т ь с я т и м , що
система п е р е р и в а н н я п р о г р а м н е д о з в о л я є в и к о н а н н я н а с т у п н о г о п е р е р и в а н н я . Після
закінчення в и к о н а н н я п р о г р а м и 2 в и к о н у є т ь с я п р о г р а м а 3 ( з в и ч а й н о , я к щ о вона м а є
вищий пріоритет, ніж програма 1), а тоді відбувається повернення до виконання програми 1.
В другому в и п а д к у з п о с т у п л е н н я м к о ж н о г о з а п и т у п е р е р и в а н н я він о б с л у г о в у є т ь с я без
затримки. Ч и м більша глибина п е р е р и в а н н я , т и м к р а щ е в р а х о в у ю т ь с я п р і о р и т е т и з а п и
тів п е р е р и в а н н я . Я к щ о tp або to більше за час н а д х о д ж е н н я з а п и т у п е р е р и в а н н я від того
ж джерела (події), то в и н и к а є так з в а н е н а с и ч е н н я системи п е р е р и в а н н я , чого не м о ж н а
допускати.
Поча хсва
т
В пристрій адреса
•(еруэання переривальної
програми
З а п и т и п о с т у п а ю т ь в систему п е р е р и в а н н я по спеціальній ш и н і з а п и т у п е р е р и в а н
ня. З а п и т и з о д н а к о в и м п р і о р и т е т о м п о с т у п а ю т ь на ті ж самі логічні схеми А Б О . С и г н а л
п е р е р и в а н н я сигналізує п р о те, що д а н и й п р и с т р і й п о т р е б у є п е р е р и в а н н я п р о г р а м и . Всі
сигнали п е р е р и в а н н я з а з в и ч а й ф і к с у ю т ь с я в регістрі коду п е р е р и в а н н я РгКП. О с к і л ь к и
сигнали п е р е р и в а н н я є а с и н х р о н н и м и , б у д ь - я к и й п р и с т р і й м о ж е послати п е р е р и в а н н я в
довільний м о м е н т часу, в к л ю ч а ю ч и і м о м е н т и , коли о б р о б л я є т ь с я п о п е р е д н є п е р е р и в а н
ня. Для з а п о б і г а н н я в и к о н а н н я п е р е р и в а н н я п р о г р а м и д о з б е р е ж е н н я необхідної і н ф о р
мації, потрібної для п о в е р н е н н я до в и к о н а н н я п е р е р и в а н о ї п р о г р а м и , до складу системи
п е р е р и в а н н я п р о г р а м в в о д и т ь с я т р и г е р б л о к у в а н н я п е р е р и в а н н я ( Т Б П ) . Крім того, в
системі п е р е р и в а н н я існує т р и г е р о ч і к у в а н н я п е р е р и в а н н я ( Т О П ) , я к и й і н ф о р м у є п р и
стрій к е р у в а н н я п р о п о т р е б у п р о в е д е н н я п е р е р и в а н н я . Тригер б л о к у в а н н я п е р е р и в а н н я
блокує схеми І, та не д о з в о л я є фіксацію з а п и т у п е р е р и в а н н я в тригері о ч і к у в а н н я пере
р и в а н н я . З а з н а ч е н н я м в м і с т у регістра коду п е р е р и в а н н я д е ш и ф р а т о р ф о р м у є почат
кову адресу п е р е р и в а л ь н о ї п р о г р а м и . М і к р о н а к а з и с к и д а н н я регістра Р г К П та тригерів
ТБП і Т О П ф о р м у є п р и с т р і й к е р у в а н н я комп'ютера.
Маска переривання
LLLL J Ü L І Ш
L
Ре-іетр ч а с к и перериванні Регістр коду перерив.
Початкова
Т
адреса
В пристрій оеоеоивальиоі
програми
Переривана
програма Переривальна
програма
1
друкування
2
З
1
Сигнал
переривання 2
•> і
і+1
К-1
К
М-1
Процесор
Шина
даних
Інтерфв Принт ор
Контролер
прямого
доступу
до пам'яті
Інтерфейс Магнітний
ДИСК
До складу к о н т р о л е р а входять:
• регістр даних;
• регістр адреси;
• л і ч и л ь н и к слів;
• регістр команд;
• регістр станів;
• логіка к е р у в а н н я .
Ці вузли м а ю т ь свої адреси д л я з а с и л а н н я в н и х і н ф о р м а ц і ї з п р о ц е с о р а . Кількість
таких вузлів кратна кількості каналів.
Для п о ч а т к у п е р е д а в а н н я даних м і ж п а м ' я т т ю і п р и с т р о є м в в е д е н н я - в и в е д е н н я в
контролер з а п и с у є т ь с я н а с т у п н а і н ф о р м а ц і я :
• адреса пам'яті;
• кількість слів;
• адреса даних в п р и с т р о ї в в е д е н н я - в и в е д е н н я (на диску);
• виконувана функція (запис/зчитування).
Ця і н ф о р м а ц і я п о с т у п а є в к о н т р о л е р з п р о ц е с о р а . Коли передача закінчена, цей ф а к т
реєструється в регістрі станів к о н т р о л е р а . Тут т а к о ж з а п и с у є т ь с я і н ф о р м а ц і я п р о по
м и л к и при передачі даних. Після з а к і н ч е н н я в в е д е н н я - в и в е д е н н я , чи при н а я в н о с т і по
м и л к и , система п р я м о г о д о с т у п у д о п а м ' я т і п о в і д о м л я є п р о ц е п р о ц е с о р відповідним
сигналом п е р е р и в а н н я .
Як це в и д н о з рисунку, к о н т р о л е р п р я м о г о д о с т у п у до п а м ' я т і та п р о ц е с о р розді
ляють ш и н у пам'яті. Тільки один з н и х в той же час м о ж е мати к о н т р о л ь над ш и н о ю .
Загалом, п р и с т р о ї в в е д е н н я - в и в е д е н н я м а ю т ь перевагу над п р о ц е с о р о м п р и взаємодії
з пам'яттю, т о м у що багато п р и с т р о ї в в в е д е н н я - в и в е д е н н я діють з с у т т є в и м и ч а с о в и м и
о б м е ж е н н я м и . Я к щ о в о н и не п р о в о д я т ь ніякої діяльності в м е ж а х в к а з а н о г о періоду,
вони п р и п и н я ю т ь р о б о т у і п е р е р и в а ю т ь п р о ц е с в в е д е н н я - в и в е д е н н я . О с к і л ь к и пере
силання і н ф о р м а ц і ї від п р и с т р о ї в в в е д е н н я - в и в е д е н н я з д і й с н ю є т ь с я блоками не д о с и т ь
довгої тривалості, це не с у т т є в о в п л и в а є на п р о д у к т и в н і с т ь п р о ц е с о р а .
Основна
пам'ять
Шина
пам'яті
Центральний
процесор
Магнітний
диск
П р о ц е с о р и в в е д е н н я - в и в е д е н н я в и к о н у ю т ь п р о г р а м и , які р о з м і щ е н і центральним
п р о ц е с о р о м в о с н о в н і й пам'яті. Ці п р о г р а м и , складаючись з серій слів команд каналу,
в к л ю ч а ю т ь не тільки ф а к т и ч н і к о м а н д и п е р е с и л а н н я , але і к о м а н д и , які керують при-
475
Д о ф у н к ц і й каналів в в е д е н н я - в и в е д е н н я н а л е ж а т ь наступні:
1. В и з н а ч е н н я т и п у операції в в е д е н н я - в и в е д е н н я . Тип операції введення-виведення
з а д а є т ь с я кодом операції К О П .
2. О р г а н і з а ц і я л а н ц ю г а о п е р а ц і й . Ланцюг о п е р а ц і й - це послідовність КС, кожне з
я к и х о п и с у є нову о п е р а ц і ю в в е д е н н я - в и в е д е н н я над н о в и м м а с и в о м інформації. Для ор
ганізації л а н ц ю г а о п е р а ц і й до с к л а д у КС в в о д я т ь р о з р я д вказівника ланцюга операцій
ВЛО. Я к щ о ВЛО = 1, то після в и к о н а н н я КС в и б и р а є т ь с я нове КС, я к щ о ВЛО = 0, то дане
КС є о с т а н н і м в ланцюгу.
3. В и з н а ч е н н я області пам'яті. О б л а с т ь пам'яті з а д а є т ь с я п о ч а т к о в о ю адресою ПА і
р о з м і р о м області X , т о б т о кількістю слів, п о ч и н а ю ч и від п о ч а т к о в о г о слова.
4. О р г а н і з а ц і я л а н ц ю г а даних. Л а н ц ю г даних організується при роботі з масивами
даних. Ланцюг д а н и х - це послідовність з декількох КС. Після з а к і н ч е н н я введення-ви
ведення одного м а с и в у даних, канал п е р е х о д и т ь до і н ш о г о КС. Для к е р у в а н н я ланцюгом
д а н и х в и к о р и с т о в у є т ь с я д в і й к о в и й р о з р я д - в к а з і в н и к ланцюга даних ВЛД, який при
й м а є одне з двох значень - 0 а б о 1. Я к щ о в к а з і в н и к ланцюга рівний 1, то канал вибирає з
пам'яті н а с т у п н е КС, я к щ о в к а з і в н и к л а н ц ю г а р і в н и й 0, то операція закінчується.
5. З а б е з п е ч е н н я п р о п у с к у інформації. З а п и с у ю т ь с я / з ч и т у ю т ь с я окремі частини ма
сиву та п р о п у с к а ю т ь с я дані, які не є п о т р і б н и м и в к о н к р е т н о м у випадку. Для реалізації
п р о п у с к у і н ф о р м а ц і ї в керуюче слово к а н а л у в в о д и т ь с я р о з р я д вказівника пропуску ін
ф о р м а ц і ї ВПІ. Я к щ о ВПІ = 0, то в и к о н у є т ь с я КС, я к щ о ВПІ = 1, то запис/зчитування не
п р о в о д и т ь с я , л и ш е п і д р а х о в у ю т ь с я дані.
У т в о р е н н я ланцюгів д а н и х і о п е р а ц і й м о ж н а к о м б і н у в а т и . В з а г а л ь н о м у випадку
л а н ц ю г КС - це п р о г р а м а каналу.
6. О р г а н і з а ц і я п е р е р и в а н н я в в е д е н н я - в и в е д е н н я .
Канал і н ф о р м у є ц е н т р а л ь н и й п р о ц е с о р п р о хід в в е д е н н я - в и в е д е н н я , посилаючи за
п и т и п е р е р и в а н н я . Два о с н о в н и х в и д и п е р е р и в а н ь - п р о г р а м н о - к е р о в а н е переривання і
п е р е р и в а н н я , яке в и к л и к а н е з а к і н ч е н н я м в в е д е н н я - в и в е д е н н я . На наявність програмно-
к е р о в а н о г о п е р е р и в а н н я вказує відповідний р о з р я д в КС, я к и й н а з и в а ю т ь вказівником
п р о г р а м н о - к е р о в а н о г о п е р е р и в а н н я В П К П . Я к щ о В П К П = 1, то апаратура каналу фор
м у є з а п и т п е р е р и в а н н я , в и к о н у ю ч и о д н о ч а с н о п о т о ч н у операцію введення-виведення.
П е р е р и в а н н я , з в ' я з а н і з з а к і н ч е н н я м в в е д е н н я - в и в е д е н н я , ф о р м у ю т ь с я , я к щ о виконані
всі операції в л а н ц ю г у КС, або в и я в л е н і п о м и л к и .
477
Команди
Керуючі слова канапу
введення-виведення
Команди в в е д е н н я - в и в е д е н н я к е р у ю т ь р о б о т о ю ц е н т р а л ь н о г о п р о ц е с о р а . Послідов
ність к о м а н д в в е д е н н я - в и в е д е н н я - це п р о г р а м а ц е н т р а л ь н о г о п р о ц е с о р а по в в е д е н н ю -
виведенню інформації. Ф о р м а т к о м а н д и в в е д е н н я - в и в е д е н н я н а в е д е н о на рис. 11.17.
1-й підканал
Мультиплексний
Пам'ять канал
МК І- и підканал
k - й підканал
Центральний
процесор Загальне обладнання МК
В м у л ь т и п л е к с н о м у каналі м о ж е б у т и м о ж л и в і с т ь м о н о п о л ь н о г о обслуговування
одного п е р и ф е р і й н о г о п р и с т р о ю . В ц ь о м у р е ж и м і один з підканалів повністю займає
канал. Це д о з в о л я є п і д к л ю ч и т и до м у л ь т и п л е к с н о г о к а н а л у швидкодіючі периферійні
пристрої.
С е л е к т о р н и й к а н а л п р и з н а ч е н и й д л я м о н о п о л ь н о г о о б с л у г о в у в а н н я одного перифе
р і й н о г о п р и с т р о ю . Він обслуговує ш в и д к о д і ю ч і пристрої. Ф а к т и ч н о селекторний канал
м а є один підканал. Тому він є п р о с т і ш и м , н і ж м у л ь т и п л е к с н и й канал. До його складу
входять, крім п а м ' я т і , п р и с т р і й к е р у в а н н я та регістри, до я к и х належать наступні: ре
гістр н о м е р а п е р и ф е р і й н о г о п р и с т р о ю , регістр к о м а н д и в в е д е н н я - в и в е д е н н я , регістр ке
руючого слова, регістр а д р е с и керуючого слова, регістри з в ' я з к у з периферійними при
с т р о я м и та о с н о в н о ю п а м ' я т т ю , л і ч и л ь н и к слів.
479
Прискорення
Версія 3
Версія 2
-
> Версія 1
50 100
КІЛЬКІСТЬ П р о ц е с о р і в
9
S U N Fire Х 4 6 0 0 Server SUN Fire X4500 Server
8
. 7
9
о
в 6
SGI ® Altix ® 450
О
а 5
з- S U N Fire T 1 0 0 0 S U N Blade 6000
о
а. S U N Fire X 4 2 0 0 S e r v e r
4с
л S U N * F i r e X 4 2 0 0 *Server
I-
S U N Fire X 4 2 0 0 Server
о SGI ® Altix ® 4000
•я 3
Л HP Pro Liant DL 1 4 0 G 3 IBM eServer Cluster 1350
5
2
Netra C P 3 0 6 0 U l t r a S P A R C T1 A T C A Blade
1
a b
повідність п о м і ж регістрами з а г а л ь н о г о п р и з н а ч е н н я л о г і ч н и х п р о ц е с о р і в та ф і з и ч н о г о
процесора (використовують одну т а к у т а б л и ц ю на кожен л о г і ч н и й п р о ц е с о р ) .
а Ь
Рис. 12.6. Традиційна двопроцесорна система (а) та альтернативна система
з підтримкою технологіїгіперпотоковоїобробки (Ь)
П р и п а р а л е л ь н о м у о п р а ц ю в а н н і д в о х потоків п і д т р и м у є т ь с я вміст д в о х л і ч и л ь н и к і в
команд. П е р е в а ж н а частка к о м а н д о т р и м у є т ь с я з таблиці Trace Cache (ТС), де ці к о м а н
ди зберігають в д е к о д о в а н о м у ( т р а н с л ь о в а н о м у до р і в н я м і к р о о п е р а ц і й ) виді. Доступ
до ТС о б и д в а активні логічні п р о ц е с о р и о т р и м у ю т ь за чергою, через такт. У той же час,
коли а к т и в н и м є л и ш е один логічний п р о ц е с о р , він о т р и м у є м о н о п о л ь н и й д о с т у п до
ТС, без чергування за т а к т а м и . Так с а м о в і д б у в а є т ь с я і д о с т у п до п а м ' я т і команд, коли
треба о п р а ц ю в а т и складну команду, що не м а є д и н а м і ч н о к о м п і л ь о в а н о г о варіанту для
подання на безпосереднє в и к о н а н н я . Б у ф е р и п е р е т в о р е н н я з передісторією I T L B (In
struction Translation Look-aside Buffer), задіяні за у м о в и відсутності необхідних к о м а н д
у кеш п а м ' я т і команд, дублюються і п о с т а ч а ю т ь к о м а н д и за п р а в и л о м "кожен д л я свого
потоку". Блок декодування к о м а н д є п о д і л ю в а н и м і у випадку, коли п о т р і б н е декоду
в а н н я к о м а н д для обох потоків, обслуговує їх за чергою ( з н о в у - т а к и через такт). Блоки
черги м і к р о о п е р а ц і й та їх р о з м і щ е н н я поділено навпіл, аби р о з п о д і л и т и елементи д л я
кожного логічного процесора. Блоки диспетчерів у кількості 5 ш т у к о п р а ц ь о в у ю т ь ч е р
ги д е к о д о в а н и х команд, н е з в а ж а ю ч и на п р и н а л е ж н і с т ь до LP0 а б о L P 1 , і с п р я м о в у ю т ь
команди на в и к о н а н н я цільовим в и к о н а в ч и м блокам з а л е ж н о від готовності до в и к о н а н
ня операндів к о м а н д і наявності вільного стану ц і л ь о в и х в и к о н а в ч и х блоків (динамічне
в и к о н а н н я ) . Кеш пам'яті усіх рівнів (L1/L2 д л я Хеоп, а т а к о ж L3 д л я Xeon M P ) є цілком
поділюваними п о м і ж двома л о г і ч н и м и п р о ц е с о р а м и , п р о т е д л я з а б е з п е ч е н н я когерент
ності (цілісності) д а н и х записи до буферів п е р е т в о р е н н я з передісторією D T L B (Data
Translation Look-aside Buffer) з а б е з п е ч у ю т ь с я д е с к р и п т о р а м и у вигляді ідентифікаторів
логічних процесорів.
Таким ч и н о м , к о м а н д и обох логічних п р о ц е с о р і в м о ж н а в и к о н у в а т и одночасно на
ресурсах одного фізичного п р о ц е с о р а , п р и ч о м у ці р е с у р с и поділено на ч о т и р и наступні
класи: дубльовані, цілком поділювані, із д е с к р и п т о р а м и елементів, д и н а м і ч н о поділю
вані з а л е ж н о від р е ж и м у р о б о т и : о д н о з а д а ч н и й р е ж и м п е р ш о г о а б о другого логічного
процесора чи багатозадачний р е ж и м .
Більшість п р и к л а д н и х п р о г р а м , що о т р и м у ю т ь п р и с к о р е н н я у б а г а т о п р о ц е с о р н и х
системах, м о ж у т ь т а к о ж п р и с к о р ю в а т и с я і на п р о ц е с о р і із у в і м к н у т и м р е ж и м о м гіпер-
432
Базова продуктивність
першого процесора без
багатопотокової технологи
пі
і —
ПК
J Паралельний
і і
и
АЛП
,111
Послівно- 1
і секційна
! І пд
І J
ПІ
І
ПК
т Розрядно-
Послідовний сшуійма
АПП пд
ПІ
Паралельний
ПК
АЛП
Послідовний
ПД
АЛП
ПК
1
АЛП АЛП
і
АЛП
І І 1
ПД ПД ПД
пк
АЛП
+
пд
ПК ПК
ПР 1 ПД І Р і
П І ПД
Ь)
ПК пк
ПР ї
ПД ПР ПД
с) d)
Рис. 12.14. Структура комп'ютерної системи типу ОКОД а), МКОДЬ), ОКМД с), МКМД d)
С т р у к т у р а к о м п ' ю т е р н о ї с и с т е м и з м н о ж и н н и м п о т о к о м к о м а н д та о д и н и ч н и м пото
ком д а н и х п о к а з а н а на рис. 12.14b. К о м е р ц і й н і у н і в е р с а л ь н і к о м п ' ю т е р н і системи цього
т и п у на д а н и й час невідомі, п р о т е в о н и м о ж у т ь з ' я в и т и с я у м а й б у т н ь о м у . До цього типу
систем з д е я к и м и у м о в н о с т я м и м о ж н а віднести спеціалізовані потокові процесори, зо
к р е м а систолічні, які в и к о р и с т о в у ю т ь , н а п р и к л а д , при о б р о б ц і з о б р а ж е н ь .
В к о м п ' ю т е р н і й системі з о д и н и ч н и м п о т о к о м к о м а н д та м н о ж и н н и м потоком даних
(рис. 12.14 с) о д н о ч а с н о о б р о б л я є т ь с я велика кількість даних. До цього класу, зокрема,
н а л е ж а т ь р а н і ш е р о з г л я н у т і в е к т о р н і п р о ц е с о р и . До к о м п ' ю т е р н и х систем з одиничним
п о т о к о м к о м а н д т а м н о ж и н н и м п о т о к о м д а н и х м о ж н а віднести т а к о ж апаратну підсис
тему п р о ц е с о р і в Pentium, яка р е а л і з о в у є технологію М М Х о п р а ц ю в а н н я даних для гра
фічної о п е р а ц і й н о ї с и с т е м и Windows.
Х а р а к т е р н и м п р и к л а д о м к о м п ' ю т е р н о ї системи з о д и н и ч н и м п о т о к о м команд та мно
ж и н н и м п о т о к о м д а н и х м о ж е с л у ж и т и система, яка складається з двох частин: зовніш
нього к о м п ' ю т е р а з а р х і т е к т у р о ю Д ж о н а ф о н Н е й м а н а , я к и й в и к о н у є р о л ь пристрою
к е р у в а н н я , і м а с и в у і д е н т и ч н и х с и н х р о н і з о в а н и х е л е м е н т а р н и х процесорів, здатних од
ночасно в и к о н у в а т и ту ж саму дію над р і з н и м и д а н и м и . Кожен п р о ц е с о р у масиві має
місцеву п а м ' я т ь невеликої є м н о с т і , де зберігаються дані, які о б р о б л я ю т ь с я паралельно.
437
Б л о к керування
1r
t І
Pi P2 p -l
n P n
Mi
t і
M2
І
Мз
t Mn-i Mn
Комунікаційна мережа
Блок керування
?2
I
Рп-І
Комунікаційна мережа
£_3
м, щ
Рис. 12.16. Багатопроцесорна комп'ютерна система з одиничним потоком команд
та множинним потоком даних із спільною пам'яттю
439
а Ь
Рис. 12.17. Загальна структура комп'ютерних систем зі спільною пам'яттю а
та з передачею повідомлень Ь
M M
)
і
J!
M
V
I/O I/O с
p
с
p
E с I/O
а Ь с
Рис. 12.19. Багатопроцесорні системи ЦМА із спільною пам'яттю на основі шинної топології а,
координатного комутатора Ь та багатоярусної мережі с
пам'ять
н а в а н т а ж е н н я на ш и н у м і ж п р о ц е с о р о м і о с н о в н о ю п а м ' я т т ю , але зі з б і л ь ш е н н я м ч и с
ла процесорів н а в а н т а ж е н н я на ш и н у т а к о ж з р о с т а є . О с к і л ь к и ш и н а в и к о р и с т о в у є т ь с я
також для передачі сигналів, що з а б е з п е ч у ю т ь когерентність, ситуація з н а в а н т а ж е н н я м
на ш и н у ще більш у с к л а д н ю є т ь с я . З якогось м о м е н т у в плані п р о д у к т и в н о с т і ш и н а пере
творюється на вузьке місце. Для систем із спільною п а м ' я т т ю т а к о ю м е ж е ю стає ч и с л о
процесорів в межах від 16 до 64. Н а п р и к л а д , кількість п р о ц е с о р і в системи Silicon Grap
hics Power Challenge о б м е ж е н а 64 п р о ц е с о р а м и т и п у R10000, о с к і л ь к и п р и п о д а л ь ш о м у
збільшенні числа п р о ц е с о р і в п р о д у к т и в н і с т ь падає.
О б м е ж е н н я на число процесорів в архітектурі з с п і л ь н о ю п а м ' я т т ю с л у ж и т ь спо
н у к а л ь н и м м о т и в о м для р о з в и т к у к л а с т е р н и х систем. В о с т а н н і х кожен вузол м а є л о
кальну о с н о в н у п а м ' я т ь , т о б т о додатки "не бачать" спільної о с н о в н о ї пам'яті. По суті,
когерентність п і д т р и м у є т ь с я не стільки а п а р а т у р о ю , скільки п р о г р а м н и м з а б е з п е ч е н
ням, що не к р а щ и м ч и н о м п о з н а ч а є т ь с я на п р о д у к т и в н о с т і . О д н и м із ш л я х і в с т в о р е н н я
в е л и к о м а с ш т а б н и х к о м п ' ю т е р н и х систем є технологія C C - N U M A . Н а п р и к л а д , система
N U M A Silicon Graphics O r i g i n п і д т р и м у є до 1024 п р о ц е с о р і в R10000. Технологія C C -
N U M A передбачає в к л ю ч е н н я м н о ж и н и н е з а л е ж н и х вузлів, к о ж н и й з я к и х м о ж е бути,
наприклад, системою із спільною п а м ' я т т ю . Т а к и м ч и н о м , вузол містить м н о ж и н у п р о
цесорів, у к о ж н о г о з я к и х п р и с у т н і локальні кеш п а м ' я т і п е р ш о г о і другого рівнів. У вузлі
є й основна пам'ять, спільна для всіх п р о ц е с о р і в ц ь о г о вузла, але така, що р о з г л я д а є т ь с я
я к частина спільної о с н о в н о ї п а м ' я т і системи. В архітектурі C C - N U M A вузол в и с т у п а є
о с н о в н и м будівельним блоком. Н а п р и к л а д , к о ж е н вузол у системі Silicon Graphics Origin
містить два м і к р о п р о ц е с о р и M I P S R10000. Вузли о б ' є д н у ю т ь с я за д о п о м о г о ю якої-не-
будь комунікаційної мережі, яка представлена к о о р д и н а т н и м к о м у т а т о р о м , кільцем або
має іншу топологію.
Відповідно до технології C C - N U M A , кожен в у з о л у системі володіє власною о с н о
вною п а м ' я т т ю , але з погляду п р о ц е с о р і в м а є місце спільна п а м ' я т ь , де к о ж е н елемент
будь-якої локальної о с н о в н о ї пам'яті м а є у н і к а л ь н у с и с т е м н у адресу. Коли п р о ц е с о р іні
ціює доступ до пам'яті і потрібна комірка в і д с у т н я в й о г о л о к а л ь н і й кеш пам'яті, кеш-
п а м ' я т ь другого рівня п р о ц е с о р а організує о п е р а ц і ю в и б і р к и . Я к щ о потрібна комірка
знаходиться в локальній о с н о в н і й пам'яті, вибірка п р о в о д и т ь с я з в и к о р и с т а н н я м л о к а л ь
ної ш и н и . Я к щ о ж необхідна комірка зберігається у віддаленій секції спільної пам'яті, то
автоматично ф о р м у є т ь с я запит, що п о с и л а є т ь с я по к о м у н і к а ц і й н і й мережі на п о т р і б н у
локальну шину, і вже по ній до підключеної до даної л о к а л ь н о ї ш и н и кеш пам'яті. Всі ці
дії виконуються а в т о м а т и ч н о , п р о з о р і для п р о ц е с о р а і його кеш пам'яті.
У даній конфігурації головна т у р б о т а - когерентність к е ш - п а м ' я т е й . Хоча окремі р е
алізації і відрізняються в деталях, з а г а л ь н и м є те, що к о ж е н вузол м а є довідник, в я к о
му зберігається і н ф о р м а ц і я п р о м і с ц е з н а х о д ж е н н я в системі к о ж н о ї складової спільної
пам'яті, а т а к о ж п р о стан кеш пам'яті.
Мі
ооо
Комунікаційні мережі
Динамічні
Координатні
Контролер
комунікаційної мережі
Сигнали
керування
Процесор 2 Процесор 2
Комунікаційна мережа
Процесор N Процесор К
П р о ц е с о р и п о с и л а ю т ь з а п и т на о б с л у г о в у в а н н я в к о н т р о л е р к о м у н і к а ц і й н о ї мережі,
я к и й п р о в о д и т ь а р б і т р а ж з а п и т і в із в р а х у в а н н я м з а д а н и х пріоритетів, і в с т а н о в л ю є п о
трібний маршрут. До даного т и п у слід віднести м е р е ж і з ш и н н о ю топологією. П р о ц е с о р
ні матриці т а к о ж будуються як мережі з ц е н т р а л і з о в а н и м к е р у в а н н я м , яке з д і й с н ю є т ь с я
сигналами від ц е н т р а л ь н о г о п р о ц е с о р а . П р и в е д е н а схема з а с т о с о в н а і до м е р е ж з ко
мутацією пакетів. Тут тег м а р ш р у т и з а ц і ї , що зберігається в з а г о л о в к у пакету, в и з н а ч а є
адресу вузла п р и з н а ч е н н я . Більшість серійних к о м п ' ю т е р н и х систем м а є саме цей тип
керування.
У схемах із д е ц е н т р а л і з о в а н и м к е р у в а н н я м функції к е р у в а н н я розподілені по вузлах
мережі. Варіант із ц е н т р а л і з о в а н и м к е р у в а н н я м п р о с т і ш е реалізується, але р о з ш и р е н н я
мережі в ц ь о м у в и п а д к у п о в ' я з а н е із з н а ч н и м и т р у д н о щ а м и . Децентралізовані м е р е ж і
448
« (а)
Рис. 12.26. Приклади мереж з обмеженим з'єднанням
тична складність є 0 ( l o g N ) .
Досить п о п у л я р н и м и є кубічні (рис. 12.26 g) та гіперкубічні топології, які д о з в о л я ю т ь
зменшити часову складність с т а т и ч н и х топологій м е р е ж .
Гіперкубічні мережі м а ю т ь с т р у к т у р у n - м і р н о г о куба, n - м і р н и й куб (гіперкуб п о р я д
ку п) визначають як н е о р і є н т о в а н и й г р а ф , що має 2" м і ч е н и х в е р ш и н від 0 до 2 , в я к о м у
Г ;
О д н а з б а ж а н и х о с о б л и в о с т е й г і п е р к у б і ч н и х м е р е ж - р е к у р с и в н а п р и р о д а їх побу
дови. n - м і р н и й куб м о ж е б у т и п о б у д о в а н и й на основі двох підкубів, кожен з я к и х має
п о р я д о к п - 1 , ш л я х о м з ' є д н а н н я вузлів подібних адрес в обох підкубах. Так 4-мірний куб,
п о к а з а н и й на рис. 12.28, п о б у д о в а н и й на основі двох підкубів, п о р я д о к кожного з яких
р і в н и й т р ь о м . П о т р і б н о відзначити, що п о б у д о в а 4-мірного куба на основі двох 3-мірних
кубів в и м а г а є з б і л ь ш е н н я п о р я д к у к о ж н о г о вузла.
С и с т е м а i P S C ф і р м и Intel є п р и к л а д о м б а з о в а н о ї на гіперкубічній комунікаційній ме
р е ж і к о м е р ц і й н о ї б а г а т о п р о ц е с о р н о ї к о м п ' ю т е р н о ї системи.
453
Рі "2 ^N- 1 PN
І 1 Л.
Шина
Максимальна Пропускна
кількість Ємність
Тип Частота здатність
процесорів пам'яті
Назва системи процесора шини
HP 9000 К.640 4 РА-8000 180 M H z -UW6 M B 460 MB/s
IBM RS/6000 R40 8 PowerPC 604 112 MHz 2.048 MB 1.800 MB/s
Sim Enterprise 6000 30 UltraSPARC 1 167 МП/. 30.720 MB 2.600 MB/s
I І .
1 II І і і, і А її 1
г
і і
^ г ' 1 1
і1 іг 1 і , 11 і г
і^
і
іГ
І
!* ч
1 1п
і 1
г
1
V Ч
І мп 2
ї
і і і 1 !6
1 1
У ' 1У
і 1
<
< 1 •
А/ м 4
Р 7 Р 3
і и >*• І І11 і * нн і 1 іи
>і і
II • 1 і кИ
У і
^
Т І г г Уг
г
1
і
і к - і
1 *
— 1 • іг 1
11
' і іг 'Г і• 1
Л/. Л/ 4
1_!
І/.
іт '
Класі Клас 2 Клас З
Рис. 12.33. Багатошинна комунікаційна мережа з базованим на класах з'єднанням блоків пам'яті
12.
Надання шини
Ш ина зайнята
Надання шини
Ш ина зайнята
У строго н е б л о к у ю ч и х м е р е ж а х в и н и к н е н н я б л о к у в а н ь п р и н ц и п о в о н е м о ж л и в е через
з а с т о с о в а н у топологію. До т а к и х н а л е ж а т ь м а т р и ч н а м е р е ж а та м е р е ж а Клоса. Неблоку-
ю ч и м и в ш и р о к о м у сенсі н а з и в а ю т ь топології, в я к и х к о н ф л і к т и п р и б у д ь - я к и х з ' є д н а н
н я х н е в и н и к а ю т ь тільки при д о т р и м а н н і п е в н о г о а л г о р и т м у м а р ш р у т и з а ц і ї .
У неблокуючих мережах з реконфігурацією також можлива реалізація з'єднання
між д о в і л ь н и м и вхідними і в и х і д н и м и т е р м і н а л а м и , але д л я ц ь о г о необхідно з м і н и т и
настройку комутаторів мережі та маршрут зв'язку між сполученими терміналами. При
кладами т а к и х м е р е ж служать м е р е ж і Бенеша, Бетчера, " М е м ф і с " й інші.
У б л о к у ю ч и х мережах, я к щ о яке-небудь з ' є д н а н н я в ж е в с т а н о в л е н е , це м о ж е стати
п р и ч и н о ю н е м о ж л и в о с т і в с т а н о в л е н н я і н ш и х з ' є д н а н ь . Д о б л о к у ю ч и х належать м е р е ж і
"Баньян", "Омега", n - к у б і інші.
Існує т р и базові топології к о м у т у ю ч и х д и н а м і ч н и х к о м у н і к а ц і й н и х м е р е ж багато
п р о ц е с о р н и х систем: к о о р д и н а т н і , о д н о я р у с н і та багатоярусні.
а с и м п т о т и ч н а складність є 0(1).
П о т р і б н о з а у в а ж и т и , що к о о р д и н а т н а м е р е ж а є н е б л о к у ю ч о ю .
мі м2 ИЗ М4 м5 МИ М7 Ш
гh г1 r1 r"1 r "1 Г1 rh
LJ LJ LJ l_ J LJ LJ LJ L
PI
їм Г П Г ~i r ~| r "І r -i r
92 L Jh Lг J LJ LJ LJ LJ Lr ^J
га
"
г "1 г 1
LJ LJ
r1
LJ
-i
Ґ "1
LJ
H
Ґ
L і 4
іp r
-i
Ґ
^
H
1
J LҐ J
"1
LJ LJ LJ LJ LA h1 hj tT
-
rП г ~i rі ?1 Г1 r1 Г -] r1
n L
J LJ LJ LЛ LJ LJ LJ t J
Р6 гІ r 4 rП
LГ У
"1 rT r1 Г
1
LJ L1
J ?
Lr J td tJ h r—
г1 r rt 1
Р7
LJ LjГ
V Г 1J L J1 Гt J"І Lr "1
d Lr "іJ J—
PS £b Ґ1 Ґ1 r ct p1 Г -|
p tj l_ У3 -J
г L,
(а) (Ь)
Рис. 12.35. Координатна мережа розміром 8x8 та два можливих стани КЕ:
а - прямо та Ь - навхрест
458
МП
о
... 0
МП
1
МП
М-1
М-1
1
Км-1 Кі Ко
Рис. 12.36. Структура матричної одноярусної комутуючої мережі
Е к о н о м н і ш и м и п о р і в н я н о з к о о р д и н а т н о ю та м а т р и ч н о ю К М М є багатоярусні кому
туючі мережі, які будуються на базі к о м у т у ю ч о г о елементу, що з а з в и ч а й має два входи
і два виходи. М о ж л и в і комбінації з ' є д н а н н я входів з в и х о д а м и такого КЕ показані на
рис. 12.36.
459
а Ь с а
Рис. 12.36. Можливі комбінації з'єднання входів з виходами двовходового комутаційного елемента:
а - прямо, Ь - навхрест, с - розширення зверху, сі - розширення знизу
оо о
о МЗ о МЗ о
о 1 о К-1 о
о о о
КЕ КЕ КЕ
Існує цілий р я д б а г а т о я р у с н и х к о м у т у ю ч и х к о м у н і к а ц і й н и х м е р е ж . С т р у к т у р а ш и
роко р о з п о в с ю д ж е н и х топологій м е р е ж " Б а н ь я н " та "Омега" для N=8 п о к а з а н а відпо
відно на рис. 12.38 а та на рис. 12.38 Ь. Вона м і с т и т ь в к о ж н о м у з я р у с і в по N / 2
КЕ і N каналів зв'язку. Я к щ о к о ж е н КЕ в и к о н у є п е р е м и к а н н я п р я м о і навхрест, то т а к а
комунікаційна мережа м о ж е в и к о н а т и 2 ° п е р е с т а н о в о к , що істотно м е н ш е за N1 пе
№ 2 1 8 К
по 4 8 12 •110
ш • 111
а Ь
Рис. 12.38. Багатоярусна комунікаційна мережа 8x8: а - "Баньян" та Ь - "Омега'
460
ООО
001
010
011
1 1
100
I— 101
ь
Рис. 12.41. КММ, створені на базі структур сортувальних мереж:
а - крайня зліва, Ь - крайня справа
462
П р о в е д е м о п о р і в н я н н я р о з г л я н у т и х б а г а т о я р у с н и х неблокуючих к о м у т у ю ч и х ме
р е ж з р е к о н ф і г у р а ц і є ю за а п а р а т н о ю та часовою с к л а д н о с т я м и . В табл. 12.3 наведено
кількість КЕ та кількість ярусів з а л е ж н о від числа входів N р о з г л я н у т и х К М М . Видно,
що н а й в и г і д н і ш и м и за д а н и м и к р и т е р і я м и є К М М Бенеша і г р а н и ч н а справа К М М на
основі с о р т у в а л ь н о ї м е р е ж і Бетчера.
Таблиця 12.3
пає на відповідний його номеру КЕ і настроює його на р е ж и м роботи прямо, якщо Т =0, або
навхрест, я к щ о Т.=1.
Е ф е к т и в н о р о з в ' я з у є т ь с я п и т а н н я к е р у в а н н я в К М М , п о б у д о в а н и х на базі сортуваль
н и х м е р е ж , що з а п р о п о н о в а н о та о п и с а н о в п р а ц я х автора даної книги. В цьому випад
ку КЕ, спочатку п р а ц ю ю ч и в р е ж и м і с о р т у в а н н я , н а л а ш т о в у є т ь с я на необхідний р е ж и м
п е р е м и к а н н я , а потім п р а ц ю є в р е ж и м і комутації. У р е ж и м і с о р т у в а н н я на входи К М М
п о с т у п а ю т ь а д р е с и виходів, з я к и м и дані входи п о в и н н і бути з'єднані. Дані адреси ру
х а ю т ь с я по елементах м е р е ж і і с о р т у ю т ь с я , а в к о ж н о м у елементі запам'ятовується стан
керуючого коду ( р о з р я д у ) . П р и ц ь о м у н е м а є п о т р е б и в и к о р и с т о в у в а т и окремі ш и н и для
подачі к е р у ю ч и х сигналів на к о м у т у ю ч і елементи. На рис. 12.41 ж и р н о ю лінією показано
о д и н із м а р ш р у т і в п р и подачі на вхід м е р е ж і наведених керуючих кодів.
П р о в е д е н и й в и щ е аналіз д о з в о л я є з р о б и т и н а с т у п н і в и с н о в к и :
• о д н о я р у с н і м а т р и ч н і К М М в і д р і з н я ю т ь с я г р а н и ч н о високою швидкодією, проте
м а ю т ь недостатню надійність, н е р е г у л я р н у структуру, в и м а г а ю т ь здійснення дуже вели
кої кількості з в ' я з к і в м і ж е л е м е н т а м и , що у т р у д н ю є їх реалізацію. Крім того, в о н и мають
в е л и к у а п а р а т н у складність;
• багатоярусні К М М в і д р і з н я ю т ь с я р е г у л я р н і с т ю і однорідністю с т р у к т у р и , а також
л о к а л ь н і с т ю зв'язків, що о с о б л и в о в а ж л и в о при їх реалізації у вигляді НВІС. Крім того,
в більшості с т р у к т у р б а г а т о я р у с н и х К М М вихід з ладу одного або декількох КЕ практич
но не в п л и в а є на їх працездатність;
463
• в б а г а т о я р у с н и х К М М на базі с о р т у в а л ь н и х м е р е ж , які х а р а к т е р и з у ю т ь с я в и с о
кими п а р а м е т р а м и апаратної т а часової складності, е ф е к т и в н о р о з в ' я з у є т ь с я п и т а н н я
керування.
о р д и н а т н и х к о м у т а т о р і в у в и х і д н о м у ярусі. В к о ж н о г о к о м у т а т о р а вхідного я р у с у є п ]
то матричні перемикачі в п р о
міжному ярусі є п о в н и м и ко
ординатними комутаторами і Рис. 12.42. Триярусна мережа Клоса
464
Одношинна
Багатошинна
wo
(XmN)
0(1) С
С
от
Багатоярусна OtN lag /V) Є
Координатна Oil) 0{N )2
Немає
37. Youn, H. and Chen, С. A comprehensive performance evaluation of crossbar networks. IEEE
Transactions on Parallel and Distribute Systems, 4 (5), 481-489 (1993).
38. Zargham, M. Computer Architecture: Single and Parallel Systems, Prentice-Hall, 1996.
39. Мельник А. А., Илькив В. С. Реализация алгоритмов сортировки. Систолические вычис
лительные структуры. Препринт N3-87. ИППММ АН УССР. - Львов, 1988. - с. 25-26.
40. Мельник А. А. О подходе к реализации многоступенчатых коммутирующих сетей. Высо
копроизводительные вычислительные системы. Препринт N6-89. - Львов, 1989. - с. 46-47.
41. Мельник А. О. Принципи організації управління для одного класу багатоступінчастих
комутуючих мереж. Матеріали НТК "Досвід розробки та застосування приладо-технологічних
САПР мікроелектроніки". - Львів, 1995. - Ч. 1. - с. 28-29.
30. Поясніть структуру та організацію роботи багатопроцесорної системи типу МКМД з роз
поділеною пам'яттю.
31. Наведіть класифікацію багатопроцесорних систем типу МКМД з спільною пам'яттю.
32. Поясніть основні особливості комп'ютерних систем з однорідним доступом до пам'яті.
33. Поясніть основні особливості комп'ютерних систем з неоднорідним доступом до пам'яті.
34. Поясніть основні особливості комп'ютерних систем лише з кеш пам'яттю.
35. Поясніть загальну організацію роботи комп'ютерних систем з розподіленою пам'яттю.
36. Наведіть типи комутаційних мереж багатопроцесорних систем.
37. Які існують статичні топології комутаційних мереж багатопроцесорних систем.
38. Наведіть особливості та основні характеристики комутаційних мереж з повним з'єднан
ням.
39. Наведіть особливості та основні характеристики комутаційних мереж з неповним з'єд
нанням.
40. Порівняйте комунікаційні мережі з статичним з'єднанням - 1-вимірні, 2-вимірні, 3-ви-
мірні.
41. Наведіть основні типи шинних комутаційних мереж багатопроцесорних систем та по
рівняйте їх між собою.
42. Як здійснюється синхронізація шин шинних комутаційних мереж?
43. Як працює комунікаційна мережа типу Crossbar?
44. Наведіть структури одноярусних комутаційних мереж.
45. Наведіть структури багатоярусних комутаційних мереж: "Баньян", "Омега".
46. Наведіть структури комутаційних мереж з реконфігурацією.
47. Наведіть структури неблокуючих комутаційних мереж.