Краткое содержание
Предисловие.................................................................................15
Глава 1. Предисловие....................................................................18
Глава 2. Организация компьютерных систем.................................56
Глава 3. Цифровой логический уровень.......................................139
Глава 4. Микроархитектурный уровень........................................230
Глава 5. Уровень архитектуры команд..........................................334
Глава 6. Уровень операционной системы....................................437
Глава 7. Уровень языка ассемблера.............................................517
Глава 8. Архитектуры компьютеров параллельного действия.......556
Глава 9. Библиография................................................................647
Приложение А. Двоичные числа..................................................663
Приложение Б. Числа с плавающей точкой.................................674
Алфавитный указатель..................................................................683
Содержание
Об авторе..............................................................................................................14
Предисловие.........................................................................................................15
Глава 1. Предисловие.............................................18
Многоуровневая компьютерная организация........................................................18
Языки, уровни и виртуальные машины.............................................................19
Современные многоуровневые машины..........................................................21
Развитие многоуровневых машин....................................................................24
Развитие компьютерной архитектуры....................................................................29
Нулевое поколение — механические компьютеры (1642-1945).......................29
Первое поколение — электронные лампы (1945-1955)................................... 32
Второе поколение — транзисторы (1955-1965)...............................................35
Третье поколение — интегральные схемы (1965-1980)....................................37
Четвертое поколение — сверхбольшие интегральные схемы (1980-?)............39
Типы компьютеров.................................................................................................40
Технологические и экономические аспекты.....................................................41
Широкий спектр компьютеров.........................................................................42
Семейства компьютеров........................................................................................45
Pentium II.........................................................................................................45
UltraSPARC II....................................................................................................48
Pico Java II........................................................................................................50
Краткое содержание книги.....................................................................................52
Вопросы и задания................................................................................................54
Глава 2. Организация компьютерных систем...............56
Процессоры...........................................................................................................56
Устройство центрального процессора.............................................................57
Выполнение команд.........................................................................................58
RISC и CISC......................................................................................................62
Принципы разработки современных компьютеров..........................................64
Параллелизм на уровне команд.......................................................................65
Параллелизм на уровне процессоров..............................................................69
Основная память..................................................................................................73
Бит..................................................................................................................73
Адреса памяти.................................................................................................74
Упорядочение байтов......................................................................................75
Код с исправлением ошибок...........................................................................77
Кэш-память....................................................................................................81
Сборка модулей памяти и их типы...................................................................84
Вспомогательная память......................................................................................85
Иерархическая структура памяти.....................................................................85
Магнитные диски.............................................................................................87
Дискеты...........................................................................................................90
Диски IDE........................................................................................................91
SCSI-диски......................................................................................................92
RAID-массивы..................................................................................................93
Компакт-диски.................................................................................................98
CD-R..............................................................................................................102
CD-RW..........................................................................................................105
DVD................................................................................................................105
Процесс ввода-вывода........................................................................................108
Шины.............................................................................................................108
Терминалы.....................................................................................................111
Мыши............................................................................................................119
Принтеры.......................................................................................................121
Модемы.........................................................................................................126
Коды символов..............................................................................................1 29
Краткое содержание главы..................................................................................133
Вопросы и задания..............................................................................................134
Глава 3. Цифровой логический уровень....................139
Вентили и булева алгебра....................................................................................139
Вентили.........................................................................................................139
Булева алгебра..............................................................................................142
Реализация булевых функций........................................................................144
Эквивалентность схем...................................................................................145
Основные цифровые логические схемы...............................................................149
Интегральные схемы.....................................................................................149
Комбинационные схемы................................................................................151
Арифметические схемы.................................................................................157
Тактовые генераторы.....................................................................................161
Память................................................................................................................163
Защелки........................................................................................................163
Триггеры (flip-flops)........................................................................................165
Регистры.......................................................................................................168
Организация памяти......................................................................................168
Микросхемы памяти......................................................................................172
ОЗУ и ПЗУ.....................................................................................................174
Микросхемы процессоров и шины.......................................................................177
Микросхемы процессоров.............................................................................177
Шины.............................................................................................................179
Ширина шины................................................................................................182
Синхронизация шины....................................................................................183
Арбитраж шины.............................................................................................188
Принципы работы шины.................................................................................191
Примеры центральных процессоров....................................................................193
Pentium II.......................................................................................................193
UltraSPARC II..................................................................................................200
Pico Java II......................................................................................................203
Примеры шин......................................................................................................205
Шина ISA.......................................................................................................206
Шина PCI.......................................................................................................207
Шина USB......................................................................................................215
Средства сопряжения..........................................................................................219
Микросхемы ввода-вывода............................................................................219
Декодирование адреса..................................................................................220
Краткое содержание главы..................................................................................223
Вопросы и задания..............................................................................................224
Глава 4. Микроархитектурный уровень.....................230
Пример микроархитектуры..................................................................................230
Тракт данных.................................................................................................231
Микрокоманды..............................................................................................237
Управление микрокомандами: Mic-1.............................................................240
Пример архитектуры команд: IJVM.......................................................................244
Стек..............................................................................................................245
Модель памяти IJVM......................................................................................247
Набор команд IJVM........................................................................................248
Компиляция Java для IJVM.............................................................................252
Пример реализации микроархитектуры...............................................................254
Микрокоманды и их запись...........................................................................254
Реализация IJVM с использованием Mic-1.....................................................258
Разработка микроархитектурного уровня............................................................271
Скорость и стоимость...................................................................................271
Сокращение длины пути................................................................................274
Микроархитектура с упреждающей выборкой команд из памяти: Mic-2.........280
Конвейерная архитектура: Mic-3....................................................................284
Конвейер с 7 стадиями: Mic-4.......................................................................290
Увеличение производительности.........................................................................293
Кэш-память...................................................................................................294
Прогнозирование ветвления..........................................................................300
Исполнение с изменением последовательности и подмена регистров..........306
Спекулятивное выполнение...........................................................................311
Примеры микроархитектурного уровня................................................................314
Микроархитектура процессора Pentium II......................................................314
Микроархитектура процессора UltraSPARC II.................................................319
Микроархитектура процессора picoJava II.....................................................322
Сравнение Pentium, UltraSPARC и picoJava.....................................................327
Краткое содержание главы..................................................................................329
Вопросы и задания..............................................................................................330
Глава 5. Уровень архитектуры команд 334
Общий обзор уровня архитектуры команд...........................................................336
Свойства уровня команд................................................................................336
Модели памяти..............................................................................................338
Регистры.......................................................................................................340
Команды........................................................................................................342
Общий обзор уровня команд машины Pentium II............................................342
Общий обзор уровня команд системы UltraSPARC II.......................................345
Общий обзор виртуальной машины Java........................................................348
Типы данных.......................................................................................................349
Числовые типы данных.................................................................................350
Нечисловые типы данных..............................................................................351
Типы данных процессора Pentium II................................................................351
Типы данных машины UltraSPARC II................................................................352
Типы данных виртуальной машины Java.........................................................352
Форматы команд.................................................................................................353
Критерии разработки для форматов команд..................................................354
Расширение кода операций...........................................................................356
Форматы команд процессора Pentium II.........................................................358
Форматы команд процессора UltraSPARC II...................................................360
Форматы команд JVM....................................................................................361
Адресация...........................................................................................................364
Способы адресации.......................................................................................365
Непосредственная адресация.......................................................................365
Прямая адресация.........................................................................................366
Регистровая адресация.................................................................................366
Косвенная регистровая адресация................................................................366
Индексная адресация....................................................................................367
Относительная индексная адресация............................................................369
Стековая адресация......................................................................................369
Способы адресации для команд перехода.....................................................372
Ортогональность кодов операций и способов адресации..............................373
Способы адресации процессора Pentium II....................................................375
Способы адресации процессора UltraSPARC II...............................................377
Способы адресации машины JVM..................................................................377
Сравнение способов адресации....................................................................378
Типы команд........................................................................................................379
Команды перемещения данных....................................................................379
Бинарные операции.......................................................................................380
Унарные операции.........................................................................................381
Сравнения и условные переходы...................................................................383
Команды вызова процедур............................................................................385
Управление циклом.......................................................................................385
Команды ввода-вывода.................................................................................386
Команды процессора Pentium И.....................................................................390
Команды UltraSPARC II...................................................................................394
Команды компьютера picoJava II....................................................................397
Сравнение наборов команд...........................................................................403
Поток управления................................................................................................404
Последовательный поток управления и переходы..........................................404
Процедуры....................................................................................................405
Сопрограммы................................................................................................410
Ловушки........................................................................................................412
Прерывания...................................................................................................413
Ханойская башня.................................................................................................417
Решение задачи «Ханойская башня» на ассемблере Pentium II.......................418
Решение задачи «Ханойская башня» на ассемблере UltraSPARC II.................419
Решение задачи «Ханойская башня» на ассемблере для JVM........................421
Intel IA-64............................................................................................................423
Проблема с Pentium II....................................................................................423
Модель IA-64: открытое параллельное выполнение команд..........................425
Предикация...................................................................................................426
Спекулятивная загрузка.................................................................................429
Проверка в реальных условиях.....................................................................430
Краткое содержание главы..................................................................................430
Вопросы и задания..............................................................................................431
Глава 6. Уровень операционной системы..................437
Виртуальная память............................................................................................438
Страничная организация памяти...................................................................439
Реализация страничной организации памяти................................................441
Вызов страниц по требованию и рабочее множество.....................................444
Политика замещения страниц.......................................................................445
Размер страниц и фрагментация...................................................................448
Сегментация..................................................................................................449
Как реализуется сегментация........................................................................452
Виртуальная память в процессоре Pentium II.................................................455
Виртуальная память UltraSPARC II..................................................................460
Виртуальная память и кэширование..............................................................463
Виртуальные команды ввода-вывода...................................................................463
Файлы...........................................................................................................464
Реализация виртуальных команд ввода-вывода.............................................465
Команды управления директориями..............................................................469
Виртуальные команды для параллельной обработки.....................................470
Формирование процесса...............................................................................471
Состояние гонок...........................................................................................472
Синхронизация процесса с использованием семафоров...............................476
Примеры операционных систем..........................................................................479
Введение.......................................................................................................480
Примеры виртуальной памяти.......................................................................489
Примеры виртуального ввода-вывода...........................................................493
Примеры управления процессами.................................................................504
Краткое содержание главы..................................................................................510
Вопросы и задания..............................................................................................511
Глава 7. Уровень языка ассемблера.........................517
Введение в язык ассемблера...............................................................................518
Что такое язык ассемблера?..........................................................................518
Зачем нужен язык ассемблера?.....................................................................519
Формат оператора в языке ассемблера.........................................................521
Директивы.....................................................................................................524
Макросы..............................................................................................................527
Макроопределение, макровызов и макрорасширение...................................527
Макросы с параметрами................................................................................529
Расширенные возможности...........................................................................530
Реализация макросредств в ассемблере......................................................530
Процесс ассемблирования..................................................................................531
Двухпроходный ассемблер............................................................................531
Первый проход..............................................................................................532
Второй проход...............................................................................................536
Таблица символов.........................................................................................537
Связывание и загрузка.........................................................................................538
Задачи компоновщика...................................................................................540
Структура объектного модуля........................................................................543
Время принятия решения и динамическое перераспределение памяти........545
Динамическое связывание............................................................................547
Краткое содержание главы..................................................................................551
Вопросы и задания..............................................................................................552
Глава 8. Архитектуры компьютеров параллельного действия................................................556
Вопросы разработки компьютеров параллельного действия...............................557
Информационные модели.............................................................................559
Сети межсоединений.....................................................................................564
Производительность....................................................................................572
Метрика программного обеспечения.............................................................574
Программное обеспечение............................................................................579
Классификация компьютеров параллельного действия.................................584
Компьютеры SIMD...............................................................................................587
Массивно-параллельные процессоры...........................................................587
Векторные процессоры.................................................................................588
Мультипроцессоры с памятью совместного использования................................592
Семантика памяти.........................................................................................593
Архитектуры UMASMP с шинной организацией.............................................597
Мультипроцессоры UMA с координатными коммутаторами...........................603
Мультипроцессоры UMA c многоступенчатыми сетями..................................605
Мультипроцессоры NUMA.............................................................................607
Мультипроцессоры CC-NUMA.......................................................................609
Мультипроцессоры СОМА.............................................................................619
Мультикомпьютеры с передачей сообщений.......................................................621
МРР — процессоры с массовым параллелизмом...........................................622
COW— Clusters of Workstations {кластеры рабочих станций)..........................626
Планирование................................................................................................627
Связное программное обеспечение для мультикомпьютеров........................632
Совместно используемая память на прикладном уровне...............................635
Краткое содержание главы..................................................................................642
Вопросы и задания..............................................................................................643
Глава 9. Библиография..........................................647
Литература для дальнейшего чтения...................................................................647
Организация компьютерных систем..............................................................648
Цифровой логический уровень.....................................................................649
Микроархитектурный уровень.......................................................................649
Уровень команд.............................................................................................650
Уровень операционной системы....................................................................651
Уровень языка ассемблера............................................................................652
Архитектуры компьютеров параллельного действия......................................652
Двоичные числа и числа с плавающей точкой................................................653
Алфавитный список литературы..........................................................................654
Приложение А. Двоичные числа..............................665
Числа конечной точности.....................................................................................665
Позиционные системы счисления........................................................................667
Преобразование чисел из одной системы счисления в другую............................669
Отрицательные двоичные числа..........................................................................670
Двоичная арифметика.........................................................................................673
Вопросы и задания..............................................................................................674
Приложение Б. Числа с плавающей точкой...............676
Принципы представления с плавающей точкой....................................................676
Стандарт IEEE 754................................................................................................680
Вопросы и задания..............................................................................................683
Алфавитный указатель..........................................685
Э. ТАНЕНБАУМ "АРХИТЕКТУРА КОМПЬЮТЕРА" 2003 г.