Строительный блокнот  Развитие полупроводниковой электроники 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

дело с внешними устройствами. Не зря в начале этого раздела мы потратили много слов в подтверждение того, что внешним устройством может быть все, что угодно. Мы не можем потребовать, чтобы все, что угодно, имело в своем составе порт по той простой причине, что мы заранее не знаем, что представляет собой внешнее устройство. Вот и приходится выделять порты в виде самостоятельных СИС.

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

Но система, показанная на рис. 3.5, обладает существенной особенностью. Обмен данными между магистралью данных и любым из внешних устройств происходит лишь тогда, когда удовлетворяются три перечисленных ранее условия, т. е. когда между внешним устройством и шиной данных имеется полная совместимость. Конечно, так бывает далеко не всегда. В общем случае могут возникнуть следующие трудности:

1. Уровни электрических напряжений на входах и выходах внешнего устройства не соответствуют уровням электрических напряжений, принятым для шины данных.

2. Число двоичных символов (нулей и единиц) в словах, которыми оперируют внешние устройства, не совпадает с числом двоичных символов, передаваемых одновременно по магистрали данных.

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

4. Данные, которыми оперируют внешние устройства, записаны па другом языке (с другим алфавитом и другой грамматикой), чем язык, которым оперирует процессор.

Чтобы достичь полной универсальности (универсальность - это главнейший принцип микропроцессорной техники), нужно изыскать средства обеспечивать совместную работу процессора и внешних устройств во всех перечисленных случаях несовместимости, взятых вместе или по отдельности. Начнем по порядку. Самый простой случай - первый. Даже начинающему радиолюбителю известно, что преобразовать уровни электрических сигналов можно с помощью обычного усилителя. Годятся для этой цели и шинные усилители, поэтому вопрос о согласовании уровней сигналов не станем здесь обсуждать.

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



виде условного обозначения, показанного на рис. 3.6,а. Напоминаем, что речь идет о запоминающем элементе, способном хранить логическое значение символов (О или 1). Какие выводы имеет этот элемент? Один вход, подавая на который высокий уровень напряжения можно записать единицу, а подавая низкий уровень - нуль. Один выход, на котором действует высокое иапряжение, если из элемента считывается единица, и низкое напряжение, если из элемента считывается нуль. Наконец, два дополнительных входа, одни из которых разре шает запись в элемент, а второй - считывание из элемента.

вхос

S 1ЬГ X р 9/ 92

ff Ы

Выход

Z, ---- 2/V-/

Чтение В запись В

ЧщниеА

Запись А -о

Рис. 3.6. Условное обозначение запоминающего элемента (а) и схема сдвигового регистра (&

Обратимся К рис. 3.6,6. Здесь показан ряд подобных элементов, соединен ных таким образом, что вы.ход каждого предыдущего, расположенного левее, соединен со входом каждого последующего, расположенного правее. Кроме того, входы и выходы элементов с нечетными номерами выведены отдельно. Вы воды Запись и Чтение нечетных элементов объединены. То же самое сделано с выводами Запись и Чтение> элементов с четными номерами. Такач система получила название сдвигового регистра.

Как работает сдвиговый регистр? Предположим, на его входах действуе-иекая последовательность высоких и низких уровней напряжений, иными слова ми, некоторое двоичное слово. Подадим сигнал на вход Запись А . Тогда дей ствующее на входах двоичное слово перепишется в запоминающие элементы с нечетными номерами. Если теперь подать сигнал иа вход Чтение А , то же слово появится на выходе. В этом смысле работа схемы, показанной на рис 3.6,6, ничем не отличается от работы обычного регистра, рассмотренного в пре дыдущей главе.

Зачем нужны элементы с четными номерами? Пока что они вроде бы ни как не участвуют в работе схемы. Предположим теперь, что мы записали в регистр (т. е. в элементы с нечетными номерами) некоторое двоичное слово. Подадим сигнал одновременно иа входы Чтение А и Запись В . Ясно, что при этом произойдет. Содержимое элемента 1 перепишется в элемент 2, содержимое элемента 3 перепишется в элемент 4 и т. д. Иначе слово, которое до этого было записано в элементах с нечетными номерами, окажется переписанным без изменения в элементы с четными номерами.

Подадим сигнал одновременно на входы Чтение В и Запись А . Содержимое элемента 2 перепишется в элемент 3, содержимое элемента 4 перепишется в элемент 5 и т. д. Что же произойдет в результате этих манипуляций



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

Если теперь подать сигнал на вход Чтение А>, то логическое значение, которое ранее читалось на выходе 1, прочтется на выходе 2, логическое зна-ввиае, которое ранее читалось на выходе 2, прочтется иа выходе 3 и т. д. На выходе 1 прочтется нуль, потому что туда мы ничего ие записали, а логиче-вков значение, которое ранее читалось на выходе п, исчезнет. Такая операция вазывается операцией сдвига. Напомним, что в схеме, показанной на рис. 3.6,6, для выполнения операции сдвига необходимо подать два последовательных импульса. Первый - на входы Чтение А> и Запись В , а второй - на входы Чтение В и Запись А .

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

Случай 1. Длина слова в устройстве А меньше длины слова в устройстве В. Поетупаем так. Записываем слово из устройства А в первые К разрядов едвигового регистра (К -длина слова в устройстве А). Производим К операций сдвига, в результате чего первые К элементов сдвигового регистра освобождаются. Снова записываем слово из устройства А в первые К разрядов сдвигового регистра, снова выполняем К операций сдвига и т. д., пока ие заполнят-8я все N разрядов сдвигового регистра. Если при этом число N как раз равно длине слова в устройстве В, то теперь можно просто переписать сформированное слово из сдвигового регистра в устройство В. Что произойдет, если N некратно К? Может получиться так, что последнее слово из устройства А перепишется неполностью. Но это уже техническая деталь.

Случай 2. Длина слова в устройстве А больше длины слова в устройстве В. Берем сдвиговый регистр с N-fK элементами, где N--длина слова в устройстве А, а К - длина слова в устройстве В. Переписываем слово из устрой-етва А в первые N разрядов сдвигового регистра. Выполняем К операций сдвига и содержимое К последних элементов регистра переписываем в устройство В. Снова выполняем К операций сдвига и так до тех пор, пока сдвиговый регистр не очистится полностью. Теперь можно начинать все сначала, т. е. переписывать слово из устройства А в первые N разрядов сдвигового регистра. И снова все будет в порядке, за исключением небольшой и легко преодолимой трудности, возникающей, когда N некратно К. С по.мощью сдвигового регистра можно преодолеть также трудность, возникающую, когда длина слов, которыми оперируют внешние устройства, не совпадает с длиной слов, принятой для магистрали данных.

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

3-48 65



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37