Книга, вышедшая уже в четвертом издании, посвящена структурной организации компьютера. В ее основе лежит идея о том, что компьютер можно рассматривать как иерархию уровней, каждый из которых выполняет какую-либо определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера. Книга рассчитана на широкий спектр читателей — от студентов, изучающих компьютерные технологии, до тех, кто самостоятельно знакомится с архитектурой компьютера.
Микроархитектура с упреждающей выборкой команд из памяти: Mic-2
Конвейерная архитектура: Mic-3
Конвейер с 7 стадиями: Mic-4
Увеличение производительности
Кэш-память
Прогнозирование ветвления
Исполнение с изменением последовательности и подмена регистров
Спекулятивное выполнение
Примеры микроархитектурного уровня
Микроархитектура процессора Pentium II
Микроархитектура процессора UltraSPARC II
Микроархитектура процессора picoJava II
Сравнение Pentium, UltraSPARC и picoJava
Краткое содержание главы Вопросы и задания
Глава 5. Уровень архитектуры команд
Общий обзор уровня архитектуры команд
Свойства уровня команд
Модели памяти
Регистры
Команды
Общий обзор уровня команд машины Pentium II
Общий обзор уровня команд системы UltraSPARC II
Общий обзор виртуальной машины Java
Типы данных
Числовые типы данных
Нечисловые типы данных
Типы данных процессора Pentium II
Типы данных машины UltraSPARC II
Типы данных виртуальной машины Java
Форматы команд
Критерии разработки для форматов команд
Расширение кода операций
Форматы команд процессора Pentium II
Форматы команд процессора UltraSPARC II
Форматы команд JVM
Адресация
Способы адресации
Непосредственная адресация
Прямая адресация
Регистровая адресация
Косвенная регистровая адресация
Индексная адресация
Относительная индексная адресация
Стековая адресация
Способы адресации для команд перехода
Ортогональность кодов операций и способов адресации
Способы адресации процессора Pentium II
Способы адресации процессора UltraSPARC II
Способы адресации машины JVM
Сравнение способов адресации
Типы команд
Команды перемещения данных
Бинарные операции
Унарные операции
Сравнения и условные переходы
Команды вызова процедур
Управление циклом
Команды ввода-вывода
Команды процессора Pentium II
Команды UltraSPARC II
Команды компьютера picoJava II
Сравнение наборов команд
Поток управления
Последовательный поток управления и переходы
Процедуры
Сопрограммы
Ловушки
Прерывания
Ханойская башня
Решение задачи «Ханойская башня» на ассемблере Pentium II
Решение задачи «Ханойская башня» на ассемблере UltraSPARC II
Решение задачи «Ханойская башня» на ассемблере для JVM
Intel IA-64
Проблема с Pentium II
Модель IA-64: открытое параллельное выполнение команд
Предикация
Спекулятивная загрузка
Проверка в реальных условиях
Краткое содержание главы Вопросы и задания
Глава 6. Уровень операционной системы
Виртуальная память
Страничная организация памяти
Реализация страничной организации памяти
Вызов страниц по требованию и рабочее множество
Политика замещения страниц
Размер страниц и фрагментация
Сегментация
Как реализуется сегментация
Виртуальная память в процессоре Pentium II
Виртуальная память UltraSPARC II
Виртуальная память и кэширование
Виртуальные команды ввода-вывода
Файлы
Реализация виртуальных команд ввода-вывода
Команды управления директориями
Виртуальные команды для параллельной обработки
Формирование процесса
Состояние гонок
Синхронизация процесса с использованием семафоров
Примеры операционных систем
Введение
Примеры виртуальной памяти
Примеры виртуального ввода-вывода
Примеры управления процессами
Краткое содержание главы Вопросы и задания
Глава 7. Уровень языка ассемблера
Введение в язык ассемблера
Что такое язык ассемблера?
Зачем нужен язык ассемблера?
Формат оператора в языке ассемблера
Директивы
Макросы
Макроопределение, макровызов и макрорасширение
Макросы с параметрами
Расширенные возможности
Реализация макросредств в ассемблере
Процесс ассемблирования
Двухпроходной ассемблер
Первый проход
Второй проход
Таблица символов
Связывание и загрузка
Задачи компоновщика
Структура объектного модуля
Время принятия решения и динамическое перераспределение памяти
Динамическое связывание
Краткое содержание главы Вопросы и задания
Глава 8. Архитектуры компьютеров параллельного действия
Вопросы разработки компьютеров параллельного действия
Информационные модели
Сети межсоединений
Производительность
Метрика программного обеспечения
Программное обеспечение
Классификация компьютеров параллельного действия
Компьютеры SIMD
Массивно-параллельные процессоры
Векторные процессоры
Мультипроцессоры с памятью совместного использования
Семантика памяти
Архитектуры UMA SMP с шинной организацией
Мультипроцессоры UMA с координатными коммутаторами
Мультипроцессоры UMA с многоступенчатыми сетями
Мультипроцессоры NUMA
Мультипроцессоры CC-NUMA
Мультипроцессоры COMA
Мультикомпьютеры с передачей сообщений
MPP — процессоры с массовым параллелизмом
COW — Clusters of Workstations (кластеры рабочих станций)
Планирование
Связное программное обеспечение для мультикомпьютеров
Совместно используемая память на прикладном уровне
Краткое содержание главы Вопросы и задания
Глава 9. Библиография
Литература для дальнейшего чтения
Организация компьютерных систем
Цифровой логический уровень
Микроархитектурный уровень
Уровень команд
Уровень операционной системы
Уровень языка ассемблера
Архитектуры компьютеров параллельного действия
Двоичные числа и числа с плавающей точкой
Алфавитный список литературы
Приложение А. Двоичные числа Числа конечной точности Позиционные системы счисления Преобразование чисел из одной системы счисления в другую Отрицательные двоичные числа Двоичная арифметика Вопросы и задания
Приложение Б. Числа с плавающей точкой Принципы представления с плавающей точкой Стандарт IEEE 754 Вопросы и задания
Данная книга будет полезна всем, кто решил собрать компьютер своими руками. Вы узнаете, в чем достоинства и недостатки самостоятельной сборки персонального компьютера, как правильно выбрать конфигурацию компьютера, чтобы получить ПК, удовлетворяющий именно вашим запросам и требованиям, как подобрать наиболее качественные, современные и мощные комплектующие. Кроме того, вы научитесь свободно разбираться в строении компьютера, получите информацию об устройстве и назначении каждого компонента ПК, а также методах его установки.
Как разобраться в настройках компьютера, как не растеряться среди многочисленных параметров BIOS, как увеличить производительность компьютера и при этом сохранить стабильность его работы, как разогнать компьютер и зачем это нужно — обо всем этом легко, доступно и лаконично написано в данной книге.