20.7.3. СОКРАЩЕНИЕ ЕМКОСТИ ПАМЯТИ
Как видно из основной схемы на рис. 20.1, в последовательностную схему включена комбинационная схема с входами выходами. Здесь - число переменных состояния, число входных переменных, число выходных переменных у. При реализации комбинационной схемы с помощью ПЗУ получается следующая емкость памяти:
При этом существует возможность поставить в соответствие каждой комбинации переменных состояния и входных переменных определенный выходной вектор На практике, однако, значения большинства выходных переменных полностью определяются переменными состояния и лишь некоторые зависят от части входных переменных.
На этом основании предлагается разделить ПЗУ на две части, как на рис. 20.42. Первая часть - это программное ПЗУ. Оно
Рис. 20.42 Реализация памяти путем разделения большого ПЗУ на две части.
содержит лишь последовательность состояний системы. Выходные состояния образуются в «ПЗУ выдачи» из переменных состояния и некоторых входных переменных. Поэтому 12, как правило, мало по сравнению с Возможны также случаи, когда входные переменные оказывают влияние только на декодирование выходных кодов, а не на последовательность состояний. Такие входные переменные при разделении ПЗУ в соответствии с рис. 20.42 могут быть соединены непосредственно лишь с «ПЗУ выдачи». Поэтому может быть также
Так как оба ПЗУ соединяются только с теми входными переменными, которые необходимы для осуществления операции или, вернее, управления выводом данных, то получается значительное уменьшение требуемой емкости памяти. Наименее благоприятный случай - это когда для обоих ПЗУ требуются все I входных переменных. Тогда необходимая суммарная информационная емкость памяти обоих ПЗУ равна емкости одного ПЗУ на структурной схеме рис. 20.1.
Следовательно, экономия в информационной емкости памяти не достигается.
Однако в этом случае в соответствии с рис. 20.42 разделение на два ПЗУ выгодно: при этом система легче может удовлетворять различным требованиям. Существует множество случаев, когда последовательности состояний идентичны и различаются только команды выдачи. Тогда заменяется только «ПЗУ выдачи», а «программное ПЗУ» остается неизменным.
Входной мультиплексор
На практике для сокращения емкости памяти можно использовать еще другую особенность последовательностных схем: часто число входных переменных I существенно превышает число переменных в адресе ПЗУ. С другой стороны, декодируется только относительно малая часть из возможных комбинаций 2. Поэтому в качестве адресов можно использовать не все входные переменные, а выделять в каждом состоянии с помощью мультиплексора лишь нужные переменные. Этот способ иллюстрируется блок-схемой (рис. 20.43).
Кроме переменных состояния к выходам ПЗУ подключаются еще только выходные сигналы х мультиплексора. Управление мультиплексором осуществляется с помощью двоичного числа образуемого на нескольких дополнительных выходах ПЗУ. Выбранные для этого входные переменные обозначаются через
Если при изменении состояния должно быть опрошено несколько переменных, то необходимо производить перебор всех переменных последовательно, так как может быть выбрана только одна переменная. Для этого разбивают данное состояние на несколько подсостояний, для которых выбирается лишь одна переменная. В результате большое число состояний системы может быть представлено с помощью нескольких дополнительных переменных состояния. Дополнительные аппаратурные затраты все же малы по сравнению с экономией памяти, получаемой при мультиплексированном опросе входных переменных.
Проиллюстрируем это на типичном примере. Пусть необходимо спроектировать последовательностное устройство, диаграмма состояний которого приведена на рис. 20.44. Оно имеет четыре состояния и шесть входных переменных. Для
Рис. 20.43. Уменьшение емкости памяти с помощью входного мультиплексора.
Рис. 20.44. Пример диаграммы состояний.
реализации в соответствии с основной блок-схемой на рис. 20.1 необходимо ПЗУ с 8 входами. Его информационная емкость составляет 28-256 слов. Предположим, что необходимы две выходные переменные. Принимая во внимание обе переменные состояния, получаем, что длина слова составляет 4 бит, а общая информационная емкость памяти равна 1024 бит.
Теперь рассмотрим реализацию с помощью входного мультиплексора. Прежде всего разобьем состояния на три подсостояния, для которых опрашивается только одна из обозначенных на рис. 20.44 входных переменных. В результате получаем модифицированную диаграмму состояний, представленную на рис. 20.45, из которой следует, что теперь имеется уже восемь состояний, которые обозначим как Как легко проверить, переход из макросостояния А в макросостояние В происходит тогда, когда и в соответствии с первоначальной диаграммой состояний на рис. 20.45.
Таблица 20.7 (см. скан) Таблица состояний
Рис. 20.45. Модифицированная диаграмма состояний с единственным запросом для каждого состояния.
Для представления восьми состояний требуются три переменные состояния. ПЗУ, согласно рис. 20.43, должно иметь кроме трех выходов для управления 8-вхо-довым мультиплексором еще и два у-входа.
Отсюда определяем необходимую длину
Таблица 20.8 (см. скан) Таблица программировании ППЗУ