Тактовый генератор и управляющее устройство: сердце и мозг процессора

С Днем Знаний, юные радиолюбители! Да, каникулы закончились, но школа — это не только уроки. Это место встречи с друзьями, общих интересов и важных жизненных уроков. Это время, когда вы формируетесь как личность. Цените этот период, но не забывайте и об учебе — знания пригодятся для будущих свершений. А теперь вернемся к изучению удивительного мира компьютеров.

Продолжим разбираться с внутренним устройством современных вычислительных машин.

Тактовый генератор (Clock): дирижер процессора

Для слаженной работы процессора необходимо включать и выключать нужные биты в строго определенные моменты. Основу этого процесса задает тактовый генератор. На графике ниже показано, как меняется состояние бита во времени.

Обратите внимание: на графике нет шкалы в секундах. Внутри процессора переключения происходят с невероятной скоростью — за наносекунды. Поэтому мы рассматриваем время как последовательность событий: включение одних битов относительно других.

Введем ключевые понятия. Цикл — это повторяющаяся последовательность действий (например, включение и последующее выключение бита). Частота — количество таких циклов в секунду, измеряется в Герцах (Гц). Если бит за секунду успевает трижды включиться и выключиться, частота равна 3 Гц. В компьютерах используются мегагерцы (МГц) и гигагерцы (ГГц).

Всё начинается с одного специального бита — тактового генератора. Он автоматически и непрерывно переключается между 0 и 1 с заданной частотой. Его принципиальная схема проста до гениальности:

Если выход включен (1), на вход поступает 1, и на выходе появляется 0. Этот 0 поступает на вход, и на выходе снова 1. Так создается бесконечный цикл. В реальности для управления скоростью (частотой) в схему добавляют задержку, например, удлиняя провод.

На практике тактовый генератор (Clock) строится на основе кварцевого резонатора. Его упрощенное обозначение выглядит так:

Теперь создадим полезные сигналы. Подключим к выходу генератора линию задержки (длинный провод), чтобы получить сигнал, сдвинутый на четверть цикла (clk d).

На графике видно, что clk d отстает от основного сигнала clk.

Скомбинируем эти два сигнала (clk и clk d) с помощью логических элементов И и ИЛИ.

Мы получаем два новых управляющих сигнала: clk e (enable — разрешение) и clk s (set — установка). Сигнал clk e активен дольше, чем clk s, что создает необходимую последовательность: сначала разрешаем операцию (e), затем устанавливаем значение (s), затем снимаем установку и в конце — разрешение.

Тактовый генератор — основа, но управлять каждым регистром напрямую от него нельзя. Нужен механизм, который будет в нужной последовательности активировать конкретные компоненты. Для наглядности упростим обозначение генератора:

От теории к практике: сложение двух чисел

Рассмотрим простую задачу — сложение двух чисел из регистров R0 и R1. Процессору для этого потребуется несколько тактов (шагов):

  1. Такт 1: Активируем регистр R1 (отправляем его данные на шину) и подаем сигнал на установку (set) временного регистра TMP.
  2. Такт 2: Активируем регистр R0 на шину, устанавливаем в АЛУ (арифметико-логическом устройстве) операцию сложения и разрешаем запись результата в аккумулятор (ACC).
  3. Такт 3: Активируем ACC и устанавливаем результат обратно, например, в регистр R0.
Все сложные вычисления состоят из таких элементарных шагов. Чтобы выполнять их в строгой последовательности, необходимо управляющее устройство — Контрольная секция (Control Section).

Степпер (Stepper): шагомер процессора

Ключевой компонент управления — устройство, называемое степпером (или счетчиком команд). Оно имеет два входа (тактовый сигнал clk и сброс reset) и несколько выходов (Step 1, Step 2, ...).

С каждым тактом (переходом clk из 0 в 1) активным становится следующий выход. После последнего шага (например, Step 7) на вход reset подается сигнал, и счетчик сбрасывается, начиная цикл с Step 1.

Обратите внимание: США делают ставку на квантовые компьютеры.

В основе степпера лежат знакомые однобитные ячейки памяти, соединенные в цепочку.

Рассмотрим принцип на примере пяти шагов. Ячейки соединены попарно. На вход первой ячейки постоянно подается 1. Сигналы записи (s) на четные и нечетные ячейки подаются от clk и not clk (инвертированного clk) соответственно.

Работа начинается с приходом тактового сигнала. Единица последовательно "записывается" в ячейки, но благодаря схеме логических элементов (И, ИЛИ, НЕ) на выходах Step 1...Step 7 в каждый момент времени активен только один сигнал. После активации Step 7 срабатывает цепь сброса (reset), которая обнуляет все ячейки и вновь активирует Step 1, начиная цикл заново.

Упрощенное обозначение степпера с семью выходами:

Собираем пазл: архитектура контрольной секции

Теперь у нас есть все ключевые компоненты: тактовый генератор, создающий базовые синхросигналы, и степпер, выдающий последовательность управляющих шагов. Вспомним схему центрального процессора. Все его блоки (регистры, АЛУ, ОЗУ) соединены шинами, но управляются из единого центра — той самой Контрольной секции. Пришло время заглянуть внутрь.

На этой схеме видна базовая структура раздела управления. Сверху расположены тактовый генератор и степпер. Ниже — массивы логических элементов "И", которые управляют битами регистров: слева — разрешающие (enable), справа — устанавливающие (set). Выходы степпера подключаются к этим элементам "И", определяя, на каком шаге какой регистр или узел будет активирован. Таким образом, контрольная секция, подобно дирижеру оркестра, координирует работу всех частей процессора, выполняя программу шаг за шагом.

Часть 6 - Назад Далее - Часть 8

#компьютеры #наука и техника #образование #радиолюбитель #процессоры #электроника начинающим

Еще по теме здесь: Новости науки и техники.

Источник: Как устроен компьютер? Часть 7 (Clock и Control Section).