Предисловие
От издателя\r перевода
Глава 1. Введение
Многоуровневая\r компьютерная организация
Языки, уровни и виртуальные машины
Современные многоуровневые машины
Развитие многоуровневых машин
Развитие\r компьютерной архитектуры
Нулевое поколение — механические\r компьютеры (1642–1945)
Первое поколение — электронные лампы\r (1945–1955)
Второе поколение — транзисторы\r (1955–1965)
Третье поколение — интегральные\r схемы (1965–1980)
Четвертое поколение — сверхбольшие\r интегральные схемы (1980–?)
Пятое поколение — невидимые\r компьютеры
Типы\r компьютеров
Технологические и экономические аспекты
Широкий спектр компьютеров
Одноразовые компьютеры
Микроконтроллеры
Игровые компьютеры
Персональные компьютеры
Серверы
Комплексы рабочих станций
Мэйнфреймы
Семейства\r компьютеров
Pentium 4
Знакомство с микросхемой\r UltraSPARC III
Знакомство с микросхемой 8051
Единицы\r измерения
Краткоекниги
Вопросы и\r задания
Глава 2.\r Организация компьютерных систем
Процессоры
Устройство центрального процессора
Выполнение команд
Системы RISC и CISC
Принципы разработки современных\r компьютеров
Параллелизм на уровне команд
Параллелизм на уровне процессоров
Основная\r память
Бит
Адреса памяти
Упорядочение байтов
Код исправления ошибок
Кэш-память
Сборка модулей памяти и их типы
Вспомогательная\r память
Иерархическая структура памяти
Магнитные диски
Дискеты
IDE-диски
SCSI-диски
RAID-массивы
Диски CD-ROM
Диски CD-R
Диски CD-RW
DVD-диски
Диски Blu-Ray
Ввод-вывод
Шины
Терминалы
Видеопамять
Мыши
Принтеры
Телекоммуникационное оборудование
Цифровые фотокамеры
Коды символов
Краткоеглавы
Вопросы и\r задания
Глава 3.\r Цифровой логический уровень
Вентили и\r булева алгебра
Вентили
Булева алгебра
Реализация булевых функций
Эквивалентность схем
Основные\r цифровые логические схемы
Интегральные схемы
Комбинаторные схемы
Арифметические схемы
Тактовые генераторы
Память
Защелки
Триггеры
Регистры
Организация памяти
Микросхемы памяти
ОЗУ и ПЗУ
Микросхемы\r процессоров и шины
Микросхемы процессоров
Компьютерные шины
Ширина шины
Синхронизация шины
Арбитраж шины
Принципы работы шины
Примеры\r центральных процессоров
Pentium 4
UltraSPARC III
8051
Примеры шин
Шина ISA
Шина PCI
PCI Express
Шина USB
Интерфейсы
Микросхемы ввода-вывода
Декодирование адреса
Краткоеглавы
Вопросы и\r задания
Глава 4. Уровень микроархитектуры
Пример\r микроархитектуры
Тракт данных
Микрокоманды
Управление микрокомандами —\r микроархитектура Mic-1
Пример\r архитектуры набора команд — IJVM
Стек
Модель памяти IJVM
Набор IJVM-команд
Компиляция IJVM
Пример\r реализации микроархитектуры
Микрокоманды и их запись
Реализация IJVM с использованием\r микроархитектуры Mic-1
Разработка\r уровня микроархитектуры
Быстродействие и стоимость
Сокращение длины пути
Упреждающая выборка команд из\r памяти — микроархитектура Mic-2
Конвейерная конструкция —\r микроархитектура Mic-3
Семиступенчатый конвейер —\r микроархитектура Mic-4
Повышение производительности
Кэш-память
Прогнозирование ветвлений
Исполнение с изменением\r последовательности и подмена регистров
Спекулятивное исполнение
Примеры\r уровня микроархитектуры
Микроархитектура процессора\r Pentium 4
Микроархитектура процессора UltraSPARC III\r Cu
Микроархитектура процессора 8051
Сравнение процессоров Pentium,\r UltraSPARC и 8051
Краткоеглавы
Вопросы и\r задания
Глава 5. Уровень архитектуры набора команд
Общий обзор\r уровня архитектуры набора команд
Свойства уровня архитектуры набора команд
Модели памяти
Регистры
Команды
Общий обзор уровня архитектуры набора\r команд Pentium 4
Общий обзор уровня архитектуры набора\r команд UltraSPARC III
Обзор уровня архитектуры набора команд\r микросхемы 8051
Типы данных
Числовые типы данных
Нечисловые типы данных
Типы данных процессора Pentium 4
Типы данных машины UltraSPARC III
Типы данных 8051
Форматы\r команд
Критерии разработки форматов команд
Расширение кода операций
Форматы команд процессора Pentium 4
Форматы команд процессора UltraSPARC III
Форматы команд 8051
Адресация
Режимы адресации
Непосредственная адресация
Прямая адресация
Регистровая адресация
Косвенная регистровая адресация
Индексная адресация
Относительная индексная адресация
Стековая адресация
Режимы адресации в командах перехода
Ортогональность кодов операций\r и режимов адресации
Режимы адресации процессора\r Pentium 4
Режимы адресации процессора\r UltraSPARC III
Режимы адресации процессора 8051
Сравнение режимов адресации
Типы команд
Команды перемещения данных
Бинарные операции
Унарные операции
Сравнения и условные переходы
Команды вызова процедур
Управление циклами
Команды ввода-вывода
Команды процессора Pentium 4
Команды UltraSPARC III
Команды 8051
Сравнение наборов команд
Поток\r управления
Последовательный поток управления\r и переходы
Процедуры
Сопрограммы
Перехват исключений
Прерывания
Ханойская\r башня
Решение задачи “Ханойская башня” на\r ассемблере Pentium 4
Решение задачи “Ханойская башня”\r на ассемблере UltraSPARC III
Архитектура\r IA-64 и процессор Itanium 2
Проблема Pentium 4
Модель IA-64 — вычисления\r с явным параллелизмом команд
Сокращение числа обращений к памяти
Планирование команд
Сокращение числа условных\r переходов — предикация
Спекулятивная загрузка
Краткоеглавы
Вопросы и\r задания
Глава 6.\r Уровень операционной системы
Виртуальная\r память
Страничная организация памяти
Реализация страничной организации памяти
Вызов страниц по требованию\r и рабочее множество
Политика замещения страниц
Размер страниц и фрагментация
Сегментация
Реализация сегментации
Виртуальная память Pentium 4
Виртуальная память UltraSPARC III
Виртуальная память и кэширование
Виртуальные\r команды ввода-вывода
Файлы
Реализация виртуальных команд\r ввода-вывода
Команды управления каталогами
Виртуальные\r команды для параллельной работы
Формирование процесса
Состояние гонок
Синхронизация процесса с использованием\r семафоров
Примеры\r операционных систем
Знакомство с операционными системами UNIX\r и Windows XP
Примеры виртуальной памяти
Примеры виртуального ввода-вывода
Примеры управления процессами
Краткоеглавы
Вопросы и\r задания
Глава 7.\r Уровень ассемблера
Знакомство\r с ассемблером
Понятие ассемблера
Назначение ассемблера
Формат оператора в ассемблере
Директивы
Макросы
Макроопределение, макровызов\r и макрорасширение
Макросы с параметрами
Дополнительные возможности
Реализация макросов в ассемблере
Процесс\r ассемблирования
Ассемблирование за два прохода
Первый проход
Второй проход
Таблица символов
Компоновка\r и загрузка
Задачи компоновщика
Структура объектного модуля
Время компоновки и динамическое\r перераспределение памяти
Динамическая компоновка
Краткоеглавы
Вопросы и\r задания
Глава 8.\r Параллельные компьютерные архитектуры
Внутрипроцессорный\r параллелизм
Параллелизм на уровне команд
Внутрипроцессорная многопоточность
Однокристальные мультипроцессоры
Сопроцессоры
Сетевые процессоры
Мультимедиа-процессоры
Криптопроцессоры
Мультипроцессоры
Мультипроцессоры и мультикомпьютеры
Семантика памяти
UMA-мультипроцессоры в симметричных\r мультипроцессорных архитектурах
NUMA-мультипроцессоры
COMA-мультипроцессоры
Мультикомпьютеры
Коммуникационные сети
Процессоры с массовым параллелизмом
Кластерные вычисления
Коммуникационное программное обеспечение\r для мультикомпьютеров
Планирование
Общая память на прикладном уровне
Производительность
Распределенные\r вычисления
Краткоеглавы
Вопросы и\r задания
Глава 9.\r Библиография
Литература\r для дополнительного чтения
Вводная и неспециальная литература
Организация компьютерных систем
Цифровой логический уровень
Уровень микроархитектуры
Уровень архитектуры набора команд
Уровень операционной системы
Уровень ассемблера
Параллельные компьютерные архитектуры
Двоичные числа и числа с плавающей точкой
Программирование на языке ассемблера
Алфавитный\r список литературы
Приложение\r А. Двоичные числа
Числа\r конечной точности
Позиционные\r системы счисления
Преобразование\r чисел из одной системы счисления в другую
Отрицательные\r двоичные числа
Двоичная\r арифметика
Вопросы и\r задания
Приложение\r Б. Числа с плавающей точкой
Принципы\r представления чисел с плавающей точкой
Стандарт\r IEEE 754
Вопросы и\r задания
Приложение\r В. Программирование на языке ассемблера
Основные\r понятия
Язык ассемблера
Небольшая программа на языке ассемблера
Процессор\r 8088
Цикл процессора
Регистры общего назначения
Регистры-указатели
Память и\r адресация
Организация памяти и сегменты
Адресация
Набор\r команд 8088
Перемещение, копирование\r и арифметические команды
Логические операции, побитовые операции\r и операции сдвига
Операции организации циклов\r и повторяющиеся строковые операции
Команды перехода и вызова
Вызовы подпрограмм
Системные вызовы и системные подпрограммы
Заключительные замечания о наборе команд
Ассемблер
Введение
Ассемблер as88 из набора ACK
Некоторые отличия от других ассемблеров\r 8088
Трассер
Команды трассера
Подготовительные\r действия
Примеры
Hello World
Регистры общего назначения
Вызов регистров команд и указателя
Отладка программы вывода массива
Обработка символьных строк и строковые\r команды
Таблицы диспетчеризации
Буферизованный и произвольный доступ\r к файлам
Вопросы и\r задания
Список\r терминов
Алфавитный\r указатель