Оглавление | Содержание | 1 |
Введение | 15 |
Благодарности | 18 |
От издательства | 18 |
Глава 1. Становление и эволюция цифровой вычислительной техники | 19 |
Определение понятия «архитектура» | 20 |
Уровни детализации структуры вычислительной машины | 21 |
Эволюция средств автоматизации вычислений | 23 |
Нулевое поколение (1492-1945) | 25 |
Первое поколение (1937-1953) | 27 |
Второе поколение (1954-1962) | 30 |
Третье поколение (1963-1972) | 31 |
Четвертое поколение (1972-1984) | 32 |
Пятое поколение (1984-1990) | 33 |
Шестое поколение (1990-) | 34 |
Концепция машины с хранимой в памяти программой | 35 |
Принцип двоичного кодирования | 36 |
Принцип программного управления | 37 |
Принцип однородности памяти | 37 |
Принцип адресности | 38 |
Фон-неймановская архитектура | 38 |
Типы структур вычислительных машин и систем | 40 |
Структуры вычислительных машин | 40 |
Структуры вычислительных систем | 41 |
Перспективы совершенствования архитектуры ВМ и ВС | 42 |
Тенденции развития больших интегральных схем | 43 |
Перспективные направления исследований в области архитектуры | 50 |
Контрольные вопросы | 50 |
Глава 2. Архитектура системы команд | 52 |
Классификация архитектур системы команд | 54 |
Классификация по составу и сложности команд | 54 |
Классификация по месту хранения операндов | 56 |
Регистровая архитектура | 61 |
Архитектура с выделенным доступом к памяти | 63 |
Типы и форматы операндов | 64 |
Числовая информация | 65 |
Символьная информация | 80 |
Логические данные | 83 |
Строки | 84 |
Прочие виды информации | 84 |
Типы команд | 87 |
Команды пересылки данных | 88 |
Команды арифметической и логической обработки | 88 |
SIMD-команды | 90 |
Команды для работы со строками | 92 |
Команды преобразования | 92 |
Команды ввода/вывода | 92 |
Команды управления системой | 93 |
Команды управления потоком команд | 93 |
Форматы команд | 96 |
Длина команды | 96 |
Разрядность полей команды | 97 |
Количество адресов в команде | 98 |
Выбор адресности команд | 100 |
Способы адресации операндов | 102 |
Способы адресации в командах управления потоком команд | 115 |
Система операций | 116 |
Контрольные вопросы | 123 |
Глава 3. Функциональная организация фон-неймановской ВМ | 126 |
Функциональная схема фон-неймановской вычислительной машины | 126 |
Устройство управления | 127 |
Арифметико-логическое устройство | 129 |
Основная память...: | 130 |
М одул ь в во да/вы во да | 131 |
Микрооперации и микропрограммы | 131 |
Способы записи микропрограмм | 132 |
Совместимость микроопераций | 138 |
Цикл команды | 138 |
Стандартный цикл команды | 139 |
Описание стандартных циклов команды для гипотетической машины | 141 |
Машинный цикл с косвенной адресацией | 144 |
Машинный цикл с прерыванием | 144 |
Диаграмма состояний цикла команды | 146 |
Основные показатели вычислительных машин | 148 |
Быстродействие | 148 |
Критерии эффективности вычислительных машин | 150 |
Способы построения критериев эффективности | 150 |
Нормализация частных показателей | 152 |
Учет приоритета частных показателей | 153 |
Контрольные вопросы | 153 |
Глава 4. Организация шин | 155 |
Типы шин | 158 |
Шина «процессор-память» | 158 |
Шина ввода/вывода | 158 |
Системная шина | 159 |
Иерархия шин | 160 |
Вычислительная машина с одной шиной | 160 |
Вычислительная машина с двумя видами шин | 160 |
Вычислительная машина с тремя видами шин | 161 |
Физическая реализация шин | 161 |
Механические аспекты | 161 |
Электрические аспекты | 162 |
Распределение линий шины | 166 |
Выделенные и мультиплексируемые линии | 170 |
Арбитраж шин | 171 |
Схемы приоритетов | 171 |
Схемы арбитража | 173 |
Протокол шины | 180 |
Синхронный протокол | 181 |
Асинхронный протокол | 182 |
Особенности синхронного и асинхронного протоколов | 185 |
Методы повышения эффективности шин | 187 |
Пакетный режим пересылки информации | 187 |
Конвейеризация транзакций | 188 |
Протокол с расщеплением транзакций | 188 |
Увеличение полосы пропускания шины | 189 |
Ускорение транзакций | 190 |
Повышение эффективности шине множеством ведущих | 190 |
Надежность и отказоустойчивость | 191 |
Стандартизация шин | 192 |
Контрольные вопросы | 195 |
Глава 5. Память | 197 |
Характеристики систем памяти | 197 |
Иерархия запоминающих устройств | 199 |
Основная память | 203 |
Блочная организация основной памяти | 204 |
Организация микросхем памяти | 207 |
Синхронные и асинхронные запоминающие устройства | 213 |
Оперативные запоминающие устройства | 213 |
Постоянные запоминающие устройства | 225 |
Энергонезависимые оперативные запоминающие устройства | 229 |
Специальные типы оперативной памяти | 230 |
Обнаружение и исправление ошибок | 236 |
Стековая память | 244 |
Ассоциативная память | 245 |
Кэш-память | 249 |
Емкость кэш-памяти | 251 |
Размер строки | 252 |
Способы отображения оперативной памяти на кэш-память | 252 |
Алгоритмы замещения информации в заполненной кэш-памяти | 257 |
Алгоритмы согласования содержимого кэш-памяти и основной памяти | 259 |
Смешанная и разделенная кэш-память | 260 |
Одноуровневая и многоуровневая кэш-память | 261 |
Дисковая кэш-память | 262 |
Понятие виртуальной памяти | 263 |
Страничная организация памяти | 264 |
Сегментно-страничная организация памяти | 268 |
Организация защиты памяти | 269 |
Внешняя память | 271 |
Магнитные диски | 271 |
Массивы магнитных дисков с избыточностью | 275 |
Оптическая память | 286 |
Магнитные ленты | 290 |
Контрольные вопросы | 291 |
Глава 6. Устройства управления | 293 |
Функции центрального устройства управления | 293 |
Модель устройства управления | 295 |
Структура устройства управления | 296 |
Микропрограммный автомат с жесткой логикой | 300 |
Микропрограммный автомате программируемой логикой | 302 |
Принцип управления по хранимой в памяти микропрограмме | 303 |
Кодирование микрокоманд | 304 |
Обеспечение последовательности выполнения микрокоманд | 309 |
Организация памяти микропрограмм | 315 |
Пути повышения быстродействия автоматов микропрограммного управления | 323 |
Контрольные вопросы | 325 |
Глава 7. Операционные устройства вычислительных машин | 327 |
Структуры операционных устройств | 329 |
Операционные устройства с жесткой структурой | 329 |
Операционные устройства с магистральной структурой | 331 |
Базис целочисленных операционных устройств | 337 |
Сложение и вычитание | 337 |
Целочисленное умножение | 339 |
Умножение чисел без знака | 340 |
Умножение чисел со знаком | 343 |
Умножение целых чисел и правильных дробей | 346 |
Ускорение целочисленного умножения | 347 |
Логические методы ускорения умножения | 347 |
Аппаратные методы ускорения умножения | 351 |
Целочисленное деление | 370 |
Деление с восстановлением остатка | 371 |
Деление без восстановления остатка | 371 |
Деление чисел со знаком | 372 |
Ускорение целочисленного деления | 376 |
Замена деления умножением на обратную величину | 376 |
Ускорение вычисления частичных остатков | 377 |
Алгоритм SRT | 377 |
Деление в избыточных системах счисления | 380 |
Операционные устройства с плавающей запятой | 380 |
Подготовительный этап | 381 |
Заключительный этап | 382 |
Сложение и вычитание | 382 |
Умножение | 383 |
Деление | 384 |
Реализация логических операций | 384 |
Контрольные вопросы | 385 |
Глава 8. Системы ввода/вывода | 387 |
Адресное пространство системы ввода/вывода | 388 |
Внешние устройства | 390 |
Модули ввода/вывода | 392 |
Функции модуля | 392 |
Структура модуля | 396 |
Методы управления вводом/выводом | 398 |
Программно управляемый ввод/вывод | 399 |
Ввод/вывод по прерываниям | 400 |
Прямой доступ к памяти | 403 |
Каналы и процессоры ввода/вывода | 407 |
Канальная подсистема | 410 |
Контрольные вопросы | 411 |
Глава 9. Основные направления в архитектуре процессоров | 413 |
Конвейеризация вычислений | 413 |
Синхронные линейные конвейеры | 414 |
Метрики эффективности конвейеров | 415 |
Нелинейные конвейеры | 416 |
Конвейер команд | 417 |
Конфликты в конвейере команд | 418 |
Методы решения проблемы условного перехода | 423 |
Предсказание переходов | 425 |
Суперконвейерные процессоры | 445 |
Архитектуры с полным и сокращенным набором команд | 447 |
Основные черты RISC-архитектуры | 448 |
Регистры в RISC-процессорах | 449 |
Преимущества и недостатки RISC | 452 |
Суперскалярные процессоры | 453 |
Особенности реализации суперскалярных процессоров | 458 |
Аппаратная поддержка суперскалярных операций | 461 |
Контрольные вопросы | 474 |
Глава 10. Параллелизм как основа высокопроизводительных вычислений | 477 |
Уровни параллелизма | 477 |
Параллелизм уровня задания | 478 |
Параллелизм уровня программ | 480 |
Параллелизм уровня команд | 481 |
Метрики параллельных вычислений | 481 |
Профиль параллелизма программы | 481 |
Ускорение, эффективность, загрузка и качество | 483 |
Закон Амдала | 486 |
Закон Густафсона | 488 |
Классификация параллельных вычислительных систем | 490 |
Классификация Флинна | 490 |
Контрольные вопросы | 492 |
Глава 11. Организация памяти вычислительных систем | 493 |
Память с чередованием адресов | 494 |
Модели архитектуры памяти вычислительных систем | 495 |
Модели архитектур совместно используемой памяти | 496 |
Модели архитектур распределенной памяти | 499 |
Мультипроцессорная когерентность кэш-памяти | 501 |
Программные способы решения проблемы когерентности | 501 |
Аппаратные способы решения проблемы когерентности | 502 |
Контрольные вопросы | 522 |
Глава 12. Топологии вычислительных систем | 524 |
Метрики сетевых соединений | 527 |
Функции маршрутизации данных | 528 |
Перестановка | 529 |
Тасование | 529 |
Баттерфляй | 530 |
Реверсирование битов | 531 |
Сдвиг | 531 |
CeTblLLIACIV | 531 |
Циклический сдвиг | 532 |
Статические топологии | 532 |
Линейная топология | 533 |
Кольцевые топологии | 533 |
Звездообразная топология | 534 |
Древовидные топологии | 535 |
Решетчатые топологии | 536 |
Полносвязная топология | 537 |
Топология гиперкуба | 537 |
Топология k-ичного п-куба | 539 |
Динамические топологии | 540 |
Блокирующие и неблокирующие многоуровневые сети | 540 |
Шинная топология | 541 |
Топология перекрестной коммутации («кроссбар») | 542 |
Коммутирующие элементы сетей с динамической топологией | 543 |
Топология «Баньян» | 544 |
Топология «Омега» | 545 |
Топология «Дельта» | 546 |
Топология Бенеша | 547 |
Топология Клоша | 548 |
Топология двоичной n-кубической сети с косвенными связями | 549 |
Топология базовой линии | 549 |
Контрольные вопросы | 550 |
Глава 13. Вычислительные системы класса SIMD | 552 |
Векторные и векторно-конвейерные вычислительные системы | 553 |
Понятие вектора и размещение данных в памяти | 553 |
Понятие векторного процессора | 554 |
Структура векторного процессора | 556 |
Структуры типа «память-память» и «регистр-регистр» | 560 |
Обработка длинных векторов и матриц | 561 |
Ускорение вычислений | 561 |
Матричные вычислительные системы | 563 |
Интерфейсная ВМ | 565 |
Контроллер массива процессоров | 565 |
Массив процессоров | 566 |
Ассоциативные вычислительные системы | 571 |
Вычислительные системы с систолической структурой | 572 |
Классификация систолических структур | 574 |
Топология систолических структур | 575 |
Структура процессорных элементов | 577 |
Пример вычислений с помощью систолического процессора | 578 |
Вычислительные системы с командными словами сверхбольшой длины (VLIW) | 580 |
Вычислительные системы с явным параллелизмом команд (EPIC) | 582 |
Контрольные вопросы | 585 |
Глава 14. Вычислительные системы класса MIMD | 586 |
Симметричные мультипроцессорные системы | 587 |
АрхитектураSMP-системы | 589 |
Кластерные вычислительные системы | 593 |
Классификация архитектур кластерных систем | 594 |
Топологии кластеров | 597 |
Системы с массовой параллельной обработкой (МРР) | 600 |
Вычислительные системы с неоднородным доступом к памяти | 603 |
Вычислительные системы на базе транспьютеров | 606 |
Архитектура транспьютера | 607 |
Вычислительные системы с обработкой по принципу волнового фронта 609 Контрольные вопросы | 611 |
Глава 15. Потоковые и редукционные вычислительные системы | 613 |
Вычислительные системы с управлением вычислениями от потока данных | 614 |
Вычислительная модель потоковой обработки | 614 |
Архитектура потоковых вычислительных систем | 618 |
Статические потоковые вычислительные системы | 620 |
Динамические потоковые вычислительные системы | 622 |
Макропотоковые вычислительные системы | 628 |
Гиперпотоковая обработка | 629 |
Вычислительные системы с управлением вычислениями по запросу | 632 |
Контрольные вопросы | 635 |
Заключение | 637 |
Список литературы | 638 |
Алфавитный указатель | 653 |