Основные функциональные элементы ЭВМ.

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

Дешифратор

Дешифратором называется комбинационная схема, имеющая n входов и 2n выходов и преобразующая двоичный код на своих входах в унитарный код на выходах. Унитарным называется двоичный код, содержащий одну и только одну единицу, например 00100000. Условно-графическое обозначение дешифратора на три входа приведено на рис. 1.1.

Рис. 1.1. Условно-графическое обозначение трехвходового дешифратора

Номер разряда, в котором устанавливается «1″ на выходе дешифратора, определяется кодом на его входах. Ниже приведена таблица истинности трехвходового дешифратора. Реализация дешифратора в одноэлементном базисе «Штрих Шеффера» достаточно проста, так как таблица истинности для любого выхода имеет только одну единицу. На рис. 1.2 представлена схема формирования сигнала на одном из выходов дешифратора (сигнал f5 на выходе 5):

Рис. 1.2. Схема формирования сигнала на выходе 5 трехвходового дешифратора

Из представленной схемы видно, что фактически логику преобразования выполняет лишь элемент 2, в то время как элемент 1 служит для получения инверсии сигнала x1, а элемент 3 преобразует полученное на элементе 2 инверсное значение функции в прямое.

Многие элементы хранения, например триггерные схемы, позволяют получать сигнал в парафазном коде, то есть имеют два выхода, на одном из которых сигнал имеет прямое, а на другом – инверсное значение. Это позволяет избавиться от элемента 1 в схеме. Если предположить, что значения выходных сигналов имеют инверсный вид по отношению к представленному в таблице 1.1, то отпадает необходимость в элементе 3. В большинстве реальных интегральных микросхем реализованы именно дешифраторы с инверсными выходами. Обозначение такого дешифратора показано на рис. 1.3.

Рис. 1.3. Условно-графическое обозначение дешифратора с инверсными выходами

На выходах такого дешифратора образуется унитарный код, содержащий один и только один ноль. Например, если входные сигналы имеют значение 1102=610, то выходы дешифратора, представленного на рис. 1.3, будут находиться в состоянии 10111111, то есть выход 6 будет иметь значение, отличное от остальных выходов.

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

При этом часть разрядов адресного кода может дешифрироваться дешифраторами, выполненными в виде отдельных интегральных схем, а другая часть разрядов (обычно младшая) дешифрируется с помощью дешифраторов, встроенных непосредственно в БИС запоминающего устройства. Кроме того, дешифраторы находят применение в устройстве управления для определения выполняемой операции, построения распределителей импульсов и в других блоках.

Шифратор

Шифратор – схема, имеющая 2n входов и n выходов, функции которой во многом противоположны функции дешифратора (рис. 1.4). Эта комбинационная схема в соответствии с унитарным кодом на своих входах формирует позиционный код на выходе

Рис. 1.4. Условно-графическое обозначение шифратора на 4 входа

Триггер

Триггер – электронная схема, обладающая двумя устойчивыми состояниями. Переход из одного устойчивого состояния в другое происходит скачкообразно под воздействием управляющих сигналов. При этом также скачкообразно изменяется уровень напряжения на выходе триггера.

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

Главной частью любого триггера является запоминающая ячейка (ЗЯ). Схема запоминающей ячейки на элементах «И-НЕ» представлена на рис. 1.5.

Рис. 1.5. Запоминающая ячейка на элементах «И-НЕ»

Входной сигнал S (Set) служит для установки ЗЯ в состояние «1″ (Q=1, Q=0). Сигнал R (Reset) устанавливает ЗЯ в состояние «0″ (Q=0, Q=1). Активными значениями для них являются сигналы низкого уровня.

Пусть на входы ЗЯ поданы сигналы: S=0, R=1. Тогда при любом исходном состоянии ЗЯ на выходе элемента 1 установится высокий уровень напряжения. Так как на входы элемента 2 поступают значения Q и R, то на его выходе будет сигнал низкого уровня.

Таким образом, ЗЯ перейдет в состояние «1″.

Аналогично при S=1, R=0 запоминающая ячейка перейдет в состояние Q=0, Q=1, то есть в «0″.

Если S=1, R=1, то состояние ЗЯ будет определяться ее предыдущим состоянием. Если ЗЯ находилась в состоянии «1″, то сигнал Q=0, поступая на вход элемента 1, подтвердит состояние его выхода Q=1. На входы элемента 2 поступят сигналы только высокого уровня. Поэтому его выход будет находиться в состоянии Q=0, то есть не изменится.

Если ЗЯ находилась в состоянии «0″, то сигнал Q=0, поступая на вход элемента 2, подтвердит состояние его выхода Q=1. В свою очередь, выход элемента 1 также останется без изменения. Таким образом, эта комбинация входных сигналов соответствует режиму хранения.

Если на входы S и R поданы сигналы низкого уровня (S = R = 0), то сигнал на выходах элементов 1 и 2 будет высоким (Q = Q = 1). При переводе ЗЯ в режим хранения (S = R = 1), выходы элементов 1 и 2 могут установиться в произвольное состояние.

Поэтому комбинация сигналов S = R = 0 на управляющих входах не используется.

Работа триггерной схемы определяется не таблицей истинности, как для комбинационной логической схемы, а таблицей переходов.

Таблица переходов показывает изменение состояния триггера при изменении состояния входных сигналов в зависимости от его текущего состояния.

Аналогичная запоминающая ячейка может быть построена на элементах «ИЛИ-НЕ».

Такие запоминающие ячейки можно рассматривать как простейшие асинхронные триггеры, на базе которых строятся синхронные триггерные схемы.

Триггеры можно классифицировать по различным признакам, например так, как это показано на рис. 1.6.

Рис. 1.6. Классификация триггерных схем

Триггер называется синхронным, если его таблица переходов хотя бы по одному управляющему входу реализуется под воздействием синхронизирующего сигнала.

Рассмотрим организацию синхронного одноступенчатого триггера (рис. 1.7).

Рис. 1.7. Обобщенная схема синхронного одноступенчатого триггера

Основу синхронного одноступенчатого триггера составляет рассмотренная выше запоминающая ячейка (элементы 1, 2). Комбинационная схема преобразует управляющие сигналы триггера, а также, для некоторых типов триггеров, сигналы Q и Q с выходов ЗЯ в сигналы S и R на входах запоминающей ячейки. Синхросигнал C разрешает передачу на входы элементов 1 и 2 таких значений сигналов S и R, которые устанавливают ЗЯ в то или иное состояние. Неактивное значение синхросигнала обеспечивает на входах запоминающей ячейки состояние управляющих сигналов S = R = 1, что соответствует для нее режиму хранения.

Схема синхронного одноступенчатого RS-триггера приведена на рис. 1.8

Рис. 1.8. Синхронный одноступенчатый RS-триггер

Представленный на рис. 1.8 триггер имеет статическую синхронизацию, при которой управляющие сигналы активизируют входы S и R запоминающей ячейки во время высокого уровня сигнала на входе синхронизации. Его условно-графическое обозначение приведено на рис. 1.9,а.

Условно-графические обозначения триггеров, использующих другие типы синхронизации, приведены на рис. 1.9,б,в,г (на примере RS-триггера).

На рис. 1.9,б представлено УГО триггера со статической синхронизацией в случае, если активный уровень синхросигнала низкий.

Условно-графические обозначения триггеров с динамической синхронизацией показаны на рис. 1.9,в и 1.9,г.

В первом случае изменение состояния триггера под воздействием поступивших управляющих сигналов происходит только в момент переключения синхронизирующего сигнала с низкого уровня на высокий, а во втором – при переключении с высокого на низкий уровень.

При постоянном значении уровня синхросигнала состояние выхода триггера с динамической синхронизацией не меняется при любых изменениях управляющих сигналов на его входах.

Рис. 1.9. Условно-графические обозначения RS-триггера с различной синхронизацией:

а — статическая синхронизация; б — статическая инверсная синхронизация;

в — динамическая синхронизация передним фронтом синхросигнала;

г — динамическая синхронизация задним фронтом синхросигнала

Идеализированная (без учета задержек) временная диаграмма работы RS-триггеров с различными типами синхронизации приведена на рис. 1.10.

Рис. 1.10.  Временная диаграмма работы RS-триггера с различными типами синхронизации: Qа – статическая синхронизация; Qб– статическая инверсная синхронизация; Qв –динамическая синхронизация передним фронтом синхросигнала; Qг– динамическая синхронизация задним фронтом синхросигнала

Как отмечалось выше, синхронный триггер, помимо управляющих входов, воздействующих на его состояние при подаче сигнала синхронизации, может иметь входы, которые воздействуют на его состояние непосредственно. Обычно они используются для установки триггера в то или иное начальное состояние перед подачей последовательности синхросигналов. Схема синхронного RS-триггера с асинхронными входами установки в «0″ и в «1″ приведена на рис. 1.11, а его условно-графическое обозначение – на рис. 1.12.

Рис. 1.11. Синхронный одноступенчатый RS-триггер

с асинхронными установочными входами

Рис. 1.12. Условно-графическое обозначение синхронного одноступенчатого

RS-триггера с асинхронными установочными входами

Сигналы, поступающие по асинхронным входам S и R, подаются непосредственно на входы запоминающей ячейки, образованной элементами 1 и 2, минуя цепь, управляемую синхросигналом (элементы 1 и 2), и вызывают переключение запоминающей ячейки..

Триггеры некоторых типов используют значения выходного сигнала для формирования управляющих сигналов на входах запоминающей ячейки (см. рис. 1.7). Это может привести к непредсказуемой последовательности его переключений.

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

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

Двухступенчатый RS-триггер (рис. 1.13 и рис. 1.14) строится на основе двух одноступенчатых триггеров с прямой статической синхронизацией. Информация в первую ступень триггера (элемент 1) заносится во время действия высокого уровня синхросигнала. После того как синхросигнал на входе принимает низкое значение, элемент 1 переходит в режим хранения, а значение высокого сигнала на выходе инвертора 3 обеспечивает запись состояния триггера 1 в триггер 2. Идеализированная временная диаграмма работы двухступенчатого RS-триггера приведена на рис. 1.15.

Рис. 1.13. Схема двухступенчатого RS-триггера

Рис. 1.14. Условно-графическое обозначение двухступенчатого RS-триггера

Рис. 1.15. Временная диаграмма работы двухступенчатого RS-триггера

Следует отметить, что первая ступень представляет собой одноступенчатый триггер, реализующий заданную таблицу переходов, в то время как вторая ступень – это всегда одноступенчатый синхронный RS-триггер. Например, на рис. 1.16 показана схема двухступенчатого JK-триггера.

Рис. 1.16. Двухступенчатый JK-триггер

Счетчик

Счетчиком называется электронная схема, предназначенная для подсчета числа сигналов, поступающих на его счетный вход.

Счетчики используются в устройстве управления компьютера при построении распределителей импульсов и организации циклов, в счетчиках команд для формирования адреса выполняемой команды при естественном порядке выполнения и в некоторых других устройствах ЭВМ.

Также счетчики широко применяются в качестве самостоятельных узлов в различных системах цифровой автоматики.

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

Счетчики принято подразделять на суммирующие, вычитающие и реверсивные. Суммирующие счетчики увеличивают свое значение, вычитающие – уменьшают, а реверсивные могут работать как на прибавление, так и на вычитание в зависимости от сигналов управления.

Параметром, определяющим информационную емкость счетчика, является модуль пересчета, равный числу внутренних состояний. Это значение проставляется на УГО после аббревиатуры CT.

Пример асинхронного трехразрядного двоичного суммирующего счетчика приведен на рис. 2.1, а его условно-графическое обозначение – на рис. 2.2. Для построения этого счетчика использованы JK-триггеры с динамической синхронизацией по спаду синхросигнала. Каждый JK-триггер в счетчике включен в режим инвертирования своего состояния при переключении синхросигнала с высокого уровня на низкий. Идеализированная временная диаграмма работы этого счетчика показана на рис. 2.3.

Рис. 2.1. Схема асинхронного трехразрядного счетчика

Рис. 2.2. Условно-графическое обозначение

трехразрядного суммирующего счетчика

Регистр хранения

Регистр – внутреннее запоминающее устройство процессора или внешнего устройства, предназначенное для временного хранения обрабатываемой или управляющей информации.

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

Набор этих операций, в зависимости от функционального назначения регистра, может включать в себя одновременную установку всех разрядов регистра в «0″, параллельную или последовательную загрузку регистра, сдвиг содержимого регистра влево или вправо на требуемое число разрядов, управляемую выдачу информации из регистра (обычно используется при работе нескольких схем на общую шину данных) и т.д.

Регистры хранения используются для приема, хранения и выдачи многоразрядого кода. Они представляют собой совокупность одноступенчатых триггеров (как правило, D-типа) с общим входом синхронизации. Иногда в регистре имеется также и общий вход асинхронной установки всех триггеров в «0″.

Схема четырехразрядного регистра хранения приведена на рис. 2.5, а его условно-графическое обозначение – на рис. 2.6.

Рис. 2.5. Структура четырехразрядного регистра хранения

с асинхронным входом установки в «0″

Рис. 2.6. Условно-графическое обозначение четырехразрядного

регистра хранения с асинхронным входом установки в «0″

Регистр сдвига

Регистр сдвига – регистр, обеспечивающий помимо хранения информации, сдвиг влево или вправо всех разрядов одновременно на одинаковое число позиций.

При этом выдвигаемые за пределы регистра разряды теряются, а в освобождающиеся разряды заносится информация, поступающая по отдельному внешнему входу регистра сдвига.

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

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

Регистры сдвига строятся на двухступенчатых триггерах.

Схема четырехразрядного регистра, выполняющего сдвиг на один разряд от разряда 0 к разряду 3, показана на рис. 2.7, а его условно-графическое обозначение – на рис. 2.8. Ввод информации в данный регистр – последовательный через внешний вход D0.

Регистр имеет вход асинхронной установки всех разрядов в «0″. Для наглядности каждый двухступечатый регистр представлен двумя одноступенчатыми с соответствующей организацией синхронизации первой и второй ступеней. Пунктиром обозначен реальный двухступенчатый триггер.

Рис. 2.7. Структура регистра сдвига

Рис. 2.8. Условно-графическое обозначение четырехразрядного регистра сдвига

с асинхронным входом установки в «0″

Работа регистра сдвига в каждом периоде сигнала синхронизации разбивается на две фазы: при высоком и при низком значении синхросигнала:

При высоком уровне синхросигнала проводится запись значения выхода (i – 1)-го разряда регистра в первую ступень i-го разряда. Вторая ступень каждого разряда сохраняет свое прежнее значение. В этой фазе состояние первой ступени i-го триггера повторяет состояние второй ступени (i – 1)-го триггера. Вторые ступени каждого триггера, а следовательно, и выходы регистра в целом, остаются неизменными.

При низком уровне синхросигнала значение, записанное в первой ступени каждого триггера, перезаписывается в его вторую ступень. Запись в первую ступень триггера запрещена. В этой фазе состояния первой и второй ступеней каждого триггера становятся одинаковыми.

Поступление сигнала R = 0 вне зависимости от значения сигнала на входе синхронизации С и сигнала на входе D0 устанавливает все разряды регистра в нулевое состояние.