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

Читать онлайн «Архитектура компьютера»

Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo

КЛАССИКА COMPUTEA SCIENCE

Э. ТАНEHБАУМ, Т. ОСТИН

Т18 Архитектура компьютера. 6-е изд. — СПб. : Питер, 2013. — 816 с. : ил.

Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в шестом издании, посвящена структурной организации компьютера.

В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера.

Книга рассчитана на широкий круг читателей: как на студентов, изучающих компьютерные технологии, так и на тех, кто самостоятельно знакомится с архитектурой компьютера.

ББК 32. 973. 23-02

ISBN 978-0132916523 англ.

© Prentice Hall, 2013

© Перевод на русский язык ООО Издательство «Питер», 2013

© Издание на русском языке, оформление ООО Издательство «Питер», 2013

Что такое «язык ассемблера»? 556

Э. Таненбаум (AST): Сюзанне, Барбаре, Марвину, Арону и Н. Т. Остин (TA): Роберте, которая предоставила мне место (и время) для завершения этого проекта


Невероятные приключения Лавлейс и Бэббиджа. Сидни Падуа

Книга Невероятные приключения Лавлейс и Бэббиджа

Книга представляет собой фантастическую историю, которая происходит в альтернативной вселенной. События описываются в антураже викторианской Англии, очень сильно развившей технологии на пару.

Книга была создана на основе веб комиксов Сидни Падуа, ее так восхитила биография Ады Лавлейс, что она решила создать веселые стрипы, ставшие популярными в узких кругах. Автор раскрывает некоторые интересные, но малоизвестные факты об ученных, живших в то время, также там встречаются справки о математике, программировании и логике. Это было сделано для того, чтобы рядовой читатель мог понять все шутки того времени.

В книге много веселых высказываний и гэгов, она легко читается, но юмор в книге может понравиться далеко не всем из-за его математической направленности.

Компьютерное «железо»

Ремонт и модернизация ПК

Персональный компьютер – это уже давно всем привычная вещь в быту. Однако любая вещь со временем ломается. Кроме того, компьютер время от времени нуждается в модернизации, иначе он просто не сможет.

Цифровая электроника для начинающих

Елисеев Дмитрий Витальевич

Современный мир полон электронных устройств. Без них мы уже не можем представить свою жизнь. Но если есть такие устройства, то их необходимо как-то ремонтировать и обслуживать? Основы такой.

Компьютер. Большой самоучитель по ремонту, сборке и модернизации

Колисниченко Денис Николаевич

Когда мы покупаем какую-то технику, то хотим, чтобы она прослужила долго и оправдала вложенные в нее средства. И одной из самых востребованных сейчас вещей является компьютер. Но производители.

222 проблемы с компьютером и их решение: Настольная книга начинающего пользователя

Данная книга продемонстрирует вам пути решения разнообразных компьютерных проблем, с которыми сталкиваются и начинающие, и опытные пользователи. Вы узнаете из нее о возможностях своего ПК, об.

CompTIA A+. Устройство, настройка, обслуживание и ремонт ПК

Брукс Чарльз Дж.

Книга написана на базе учебного курса по подготовке к сдаче экзаменов на получение международного сертификата CompTIA A+. В ней собраны и систематизированы исчерпывающие сведения об аппаратной части.

Основы информатики

Морозевич Анатолий Николаевич, Говядинова Наталья Николаевна, Левашенко Виталий Григорьевич

Учебное пособие раскрывает основные темы курса, в частности: техническое и программное обеспечение персональных компьютеров, служебные и сервисные программные средства, текстовые и табличные.

Модернизация и ремонт ПК

Библия по устройству ПК, 18-е издание.

Импульсные блоки питания для IBM PC

Книга посвящена вопросам ремонта и обслуживания импульсных источников вторичного электропитания, которые используются практически во всем современном импортном и отечественном радиоэлектронном.

Практическая электроника. Иллюстрированное руководство для радиолюбителей

Это наглядное пособие поможет вам научиться решать задачи, возникающие при модернизации и ремонте самого разнообразного электронного оборудования. Здесь вы найдете доступные для понимания даже.

Wi-Fi: Все, что Вы хотели знать, но боялись спросить

Щербаков Алексей Юрьевич, Щербаков А. К.

Жизнь современного человека — это движение. Мобильность для нас становится одним из самых важных моментов для работы, для общения, для жизни. Многие из нас сейчас уже не представляют жизнь без.

Неофициальное руководство по ремонту iPhone, iPad и iPod. Пусть ваши устройства прослужат дольше!

Тимоти Л. Уорнер

Почините свой iPhone, iPad и iPod, узнав тайны ремонта этих устройств, которые компания Apple хранит в секрете! Эта книга расскажет вам, как вернуть к жизни ваши бесценные мобильные iДевайсы.

Информатика.Учебник для вузов.

Грошев Александр Сергеевич Sergeeich

Структура и содержание учебника полностью соответствуют примерной программе дисциплины «Информатика» для студентов вузов, рекомендованной Министерством образования. В главе 1 книги рассматриваются.

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

Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в шестом издании, посвящена структурной организации компьютера. В.

Цифровая схемотехника и архитектура компьютера

В книге представлен уникальный и современный подход к разработке цифровых устройств. Авторы начинают с цифровых логических элементов, переходят к разработке комбинационных и последовательных схем, а.

Самоучитель системного администратора

Кенин Александр Михайлович

Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии.

Архитектура компьютера, Таненбаум Э., 2003

Книга Эндрю Таненбаума, всемирно известного специалиста в области информационных технологий, писателя и преподавателя, выходящая уже в пятом издании, посвящена структурной организации компьютера. В ее основе лежит идея иерархической структуры, в которой каждый уровень выполняет вполне определенную функцию. В рамках этого нетрадиционного подхода подробно описываются цифровой логический уровень, уровень архитектуры команд, уровень операционной системы и уровень языка ассемблера.
Книга рассчитана на широкий круг читателей: как на студентов, изучающих компьютерные технологии, так и на тех, кто самостоятельно знакомится с архитектурой компьютера.

Современные многоуровневые машины.
Большинство современных компьютеров состоит из двух и более уровней. Существуют машины даже с шестью уровнями (рис. 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 — fileskachat.com, быстрое и бесплатное скачивание.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России. Купить эту книгу

Стоит почитать: обзор на книгу Эндрю Танненбаума «Архитектура компьютера»

Андрей Скиба

Могу с уверенностью сказать, не только по своему опыту, но и по опыту многих моих друзей и коллег, что почти всегда вход в профессию разработчика происходит не с основ, скажем так, компьютерной грамотности. А уже где-то посередине между полным новичком и гуру.

Приходя на первое место работы, многие почти сразу начинают решать задачи бизнеса (пусть и не очень критичные). Например, писать высокоуровневый код, деплоить приложения и так далее. Это не хорошо и не плохо. Это просто данность, с которой в любом случае нам придётся иметь дело. А учитывая то количество средств разработки, которое сегодня доступно программистам практически любого уровня, можно говорить о постоянно снижающемся пороге входа в профессию.

И всё-таки, на мой взгляд, знание основ никогда не бывает лишним. Книга Танненбаума «Архитектура компьютера» – это не просто скучный университетский курс, объём которого отпугнул бы новичка. Это настоящая энциклопедия того, как вообще появились современные компьютеры. Причём написанная максимально простым для такого материала языком и приправленная добрым юмором.

Конечно, нельзя сказать, что это стопроцентно необходимое пособие для начинающего программиста, и без знаний из этой книги делать в профессии нечего. Но в книге есть несколько ключевых аспектов, важных для понимания многих вещей из IT. А именно:

  • Основная идея «Архитектуры компьютера», на мой взгляд, состоит в том, что сам компьютер и все те протоколы и системы, которые обеспечивают его работу, организованы слоями. То есть каждый уровень абстракции изолирован от остальных уровней, находящихся выше. А наружу предоставляет только некий интерфейс взаимодействия с ним. Скажем, программируя на ассемблере, мы не задумываемся, как устроены транзисторные вентили на кристалле процессора. Или программируя 3D-графику, нам не нужны подробности работы графических шин и так далее. Хотя это никак не ограничивает нас в нашей работе.
  • В книге приводится довольно подробный обзор различных систем и протоколов компьютера. С одной стороны, это может показаться излишним и не очень современным. Но с другой даёт важную пищу для размышлений о том, как можно в принципе решать проблемы, с которыми мы сталкиваемся. Например, при проектировании приложений. Описывая историю появления того или иного протокола, Танненбаум показывает путь, который пришлось пройти проектировщикам ЭВМ в разные годы при достижении своих целей. И какие проблемы проектирования встретились у них на пути.
  • В конце глав есть великолепные, часто неожиданные вопросы и задания, которые интересно читать и выполнять. Помимо вопросов по основному содержанию главы встречаются и житейские, и даже юридические!

Многие вещи из разработки приложений уходят своими корнями в железо и ОС. Например, многопоточное программирование, системные вызовы, организация памяти (чем, например, отличаются структуры «стек» и «куча» и зачем ОС нужны каждая из них). Всё это затронули в книге. Скажем, для меня стало открытием, что граница между железом и софтом никогда не была фиксированной. В разное время разные вещи то находили себя в аппаратной реализации, то уходили в микроядро.

Топ книг по программированию, вышедших на русском языке в 2018 году

В интернете всегда есть масса материалов отдельно по каждому их этих пунктов. Но то, что Танненбаум их соединил в одном пособии, как мне кажется, — очень важный момент. В этой же связи также хочется отметить, что автор часто подчёркивает вещи, различные для Windows и Unix-like систем, о которых полезно знать.

Ещё я бы хотел отдельно отметить сам дух книги «Архитектура компьютера». Танненбаум по праву считается идейным вдохновителем Линуса Торвальдса. И уже одно это должно мотивировать нас знакомиться с трудами Эндрю. «Его книги вывели меня на новый уровень», — сказал однажды Линус. Вряд ли можно было бы придумать рекламу лучше. Танненбаум написал книгу живо, остроумно, без лишних деталей — это выгодно отличает её от аналогичных изданий. Я бы однозначно рекомендовал эту книгу всем, кто считает себя причастным к миру IT.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector