С81 |
Столлингс, В. Структурная организация и архитектура комьютерных систем [Текст] / В. Столлингс ; пер. с англ. – 5-е изд. – М. : Изд. дом "Вильямс", 2002. – 896 с. : ил. – 871-884.
Книга содержит исчерпывающие сведения о современном состоянии дел в области организации и архитектуры компьютеров, включая обсуждение наиболее интенсивно раавивающейся в настоящее время суперскалярной технологии и параллельной организации процессоров. Ее назначение состоит в ясном и четком изложении сведений об особенностях построения и возможностях существующих компьютеров. Излагаемый материал отвечает всем требованиям учебного процесса, поскольку его изложение опирается на фундаментальные принципы, одновременно сохраняя акцент на важнейшем аспекте проектирования компьютеров - достижении максимальной производительности. Обсуждаемые темы иллюстрируются большим количеством примеров, большая часть которых относится к семейству процессоров Pentium.
Книга будет полезна самому широкому кругу читателей, включая студентов соответствующих специальностей, профессионалов в области проектирования и эксплуатации вычислительной техники, а также всем тем, кто всерьез интересуется современным состоянием дел в области архитектуры и организации компьютеров.
СОДЕРЖАНИЕ
Предисловие 15
Часть I. Обзор 23
Глава 1. Вступление 25
1.1. Понятие о структурной организации и архитектуре
компьютерных систем 27
1.2. Общая структура и функции компьютера 29
Функции 30
Структура 33
1.3. Структура материала в книге 37
1.4. Internet- и Web-ресурсы 40
Глава 2. Эволюция в мире компьютеров 43
2.1. Краткий исторический очерк 45
Первое поколение. Компьютеры на электронных лампах 45
Второе поколение: транзисторы 55
Третье поколение: интегральные микросхемы 60'
Последующие поколения 68
2.2. Производительность компьютера 73
Быстродействие микропроцессора 74
Баланс производительности компонентов 75
2.3. Эволюция микропроцессоров Pentium и PowerPC 78
Pentium 79
PowerPC 80
2.4. Рекомендуемая литература и Web-ресурсы 82
2.5. Упражнения 83
Часть II. Основные подсистемы компьютера 85
Глава 3. Системные магистрали 87
3.1. Базовые компоненты 89
3.2. Функции компьютера 92
Извлечение и выполнение команды 93
Прерывания 97
Организация работы с модулями ввода-вывода 108
3.3. Структура подсистемы взаимодействия 109
3.4. Связь между компонентами через магистраль 111
Структура магистрали 111
Иерархия магистралей 114
Функциональные характеристики конструкции магистрали 118
3.5. Магистраль PCI 123
Структура линий магистрали 126
Команды магистрали PCI 129
Сеанс передачи данных 131
Арбитраж магистрали 132
3.6. Рекомендуемая литература и Web-ресурсы 135
3.7. Упражнения 136
Приложение ЗА. Временные диаграммы 138
Глава 4. Внутренняя память 141
4.1. Функции и характеристики подсистемы памяти 143
Характеристики запоминающих устройств 143
Производительность ЗУ 146
Физические типы ЗУ 147
Иерархия памяти в компьютерной системе 147
4.2. Полупроводниковая оперативная память: конструкция и структурная
организация 152
Типы полупроводниковых ЗУ с произвольным доступом 152
Структурная организация 156
Коррекция ошибок 161
4.3. Кэш-память 169
Назначение и принцип работы 169
Конструкция блока кэш-памяти 173
4.4. Организация кэша в процессорах Pentium II и PowerPC 187
Организация кэша в процессоре Pentium II 187
Организация кэша в процессоре PowerPC 191
4.5. Современные тенденции в организации DRAM-модулей 192
EDRAM-модуль 193
CDRAM-модуль 194
Синхронизированный DRAM-модуль 194
DRAM фирмы Rambus 196
Интерфейс RamLink 197
4.6. Рекомендуемая литература и Web-ресурсы 198
4.7. Упражнения 199
Приложение 4А. Характеристики производительности двухуровневой
подсистемы памяти 203
Локализация ссылок 203
Функционирование двухуровневой подсистемы памяти 206
Глава 5. Внешняя память 213
5.1. Хранение информации на магнитных дисках 215
Организация данных на магнитном диске 215
Физические характеристики устройств внешней памяти
на магнитных дисках 217
Параметры, характеризующие производительность УВПМД 221
5.2. RAID 224
RAID, уровень 0 229
RAID, уровень 1 231
RAID, уровень 2 232
RAID, уровень 3 233
RAID, уровень 4 234
RAID, уровень 5 235
RAID, уровень 6 236
5.3. Оптическая память 236
Компакт-диски 237
Компакт-диск с однократной записью 240
Стираемые оптические диски 241
Цифровые видеодиски 241
Магнитооптические диски 242
5.4. Хранение информации на магнитных лентах 242
5.5. Рекомендуемая литература и Web-ресурсы 243
5.6. Упражнения 244
Глава 6. Ввод-вывод 247
6.1. Внешние устройства 250
Клавиатура и монитор 252
Контроллер УВПМД 256
6.2. Модули ввода-вывода 256
Функции модулей ввода-вывода 256
Структура модуля ввода-вывода 259
6.3. Программируемый ввод-вывод 260
Команды ввода-вывода 261
Инструкции ввода-вывода 262
6.4. Ввод-вывод по прерыванию 265
Обработка прерывания 266
Проектирование механизма обработки прерываний 268
Контроллер прерываний Intel 82С59А 272
Программируемый контроллер интерфейса Intel 82С55А 272
6.5. Прямой доступ к памяти 276
Функции прямого доступа к памяти 277
6.6. Каналы и процессоры ввода-вывода 280
Характеристики каналов ввода-вывода 282
6.7. Внешние интерфейсы SCSI и FireWare 284
Типы интерфейсов 284
Двухточечное и многоточечное подключение внешних устройств 285
Интерфейс SCSI 285
Интерфейс FireWare 295
6.8. Рекомендуемая литература и Web-ресурсы 300
6.9. Упражнения 301
Глава 7. Поддержка операционной системы 305
7.1. Концепции организации операционных систем 307
Назначение и функции операционных систем 307
Типы операционных систем 311
7.2. Планирование заданий 323
Долгосрочное планирование 323
Среднесрочное планирование 324
Краткосрочное планирование 324
7.3. Управление распределением памяти 329
Обмен между оперативной и внешней памятью 330
Секционирование памяти 332
Страничная организация программы 334
Виртуальная память 337
Буфер быстрой переадресации TLB 340
Сегментация 343
7.4. Управление оперативной памятью в Pentium II и PowerPC 344
Аппаратные средства управления памятью в процессоре Pentium II 344
Аппаратные средства управления памятью в процессоре PowerPC 349
7.5. Рекомендуемая литература и Web-ресурсы 353
7.6. Упражнения 354
Часть III. Центральный процессор 357
Глава 8. Компьютерная арифметика 359
8.1. Арифметико-логическое устройство 361
8.2. Представление целых чисел 362
Прямой код 362
Дополнительный код 363
Преобразование при изменении длины разрядной сетки 366
Представление с фиксированной точкой 368
8.3. Арифметические операции с целыми числами 369
Отрицание 369
Сложение и вычитание в дополнительном коде 371
Умножение 373
Деление 381
8.4. Представление чисел в формате с плавающей точкой 385
Основные положения 385
Стандарт IEEE формата с плавающей точкой 389
8.5. Арифметические операции над числами в формате
с плавающей точкой 393
Сложение и вычитание 394
Умножение и деление 397
Точность выполнения операций 398
Особенности выполнения арифметических операций в соответствии со
стандартом IEEE 402
8.6. Рекомендуемая литература и Web-ресурсы 404
8.7. Упражнения 405
Приложение 8А. системы счисления 408
Десятичная система счисления 408
Двоичная система счисления 409
Преобразование из одной системы счисления в другую 409
Шестнадцатеричная система счисления 412
Глава 9. Система команд компьютера: характеристики и функции команд 415
9.1. Характеристики набора машинных команд 418
Компоненты машинной команды 418
Формат машинной команды 419
Типы команд 420
Адресная часть команды 421
Проектирование набора машинных команд 424
9.2. Типы операндов 425
Числа 426
Символы 427
Логические данные 428
9.3. Типы данных в процессорах Pentium II и PowerPC 428
Типы данных в процессоре Pentium II 428
Типы данных в процессоре PowerPC 429
9.4. Типы операций 431
Операции передачи данных 435
Арифметические операции 436
Логические операции 437
Операции преобразования 439
Операции ввода-вывода 440
Управление режимом работы системы 440
Команды управления ходом выполнения программы 441
9.5. Типы операций в наборе команд процессоров Pentium II и PowerPC 447
Типы операций в наборе команд процессора Pentium II 447
Типы операций процессора PowerPC 457
9.6. Язык ассемблера 460
9.7. Рекомендуемая литература 462
9.8. Упражнения 463
Приложение 9А. стеки 468
Реализация стека 469
Обработка арифметических выражений 470
Приложение 9Б. размещение в памяти байтов многобайтовых элементов
данных 474
Размещение байтов 474
Порядок нумерации битов 478
Глава ^O. Система команд компьютера: режимы адресации
и форматы команд 479
10.1. Адресация 481
Непосредственная адресация 483
Прямая адресация 484
Косвенная адресация 484
Регистровая адресация 485
Косвенная адресация через регистр 486
Адресация со смещением 486
Стековая адресация 489
10.2. Режимы адресации в процессорах Pentium II и PowerPC 489
Режимы адресации в процессоре Pentium II 489
МетоДы адресации процессора PowerPC 493
10.3. Формат машинной команды 495
Длина команды 496
Распределение полей в команде 497
Команды переменной длины 502
10.4. Форматы команд процессоров Pentium II и PowerPC 506
Формат команд процессора Pentium II 506
Формат команд процессора PowerPC 509
10.5. Рекомендуемая литература и Web-ресурсы 512
10.6. Упражнения 512
Глава 11. Структура и функции центрального процессора 515
11.1. Структура процессора 517
11.2. Организация набора регистров 519
Программно доступные регистры 519
Регистры управления и состояния 521
Пример организации регистров в микропроцессоре 523
11.3. Цикл обработки команды 525
Фаза косвенной адресации 526
Поток данных 527
11.4. Конвейерная обработка команд 530
Основы конвейерной организации обработки 531
Производительность конвейера операций 537
Обработка команд перехода 539
Конвейер операций в микропроцессоре Intel 80486 544
11.5. Процессор Pentium 546
Организация набора регистров 546
Обработка прерываний 554
11.6. Процессор PowerPC 557
Организация регистров 557
Обработка прерываний 562
11.7. Рекомендуемая литература и Web-ресурсы 566
11.8. Упражнения 567
Глава 12. Компьютеры с сокращенным набором команд 571
12.1. Характеристики выполнения команд 574
Операции 576
Операнды 577
Вызовы подпрограмм 578
Реализация 579
12.2. Использование расширенного набора регистров в процессоре 580
Регистровые окна 581
Глобальные переменные 584
Большой набор регистров или кэш? 584
12.3. Программная оптимизация использования регистров 586
12.4. Архитектура сокращенного набора команд 589
Особенности процессоров с расширенным Набором команд 589
Характеристики RISC-компьютеров 591
Сравнение характеристик CISC-и RISC-процессоров 595
12.5. Организация конвейера в RISC-процессорах 598
Организация конвейера для выполнения обычных команд 598
Оптимизация работы конвейера 599
12.6. Процессор MIPS R4000 602
Набор команд процессора R4000 603
Конвейер выполнения команд 607
12.7. Процессор SPARC 612
Организация регистров в SPARC 612
Набор команд 614
Форматы команд 618
12.8. Исследование сравнительных характеристик
CISC- и RISC-компьютеров 621
12.9. Рекомендуемая литература и Web-ресурсы 622
12.10. Упражнения 623
Глава 13. Параллелизм на уровне машинных команд и суперскалярные
процессоры 627
13.1. Обзор 629
Сравнение суперскалярной и суперконвейерной схем 630
Ограничения 631
Взаимозависимость по данным 632
Процедурная зависимость 633
Конфликт ресурсов 634
13.2. Проблемы проектирования суперскалярных процессоров 635
Параллелизм на уровне команд и аппаратный параллелизм 635
Политика запуска команд 636
Прямой порядок запуска команд и прямой порядок
их завершения 636
Прямой порядок запуска команд и свободный порядок их завершения 637
Свободный порядок запуска команд и свободный порядок их завершения 639
Переименование регистров 640
Аппаратный параллелизм 641
Обработка условных переходов 642
Выполнение программы в суперскалярном процессоре 643
Реализация суперскалярного процессора 644
13.3. Процессор Pentium II 644
Узлы извлечения и расшифровки команд 646
Схема переупорядочения 648
Узел диспетчирования/выполнения 648
Узел фиксации результатов 649
Прогнозирование ветвления 649
13.4. Процессор PowerPC ' 651
PowerPC 601 651
Процессор PowerPC 620 659
13.5. Процессор MIPS RlOOOO 659
13.6. Процессор ULTRASPARC-11 662
Структурная организация 662
Конвейер 662
13.7. Архитектура IA-64, процессор MERCED 664
Организация 668
Формат команд 669
Опережающее выполнение ветвящегося потока команд 670
Предварительная загрузка данных 675
13.8. Рекомендуемая литература и Web-ресурсы 678
13.9. Упражнения 679
Часть IV. Устройство управления 685
Глава 14. Функции устройства управления 687
14.1. Микрооперации 689
Фаза извлечения 690
Фаза косвенной адресации 692
Фаза прерывания 692
Фаза выполнения 693
Цикл обработки команды 694
14.2. Управление работой процессора 696
Функциональные требования 696
Управляющие сигналы 697
Внутренняя организация процессора 701
Организация микропроцессора Intel 8085 702
14.3. Устройства управления с жесткой логикой 708
Входные сигналы устройства управления 708
Логическая схема устройства управления 710
14.4. Рекомендуемая литература и Web-ресурсы 711
14.5. Упражнения 711
Глава 15. Микропрограммное управление 713
15.1. Основные концепции микропрограммирования 715
Микрокоманды 715
Микропрограммное устройство управления 717
Устройство управления Уилкса 720
Преимущества и недостатки микропрограммирования 725
15.2. Управление последовательностью выполнения микрокоманд 725
15.3. Выполнение микрокоманд 730
Классификация микрокоманд 730
Технология кодирования микрокоманд 733
Выполнение микрокоманд в компьютере LSI-Il 736
Выполнение микрокоманд в процессоре IBM 3033 740
15.4. Микропрограмгіїируемьій компьютер TI 8800 742
Формат микрокоманды 742
Микросеквенсор 745
15.5. Применение микропрограммирования 752
15.6. Рекомендуемая литература и Web-ресурсы 753
15.7. Упражнения 754
Часть V. Организация параллельных вычислений 757
Глава 16. Параллельная обработка 759
16.1. Организация мультипроцессорных систем 761
Классификация вычислительных систем 761
16.2. Симметричные мультипроцессорные системы 764
Структурная организация SMP-систем 766
Особенности операционных систем мультипроцессорных комплексов 770
SMP-системы на базе больших вычислительных машин 771
16.3. Информационная целостность кэшей и протокол MESI 775
Программные методы 775
Аппаратные методы 776
Протокол MESI 778
16.4. Кластеры 782
Структуры кластеров 783
Специальные требования к операционным системам 785
Сравнение кластеров и SMP-систем 786
16.5. Системы с переменным временем обращения к памяти 787
Структура CC-NUMA-системы 788
Достоинства и недостатки NUMA-систем 790
16.6. Векторные вычисления 791
Методы выполнения векторных операций 792
Векторный сопроцессор IBM 3090 798
16.7. Рекомендуемая литература и Web-ресурсы 804
16.8. Упражнения 807
Приложение А. Цифровая логика 811
А.1. Булева алгебра 812
А. 2. Логические переключающие элементы 814
А.З. Комбинационные схемы 817
Реализация булевых функций 817
Мультиплексоры 828
Дешифраторы 830
Программируемые логические матрицы 832
ROM-память 836
Сумматоры 837
А. 4. Логические схемы с памятью 840
Триггеры 840
Регистры 845
Счетчики 847
А.5. Упражнения 850
Словарь терминов і 855
Литература 871
|