Краткое содержание

Краткое содержание

Предисловие.................................................................................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 г.