Регистры: первый байт памяти

Один D-триггер — это прекрасно, но он может запомнить всего один жалкий бит. Компьютеры же любят работать с более крупными порциями данных, например, с байтами (8 бит).

Как сделать память на целый байт? Элементарно! Мы просто берем восемь D-триггеров и ставим их в ряд. Затем мы соединяем их входы «Clock» (тактовый сигнал) одним общим проводом. Теперь по одному «тику» все восемь триггеров одновременно откроют свои двери и запомнят 8-битную комбинацию нулей и единиц, пришедшую по информационной шине.

Такая связка называется регистром. Регистры — это сверхбыстрые «карманы» процессора. Если обычная оперативная память (ОЗУ) — это огромный склад, куда нужно долго идти за данными, то регистры лежат прямо под рукой у АЛУ. Именно в них процессор держит те числа, с которыми выполняет математические операции прямо сейчас.

Практический пример. Регистр — самая быстрая память в компьютере. Доступ к нему занимает около 0.3 наносекунды. Для сравнения: чтение из оперативной памяти (ОЗУ) — 10 наносекунд, а с жёсткого диска — 10 миллисекунд (в 30 миллионов раз медленнее!). Именно поэтому процессор держит текущие данные в регистрах, а не гоняет их туда-сюда из ОЗУ. В x86-процессорах всего 16 регистров общего назначения — и программисты ведут за них настоящую битву при оптимизации.