Счетчиком называется типовой функциональный узел компьютера, предназначенный для счета входных импульсов. Счетчик представляет собой связанную цепочку Т-триггеров, образующих память с заданным числом устойчивых состояний (Рис. 5.12)
Рисунок 5.12-Логическая структура счетчика
Разрядность счетчика п равна числу Т-триггеров. Каждый входной импульс изменяет состояние счетчика, которое сохраняется до поступления следующего сигнала. Значения выходов триггеров счетчика Qn,Qn-1, … Q1 -отображают результа счета в принятой системе счисления.
Логическая функция счетчика обозначаете буквами СТ (counter).
Список микроопераций счетчика включает:
-предварительную установку в начальное состояние,
-инкремент или декремент хранимого слова,
-выдачу слов параллельным кодом и др.
Входные импульсы могут поступать на счетчик как периодически, так и произвольно распределенными во времени. Амплитуда и длительность счетных импульсов должны удовлетворять техническим требованиям для используемых серий микросхем.
Счетчик является одним из основных функциональных узлов компьютера, а также различных цифровых управляющих и информационно-измерительных систем.
Основное применение счетчиков:
• образование последовательности адресов команд программы (счетчик команд или программный счетчик);
• подсчет числа циклов при выполнении операций деления, умножения, сдвига (счетчик циклов);
• получение сигналов микроопераций и синхронизации; аналого-цифровые преобразования и построение электронных таймеров (часов реального времени).
Счетчик характеризуется модулем и емкостью счета.
Модуль счета КСч определяет число состояний счетчика.
Модуль двоичного n -разрядного счетчика выражается целой степенью двойки М = 2n.
После счета числа импульсов NBx = Ксч счетчик возвращается в начальное состояние. Таким образом, модуль счета, который часто называют коэффициентом пересчета, определяет цикл работы счетчика, после которого его состояние повторяется. Поэтому число входных импульсов и состояние счетчика однозначно определены только для первого цикла.
Емкость счета Nmаx определяет максимальное количество входных импульсов, которое может зафиксировать счетчик при одном цикле работы.
Емкость счета NСч=Ксч - 1 при условии, что работа счетчика начинается с нулевого начального состояния.
В счетчиках используются три режима работы: управления, накопления и деления.
В режиме управления считывание информации производится после каждого аходного счетного импульса, например, в счетчике адреса команд.
В режиме накопления главным является подсчет заданного числа импульсов либо счет в течение определенного времени.
В режиме деления (пересчета) основным является уменьшение частоты поступления импульсов в Ксч раз.
Большинство счетчиков может работать во всех режимах, однако в специальных счетчиках-делителях состояния в процессе счета могут изменяться в произвольном порядке, что позволяет упростить схему узла.
Счетчики классифицируют по следующим признакам:
• способу кодирования — позиционные и непозиционные;
• модулю счета — двоичные, десятичные, с произвольным постоянным или переменным (программируемым) модулем;
• направлению счета — простые (суммирующие, вычитающие) и реверсивные;
• способу организации межразрядных связей — с последовательным, сквозным, параллельным и комбинированным переносами (заемом);
• типу используемых триггеров — Т, JK, D в счетном режиме;
• элементному базису - потенциальные, импульсные и потенциально-импульсные.
В счетчиках с позиционным кодированием числовое выражение текущего состояния счетчика определяется формулой:
N = Qi = rn Qn + rn-1 Qn-1 + … + r1 Q1
где ri -вес i- го разряда;
Qi — значение выхода i- го разряда;
п — число разрядов.
Нулевое значение всех разрядов обычно принимается за начальное состояние счетчика. Остальные состояния нумеруют по числу поступивших входных импульсов.
В счетчиках с непозиционным кодированием (например, в кодах Грея) разряды не имеют постоянных весов и каждом набору состояний Qn, Qn-1,…Q1 приписывается определенное количество входных импульсов.
В компьютерах преимущественно используют счетчики с позиционным кодированием.
По виду переходов простые счетчики (Сч) подразделяются на суммирующие (прямого счета) и вычитающие (обратного счета).
В суммирующих счетчиках каждый прибавляемый импульс U+ увеличивает состояние на единицу, то есть реализуется микрооперация инкремента Сч: = Сч + 1.
В вычитающих счетчиках каждый вычитаемый импульс U- уменьшает состояние на единицу, то есть реализуется микрооперация декремента Сч: = Сч - 1.
Реверсивные счетчики имеют переходы в прямом и обратном направлениях, что позволяет считать прибавляемые и вычитаемые импульсы.
К временным характеристикам счетчиков относятся:
- разрешающая способность,
- быстродействие
- время установления (переключения) кода.
Разрешающая способность tpc -определяется минимальным интервалом времени между двумя входными импульсами, при котором еще сохраняется работоспособность счетчика. Параметр tpc задают временем переключения tT первого (младшего) триггера счетчика, то есть tpc = tT, поскольку он переключается под воздействием каждого входного импульса.
Быстродействие счетчика определяется максимальной частотою Fm поступления входных импульсов в режиме деления и вычисляется по формуле: Fm = 1/tT.
Bремя установления кода tуст отсчитывается от начала входного импульса до момента получения нового состояния. Данный параметр позволяет рассчитать быстродействие счетчика в режиме управления из соотношения: FmK = 1/(tуст + tсч), где tсч - время считывания информации.
Межразрядные связи обеспечивают выработку сигналов переноса в старшие разряды при суммировании импульсов и сигналов заема — при вычитании.
От вида реализации межразрядных связей существенно зависят параметры tyct и Fm.k.
В счетчиках с последовательными переносами триггеры переключаются поочередно после каждого входного импульса в направлении от младших разрядов к старшим. Такие счетчики называются последовательными или асинхронными. В счетчиках с параллельными переносами триггеры переключаются одновременно после каждого входного импульса, такие счетчики называются параллельными или синхронными.