• Принципы систем распределенных баз данных (Principles of Distributed Database Systems, Özsu, см. https://code.energy/ozsu)
Глава 7. Компьютеры
Любая достаточно развитая технология неотличима от магии.
Бесчисленные и разнообразные машины были изобретены для решения задач. Существует много типов компьютеров: от встроенных в роботов, которые бродят по Марсу, до тех, что управляют навигационными системами атомных подводных лодок. Почти все компьютеры, включая наши ноутбуки и телефоны, имеют тот же самый принцип работы, что и первая вычислительная машина, изобретенная фон Нейманом в 1945 году. А вы знаете, как устроены компьютеры? В этой главе вы научитесь:
В конце концов, программирование должно выглядеть как волшебство только для непрограммистов — но не для нас с вами.
7.1. Архитектура
Компьютер — машина, которая подчиняется командам, управляющим данными. Он имеет два главных компонента: процессор и память. Память, она же
Память
Память поделена на множество ячеек. Каждая хранит крошечный объем данных и имеет числовой адрес. Чтение или запись данных в памяти выполняется посредством операций, которые воздействуют на одну ячейку за раз. Чтобы прочитать ячейку памяти или произвести запись в нее, мы должны передать ее числовой адрес (рис. 7.1).
Рис. 7.1. Сообщение для ОЗУ выполнить операцию в ячейке № 210 (11010010)
Поскольку память является электрической схемой, мы передаем адреса ячеек по проводам в виде двоичных чисел[69]. Каждый провод передает двоичную цифру. Высокое напряжение соответствует сигналу «единица», низкое — сигналу «ноль».
Рис. 7.2. Память может работать в режиме чтения или записи
Память способна выполнить с адресом ячейки две операции: получить хранящееся в ней значение или записать новое. Память имеет специальный входной контакт для установки ее рабочего режима (рис. 7.2).
Каждая ячейка памяти хранит 8-разрядное двоичное число, которое называется
Когда память находится в режиме записи, она
Группа проводов, используемых для передачи одинаковых данных, называется
Рис. 7.3. Чтение числа 32 из ячейки с адресом 211
Рис. 7.4. Запись числа 33 в ячейку с адресом 212
В любом компьютере ЦП и ОЗУ постоянно обмениваются данными: процессор выбирает команды и данные из памяти и иногда сохраняет туда данные для вывода и промежуточные результаты вычислений (рис. 7.5).
Рис. 7.5. ЦП подключен проводами к ОЗУ
Процессор
Центральный процессор имеет несколько ячеек внутренней памяти, которые называются
• скопировать данные из ячейки памяти № 220 в регистр № 3;
• сложить число в регистре № 3 с числом в регистре № 1.
Набор всех операций, которые может выполнять ЦП, называется его
Рис. 7.6 показывает, как некоторым процессорным командам ставятся в соответствие числа в том виде, в котором они приводятся в руководствах по ЦП. По мере совершенствования технологии производства процессоры стали поддерживать дополнительные операции. Набор команд современных ЦП огромен. Однако самые важные операции существовали уже несколько десятилетий назад.