Книги и статьи о «железе»

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

What Every Programmer Needs to Know about Memory

Классическая работа Ульриха Дреппера (Ulrich Drepper). Написана в 2007 году.

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

Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture

InsideTheMachine

Великолепная книга. Издана в 2006 году и описывает постепенно эволюцию современных (на то время) микропроцессоров, вводя читателя в темы: вычислительный конвейер, суперскалярность, внеочередное исполнение команд, иерархия кэшей, отложенная запись, векторные расширения и прочая.

Эта книга прямо открывает глаза на многие вещи, на пальцах разъясняет, что как в процессоре работает. Так как написана в 2006 году — устарела в виду появления многоядерных процессоров. Но будьте уверены, после прочтения этой книги вам все будет понятно и в многоядерных процессорах.

Write Great Code

WriteGreateCode

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

В ноябре 2019 года вышел третий том.

В 2020 году трехтомник обновился до 2-ого издания.

Computer Architecture: A Quantitative Approach

ComputerArchitecture

Классическая классика от Хеннеси и Паттерсона. Выдержала уже 6 изданий. Предназначена для инженеров компьютерных систем. Книга дает отличные сведения об аппаратном устройстве компьютера и современных тенденциях развития компьютерной техники. Интересно сравнить все издания этой книги друг с другом и проследить за эволюцией микропроцессоров на протяжение 20 лет!

Для тех кто хочет копать еще глубже: Computer organization and design — это вариант той же книги только для программистов вообще и системных программистов в частности, тех кто пишет драйвера, операционные системы, компиляторы. Книга теперь издается в двух вариантах: с примерами на командах процессора ARM и с примерами команд процессора RISC-V. Раньше примеры были с командами процессора MIPS, но это процессор сейчас встречается только во встроенных системах и уже не актуален на массовом рынке. Поэтому авторы решили стать ближе к реалиям.

Бесплатного супа больше не будет

Отличная статья Херба Саттера (Herb Sutter) о фундаментальной смене тенденций развития в микропроцессорной технике, произошедшей в 2007 году. Обязательно почитайте статью, чтобы понять, как и чем современные процессоры отличаются от процессоров 90-ых годов и начала 2000-ых. За счет чего они достигают бОльшей производительности несмотря на остановившийся рост тактовых частот.

How Computers Really Work — A Hands-On Guide to the Inner Workings of the Machine

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

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

Если копать глубже

Великолепные книги, которые дают более подробную картину аппаратного обеспечения:

Digital Design and Computer Architecture

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

But How Do It Know? — The Basic Principles of Computers for Everyone

41mujo6tgkl._sx331_bo1204203200_

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

Как из одного логического элемента NAND можно построить весь компьютер, прекрасно продемонстрировано на этом сайте.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s