Открыть сервис

Computer Architecture: A Quantitative Approach

Computer Architecture: A Quantitative Approach — это учебник по компьютерной архитектуре, написанный Джоном Л. Хеннесси и Дэвидом А. Паттерсоном. Книга впервые опубликована в 1990 году издательством Morgan Kaufmann (входит в состав Elsevier) и считается одним из наиболее авторитетных и фундаментальных трудов в области проектирования вычислительных систем. В основе подхода авторов лежит количественный анализ производительности, энергопотребления и стоимости, что позволяет инженерам и исследователям принимать обоснованные решения при разработке процессоров, памяти и систем ввода-вывода. Книга выдержала несколько изданий (последнее — шестое, 2019 год) и широко используется в университетских курсах по компьютерной архитектуре, а также в качестве справочного пособия в индустрии.

История создания

Учебник был задуман как ответ на потребность в систематизированном, научно обоснованном подходе к преподаванию компьютерной архитектуры. В 1980-е годы доминировали учебники, описывающие архитектуры конкретных процессоров (например, VAX, Intel 80x86) без глубокого анализа компромиссов. Хеннесси и Паттерсон, будучи ведущими исследователями в области архитектуры RISC (Reduced Instruction Set Computer), решили создать книгу, основанную на принципах количественного анализа.

Первое издание (1990) заложило основы методологии: использование метрик, таких как CPI (Cycles Per Instruction), MIPS (Million Instructions Per Second), и законов Амдала и Мура. Второе издание (1996) добавило разделы по параллелизму на уровне инструкций (ILP) и иерархии памяти. Третье издание (2003) акцентировало внимание на многопроцессорных системах и энергопотреблении. Четвёртое (2007) и пятое (2012) издания включили анализ многоядерных процессоров, графических ускорителей (GPU) и облачных вычислений. Шестое издание (2019) отразило переход к гетерогенным архитектурам, нейронным ускорителям и квантовым вычислениям.

Основные концепции

Количественный подход

Центральная идея книги — замена интуитивных решений на численные оценки. Авторы вводят метрики производительности:

  • Время выполнения программы (Execution Time) — основной показатель.
  • Пропускная способность (Throughput) — количество задач, выполненных за единицу времени.
  • Энергопотребление (Power) — в современных процессорах критически важный параметр.

Для анализа используется закон Амдала: ускорение системы ограничено долей последовательных операций. Формула: \( S = \frac{1}{(1 - p) + p/N} \), где \( p \) — доля параллелизуемых операций, \( N \) — число процессоров.

Архитектура набора команд (ISA)

Книга подробно рассматривает два основных подхода к ISA:

  • RISC (Reduced Instruction Set Computer) — простые, фиксированные по длине инструкции, выполняемые за один такт. Примеры: MIPS, ARM, RISC-V.
  • CISC (Complex Instruction Set Computer) — сложные, переменной длины инструкции, требующие микропрограммирования. Примеры: x86 (Intel, AMD).

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

Конвейерная обработка (Pipelining)

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

  • Идеальный конвейер: каждая инструкция разбивается на стадии (например, IF — выборка, ID — декодирование, EX — выполнение, MEM — память, WB — запись).
  • Конфликты: структурные (нехватка ресурсов), данных (зависимости по данным), управления (условные переходы).
  • Методы разрешения: пересылка (forwarding), предсказание переходов (branch prediction), спекулятивное выполнение.

Иерархия памяти

Книга вводит принцип локальности (временной и пространственной) и описывает многоуровневую память:

  • Кэш-память: уровни L1, L2, L3. Стратегии замещения (LRU, FIFO), ассоциативность, размер блока.
  • Основная память (DRAM): организация банков, задержки, пропускная способность.
  • Виртуальная память: страничная организация, TLB (Translation Lookaside Buffer), подкачка.

Параллелизм

Книга систематизирует виды параллелизма:

  • На уровне инструкций (ILP): суперскалярные процессоры, VLIW (Very Long Instruction Word), out-of-order execution.
  • На уровне потоков (Thread-Level Parallelism): многопроцессорные системы (SMP, NUMA), многоядерные процессоры.
  • На уровне данных (Data-Level Parallelism): SIMD (Single Instruction, Multiple Data), GPU (Graphics Processing Units), векторные процессоры.

Структура книги

Каждое издание имеет схожую структуру, но с обновлёнными главами. Типичное содержание (на примере шестого издания):

  1. Основы проектирования компьютеров — введение в количественный подход, метрики, закон Амдала.
  2. Архитектура набора команд — сравнение RISC и CISC, примеры MIPS и x86.
  3. Конвейерная обработка — базовые и продвинутые методы, предсказание переходов.
  4. Иерархия памяти — кэш, DRAM, виртуальная память, оптимизация.
  5. Параллелизм на уровне инструкций — суперскалярные процессоры, VLIW, спекулятивное выполнение.
  6. Параллелизм на уровне потоков и данных — многоядерные системы, GPU, гетерогенные архитектуры.
  7. Энергопотребление и тепловыделение — методы снижения энергопотребления (DVFS, clock gating).
  8. Современные тенденции — нейронные ускорители, квантовые вычисления, облачные архитектуры.

Каждая глава содержит примеры из реальных процессоров (Intel Core, ARM Cortex, NVIDIA GPU), а также задачи для самостоятельного решения.

Влияние и признание

Книга получила широкое признание в академическом и инженерном сообществе. Она была удостоена премии ACM Gordon Bell Prize (1990) за вклад в образование. В 2017 году Джон Хеннесси и Дэвид Паттерсон получили премию Тьюринга за разработку архитектуры RISC и создание учебника, который стал стандартом в преподавании.

Книга переведена на многие языки, включая русский (издательство «Вильямс», 2007, 2010, 2014, 2020). Она используется в ведущих университетах мира (MIT, Stanford, Berkeley, МФТИ, МГУ, ВШЭ) как основной учебник по курсам «Архитектура ЭВМ» и «Вычислительные системы».

Критика

Несмотря на авторитетность, книга подвергалась критике за:

  • Сложность для начинающих: требует знания базовых принципов цифровой логики и программирования.
  • Акцент на RISC: некоторые специалисты считают, что CISC-архитектуры (например, x86) несправедливо недооценены.
  • Устаревание примеров: в быстро меняющейся индустрии примеры из предыдущих изданий (например, Intel Pentium 4) могут быть неактуальны.
  • Отсутствие глубокого анализа GPU: в ранних изданиях GPU рассматривались поверхностно, хотя в последних изданиях это исправлено.

Интересные факты

  • Джон Хеннесси и Дэвид Паттерсон являются сооснователями проекта RISC-V — открытой архитектуры набора команд, которая активно развивается с 2010-х годов.
  • Книга содержит более 1000 страниц в последнем издании, но авторы рекомендуют читать выборочно, в зависимости от курса.
  • В 2020 году вышло юбилейное издание, посвящённое 30-летию первой публикации.

Источники

  • Hennessy, J. L., Patterson, D. A. Computer Architecture: A Quantitative Approach. 6th ed. Morgan Kaufmann, 2019.
  • Patterson, D. A., Hennessy, J. L. Computer Organization and Design: The Hardware/Software Interface. 5th ed. Morgan Kaufmann, 2014.
  • ACM Turing Award 2017: John L. Hennessy and David A. Patterson.
  • Премия Гордона Белла 1990 года.
  • Учебные программы МФТИ, МГУ, ВШЭ по курсу «Архитектура ЭВМ».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →