КаталогИндекс раздела

     

Эндрю Таненбаум

Архитектура компьютера

5-е издание

Сюзанне, Барбаре, Марвину, памяти моих дорогих и Брэма


Содержание

Предисловие

Глава 1. Введение
Многоуровневая компьютерная организация
    Языки, уровни и виртуальные машины
    Современные многоуровневые машины
    Развитие многоуровневых машин
Развитие компьютерной архитектуры
    Нулевое поколение - механические компьютеры (1642-1945)
    Первое поколение - электронные лампы (1945-1955)
    Второе поколение- транзисторы (1955-1965)
    Третье поколение - интегральные схемы (1965-1980)
    Четвертое поколение - сверхбольшие интегральные схемы (1980-?)
    Пятое поколение - невидимые компьютеры
Типы компьютеров
    Технологические и экономические аспекты
    Широкий спектр компьютеров
    Одноразовые компьютеры
    Микроконтроллеры
    Игровые компьютеры
    Персональные компьютеры
    Серверы
    Комплексы рабочих станций
    Мэйнфреймы
Семейства компьютеров
    Pentium 4
    Знакомство с микросхемой UltraSPARC III
    Знакомство с микросхемой 8051
Единицы измерения
Краткое содержание книги
Вопросы и задания

Глава 2. Организация компьютерных систем
Процессоры
    Устройство центрального процессора
    Выполнение команд
    Системы RISC и CISC
    Принципы разработки современных компьютеров
    Параллелизм на уровне команд
    Параллелизм на уровне процессоров
Основная память
    Бит
    Адреса памяти
    Упорядочение байтов
    Код исправления ошибок
    Кэш-память
    Сборка модулей памяти и их типы
Вспомогательная память
    Иерархическая структура памяти
    Магнитные диски
    Дискеты
    IDE-диски
    SCSI-диски
    RAID-массивы
    Диски CD-ROM
    Диски CD-R
    Диски CD-RW
    DVD-диски
    Диски Blu-Ray
Ввод-вывод
    Шины
    Терминалы
    Видеопамять
    Мыши
    Принтеры
    Телекоммуникационное оборудование
    Цифровые фотокамеры
    Коды символов
Краткое содержание главы
Вопросы и задания

Глава 3. Цифровой логический уровень
Вентили и булева алгебра
    Вентили
    Булева алгебра
    Реализация булевых функций
    Эквивалентность схем
Основные цифровые логические схемы
    Интегральные схемы
    Комбинаторные схемы
    Арифметические схемы
    Тактовые генераторы
Память
    Защелки
    Триггеры
    Регистры
    Организация памяти
    Микросхемы памяти
    ОЗУ и ПЗУ
Микросхемы процессоров и шины
    Микросхемы процессоров
    Компьютерные шины
    Ширина шины
    Синхронизация шины
    Арбитраж шины
    Принципы работы шины
Примеры центральных процессоров
    Pentium 4
    UltraSPARC III
    8051
Примеры шин
    Шина ISA
    Шина PCI
    PCI Express
    Шина USB
Интерфейсы
    Микросхемы ввода-вывода
    Декодирование адреса
Краткое содержание главы
Вопросы и задания

Глава 4. Уровень микроархитектуры
Пример микроархитектуры
    Тракт данных
    Микрокоманды
    Управление микрокомандами - микроархитектура Mic-1
Пример архитектуры набора команд-IJVM
    Стек
    Модель памяти IJVM
    Набор IJVM-команд
    Компиляция IJVM
Пример реализации микроархитектуры
    Микрокоманды и их запись
    Реализация IJVM с использованием микроархитектуры Mic-1
Разработка уровня микроархитектуры
    Быстродействие и стоимость
    Сокращение длины пути
    Упреждающая выборка команд из памяти - микроархитектура Mic-2
    Конвейерная конструкция - микроархитектура Mic-З
    Семиступенчатый конвейер - микроархитектура Mic-4
Повышение производительности
    Кэш-память
    Прогнозирование ветвлений
    Исполнение с изменением последовательности и подмена регистров
    Спекулятивное исполнение
Примеры уровня микроархитектуры
    Микроархитектура процессора Pentium 4
    Микроархитектура процессора UltraSPARC III Cu
    Микроархитектура процессора 8051
    Сравнение процессоров Pentium, UltraSPARC и 8051
Краткое содержание главы
Вопросы и задания

Глава 5. Уровень архитектуры набора команд
Общий обзор уровня архитектуры набора команд
    Свойства уровня архитектуры набора команд
    Модели памяти
    Регистры
    Команды
    Общий обзор уровня архитектуры набора команд Pentium 4
    Общий обзор уровня архитектуры набора команд UltraSPARC III
    Обзор уровня архитектуры набора команд микросхемы 8051
Типы данных
    Числовые типы данных
    Нечисловые типы данных
    Типы данных процессора Pentium 4
    Типы данных машины UltraSPARC III
    Типы данных 8051
Форматы команд
    Критерии разработки форматов команд
    Расширение кода операций
    Форматы команд процессора Pentium 4
    Форматы команд процессора UltraSPARC III
    Форматы команд 8051
Адресация
    Режимы адресации
    Непосредственная адресация
    Прямая адресация
    Регистровая адресация
    Косвенная регистровая адресация
    Индексная адресация
    Относительная индексная адресация
    Стековая адресация
    Режимы адресации в командах перехода
    Ортогональность кодов операций и режимов адресации
    Режимы адресации процессора Pentium 4
    Режимы адресации процессора UltraSPARC III
    Режимы адресации процессора 8051
    Сравнение режимов адресации
Типы команд
    Команды перемещения данных
    Бинарные операции
    Унарные операции
    Сравнения и условные переходы
    Команды вызова процедур
    Управление циклами
    Команды ввода-вывода
    Команды процессора Pentium 4
    Команды UltraSPARC III
    Команды 8051
    Сравнение наборов команд
Поток управления
    Последовательный поток управления и переходы
    Процедуры
    Сопрограммы
    Перехват исключений
    Прерывания
Ханойская башня
    Решение задачи "Ханойская башня" на ассемблере Pentium 4
    Решение задачи "Ханойская башня" на ассемблере UltraSPARC III
Архитектура IA-64 и процессор Itanium 2
    Проблема Pentium 4
    Модель IA-64 - вычисления с явным параллелизмом команд
    Сокращение числа обращений к памяти
    Планирование команд
    Сокращение числа условных переходов - предикация
    Спекулятивная загрузка
Краткое содержание главы
Вопросы и задания

Глава 6. Уровень операционной системы
Виртуальная память
    Страничная организация памяти
    Реализация страничной организации памяти
    Вызов страниц по требованию и рабочее множество
    Политика замещения страниц
    Размер страниц и фрагментация
    Сегментация
    Реализация сегментации
    Виртуальная память Pentium 4
    Виртуальная память UltraSPARC III
    Виртуальная память и кэширование
Виртуальные команды ввода-вывода
    Файлы
    Реализация виртуальных команд ввода-вывода
    Команды управления каталогами
Виртуальные команды для параллельной работы
    Формирование процесса
    Состояние гонок
    Синхронизация процесса с использованием семафоров
Примеры операционных систем
    Знакомство с операционными системами UNIX и Windows XP
    Примеры виртуальной памяти
    Примеры виртуального ввода-вывода
    Примеры управления процессами
Краткое содержание главы
Вопросы и задания

Глава 7. Уровень ассемблера
Знакомство с ассемблером
    Понятие ассемблера
    Назначение ассемблера
    Формат оператора в ассемблере
    Директивы
Макросы
    Макроопределение, макровызов и макрорасширение
    Макросы с параметрами
    Дополнительные возможности
    Реализация макросов в ассемблере
Процесс ассемблирования
    Ассемблирование за два прохода
    Первый проход
    Второй проход
    Таблица символов
Компоновка и загрузка
    Задачи компоновщика
    Структура объектного модуля
    Время компоновки и динамическое перераспределение памяти
    Динамическая компоновка
Краткое содержание главы
Вопросы и задания

Глава 8. Параллельные компьютерные архитектуры
Внутрипроцессорный параллелизм
    Параллелизм на уровне команд
    Внутрипроцессорная многопоточность
    Однокристальные мультипроцессоры
Сопроцессоры
    Сетевые процессоры
    Мультимедиа-процессоры
    Криптопроцессоры
Мультипроцессоры
    Мультипроцессоры и мультикомпьютеры
    Семантика памяти
    UMA-мультипроцессоры в симметричных мультипроцессорных архитектурах
    NUMA-мультипроцессоры
    СОМА-мультипроцессоры
Мультикомпьютеры
    Коммуникационные сети
    Процессоры с массовым параллелизмом
    Кластерные вычисления
    Коммуникационное программное обеспечение для мультикомпьютеров
    Планирование
    Общая память на прикладном уровне
    Производительность
Распределенные вычисления
Краткое содержание главы
Вопросы и задания

Глава 9. Библиография
Литература для дополнительного чтения
    Вводная и неспециальная литература
    Организация компьютерных систем
    Цифровой логический уровень
    Уровень микроархитектуры
    Уровень архитектуры набора команд
    Уровень операционной системы
    Уровень ассемблера
    Параллельные компьютерные архитектуры
    Двоичные числа и числа с плавающей точкой
    Программирование на языке ассемблера
Алфавитный список литературы

Приложение А. Двоичные числа
Числа конечной точности
Позиционные системы счисления
Преобразование чисел из одной системы счисления в другую
Отрицательные двоичные числа
Двоичная арифметика
Вопросы и задания

Приложение Б. Числа с плавающей точкой
Принципы представления чисел с плавающей точкой
Стандарт IEEE 754
Вопросы и задания

Приложение В. Программирование на языке ассемблера
Основные понятия
    Язык ассемблера
    Небольшая программа на языке ассемблера
Процессор 8088
    Цикл процессора
    Регистры общего назначения
    Регистры-указатели
Память и адресация
    Организация памяти и сегменты
    Адресация
Набор команд 8088
    Перемещение, копирование и арифметические команды
    Логические операции, побитовые операции и операции сдвига
    Операции организации циклов и повторяющиеся строковые операции
    Команды перехода и вызова
    Вызовы подпрограмм
    Системные вызовы и системные подпрограммы
    Заключительные замечания о наборе команд
Ассемблер
    Введение
    Ассемблер as88 из набора АСК
    Некоторые отличия от других ассемблеров 8088
Трассер
    Команды трассера
Подготовительные действия
Примеры
    Hello World
    Регистры общего назначения
    Вызов регистров команд и указателя
    Отладка программы вывода массива
    Обработка символьных строк и строковые команды
    Таблицы диспетчеризации
    Буферизованный и произвольный доступ к файлам
Вопросы и задания

Список терминов


КаталогИндекс раздела