1. Устройство персонального компьютера и принципы работы аппаратного обеспечения
Устройство персонального компьютера и принципы работы аппаратного обеспечения
Сотрудник банка нажимает кнопку «Сформировать выписку» в CRM-системе. Экран замирает на три секунды, вентилятор системного блока начинает гудеть чуть громче, и таблица с данными появляется на мониторе. За эти три секунды внутри металлического корпуса не произошло никакой магии — там сработали миллиарды микроскопических электрических переключателей, выполнив строгую последовательность математических и логических операций. Понимание того, как физическое оборудование (hardware) принимает, обрабатывает и отдает информацию, отличает уверенного IT-специалиста от рядового пользователя, который видит в компьютере лишь «черный ящик».
Архитектура фон Неймана: базовый принцип вычислений
Практически любой современный компьютер — от смартфона в кармане до мощного банковского сервера, обрабатывающего транзакции по пластиковым картам, — построен на принципах, сформулированных Джоном фон Нейманом в 1945 году.
Фундаментальная идея архитектуры фон Неймана заключается в том, что и данные, и программы (инструкции по обработке этих данных) хранятся в одной и той же памяти. До этого компьютеры программировались физическим переключением кабелей на панелях.
Компьютер фон Неймана состоит из трех ключевых узлов:
!Схема архитектуры фон Неймана
Чтобы понять взаимодействие этих компонентов, логично рассмотреть работу повара на профессиональной кухне. Повар — это процессор, который выполняет действия. Столешница, на которой он режет овощи — это оперативная память: она быстрая, находится под рукой, но ее площадь ограничена, и в конце смены она должна быть очищена. Склад продуктов в подвале — это жесткий диск: там можно хранить тонны ингредиентов годами, но чтобы достать оттуда мешок картошки, повару нужно потратить много времени. Устройства ввода-вывода — это официанты, которые приносят заказы от клиентов и уносят готовые блюда.
Центральный процессор: кремниевое сердце системы
Центральный процессор (Central Processing Unit, CPU) — это микросхема, состоящая из миллиардов транзисторов. Транзистор работает как простейший электрический вентиль: он может либо пропускать ток (состояние ), либо не пропускать его (состояние ). Комбинируя эти нули и единицы, процессор выполняет сложнейшие логические операции.
Производительность процессора определяется несколькими физическими и архитектурными характеристиками.
Тактовая частота. Внутри процессора есть генератор тактовых импульсов — своеобразный метроном. Один такт — это минимальный шаг времени, за который процессор может выполнить простейшую операцию. Частота измеряется в герцах (Гц). Современный процессор с частотой выполняет (три с половиной миллиарда) тактов в секунду. Однако высокая частота не всегда означает пропорционально высокую скорость работы, так как сложные инструкции могут требовать десятков тактов для завершения.
Многоядерность. Физически наращивать тактовую частоту бесконечно невозможно из-за проблемы тепловыделения — кремний начинает плавиться. Поэтому инженеры стали размещать несколько вычислительных центров (ядер) на одном кристалле.
Для банковских систем разница между частотой и количеством ядер критична при выборе оборудования:
Цикл исполнения команды
Любая программа, будь то браузер или банковская АБС (автоматизированная банковская система), в конечном итоге компилируется в машинный код — длинную ленту базовых инструкций. Процессор работает, непрерывно повторяя один и тот же цикл, состоящий из трех основных фаз.
!Визуализация цикла процессора
Иерархия памяти: почему нельзя обойтись одним диском
Компьютеру требуются разные типы памяти из-за фундаментального физического компромисса: память не может быть одновременно очень быстрой, очень объемной, энергонезависимой и дешевой. Поэтому в ПК выстраивается иерархия.
Оперативная память (RAM)
Random Access Memory (память с произвольным доступом) — это рабочее пространство компьютера. Она построена на микросхемах, которые способны отдавать и принимать данные со скоростью десятков гигабайт в секунду. Процессор работает напрямую именно с RAM.Главное свойство оперативной памяти — энергозависимость. Как только пропадает электрическое питание, все данные в RAM мгновенно и безвозвратно исчезают. Если в момент скачка напряжения кассир оформлял перевод, и эти данные находились только в оперативной памяти, транзакция будет потеряна.
Постоянная память (Storage)
Для долгосрочного хранения операционной системы, программ и файлов используются энергонезависимые накопители. Они сохраняют данные даже без питания, но работают в сотни раз медленнее оперативной памяти.Жесткие магнитные диски (HDD). Внутри металлического корпуса находятся стеклянные или алюминиевые пластины, покрытые ферромагнитным слоем. Они вращаются со скоростью 5400 или 7200 оборотов в минуту, а над ними парят магнитные головки, считывающие и записывающие данные путем изменения намагниченности микроскопических участков. HDD — это механика. Из-за физического перемещения головки время поиска нужного файла (latency) огромно по меркам процессора. Сегодня HDD применяются в банках в основном для систем резервного копирования и холодных архивов, где важен огромный объем и низкая стоимость хранения терабайта, а скорость доступа вторична.
Твердотельные накопители (SSD). В них нет движущихся частей. Данные хранятся в микросхемах флеш-памяти (NAND). В основе лежат транзисторы с плавающим затвором, которые способны удерживать электрический заряд (электроны) годами, даже когда питание отключено. Наличие заряда интерпретируется как , отсутствие — как . Поскольку чтение происходит путем подачи электрического сигнала, а не механического перемещения головки, SSD работают в десятки раз быстрее HDD. Именно SSD устанавливаются в современные рабочие станции сотрудников и используются в серверах для работы с активными базами данных клиентов, где требуется мгновенный отклик.
Материнская плата и шины данных
Процессор, оперативная память и видеокарта не могут висеть в воздухе. Они устанавливаются на материнскую (системную) плату — сложную многослойную печатную плату, которая выступает в роли центральной нервной системы компьютера.
Компоненты общаются между собой по шинам (Buses) — наборам медных проводников на плате. Шина характеризуется пропускной способностью (сколько бит данных можно передать за одну секунду).
Самая быстрая магистраль на материнской плате соединяет процессор и оперативную память. Для подключения видеокарт и быстрых SSD используется шина PCIe (Peripheral Component Interconnect Express). Суть PCIe в том, что она предоставляет устройствам выделенные линии (линейки) для связи с процессором. Устройство может использовать 1, 4, 8 или 16 линий одновременно.
Для подключения периферии (мышей, клавиатур, принтеров) используется универсальная последовательная шина — USB.
Периферия и драйверы: как софт управляет железом
Аппаратное обеспечение само по себе «глухо и немо». Операционная система (Windows или Linux) оперирует абстрактными понятиями: «напечатать документ», «считать файл». Принтер же не понимает, что такое «документ в формате PDF». Он понимает только команды вида «прокрутить валик на », «подать напряжение на сопло номер 14».
Чтобы операционная система могла управлять конкретным устройством, нужен драйвер — специализированная программа-переводчик.
В банковской сфере тема драйверов стоит особенно остро. Рабочее место операциониста часто обвешано специфической периферией:
Когда операционист жалуется, что «компьютер не видит сканер паспортов», в 90% случаев проблема не в сгоревшей микросхеме и не в операционной системе, а в сбое драйвера. Операционная система отправила стандартный запрос, но драйвер не смог перевести его в специфические команды для конкретной модели сканера, либо драйвер был обновлен до версии, несовместимой с текущей версией банковского ПО.
От рабочего стола к серверной: специфика банковского железа
Обычный персональный компьютер спроектирован так, чтобы быть относительно дешевым и справляться с задачами одного человека. Если офисный ПК зависнет или перезагрузится из-за сбоя памяти, сотрудник потеряет 10 минут работы. Если зависнет центральный сервер банка, обрабатывающий межбанковские переводы — финансовое учреждение понесет колоссальные убытки и репутационный ущерб.
Поэтому IT-инфраструктура банка строится на серверах. Сервер — это тоже компьютер архитектуры фон Неймана (там есть процессор, память и диски), но его аппаратное обеспечение спроектировано с упором на отказоустойчивость (Fault Tolerance).
!Стойка банковского мейнфрейма
Ключевые отличия серверного железа:
ECC-память (Error-Correcting Code). В обычной оперативной памяти случайный скачок напряжения или даже воздействие космической частицы может изменить значение бита с на . В видеоигре это приведет к тому, что один пиксель на долю секунды станет красным вместо синего. В банковской базе данных это может превратить сумму перевода из 1000 рублей в 9000 рублей. Серверная ECC-память содержит дополнительные микросхемы и алгоритмы, которые на лету математически вычисляют контрольные суммы данных. Если один бит случайно изменился, контроллер памяти мгновенно обнаруживает это и исправляет ошибку до того, как искаженные данные попадут в процессор.
Дублирование компонентов (Redundancy). В потребительском ПК один блок питания. В сервере их минимум два, подключенных к разным независимым линиям электропередач. Если один сгорает, сервер продолжает работать на втором без перезагрузки. То же самое касается вентиляторов охлаждения и сетевых карт.
Горячая замена (Hot Swap). В обычном ПК для замены сломанного жесткого диска нужно выключить компьютер, разобрать корпус, отсоединить кабели. В серверах жесткие диски находятся в специальных салазках на передней панели. Системный администратор может вытащить сгоревший диск и вставить новый прямо во время работы сервера, не останавливая обработку транзакций. Специальные контроллеры сами распределят данные на новый диск.
Техническое устройство вычислительных машин подчиняется строгой логике физики и математики. Понимание того, как электрические импульсы превращаются в данные, проходя путь от медленного жесткого диска через оперативную память к регистрам процессора, дает твердую основу для решения реальных проблем. Знание аппаратного фундамента снимает страх перед «непонятными сбоями» и позволяет системно подходить к настройке рабочего окружения, выбору оборудования под конкретные задачи и пониманию того, на чем именно работают сложные программные комплексы, которые будут рассмотрены на следующих этапах.