Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Справочные таблицы

Узнав об устройствах цифровой памяти в предыдущей главе, мы знаем, что можно хранить двоичные данные в твердотельных устройствах. К этим «ячейкам» памяти в устройствах твердотельной памяти легко обращаться, вводя в «адресные» строки устройства правильные двоичные значения.

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

Рассмотрим следующий пример ПЗУ 4 x 2 бит (очень маленький объем памяти!), Запрограммированный с функциями полусумматора:

Если это ПЗУ было записано с указанными выше данными (представляющими таблицу истинности полусумматора), управление входами адресов A и B приведет к включению соответствующих ячеек памяти в микросхеме ПЗУ, таким образом, соответствующие данные будут выведены в виде Σ ( Sum) и C out биты. В отличие от схемы полусумматора, состоящей из вентилей или реле, это устройство может быть настроено для выполнения любой логической функции с двумя входами и двумя выходами, а не только функцией полусумматора.

Чтобы изменить логическую функцию, все, что нам нужно сделать, это записать другую таблицу данных в другую микросхему ПЗУ. Мы могли бы даже использовать микросхему EPROM, которую можно было бы по желанию переписать, что дало бы максимальную гибкость в работе.

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

Это мало чем отличается от «таблицы умножения», запоминаемой в начальной школе:вместо того, чтобы вычислять произведение 5 умножить на 6 (5 + 5 + 5 + 5 + 5 + 5 =30), школьников учат запоминать что 5 x 6 =30, а затем ожидается, что он будет вызывать этот продукт из памяти по мере необходимости. Точно так же, а не логическая функция, зависящая от функционального устройства фиксированных вентилей или реле (аппаратных средств), она зависит исключительно от данных, записанных в память (программное обеспечение).

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

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

Полезность справочной таблицы становится все более очевидной с увеличением сложности функции. Предположим, мы хотим построить 4-битную схему сумматора с использованием ПЗУ. Нам потребуется ПЗУ с 8 адресными строками (два 4-битных числа, которые нужно сложить вместе), плюс 4 строки данных (для подписанного вывода):

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

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

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

Например, если мы попытаемся прибавить 0111 (десятичное число 7) к 0110 (десятичное число 6) только с 4-битным числовым полем, мы получим ответ 1001 (десятичный -7) вместо правильного значения 13 (7 + 6), что не может быть выражено с помощью 4 битов со знаком. Если бы мы хотели, мы могли бы избежать странных ответов, данных в условиях переполнения, запрограммировав эту схему справочной таблицы для вывода чего-то еще в условиях, когда, как мы знаем, произойдет переполнение (то есть в любом случае, когда реальная сумма превысит +7 или -8).

Альтернативой может быть программирование ПЗУ для вывода количества 0111 (максимальное положительное значение, которое может быть представлено 4 битами со знаком) или любого другого значения, которое мы сочли более подходящим для приложения, чем типичное значение переполнения «ошибки». что будет выводить обычная схема сумматора. Все зависит от программиста, чтобы решить, что он или она хочет, чтобы эта схема делала, потому что мы больше не ограничены ограничениями функций логических вентилей.

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

С двумя дополнительными адресными строками микросхема ПЗУ будет иметь в 4 раза больше адресов, чем раньше (1024 вместо 256). Это ПЗУ можно было запрограммировать так, чтобы, когда оба A8 и A9 были на низком уровне, выходные данные представляли сумму двух 4-битных двоичных чисел, вводимых в адресные строки с A0 по A7, как и в предыдущей схеме ПЗУ 256 x 4.

Для адресов A8 =1 и A9 =0 можно запрограммировать вывод разницы (вычитание) между первым 4-битным двоичным числом (от A0 до A3) и вторым двоичным числом (от A4 до A7). Для адресов A8 =0 и A9 =1 мы могли бы запрограммировать ПЗУ на вывод разности (вычитания) двух чисел в обратном порядке (второе - первое, а не первое - второе), и, наконец, для адресов A8 =1. и A9 =1, ПЗУ можно запрограммировать для сравнения двух входов и вывода индикации равенства или неравенства.

Тогда у нас будет устройство, которое может выполнять четыре различных арифметических действия с 4-битными двоичными числами, «просматривая» запрограммированные в нем ответы.

Если бы мы использовали микросхему ПЗУ с более чем двумя дополнительными адресными линиями, мы могли бы запрограммировать ее с более широким набором функций для выполнения на двух 4-битных входах. Есть ряд операций, характерных для двоичных данных (таких как проверка четности или исключающее ИЛИ битов), которые мы могли бы найти полезным запрограммировать в такой справочной таблице.

Подобные устройства, которые могут выполнять различные арифметические задачи в зависимости от входного двоичного кода, известны как арифметические логические единицы . (ALU), и они составляют один из важнейших компонентов компьютерных технологий. Хотя современные ALU чаще строятся из очень сложных схем комбинационной логики (вентилей) по соображениям скорости, должно быть утешительно знать, что точно такие же функциональные возможности могут быть дублированы с помощью «тупой» микросхемы ПЗУ, запрограммированной с соответствующей справочной таблицей. (s).

Фактически, именно этот подход использовался инженерами IBM в 1959 году при разработке компьютеров IBM 1401 и 1620, в которых для выполнения сложения использовались справочные таблицы, а не схемы двоичного сумматора. Машину ласково называли «КАДЕТ», что расшифровывалось как « C и не A дд, Д нет E ven T ry. »

Очень распространенное приложение для ПЗУ справочной таблицы - в системах управления, где должна быть представлена ​​пользовательская математическая функция. Такое применение находят в системах впрыска топлива с компьютерным управлением для автомобильных двигателей, где надлежащее соотношение воздух / топливо в смеси для эффективной и чистой работы изменяется в зависимости от нескольких переменных окружающей среды и эксплуатации.

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

Иногда ПЗУ используются для обеспечения функций одномерной справочной таблицы для «корректировки» оцифрованных значений сигналов, чтобы они более точно отражали их реальную значимость. Примером такого устройства является преобразователь термопары . , который измеряет сигнал милливольт, генерируемый соединением разнородных металлов, и выдает сигнал, который должен напрямую соответствуют температуре перехода.

К сожалению, спаи термопар не имеют идеально линейных характеристик температуры / напряжения, поэтому исходный сигнал напряжения не полностью пропорционален температуре. Путем оцифровки сигнала напряжения (аналого-цифровое преобразование) и отправки этого цифрового значения на адрес ПЗУ, запрограммированного с необходимыми значениями коррекции, программирование ПЗУ могло бы устранить некоторую нелинейность зависимости температуры термопары от милливольтного напряжения, так что окончательный результат устройства будет более точным.

Популярный инструментальный термин для такой справочной таблицы - цифровой характеристика .

Еще одно приложение для справочных таблиц - это специальный перевод кода. Например, ПЗУ 128 x 8 можно использовать для преобразования 7-битного кода ASCII в 8-битный код EBCDIC:

Опять же, все, что требуется, - это правильно запрограммировать микросхему ПЗУ с необходимыми данными, чтобы каждый действительный ввод ASCII давал соответствующий выходной код EBCDIC.

СВЯЗАННЫЙ РАБОЧИЙ ЛИСТ:


Промышленные технологии

  1. Термины и концепции цифровой памяти
  2. Постоянная память (ПЗУ)
  3. Микропроцессоры
  4. C Динамическое выделение памяти
  5. Cervoz обновляет память DDR4-2666 следующего поколения
  6. ИИ может использовать магнетизм для достижения эффективности, подобной человеческой
  7. C - Управление памятью
  8. Динамическая память С++
  9. Java 10 — выделение кучи
  10. Лестничная логика 202:Организация памяти