![]() |
![]() |
Разделы
Публикации
Популярные
Новые
|
Главная » Сопряжение цифровых, аналоговых сигналов 1 ... 13 14 15 16 17 18 19 ... 59 Мит-ЭВМ же адресных ключей, через буфернгую схему с тремя состояниями 74LS365. Такая организадия является значительно олее гибкой по сравнеяшо со схемами, имаощйми жесткую распайку адреса прерывания и Использующими дешифраторы {рис. 10.5). Рассмотренная интерфейсная схема представляет собой простой Пример уплотнения данных, процесс, при котором несколько чисел размещаются в одном машинном слове. Если каждое число состоит из одного бита, то в 16-разрядвом машинном слове можно разместить 16 таких чисел. Это не так странно, как может показаться; точно то же самое делается для обеспечения максимальной пропускной способности канала ввода/вывода при периодическом прямоугольном сигнале. Конечно, в тех случаях, когда скорость передачи не играет большой роли, проще всего обеспечить ввод данных при минимальных аппаратурных затратах, выполняя уплотнение и преобразование данных программным путем. В рассмотренном примере шэжно было бы запоминать в интерфейсном блоке и передавать в машину каждый раз только одну цифру, разумеется, при условии, что задержка в ЭВМ достаточно мала и не будет приводить к потере информации. Преобразование числовых форматов. В предыдущем примере два слова, которые вводились в машину, не были представлены во внутреннем формате ЭВМ: фактически в каждом слове размшцались четыре цифры, выраженные в двоично-десятичном коде. Для того чтобы можно было производить над ними вычисления, их нужно преобразовать Цблог Иел^ ДВОЙНОЙ ТОЧНОСТИ Формат с ппаваищей ьшш пт) Фермат t мшащей запятой т) Пор?дои (ст. раз.р.1 Мантисса (кгп.разр. ) Порядок, Мант+!сся (ст. разр) Рис. 10.10. Способы представления чисел в мшялш. В целые числа или в числа с плаваюшгей запятой. Давайте рассмотрим формы представления чисел (числовые 4юрматы), которые обычно применяются в вычислительных машинах (рис. 10,10). Вкратце мы о них уже упоминали в начале гл. 8. Биты информации на рис. 10.10 сгруппированы в 16-разрядные слова, которые наиболее распространены в мини-ЭВМ. В машинах, использующих скажем, 8-разрядные слова, для записи каждого числа потребуется в два раза больше машинных слов. Целые числа представляются 16-разрядными группами в дополнительном коде, при этом старший разряд определяет знак. В форме 16-разрядных целых чисел могут бьггь представлены величины от -32 768 до +32 767. Для представления больших величин иногда употребляются целые двойной точности (32 разряда), имеющие дополнительно 16 разрядов. (Для машин, использующих 32-разрядные слова, такой формат является стандартным.) С помощью 32 разрядов можно представлять целые величины в диапазоне -2,15x10®. Среди различных способов представления чисел с плавающей запятой наиболее распространенным является 32-разрядное, при котором 1 бит используется под знак, 7 - под порядок и 24 - под мантиссу. При такой форме представления порядок указывает, в какую степень нужно возвести число 16 для того, чтобы получить коэффициент, на который будет умножаться мантисса. Порядок выражается в смещенном коде таким образом, что нулевому показателю степени в поле порядка соответствует число I ООО ОООа и, следовательно, порядок может меняться от -64 до +63. В таком формате могут быть представлены числа с любым знаком в диапазоне от 5,4х 10~® до 7,2 X10?. Поскольку поле порядка определяет степень числа 16 (а не 2), мантисса может содержать вначале до трех незначащих нулей, т. е. в нормализованной мантиссе старшая шестнадцатеричная цифра всегда ненулевая. Упражнение 10.1. Для того чтобы понять смысл последнего утверждения, запишите 3 формате с плавающей запятой число 1,0. Теперь запишите следуюш,ее меньшее число, которое может быть представлено в этом же формате. Упражнение 10.2. Покажите, что диапазон чисел, которые могут быть представлены в формате с плавающей запятой, действительно соответствует указанному. Подсказка; мантисса должна быть нормализована . Существует еще один распространенный формат представления чисел с плавающей запятой, также использующий 32-разрядные слова. Он применяется в PDP-ll и других машинах фирмы DEC. В этом формате под знак отводится 1 бит, но под порядок - 8, а под мантиссу - 23. Порядок также выражается в смещенном коде, но на этот раз определяет степень числа 2. В такой форме могут быть представлены числа с любым знаком от 2,9X10 * до 1,7x10*. Интересной особенностью данного способа является скрытый разряд точности: нормализованная мантисса всегда имеет ненулевой старший разряд и, следовательно, при воспроизведении его в слове он будет избыточным. Таким образом, старшим разрядом мантиссы фактически является второй по старшинству бит, записанный в поле мантиссы. Такое представление чисел с плавающей запятой позволяет, за счет ухудшения динамического диапазона, повысить точность по сравнению с более распространенной формой представления по степени числа 16. В любом случае можно обеспечить двойную точность, прибавляя к мантиссе дополнительные 32 разряда без изменения полей знака и порядка. Упражнение 10.3. Покажите, что диапазон чисел, представляемых в формате с плавающей запятой, будет именно таким, как было указано. Смотрите подсказку к упражнению 10.2. В зависимости от типа входной информации, количества цифр, диапазона их изменений и т. п. может оказаться предпочтительней преобразовать их в формат с плавающей запятой (больший динамический диапазон) либо представить в виде целых (большая разрешающая способность) или же подвергнуть какой-либо другой цифровой обработке (например, брать отклонение от среднего значения). Это обычно выполняет драйвер данного устройства - подпрограмма, которая фактически управляет вводом данных. В этом смысле нельзя построить оптимальные программные средства, не зная, что из себя представляют данные, и не понимая принципа действия аппаратной части интерфейса. Вот еще одна причина для того, чтобы познакомиться с удивительным миром электронных схем. дополнительные упражнения (1) Постройте интерфейсную схему, которая по сигналу ВЫВОД будет загружать 16-разрядный счетчик с параллельным занесением (например, 4 ИМС типа 74LS193), а по сигналу ВВОД - пересылать его содержимое обратно в процессор. Счетчик тактируется внешними импульсами с уровнями ТТЛ. Адресный код устройства задавайте с помощью интегральных ключей. Эта простая схема может применятся в качестве многоканального сканирующего устройства. В начале каждого интервала времени машина программно заносит в счетчик содержимое одной из последовательных ячеек памяти, а в конце интервала считывает содержимое счетчика и переходит к следующей ячейке. Таким способом можно построить гистограмму зависимости числа поступивших импульсов от времени, повторяющиеся сигналы могут быть усреднены путем повторения всего процесса синхронно с периодом сигнала (см. разд. 14,13). (2) Алгоритм, известный под названием быстрого преобразования Фурье (БПФ) Кули - Такея, позволяет значительно сократить время вычисления дискретного преобразования Фурге для совокупности чисел и часто используется при отыскании пе-риодичностей в данных, полученных в результате научных экспериментов. С помощью этого алгоритма преобразование Фурье выполняется на месте , т. е. массив данных заменяется соответствующим массивом частотных компонент. Однако здесь есть одна особенность: частоты располагаются не по порядку, они все перемешаны и содержимое каждой ячейки памяти X нужно перекачать в ту же ячейку X, т. е. считать двоичное содержимое X в обратном направлении (например, СЗР^МЗР и т. п.). Для того чтобы ускорить этот процесс (обратное чтение чисел в машине не такая уж простая операция), постройте для 8-разрядной ЭВМ периферийное устройство, которое будет производить реверс 8-разрядных чисел, полученных от ЦП. Периферийное устройство должно иметь адресный код 13 и производить ввод/вывод только под управлением программы. Задача эта решается довольно просто. (3) Постройте аппаратный блок для программируемого 16-разрядного АЦП с поразрядным уравновешиванием. По команде OUT ЭВМ вводит в это устройство пробное число 16-разрядное (первое приближение), а затем по команде IN считывает из него бит, который указывает, превысило или не превысило это число преобразуемый аналоговый уровень. На основе результатов предыдущих испытаний ЭВМ вырабатывает программным путем последовательность пробных чисел (см. следую1 ее упражнение). Некоторые детали: используйте код устройства ОЭ. По сигналу ВЫВОД должен запускаться одновибратор, длительность выходного импульса которого равна времени преобразования АЦП. По окончании этого импульса должен устанавливаться флажок состояния, сообщающий о том, что машина готова считать выход компаратора, В качестве бита состояния используйте СЗР регистра состояний, а выход компаратора помещайте в 7-й разряд (СЗР младшего байта), 1 должна означать, что выход АЦП превышает значение входного аналогового уровня. (4) Упражнение для любителя. Составьте программу управления АЦП для машины МС-16. (5) Пос1роите программ1фуемый таймер. Он должен вырабатывать залросы ца вре-рывание и формировать бит состояния через каждые п милнсекунд, где п задается 8-разрядным двоичным числом, которое передается в периферийное устройство по команде OUT. Можно запрограммировать временные интервалы от 1 до 255 мс. <в) Снабдите тар программируемой схемой масшт^З^ования. Она будет задавать степень числа Ш, опред^яющуку к<№фциеш, иа коюрый дшкоо ушожаться инимальиое значение периода. С помшцло двух дополнительных разрядов можно задавать порядок , который позволит умножать программируемый период на коэффициенты I, 10, 100 или 1000, (7> Постройте периферийное устройство с последователыимм выходом в жоде ASCII. Оно должно принимать иэ ЦП &-разрадиыЙ символ, используя иаод/вывод под управ--леиием программы, а затем передавать его вовне с помои^ью УАПП. Периферийное устройство должно иметь два бита состояния, один из которых (ЗАНЯТО) сообщает о том, что устройство находится в состоянии передачи символа, а второй (ВЫПОЛНЕНО) - о том, что передача символа закончена. Сигнал ВЫПОЛНЕНО должен также Инициировать прерывание. Считайте, чю УАПП шеет параллельный 8-разрядный информационный вход, стробирующий вход, флажок БУФЕР ЗАПОЛНЕН (устанавливается, когда устройсгво производит передачу вовне) и тактовый вход. Это показано на рис, 10.U* Шина МС-Т6 Интерфейсный блок 5 о -о *-CD tr- Ш 5 о> страд &¥ФЕ? ДЛЬНЫЕ штш выход VAnn Рис. 10. п. (8) Составьте подпрограмму (WRL - запясать строку write а line) для управления периферийным устройством из предыдущего упражнения. Эта подпрограмма должна считывать из АК адрес первого передаваемого символа, выводить группу символов из последовательных 8-разрядных ячеек памяти и возврацатьса к вызывающей программе после обнаружения и распечатки символа возврата каретки (к которому программа добавляет символ перевод строки ). (9) В машине можно создать стек, который не будет исподьзовать специальных стековых Команд. В частности, если выбрать для хранения указателя стека определенную ячейку памяти (назовем ее POINT) и первоначалыю заагруажгь в вее первый адрео области памяти, зарезфвироваиной под стек (фактически тог же адрес минус единица), то с помощью двух команд МС-16 ISZ POINT STA @РОШТ содержимое аккумулятора будет занесено в стек, а пара команд LDA ©POINT DSZ POINT отправит предыдущее число из стека в аккумулятор а) Объясните, как работают эти команды и каким образом стек может использоваться Для хранения адреса возврата и переменных во время вызова подпрограммы, без их повторного ввода, б) Объясните почему команды в каждой паре должны следовать именно в указанной последовательности, чтобы стек правильно работал во время прерывания, в) Что произойдет, если выборка из стека будет производиться большее число раз, чем его загрузка? Глава И МИКРОПРОЦЕССОРЫ Из имеющихся на сегодняшний день типов интегральных схем микропроцессор - наиболее совершенный. Это целая ЭВМ, выполненная на одном чипе. В гл. 10 мы показали, что микропроцессоры являются полноценными центральными процессорами (ЦП) ЭВМ, включая арифметическое устройство, несколько регистров, устройство магазинной памяти, размещенную на чипе память (как ПЗУ, так и ЗУПВ) * и аналоговое устройство ввода/вывода (В/В). Конечно, не всякий микропроцессор содержит память и В/В, поскольку некоторые из них приспособлены для вычислений с максимальной скоростью и изяществом, в то время как другие сконструированы специально для простых приложений, когда желательно иметь минимум вспомогательных чипов . Самые дешевые микропроцессорные чипы при массовом производстве обходятся всего в 2 долл., а существенную вычислительную мощность можно получить менее чем за 10 долл. Термины микропроцессор и микро-ЭВМ мы будем в дальнейшем применять так, как они были определены в гл. 10. Микропроцессор - это сам по себе чип ЦП, тогда как микро-ЭВМ - это построенная вокруг микропроцессора вычислительная система, обычно включающая внешнюю память (диски), терминалы, печатающие устройства и т. д. Большая часть понятий, связанных с интерфейсом и программированием, введенных в гл. 10 применительно к мини-ЭВМ, непосредственно приложима и к микропроцессорам, поэтому для чтения этой главы требуется знакомство с содержанием гл. 10. Нам не понадобится много говорить о микро-ЭВМ, поскольку в большинстве случаев они сходны с мини-ЭВМ. Однако микропроцессоры можно использовать как части различного оборудования. Основанные на микропроцессорах приборы обычно имеют более высокие показатели при меньшей стоимости и меньшей конструктивной сложности по сравнению с аналогичными приборами, использующими отдельные логические чипы. Поэтому ни один компетентный инженер не может позволить себе игнорировать эти многообразные устройства. Если сказанного мало, чтобы побудить вас их изучать, можно добавить, что микропроцессоры занимательны, и вокруг них возникло новое массовое увлечение вместе с полудюжиной любительских журналов. 1> Напоминаем: ПЗУ - постоянное ЗУ, ЗУПВ - запоминающее устройство о произвольной выборкой.- Прим. перев, Поскольку микропроцессоры могут специально предназначаться для использования в качестве составных частей оборудования, его конструктору приходится играть все возрастающую роль в проектировании и программировании мини-ЭВМ. В частности, конструирование с применением микропроцессоров включает такие задачи, как выбор типа памяти (ЗУПВ, электрически программируемое ПЗУ, гибкий диск) и способа его размещения в пространстве памяти , решение вопроса о форме и структуре устройства ввода/вывода (в том числе выбор в качестве элементов для построения В/В либо обычных СИС, знакомых нам по гл. 8 и 9, либо вспомогательных БИС частного применения), а также составление и отладку необходимых программ в контексте контролируемого микропроцессором оборудования. В общем конструктору такого оборудования для успешной работы необходимо в совершенстве владеть как техникой программирования на машинных языках, так и навыками конструирования аппаратуры. Эту главу мы начнем с подробного рассмотрения одного определенного микропроцессора (Intel 8085). Этот процессор удобен для применения в аппаратуре ввиду простоты предъявляемых им требований к питанию и синхронизации (одно напряжение +5 В и один внешний кристалл, необходимый для работы размещенного на самом чипе генератора) и хорошо приспособленной для различных применений системы команд. Сначала будут рассмотрены внутренние операции и система команд этого микропроцессора. Затем мы поговорим о программировании и приведем один простой пример его применения: многоканальный счетчик, использующий кроме микропроцессора с его памятью только стандартные элементы ТТЛ. Ни одна микропроцессорная система не может быть полной без соответствующего математического обеспечения, и потому мы опишем необходимое для данного примера программирование. Полностью изучив этот конкретный пример, мы перейдем к рассмотрению важных для приложений микропроцессоров компонент: вспомогательных чипов СИС и БИС и разных форм памяти. Применение этих чипов будет проиллюстрировано на примере схемы микропроцессора универсального назначения, который может быть запрограммирован для решения различных задач. Далее в этой главе будут рассмотрены синхронизация, шины данных и другие широко распространенные микропроцессоры. В заключение мы попытаемся охватить взглядом всю технику разработки микропроцессорных систем - системы разработки, платы программирования и ЭхМуляторы. ПОДРОБНОЕ ОПИСАНИЕ /МИКРОПРОЦЕССОРА 8085 11.1. Архитектура Изобилие различных типов микропроцессоров может создать для конструктора настоящую проблему. Несовместимость как устройства (линии cвязи протокол интерфейсэ и т. д.), так и систем команд 6 № 62 отдельных микропроцессорных чипов - правило в мире микропроцессоров, как и в мире мини-ЭВМ и больших ЭВМ. Вместо того чтобы пытаться выбрать наилучший для данной работы микропроцессор, разумнее, по-видимому, остановиться на микропроцессоре достаточно хорошем, а затем построить для него систему разработки и как следует ее освоить. Правильность такого подхода становится особенно очевидной, если учесть, что при конструировании с применением микропроцессоров затраты труда и средств на разработку математического обеспечения часто превышают затраты на разработку самой аппаратуры. В этой главе мы сосредоточим внимание на широко известном микропроцессоре Intel 6065, который является улучшенным вариантом некогда знаменитого микропроцессора 8080. Он имеет такую же систему коиаяж, но имеет ряд аппаратурных усовершенствований, упрощающих его применение в конкретных устройствах. Например, для работы микропроцессора 8080 требуются три напряжения нитания и два поступающих извне тактовых сигнала с уровнем 12 В и точно выдержанной защ>жкой между ними. Возникающие в связи с этим неудобства часто заводили работавших с микропроцессором 8080 конструкторов в такие ловушки, как пресловутая проблема тактов , которая сопутствовала MITS и Alt air 8800 (первоначально выпускавшаяся любительская мини-ЭВМ) и возникала в тех случаях, когда жесткие требования, предъявляемые двумя тактовыми входами микропроцессора, не удовлетворялись достаточно строго. Несколько компаний рекламировали в любительских журналах специальные наборы, предназначенные для решения проблемы тактов . В те времена мы были рады всему, что действовало. Однако конструкторы наших дней требуют (и добиваются) несравненно большей простоты применения микропроцессоров. Хотя более современные микропроцессоры уже оставили позади микропроцессор 8085, он вполне пригоден для решения болыиннства задач и остается популярным из-за своей низкой цены и широко распространенного знакомства пользователей с системой команд оригинального микропроцессора 8080. Структурная схема макропроцессора 8085. На рис. 11,1 показана структурная схема ЦП 6085, Обратите внимание на то, как ЦП организован во*фуг своей внутренней шины данных, с которой соединены накопитель, арифметико-логическое устройство, регистр кода операции и содержащий 8-битовые и 16-битовые регистры массив регистров. Из 8-битовых регистров можно составлять 16-битовые пары регистров, и существуют команды, предназначенные для действий с регистрами и с парами регистров. Хотя ЦП 8085 - это в основном 8-битовая (байтовая) ЭВМ, 16-битовые регистры нужны для адресации памяти. С 8 бит вы можете адресовать всего 256 ячеек, в то время как с 16 бит - уже 65536. Микропроцессор содержит устройство управления и синхронизации, которое дирижирует ддшт1ием сигналов по внутренней шине данных и по внешним линиям управ- лодтверкдение прерывания Запрос грерываиия RST6 5 Запрет RST5,5 RST7,5 Управление прерываниями ПоследоватЕПьньт еаод данных Паследова-гельный вывод данных Управление последовательным вводом/выводом 8-битовая внутренняя шина даннык Накопитель (8)
-к ![]() Регистр кода операами (8) Дешифратор кода опера ции и формирователь машинных цинлов Источник Г-яитанкя I- 456 - Земпя 1к VcTpoHCTBO \/пра&пения и синхронизации^ Прямой Тактовый VnpaB- доступ в Сорос генератор ление Состояние память ,-.- Выходе таитовых импульсов Запись лдреснь1№ Готовность кпгач открыт S[)S,io/mJ Подтвержде-ние зашта Выход сброса Вход сбрось
Адресный йуфер (Й) XT Лдресная шинз вуфер адресов j данных (8) Шина адресов/ данных ADj-Mi Рис 11 1 Структурная схема 8-бйтового микропроцессора 8085. (С разрешения корпорации Intel, автор-ское право 1978.) 164 Глава И -- --а ления в соответствии с выходными сигналами дешифратора кода операций. Запомните, что внутренняя шина данных микропроцессора относится к его внутренней компетенции; связь с микропроцессором поддерживается исключительно через специальные внешние линии связи (шина данных, адресная шина и т. д.), и вам никогда не придется обращаться к ней непосредственно. Чтобы помочь вам ориентироваться в схеме, сразу укажем, что накопитель - это место, в котором производится большинство арифметических (сложение, вычитание, дополнение и т. д.) и логических (И, ИЛИ, сравнение и т. д.) операций. Пара регистров HL играет особую роль-она является указателем для памяти; ячейка памяти, адрес которой находится в данный момент в паре HL, служит регистром при выполнении большинства арифметических операций. Вообще говоря, пары регистров используются для 16-битовой арифметики и для адресации (здесь 16 бит необходимы), причем двухрегистровая арифметика применяется при вычислении адресов и формировании индексов (вычисление последовательных адресов элементов массивов, таблиц, строк текста и т. д.). Флаговый регистр используется для контроля и при организации переходов всех видов. Адресная шина микропроцессора 8085 заслуживает небольшого пояснения. Чтобы оформить микропроцессор 8085 в виде корпуса с 40 выводами и в то же время иметь возможность использовать достаточное число выводов для входных линий (таких, как линии прерывания), конструкторы решили использовать выводы 8-битовой шины данных одновременно для второй половины адресной шины, заставив их выполнять двойную работу. Таким образом, старшие 8 бит 16-битового адреса передаются по своим собственным выводам, а его младшие 8 бит-по тем же выводам, что и данные, но не одновременно с ними. Другими словами, для высылки адреса микропроцессор использует как адресную шину (старшие биты), так и шину адресов/данных (младшие биты), в то время как для передачи данных используется только шина адресов/данных. Как вы скоро убедитесь, использование одной и той же шины для передачи и адресов, и данных является преимуществом, поскольку при этом уменьшается количество внешних соединений. 11.2. Внутренние операции Начнем с программного счетчика (ПС). Этот 16-битовый регистр содержит адрес следующей подлежащей выполнению команды из программы. За исключением случаев перехода, последовательно выполняемые команды и в памяти следуют друг за другом, ПС продвигается после выполнения каждой команды. Когда процессор готов к выполнению следующей команды, он посылает содержимое ПС по адресной шине во внешнюю память, считывает в соответствующей адресу ячейке памяти I байт данных и по шине данных пересылает его в регистр кода операции. Затем он действуете соответ- 1 ... 13 14 15 16 17 18 19 ... 59 |
© 2004-2025 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки. |