Первые компьютеры были узкоспециализированными. Один умел считать баллистику, другой — шифровать, третий — управлять оборудованием. Каждый создавался под конкретную задачу и не умел делать ничего другого.
Джон фон Нейман предложил простую идею: хранить в памяти не только данные, но и саму программу. Это означало, что один и тот же компьютер можно «переучить», просто загрузив в него другой набор инструкций. Так машина из «станка для одной задачи» превратилась в универсальное устройство. Архитектуру фон Неймана называют VNA. В ней память единая: рядом лежат и команды, и данные, которые процессор выполняет шаг за шагом.
Позже возникла проблема: процессор простаивал, пока ждал из памяти и команду, и данные. Решением стала гарвардская архитектура, или HA. В ней память разделена: instruction memory хранит инструкции, data memory — данные. Это позволило выполнять команды быстрее, потому что процессор получал всё параллельно. Сегодня чаще встречается смешанный вариант: общая память и отдельные кэши для команд и данных.
Когда компьютеры становились мощнее, встала новая задача — связать процессор с памятью, видеокартой, дисками и сетью так, чтобы он не перегружался. Появились два «моста»: северный (NB, Northbridge) и южный (SB, Southbridge). Северный обслуживал процессор, оперативную память и графику, южный управлял дисками, USB и сетью. Вместе они образовывали чипсет. Со временем схема оказалась громоздкой. Решение было таким: северный встроили прямо в процессор, а южный заменили единым контроллером PCH (Platform Controller Hub). У Intel именно так называется чип, который управляет портами и накопителями.
Массовое производство компьютеров породило другую проблему — комплектующие разных производителей не подходили друг к другу. Для совместимости ввели стандарты форм-факторов. Самый распространённый — ATX. Он задал размеры платы и расположение процессора, памяти и разъёмов. Для компактных корпусов появились уменьшенные варианты — microATX (mATX) и Mini-ITX. От форм-фактора зависит, сколько можно установить слотов. Например, на ATX помещаются четыре планки памяти и несколько видеокарт, а на Mini-ITX — только одна планка и один слот для видеокарты.
По мере роста скорости устарели и способы соединения устройств. Раньше использовалась шина PCI (Peripheral Component Interconnect), которая передавала данные параллельно и упиралась в ограничения. Решением стал новый стандарт PCI Express (PCIe) с последовательной передачей. Сегодня через PCIe подключают видеокарты и быстрые SSD. Для накопителей долго применялся SATA (Serial ATA), но его пропускной способности стало не хватать. Тогда появился NVMe (Non-Volatile Memory Express) — протокол, работающий поверх PCIe, который позволяет современным SSD читать и записывать данные в десятки раз быстрее.
Даже связь процессора с памятью несколько раз менялась. Старый стандарт назывался FSB (Front Side Bus). По этой шине процессор общался с северным мостом и дальше с оперативной памятью. Со временем FSB стал узким местом, и у Intel его заменил интерфейс DMI (Direct Media Interface), а у AMD появились собственные решения.
Сегодня в мире есть два главных семейства процессоров. Первое — x86-64, оно используется почти во всех настольных компьютерах и серверах. Его главное достоинство — высокая производительность и совместимость со старыми программами. Второе семейство — ARM. Эти процессоры стоят в смартфонах, планшетах и всё чаще — в ноутбуках, например в MacBook на чипах Apple M1 и новее. Их сильная сторона — энергоэффективность: ARM потребляет меньше энергии и почти не греется. Обе архитектуры работают по тем же базовым принципам фон Неймана и Гарвардской модели, но решают разные задачи: x86-64 делает упор на мощность и совместимость, ARM — на простоту и экономичность.
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.