Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Адресации команд.






Адресация команд, подлежащих выполнению, производится только по содержимому счетчика команд.

Адресация данных, используемых в ходе выполнения команд, может осуществляться по-разному.

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

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

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

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

Относительная адресация. При такой адресации адрес определяется относительно счетчика команд. Для получения фактического адреса необходимо произвести некую операцию, как правило арифметическую, над адресом, указанным в команде или в адресном регистре, и содержимым счетчика команд, т.е. задается смещение адреса. Относительная адресация позволяет размещать программы в памяти без привязки к конкретному адресу. Такая форма адресации удобна, когда разрядность счетчика команд ниже разрядности шины адреса микропроцессорной системы. Ее также используют для постраничной организации памяти. Каждую страницу памяти можно реализовать, например, в одном корпусе БИС памяти. Тогда содержимое счетчика команд определяет адрес внутри страницы, а адрес, указанный в команде или адресном регистре, определяет номер страницы или номер микросхемы памяти.

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

Стековая адресация. Применительно к МП под стеком понимается любая область ОЗУ, ячейки которой заполняются последовательно друг за другом. Аналогично происходит и вывод информации из стека — ячейка за ячейкой. При этом данные из стека читаются в последовательности, обратной той, которая была при записи, т.е. Реализуется принцип: «вошедший последним — выходит первым». Достоинством команд со стековой адресацией является то, что программист может не заботиться о конкретных адресах ячеек памяти, куда записываются и откуда считываются данные. Достаточно знать код адреса начала стековой области ОЗУ. Этот код (код верхушки стека) предварительно записывается в указатель стека. С помощью команд, использующих стековую адресацию, в стек можно переслать число из регистра или из счетчика команд. Пусть требуется записать в стек содержимое двух регистров (регистровой пары). Сначала содержимое SP указателя стека с помощью схемы инкремента (декремента) уменьшается на единицу, в результате чего на шину адреса выставляется адрес SP-1 (рис. 3.38). По этому адресу производится запись в стек слова данных из первого регистра. Далее содержимое указателя стека вновь уменьшается на единицу и на шину адреса выставляется адрес SP-2, по которому в стек записывается слово данных из второго регистра. Таким образом, по окончании записи содержимое указателя стека становится равным SP-2. Часто вместо выражения «содержимое указателя стека» употребляют выражение «положение указателя стека». Тогда можно сказать, что при занесении в стек содержимого регистра или счетчика команд указатель стека автоматически каждый раз при записи очередного слова «смещается вниз», т.е. в сторону младших адресов памяти.

В системе команд МП есть и такие, которые позволяют осуществлять обратную операцию, т. е. пересылать содержимое ячеек стека в любые регистры или в счетчик команд. Для пересылки, например, содержимого двух регистров сначала в МП переписывается второе слово (последнее записанное) из ячейки памяти, адресуемой текущим положением SP указателя стека, после чего указатель стека «смещается вверх» на одну ячейку и занимает положение SP + 1. Далее из ячейки памяти, адресуемой новым положением указателя стека, в МП переписывается первое слово, после чего указатель стека «смещается вверх» еще на одну ячейку и занимает положение SP + 2. Таким образом, после выполнения команды указатель стека оказывается автоматически «смещенным вверх», т.е. в сторону старших адресов памяти.

Стековая адресация используется в случаях, когда производится прерывание основной программы.

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

Различают прерывания аппаратные, программные и специальные.

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

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

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

- программные сбои вследствие попытки совершить недопустимую операцию;

- аппаратные сбои вследствие пропадания одного или нескольких питающих напряжений или другие неисправности оборудования;

- переполнение разрядности обрабатываемых данных и др.

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

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


 

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

Программный ввод-вывод инициируется программой работы МП. Данный процесс задается использованием в соответствующих местах программы специальных команд:
IN port — ввод данных из порта ввода и OUT port — вывод данных в порт вывода. Портами обычно являются регистры для подключения внешних устройств. Эти команды выполняются немедленно, если внешние устройства имеют свойство постоянной готовности к приему или передаче данных. Например, светодиодные индикаторы на выходе порта или набор кнопок на входе порта. Если внешнее устройство таким свойством не обладает, то при выполнении команды необходимо проверить управляющий сигнал готовности устройства к передаче или приему данных. Если готовность устройства не подтверждается, то МП переходит в режим ожидания активного уровня сигнала готовности. Недостаток такой организации ввода-вывода — большие временные затраты на ожидание готовности внешнего устройства. Однако такой способ ввода-вывода имеет преимущество простой аппаратной реализации. Поэтому такая форма организации используется в основном для осуществления ввода или вывода данных с устройств, постоянно готовых к обмену.

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

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

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

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

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

Микропроцессор выполняет только то, что предписывается командами, составляющими программу, поэтому для решения какой-либо задачи она должна быть детально проработана. В ходе такой проработки формулируются условия задачи, выделяются исходные данные и результаты, которые должны быть получены. После этого выбирается метод решения задачи и определяется четкая последовательность действий над данными, приводящая к получению требуемого результата, т. е. алгоритм решения задачи. Составление алгоритма — важнейший этап решения задачи. Написание программы, т. е. программирование, осуществляется последовательной заменой каждого действия алгоритма соответствующими командами.

Языки низкого уровня. Используемый для написания программы набор команд и правил их применения называется языком программирования. Если программа составлена на основе системы команд используемого МП, то говорят, что программа написана на языке низкого уровня. Поскольку каждый МП имеет свою систему команд, то языки низкого уровня ориентированы на конкретные МП и поэтому называются также машинно-ориентированньши языками.

Язык низкого уровня, использующий команды в машинных кодах, называется машинным языком, программа, написанная на машинном языке, — объектной программой. Это единственная форма программы, доступная пониманию МП. Однако писать программы на машинном языке неудобно, поскольку команды, представленные машинными кодами, трудно отождествить с их назначением, а в самих машинных кодах легко перепутать 0 и 1. Кроме того, нужно отслеживать адреса всех команд, чтобы иметь возможность при необходимости обратиться к той или иной команде.

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


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

Устройство обработки данных в данной структуре представлено арифметико-логическим устройством (АЛУ), аккумулятором, двумя временными регистрами АЛУ, регистром признаков, регистрами общего назначения (РОН). Блок интерфейса содержит счетчик команд, адресные регистры (в частности, указатель стека), буферные регистры данных и адреса, регистр команд (очередь команд). Устройство управления включает в себя дешифратор команд, схему синхронизации и управления, регистры временного хранения и мультиплексор регистров.

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

Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические операции, а также операции сдвига. К входам АЛУ подключены два временных регистра АЛУ, необходимых для хранения участвующих в операции операндов на время выполнения всей команды. Эти операнды могут поступать с внутренней шины данных или из специального регистра, называемого аккумулятором. Аккумулятор служит для хранения результата операции, поступающего с выхода АЛУ или слова данных, поступающего через внутреннюю шину данных из памяти, портов ввода или других регистров. К АЛУ подключен регистр признаков. Регистр признаков (регистр флагов) предназначен для хранения признаков результата операции. Он может также содержать информацию о состоянии МП на определенном этапе выполнения программы. Обычно минимальная конфигурация регистра признаков содержит следующие разряды (обозначения разрядов введены условно):

С — разряд признака переноса. Указанный разряд устанавливается в 1, если в результате сложения двух двоичных чисел длиной в одно слово возникает перенос в старший разряд или в результате вычитания возникает заем из старшего разряда; в противном случае — в 0. Этот признак используется, например, для организации выполнения арифметических операций с повышенной точностью, т.е. с числами длиной более одного слова.

Рразряд признака четности. Разряд этого признака устанавливается в 1, если в полученном результате общее число единиц является четным; в противном случае — в 0. Этот признак используется при контроле данных на четность.

Z — признак нуля. При нулевом значении результата разряд этого признака устанавливается в 1, при нулевом—в 0. Этот признак используется, например, для получения временных задержек программным путем.

Sпризнак знака. Разряд этого признака дублирует содержимое старшего разряда результата. При выполнении арифметических операций в дополнительных кодах ноль в старшем знаковом разряде результата соответствует положительному числу, а единица — отрицательному.

Регистры общего назначения (РОН) предназначены для хранения поступающих данных и промежуточных результатов. Все РОН доступны программисту, который рассматривает их как сверхоперативное запоминающее устройство. Для некоторых МП в зависимости от типа выполняемой команды РОН могут использоваться или как самостоятельные регистры, или как регистровые пары удвоенной разрядности, или, наоборот, могут быть разбитыми на части по группам разрядов. Регистры временного хранения предназначены для кратковременного хранения данных во время выполнения команды и являются программно-недоступными. Адресные регистры используются для хранения адресов при косвенной регистровой и других многокомпонентных видах адресации. В некоторых МП функции адресных регистров могут выполнять РОН.

Указатель стека— регистр, содержащий адрес области памяти ОЗУ, называемой стеком.

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

Эволюция развития наиболее популярных однокристальных МП фирмымы Intel (США) и их основные характеристики представлены в табл. 3.1.


 

Таблица 3.1

Тип МП Тактовая частота Технология Разрядность шины данных, бит Напрямую ад- ресуемое про- странство
  750 кГц р-МОП   4 Кбайт
  750 кГц р-МОП   8 Кбайт l^udxil
8008-1 800 кГц р-МОП   16 Кбайт
8080 (отечественный аналог КР580ИК80) 2 МГц n-МОП   64 Кбайт
8086 (отечественный аналог КМ1810ВМ86) 8088-1 6 МГц 10 МГц И-МОП п-МОП 8 (для внешней ши- ны) 1 Мбайт 1 Мбайт
         
ото/. о1)Л»о 25 МГц КМОП   16 Мбайт
ОЛ'30^ oUJoo 40 МГц кмоп   4Гйайт L UcLHL
  66 МГц КМОП   4Гйяйт 1 Ufull
Pentium (Pentium MMX, Pentium Pro, Pentium II, Pentium III) 166 МГц и выше для мо- дификаций кмоп   4 Гбайт

 

Примечание. При использовании сложных комбинированных способов адресации, например при сегментной адресации, объем памяти для МП 80386 и выше может достигать уровня 64 Тбайт.

 


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

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

• для решения задачи в рамках «жесткой логики» нтегральных схем (корпусов) требуется больше 30...50;

• прибор должен быть многофункциональным;

• предвидится дальнейшее развитие измерительной системы, наращивание, расширение ее функций;

• измерительная система должна взаимодействовать с большим числом входных и выходных устройств;

• требуется фиксация в памяти большого числа данных;

• высокие метрологические характеристики трудно достижимы обычным путем;

• необходимость статистической обработки результатов измерения;

выполнения математических функциональных преобразований;

• необходимость;

• требуются самокалибровка и самодиагностика;

• достаточно высокое быстродействие МП для проектируемого средства измерения.

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

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

 

 

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

Микропроцессоры применяют в цифровых вольтметрах, частотомерах, осциллографах, генераторах сигналов, спектральных анализаторах и других приборах в самых различных областях народного хозяйства. В настоящее время наблюдается тенденция интегрирования сигнальных процессоров в персональные ЭВМ. Такое внедрение позволяет строить новые типы приборов, называемые виртуальными. Термин «виртуальные приборы» принадлежит американской фирме National Instruments. Виртуальные приборы — это реализация функций измерительных приборов и средств контроля программными средствами. Данный подход дает возможность заменить дорогостоящее оборудование традиционных реальных приборов более дешевым, компактным и гибким, позволяющим «сконструировать» программный (виртуальный) аналог измерительного прибора на базе персонального компьютера, оснащенного сигнальным процессором, платами АЦП и другим необходимым оборудованием, а также графическим интерфейсом программного обеспечения.


Вопросы для самопроверки к главе 3

3.1. Что понимают под предельным рабочим напряжением резистора?
3.2. Где применяют низкочастотные конденсаторы постоянной емкости?

3.3. В чем заключается принцип работы полупроводникового диода?

3.4. Что представляют собой статические характеристики транзистора?

3.5. Какие достоинства имеют газоразрядные индикаторные панели?

3.6. Дайте определение основных параметров и характеристик усилителей.

3.7. Каково влияние отрицательной обратной связи на параметры и характеристики
усилителей?

3.8. В чем сущность графоаналитического метода расчета усилителей на транзисторах?

3.9. Приведите примеры использования понятия «идеальный операционный усилитель» в практических расчетах схем на ОУ.

3.10. Приведите примеры использования ОУ в измерительных преобразователях, в чем их преимущества.

3.11. На какие классы делят микропроцессоры? Охарактеризуйте каждый из них.

3.12. Чем отличается адресация с индексированием от относительной адресации?

3.13. Для чего используются команды передачи управления?

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.