Лучший способ понять, как работают компьютеры — это построить один из них с нуля!
Так считают авторы этой книги и потому предлагают практический подход к изучению компьютерных систем. Внутри вас ждет не только исчерпывающее теоретическое описание работы современного компьютера, но и алгоритм конкретных шагов, необходимых для его конструирования.
Благодаря книге вы научитесь разбираться в следующих темах:
• Аппаратное обеспечение
• Компьютерная архитектура
• Языки низкого и высокого уровня
• Виртуальные машины
• Компиляторы
• Программирование
• Операционные системы
• Структуры данных и алгоритмы
• Программная инженерия
Уникальная особенность книги заключается в том, что все эти темы тесно связаны и четко ориентированы на главную цель: создание современной компьютерной системы с нуля.
Учебник полностью самодостаточен: все необходимые знания для построения описанных в ней аппаратных и программных систем есть внутри.
Часть I «Аппаратное обеспечение» не требует предварительных знаний, что делает проекты 1—6 доступными для любого студента и самоучки.
Часть II «Программное обеспечение» и проекты 7—12 требуют предварительного изучения программирования (на любом языке высокого уровня).
В отличие от других учебников, которые охватывают только один аспект темы, «Архитектура компьютерных систем» дает целостное и исчерпывающее знание прикладной информатики, необходимое для создания собственных проектов.
«Мы написали эту книгу, поскольку у нас сложилось впечатление, что многие из тех, кто изучает информатику, не видят леса за деревьями. Типичный студент пробегает через серию курсов по программированию, теории и инженерии, не останавливаясь, чтобы оценить красоту общей картины. А картина в целом такова, что аппаратные, программные и прикладные системы тесно связаны между собой, что не очевидно, через скрытую паутину абстракций, интерфейсов и контрактных реализаций». — Ноам Нисан, Шимон Шокен