Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в пятом издании, посвящена структурной организации компьютера. В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера.
Книга рассчитана на широкий круг читателей: как на студентов, изучающих компьютерные технологии, так и на тех, кто самостоятельно знакомится с архитектурой компьютера.
Современные многоуровневые машины.
Большинство современных компьютеров состоит из двух и более уровней. Существуют машины даже с шестью уровнями (рис. 1.2). Уровень 0 - аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на языке уровня 1. Ради полноты нужно упомянуть о существовании еще одного уровня, расположенного ниже уровня 0. Этот уровень не показан на рис. 1.2, так как он попадает в сферу электронной техники и, следовательно, не рассматривается в этой книге. Он называется уровнем физических устройств. На этом уровне находятся транзисторы, которые являются примитивами для разработчиков компьютеров. Объяснять, как работают транзисторы, - задача физики.
На самом нижнем уровне, цифровом логическом уровне, объекты называются вентилями. Хотя вентили состоят из аналоговых компонентов, таких как транзисторы, они могут быть точно смоделированы как цифровые средства. У каждого вентиля есть одно или несколько цифровых входных данных (сигналов, представляющих 0 или I). Вентиль вычисляет простые функции этих сигналов, такие как И или ИЛИ. Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1. Биты памяти, объединенные в группы, например, по 16,32 или 64, формируют регистры. Каждый регистр может содержать одно двоичное число до определенного предела. Из вентилей также может состоять сам компьютер. Подробно вентили и цифровой логический уровень мы рассмотрим в главе 3.
Содержание
Предисловие 14
От издателя перевода 16
Глава 1. Введение 17
Многоуровневая компьютерная организация 17
Языки, уровни и виртуальные машины 17
Современные многоуровневые машины 20
Развитие многоуровневых машин 23
Развитие компьютерной архитектуры 28
Нулевое поколение — механические компьютеры (1642-1945) 30
Первое поколение — электронные лампы (1945-1955) 32
Второе поколение — транзисторы (1955-1965) 35
Третье поколение — интегральные схемы (1965-1980) 37
Четвертое поколение — сверхбольшие интегральные схемы (1980-?) 39
Пятое поколение — невидимые компьютеры 41
Типы компьютеров 42
Технологические и экономические аспекты 42
Широкий спектр компьютеров 44
Одноразовые компьютеры 45
Микроконтроллеры 47
Игровые компьютеры 49
Персональные компьютеры 50
Серверы 52
Комплексы рабочих станций 52
Мэйнфреймы 52
Семейства компьютеров 53
Pentium 4 54
Знакомство с микросхемой UltraSPARC III 59
Знакомство с микросхемой 8051 61
Единицы измерения 64
Краткое содержание книги 65
Вопросы и задания 66
Глава 2. Организация компьютерных систем 69
Процессоры 69
Устройство центрального процессора 70
Выполнение команд 71
Системы RISC и CISC 75
Принципы разработки современных компьютеров 77
Параллелизм на уровне команд 78
Параллелизм на уровне процессоров 83
Основная память 87
Бит 87
Адреса памяти 88
Упорядочение байтов 89
Код исправления ошибок 91
Кэш-память 95
Сборка модулей памяти и их типы 98
Вспомогательная память 99
Иерархическая структура памяти 100
Магнитные диски 101
Дискеты 105
IDE-диски 105
SCSI-диски 107
RAID-массивы 109
Диски CD-ROM 113
Диски CD-R 117
Диски CD-RW 120
DVD-диски 120
Диски Blu-Ray 123
Ввод-вывод 123
Шины 123
Терминалы 127
Видеопамять 131
Мыши 132
Принтеры 134
Телекоммуникационное оборудование 140
Цифровые фотокамеры 149
Коды символов 151
Краткое содержание главы 155
Вопросы и задания 156
Глава 3. Цифровой логический уровень 161
Вентили и булева алгебра 161
Вентили 161
Булева алгебра 164
Реализация булевых функций 166
Эквивалентность схем 168
Основные цифровые логические схемы 171
Интегральные схемы 171
Комбинаторные схемы 173
Арифметические схемы 179
Тактовые генераторы 183
Память 185
Защелки 185
Триггеры 187
Регистры 190
Организация памяти 190
Микросхемы памяти 194
ОЗУ и ПЗУ 197
Микросхемы процессоров и шины 200
Микросхемы процессоров 201
Компьютерные шины 203
Ширина шины 205
Синхронизация шины 207
Арбитраж шины 212
Принципы работы шины 215
Примеры центральных процессоров 217
Pentium 4 217
UltraSPARC III 225
8051 229
Примеры шин 231
Шина ISA 232
Шина PCI 234
PCI Express 243
Шина USB 248
Интерфейсы 252
Микросхемы ввода-вывода 252
Декодирование адреса 254
Краткое содержание главы 257
Вопросы и задания 257
Глава 4. Уровень микроархитектуры 263
Пример микроархитектуры 263
Тракт данных 264
Микрокоманды 270
Управление микрокомандами — микроархитектура Mic-1 273
Пример архитектуры набора команд —IJVM 278
Стек 278
Модель памяти IJVM 280
Набор IJVM-команд 281
Компиляция IJVM 286
Пример реализации микроархитектуры 287
Микрокоманды и их запись 288
Реализация IJVM с использованием микроархитектуры Mic-1 292
Разработка уровня микроархитектуры 306
Быстродействие и стоимость 306
Сокращение длины пути 308
Упреждающая выборка команд из памяти — микроархитектура Mic-2 315
Конвейерная конструкция — микроархитектура Mic-З 320
Семиступенчатый конвейер — микроархитектура Mic-4 326
Повышение производительности 329
Кэш-память 330
Прогнозирование ветвлений 336
Исполнение с изменением последовательности и подмена регистров 342
Спекулятивное исполнение 348
Примеры уровня микроархитектуры 351
Микроархитектура процессора Pentium 4 351
Микроархитектура процессора UltraSPARC III Си 357
Микроархитектура процессора 8051 364
Сравнение процессоров Pentium, UltraSPARC и 8051 366
Краткое содержание главы 367
Вопросы и задания 368
Глава 5. Уровень архитектуры набора команд 373
Общий обзор уровня архитектуры набора команд 375
Свойства уровня архитектуры набора команд 375
Модели памяти 377
Регистры 379
Команды 381
Общий обзор уровня архитектуры набора команд Pentium 4 381
Общий обзор уровня архитектуры набора команд UltraSPARC III 384
Обзор уровня архитектуры набора команд микросхемы 8051 387
Типы данных 390
Числовые типы данных 391
Нечисловые типы данных 392
Типы данных процессора Pentium 4 393
Типы данных машины UltraSPARC III 393
Типы данных 8051 394
Форматы команд 394
Критерии разработки форматов команд 395
Расширение кода операций 398
Форматы команд процессора Pentium 4 400
Форматы команд процессора UltraSPARC III 402
Форматы команд 8051 403
Адресация 404
Режимы адресации 404
Непосредственная адресация 405
Прямая адресация 405
Регистровая адресация 405
Косвенная регистровая адресация 406
Индексная адресация 407
Относительная индексная адресация 408
Стековая адресация 409
Режимы адресации в командах перехода 412
Ортогональность кодов операций и режимов адресации 413
Режимы адресации процессора Pentium 4 415
Режимы адресации процессора UltraSPARC III 417
Режимы адресации процессора 8051 417
Сравнение режимов адресации 418
Типы команд 419
Команды перемещения данных 419
Бинарные операции 420
Унарные операции 421
Сравнения и условные переходы 423
Команды вызова процедур 425
Управление циклами 426
Команды ввода-вывода 427
Команды процессора Pentium 4 431
Команды UltraSPARC III 435
Команды 8051 439
Сравнение наборов команд 442
Поток управления 443
Последовательный поток управления и переходы 443
Процедуры 444
Сопрограммы 449
Перехват исключений 451
Прерывания 452
Ханойская башня 456
Решение задачи «Ханойская башня» на ассемблере Pentium 4 457
Решение задачи «Ханойская башня» на ассемблере UltraSPARC III 458
Архитектура IA-64 и процессор Itanium 2 460
Проблема Pentium 4 461
Модель IA-64 — вычисления с явным параллелизмом команд 462
Сокращение числа обращений к памяти 463
Планирование команд 464
Сокращение числа условных переходов — предикация 466
Спекулятивная загрузка 468
Краткое содержание главы 469
Вопросы и задания 470
Глава 6. Уровень операционной системы 475
Виртуальная память 476
Страничная организация памяти 477
Реализация страничной организации памяти 479
Вызов страниц по требованию и рабочее множество 482
Политика замещения страниц 483
Размер страниц и фрагментация 485
Сегментация 486
Реализация сегментации 489
Виртуальная память Pentium 4 492
Виртуальная память UltraSPARC III 497
Виртуальная память и кэширование 500
Виртуальные команды ввода-вывода 501
Файлы 502
Реализация виртуальных команд ввода-вывода 503
Команды управления каталогами 506
Виртуальные команды для параллельной работы 508
Формирование процесса 509
Состояние гонок 509
Синхронизация процесса с использованием семафоров 514
Примеры операционных систем 517
Знакомство с операционными системами UNIX и Windows XP 518
Примеры виртуальной памяти 527
Примеры виртуального ввода-вывода 531
Примеры управления процессами 543
Краткое содержание главы 549
Вопросы и задания 550
Глава 7. Уровень ассемблера 557
Знакомство с ассемблером 558
Понятие ассемблера 558
Назначение ассемблера 559
Формат оператора в ассемблере 561
Директивы 564
Макросы 567
Макроопределение, макровызов и макрорасширение 567
Макросы с параметрами 569
Дополнительные возможности 570
Реализация макросов в ассемблере 570
Процесс ассемблирования 571
Ассемблирование за два прохода 571
Первый проход 572
Второй проход 576
Таблица символов 578
Компоновка и загрузка 580
Задачи компоновщика 581
Структура объектного модуля 584
Время компоновки и динамическое перераспределение памяти 585
Динамическая компоновка 588
Краткое содержание главы 592
Вопросы и задания 593
Глава 8. Параллельные компьютерные архитектуры 597
Внутрипроцессорный параллелизм 599
Параллелизм на уровне команд 599
Внутрипроцессорная многопоточность 606
Однокристальные мультипроцессоры 613
Сопроцессоры 619
Сетевые процессоры 619
Мультимедиа-процессоры 628
Криптопроцессоры 634
Мультипроцессоры 634
Мультипроцессоры и мультикомпьютеры 635
Семантика памяти 642
UMA-мультипроцессоры в симметричных мультипроцессорных архитектурах 647
NUMA-мультипроцессоры 656
СОМА-мультипроцессоры 664
Мультикомпьютеры 666
Коммуникационные сети 667
Процессоры с массовым параллелизмом 671
Кластерные вычисления 681
Коммуникационное программное обеспечение для мультикомпьютеров 687
Планирование 689
Общая память на прикладном уровне 691
Производительность 698
Распределенные вычисления 704
Краткое содержание главы 707
Вопросы и задания 708
Глава 9. Библиография 711
Литература для дополнительного чтения 711
Вводная и неспециальная литература 711
Организация компьютерных систем 713
Цифровой логический уровень 714
Уровень микроархитектуры 714
Уровень архитектуры набора команд 715
Уровень операционной системы 716
Уровень ассемблера 717
Параллельные компьютерные архитектуры 717
Двоичные числа и числа с плавающей точкой 719
Программирование на языке ассемблера 719
Алфавитный список литературы 720
Приложение А. Двоичные числа 733
Числа конечной точности 733
Позиционные системы счисления 735
Преобразование чисел из одной системы счисления в другую 737
Отрицательные двоичные числа 739
Двоичная арифметика 741
Вопросы и задания 742
Приложение Б. Числа с плавающей точкой 745
Принципы представления чисел с плавающей точкой 745
Стандарт IEEE 754 749
Вопросы и задания 752
Приложение В. Программирование на языке ассемблера 754
Основные понятия 755
Язык ассемблера 755
Небольшая программа на языке ассемблера 756
Процессор 8088 757
Цикл процессора 757
Регистры общего назначения 759
Регистры-указатели 760
Память и адресация 762
Организация памяти и сегменты 762
Адресация 764
Набор команд 8088 768
Перемещение, копирование и арифметические команды 770
Логические операции, побитовые операции и операции сдвига 772
Операции организации циклов и повторяющиеся строковые операции 773
Команды перехода и вызова 773
Вызовы подпрограмм 775
Системные вызовы и системные подпрограммы 777
Заключительные замечания о наборе команд 779
Ассемблер 780
Введение 780
Ассемблер as88 из набора АСК 781
Некоторые отличия от других ассемблеров 8088 785
Трассер 786
Команды трассера 788
Подготовительные действия 790
Примеры 791
Hello World 791
Регистры общего назначения 795
Вызов регистров команд и указателя 796
Отладка программы вывода массива 800
Обработка символьных строк и строковые команды 803
Таблицы диспетчеризации 806
Буферизованный и произвольный доступ к файлам 809
Вопросы и задания 813
Список терминов 815
Алфавитный указатель 825.
Купить книгу Архитектура компьютера, Таненбаум Э., 2003 .
Купить книгу Архитектура компьютера, Таненбаум Э., 2003 .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «Литрес», и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Хештеги: #учебник по информатике :: #информатика :: #компьютеры :: #Таненбаум
Смотрите также учебники, книги и учебные материалы:
- Информатика и ИКТ, 9 класс, часть 2, Босова Л.Л., 2012
- Информатика и ИКТ, 9 класс, часть 1, Босова Л.Л., 2012
- Информатика в играх и задачах, 6 класс, Горячев А.В., Суворова Н.И., 2011
- Информатика, Морозевич А.Н., Зеневич А.М., 2006
- Информатика, издание 3, Степанов А.Н., 2002
- Информатика, Черноскутова И.А., 2005
- Информатика, базовый курс, Симонович С.В., 2003
- Информатика, 2 класс, часть 2, Матвеева Н.В., Челак Е.Н., 2012