Рис. 2.25. Формирование временных диаграмм
Рассмотренные схемы осуществляли прямой счет. Если в качестве выходов использовать инверсные (Q¯), то счет будет осуществляться в обратном направлении (обратный счет). Того же результата можно достичь, если в качестве элемента памяти использовать триггеры, переключающиеся по нарастающему фронту, такие как сдвоенный триггер 74LS74.
С помощью простой логической схемы можно легко объединить эти две функции и реализовать программируемый реверсивный счетчик. Еще можно добавить логику для параллельной загрузки триггеров любым значением, с последующим счетом от этого значения в заданном направлении. Такие структуры называются счетными регистрами с параллельной загрузкой.
Наряду с наиболее очевидным использованием счетного регистра для накопления числа событий, например, таких как количество консервных банок, прошедших через конвейер, существуют и другие варианты его использования. Одним из таких применений является разнесение во времени некоторых операций. На Рис. 2.25 счетчик по модулю 4 используется для управления одной из секций дешифратора 2 на 4 в микросхеме 74LS139 (Рис. 2.5, а). Этот дешифратор детектирует 4 состояния счетчика и формирует четыре сигнала, сдвинутых во времени друг относительно друга, которые могут использоваться, скажем, для задания последовательности операций, выполняемых управляющей логикой компьютера. Для адресации дешифратора используется инверсный выход триггеров. Это сделано специально, поскольку в противном случае по нарастающему фронту тактового сигнала осуществлялся бы обратный счет. Счетчики с большей разрядностью могут использоваться для формирования более сложных последовательностей управляющих операций.
Термин «регистр», как правило, используется применительно к элементу оперативной памяти, который может хранить одно двоичное слово, обычно разрядностью от 4 до 64 бит. Память большего объема можно реализовать, группируя n таких регистров и выбирая один из них. Подобная структура обычно называется регистровым файлом. Например, микросхема 74LS670[40] представляет собой регистровый файл 4 х 4 с раздельными входом и выходом 4-битных данных, а также отдельными входами 2-битного адреса для операций чтения и записи. Это означает, что любой регистр этого файла может быть считан в любой момент времени независимо от одновременно осуществляемой записи.
Память бóльших объемов называется оперативной памятью произвольного доступа или сокращенно ОЗУ. Словосочетание «произвольный доступ» означает, что для выбора любого слова памяти требуется одно и тоже время, не зависящее от расположения этого слова в матрице[41]. Этим ОЗУ отличается от памяти на магнитной ленте, в которой бобина должна прокрутиться до требуемого сектора. А если этот сектор находится в конце ленты…
Для примера на Рис. 2.26 показана микросхема ОЗУ 6264[42]. Она содержит матрицу из 65 536 (216) бистабильных ячеек, организованных в виде матрицы из 8192 (213) 8-битных слов. Слово n выбирается при подаче на линии адреса А0…А12 двоичного числа n.
В режиме чтения (R/W¯= 1) на выходы I/O7…I/O0 выдается n-е слово данных, определяемое n-й комбинацией битов адреса. Символ «А» в обозначении входов/выходов (как и на Рис. 2.12) указывает на эту взаимосвязь. Для включения выходных буферов с тремя состояниями на входе должен быть НИЗКИЙ уровень.
Адресованное слово записывается в память при R/W¯ = 0. Байт данных, который должен быть записан в n-ю ячейку, подается на входы I/O7…I/O0. Такая двунаправленная передача данных является отличительной особенностью компьютерных шин.
В обоих случаях микросхема ОЗУ должна быть выбрана подачей лог. 0 на вывод и лог. 1 — на вывод CS2. В зависимости от версии микросхемы интервал между подачей сигналов выборки и началом обращений к ней составляет от 100 до 150 нc. Если напряжение питания не пропадает, время хранения данных не ограничено. По этой причине микросхема 6264 называется статическим ОЗУ (SRAM). Вместо того чтобы использовать для хранения одного бита пару транзисторов, данные можно хранить в виде заряда емкости затвор-исток одного полевого транзистора. Время рассасывания подобного заряда составляет несколько миллисекунд, поэтому заряд необходимо периодически обновлять. Такая динамическая память (DRAM) дешевле в изготовлении, и микросхемы данного типа имеют большую емкость. Обычно память подобного типа используется там, где требуется очень большой объем памяти, например в персональных компьютерах. В этом случае стоимость схемы регенерации компенсируется дешевизной микросхем памяти.
41
Строго говоря, ПЗУ тоже следует называть памятью с произвольным доступом, однако по традиции этот термин используется только для ОЗУ.