Саморазвитие – трудный путь, который нельзя пройти до конца, а стоит лишь ненадолго прервать движение, как вас отбрасывает назад. И всё-таки нельзя переставать расти над собой, становиться чуть лучше, чем вчера. Помните, что это путь благородный, достойный и со множеством сопутствующих бонусов вроде успешности, признания и финансового благополучия.
Эти книги по железу помогут разобраться в архитектуре ЭВМ и понять, как работает все железное.
Чарльз Петцольд – Код: тайный язык информатики
Неистово советую начать с этой книги. Если вы раскроете «тайный код», остальные можно даже не читать 🙂
Сначала вы разберетесь с принципами кодирования информации с точки зрения представления ее в компьютере (не путать с шифрованием) и системами счисления. Очень хорошо «разжевываются» и понятия бинарности, разрядности и логических вычислений.
Следующий блок посвящен физике — как ток течет по проводам, как работают реле, как составлять первые электронные схемы. А потом идет сборка компьютерных компонентов типа памяти и процессора.
Плюсы
- Петцольд очень подробно и понятно рассказывает про базовые понятия. В особенности про двоичный и шестнадцатеричный код и логику, логические вентили;
- Совместно с автором вы потихоньку «собираете компьютер». Воображаемый, конечно, но зато с нуля;
- Книга написана легким, живым языков, без занудных академических терминов. Читается легко, но не быстро. Но того стоит.
Минусы
- Много времени уделяется технологиям прошлого — телеграфу, например. Восприятию не вредит, но время отнимает.
Отдельно рекомендую программистам главу № 16 «Сборка памяти». Правда, до этой главы лучше прочитать и все остальные. (:
Бонус: есть немного про Ассемблер.
Э. Таненбаум – «Архитектура компьютера»
Наиболее полная книга об архитектуре ЭВМ. Здесь не раскрываются базовые вещи (они в книжке № 1), идет упор на углубленное изучение.
Например, большой блок, посвященный уровню устройства процессоров, памяти, прерываний, ассемблера (здесь его достаточное количество).
Плюсы
- Последовательно рассматриваются все уровни компьютерной архитектуры: цифровой логический уровень (особенно хорошо зайдет после Петцольда), затем уровень микроархитектуры, архитектуры набора команд, уровень операционной системы и уровень ассемблера;
- С точки зрения программирования уделяется много внимания представлению данных в памяти ПК, даже больше, чем у Петцольда;
- В приложении много материалов по программированию на ассемблере.
Минусы
- Не могу сказать, что информация устаревшая. Но новые технологии не рассматриваются, вроде тех же SSD. Но, с другой стороны, тут это и не нужно.
В качестве дополнительного чтения рекомендую Э. Таненбаум, Х. Бос «Современные операционные системы». Здесь речь об организации операционных систем. В том числе и с точки зрения «железа». Книга выпущена в 2018, есть вопросы к актуальности (последняя описанная ОС — Windows 8). Но для понимания принципов отлично подойдет.
Дэвид М. Харрис и Сара Л. Харрис – Цифровая схемотехника и архитектура компьютера.
Упор сделан на физику. Начало посвящено цифровым логическим схемам, от которых авторы переходят к разработке комбинационных и последовательных схем. На основе этих знаний уже строится разработка процессора MIPS. В итоге вы получаете собственноручно разработанный микропроцессор.
Плюсы
- Весело-задорно рассказывается обо всем, много иллюстраций.
- Много, много, очень много физики. Подойдет для тех, кто хочет на физическом уровне понять, как «думает комп».
- В книге говорится не только о процессорах для ПК (как работает система ввода и вывода данных), но и о микроконтроллерах и микропроцессорах.
Минусы
- Тот же упор на физику. Не всем программистам нужно такое углубление, но это как минимум прокачивает кругозор.
- В этой книге приводятся примеры на языках SystemVerilog и VHDL. Мне было сложновато вникнуть.
Еще пара книг. В них больше упор на математическую составляющую. И это — учебники для ВУЗов, так что будьте готовы к налету академизма.
Сергеев Сергей Львович – Архитектуры вычислительных систем
Многие разделы посвящены архитектуре ЭВМ на уровне команд и адресов. Упор на архитектуру процессоров RISC и CISC. Максимально подробно расписано представление данных и принципов вычислений, много математики. Большой обзор команд арифметико-логического типа и адресации + команды передачи управления и циклов.
Скорее всего, будет интересно в первую очередь программистам, с точки зрения математики и немного «железа».
Скотт Мюллер – Модернизация и ремонт ПК.
Взгляд на железо компьютера со стороны ремонта. Если вдруг вы хотите научиться выбирать, собирать, модернизировать сборки компьютеров — рекомендую от души.
Минус книги — 2011 год. Увы, потеря актуальности неизбежна. Но, опять же, описанные принципы на века.
И отдельная ссылка: Университет Низкоуровневого Программирования. В блоке «Теория» вы найдете еще больше ссылок на источники для самостоятельного изучения.