Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основы микропроцессорной техники 2 страница




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

По однонаправленной адресной шине МП посылает адреса, определяя объект, с которым будет обмен, по шине данных (двунаправленной) обменивается данными с модулями (блоками) системы, по шине управления идет обмен управляющей информацией.

ПЗУ (ROM) хранит фиксированные программы и данные, оно является энергонезависимым и при выключении питания информацию не теряет.

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

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

На схеме (рисунок 7) модули системы показаны укрупнено. Кроме обозначенных блоков, в состав систем входят обычно и более сложные, чем адаптеры, блоки управления внешними устройствами – контроллеры. К их числу относятся, прежде всего, контроллеры прерываний и прямого доступа к памяти. Имеются также контроллеры клавиатуры, дисплея, дисковой памяти и т. д.

Контроллеры прерываний обеспечивают обмен с внешними устройствами в режиме прерывания (временной остановки) выполняемой программы для обслуживания запроса от внешнего устройства.

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

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

 

Управление памятью и внешними устройствами

 

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

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

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

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

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

При непосредственной адресации в команде содержится сам операнд.

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

Возможность использования различных видов адресации сокращает объем и время выполнения программ.

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

С точки зрения использования АП памятью и ВУ различают концепции интерфейса с общей шиной и раздельной шиной.

В рамках первой концепции для адресов памяти и ВУ выделяются части общего АП. К ВУ, обращение происходит так же, как и к ячейкам памяти, т. е. с помощью тех же команд и той же шины. Недостатком этой концепции является сужение АП для памяти, поскольку часть АП занимается внешними устройствами. Достоинство состоит в том, что над данными, получаемыми от ВУ, можно производить все те операции, которые имеются в системе команд процессора для данных, находящихся в ячейках памяти. Таких операций много и это способствует улучшению параметров программ и упрощению программирования. Концепцию «с общей шиной» называют также вводом/выводом, отображенным на память.

В концепции «с раздельной шиной» ячейки памяти и ВУ имеют свои АП. При этом требуется наличие управляющих сигналов, определяющих, с каким типом объектов ведется обмен. Например, вводится сигнал , указывающий, адресуется память или ВУ. При этом память может использовать все АП. Для обмена с ВУ обычно имеются только операции ввода IN port и вывода OUT port, и теряется возможность применять к данным от ВУ широкий набор команд, имеющихся для работы с данными, хранимыми в памяти.

Диапазон адресов, к которым может обращаться процессор (т. е. емкость АП) связан с разрядностью шины адреса n соотношением АП = 2n. Например, с помощью 16-разрядной шины адреса можно адресовать 216 = 64 K объектов, с помощью 20-разрядной 1 M объектов и т. д.

Адресация – только часть процесса управления памятью и ВУ. Кроме адресов требуются стробы чтения и записи ( и ), задающие направление обмена, сигналы разрешения работы (, EN), признак обращения к ВУ или памяти (). Процессор обычно вырабатывает минимальную группу сигналов, тогда как в системном интерфейсе может быть предусмотрена несколько иная группа. В частности, МП К1821ВМ85А дает три сигнала: сигнал чтения (), записи (), и сигнал , т.е. обращения к ВУ при высоком уровне и к памяти – при низком. В системном же интерфейсе используется система из четырех сигналов: сигнала чтения из памяти , записи в память , чтения из ВУ и записи в ВУ .

Иногда условием обмена является готовность к нему памяти или ВУ. Для выявления готовности применяют такой метод: появление адреса медленного устройства ведет к запуску генератора одиночного импульса необходимой длительности, на время существования которого сигнал готовности RDY снимается. Длительность интервала неготовности рассчитывается согласно требованиям медленного устройства. Процессор ждет появления сигнала готовности и только после его появления выполняет операцию обмена. Чтобы избежать потерь времени, желательно генерировать интервал неготовности с привязкой его к синхроимпульсам МПС.

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

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

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

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

 

МИКРОПРОЦЕССОР К1821ВМ85А

 

Во всем мире широко применяются микропроцессоры (МП) фирмы Intel и их аналоги. Эта фирма разработала первый МП, а затем целый ряд их семейств. При изучении МП целесообразно ориентироваться на конкретные образцы. МП К1821ВМ85А – аналог микропроцессора Intel 8085A. Это простой для изучения объект, на котором легко проследить основные принципы работы МП. Несмотря на свой многолетний возраст (выпущен в 1977 г.), этот МП до сих пор выпускается промышленностью и встречается в каталогах фирм. Естественно, что областью его применения не являются компьютеры, в которых сейчас применяются гораздо более мощные и производительные МП. Такие МП, как К1821ВМ85А, используются в системах управления различной аппаратурой, где их возможностей вполне достаточно.

 

Структура микропроцессора К1821ВМ85А

 

МП К1821ВМ85А предназначен для обработки 8-разрядных данных, содержит 6200 транзисторов, корпус имеет 40 выводов. Напряжение источника питания 5 В ± 10%, потребляемый ток не более 170 мА, ток выхода при низком уровне выходного напряжения не более 2 мА, ток выхода при высоком уровне выходного напряжения не более 0,4 мА.

Структура микропроцессора К1821ВМ85А показана на рисунке 8. Микропроцессор имеет восьмиразрядную внутреннюю шину данных, через которую его блоки обмениваются информацией. На схеме приняты следующие обозначения:

- AC (Accumulator) – регистр-аккумулятор, выполненный на двухступенчатых триггерах и способный хранить одновременно два слова (один из операндов и результат операции);


 

Рисунок 8 – Структура микропроцессора К1821ВМ85А

 

- TR (Temporary Register) – регистр временного хранения одного из операндов;

- ALU (Arithmetic-Logic Unit) – арифметико-логическое устройство, выполняющее действия над двумя словами-операндами, подаваемыми на его входы. Аккумулятор служит источником и приемником данных, TR – источником слова данных, хранимых на время выполнения операции. АЛУ функционирует согласно соотношению A:= A * B, где B хранится в TR, второй операнд поступает от аккумулятора, в него же поступает результат операции (звездочкой обозначен обобщенный символ операции). АЛУ непосредственно выполняет лишь операции сложения, вычитания, сдвига, сравнения слов, поразрядные логические операции (конъюнкцию, дизъюнкцию, сложение по модулю 2). Более сложные операции (умножение, деление и др.) выполняются по подпрограммам. В АЛУ имеется схема перевода двоичных чисел в двоично-десятичные (DA, Decimal Adjust);

- RF (Register Flags) – регистр флажков, т.е. битов, указывающих признаки результатов арифметических или логических операций, выполненных в АЛУ.

Указываются пять признаков: Z (Zero) – нулевой результат, C (Carry) – перенос, AC (Auxiliary Carry) – вспомогательный перенос, S (Sign) – знак, P (Parity) – четность веса слова. Признак вспомогательного переноса (переноса между младшей и старшей тетрадами восьмиразрядного слова) нужен при выполнении операции в двоично-десятичном коде. Смысл остальных признаков ясен из их наименований. Признаки служат для управления ходом процесса обработки информации.

 

Блок регистров МП К1821ВМ85А

 

С внутренней шиной данных через мультиплексор/демультиплексор связан блок регистров, часть которых специализирована, другая часть (регистры общего назначения, РОН) программно доступна и может быть использована по усмотрению программиста. Регистры обозначены через W, Z, B, C, D, E, H, L, SP и PC. Регистры W и Z предназначены только для временного хранения данных при выборке команды из памяти и недоступны для программиста. Регистры B, C, D, E, H, L относятся к регистрам общего назначения, так как могут быть использованы по усмотрению программиста. Эти восьмиразрядные регистры могут применяться либо по отдельности, либо в виде пар B-C, D-E, H-L, играющих роль 16-разрядных регистров. Пары регистров именуются по первым регистрам пары как пары B, D, H. Пара H-L, как правило, используется для размещения в ней адресов при косвенной регистровой адресации. В блоке регистров имеются также 16-разрядные регистры SP и PC. Регистр SP (Stack Pointer) – указатель стека. Стек (память с последовательным доступом) удобен для запоминания массива слов, так как при этом не требуется адресовать каждое слово отдельно. Слова загружаются в стек в определенном порядке, при считывании также заранее известен порядок их следования. В частности, стек удобен при запоминании состояний регистров в момент прерывания программы. Порядок ввода слов в стек и их считывания предопределены его устройством. При организации типа LIFO (Last In – First Out) последнее записанное в стек слово при считывании появляется первым.

Аппаратно стек реализуется в ОЗУ, где для него выделяется определенная область. Указатель стека SP содержит адрес последней занятой ячейки. При выполнении операций PUSH и POP значение SP уменьшается или увеличивается. Задавая в SP начальное значение, можно размещать стек в той или иной области ОЗУ, следя при этом за тем, чтобы эта область не использовалась для других целей.

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

Основное назначение стека – обслуживание прерываний программы и выполнения подпрограмм.

Программный счетчик PC (Program Counter) дает адрес команды и может обращаться в любую из 64 K ячеек АП. При сбросе МП PC принимает нулевое состояние, которое является адресом первой исполняемой команды, иначе говоря, выполнение программы начинается с нулевой ячейки. Длина команды составляет 1…3 байта. Содержимое программного счетчика после выборки очередного байта из памяти автоматически инкрементируется, так что в PC появляется адрес следующей команды, если текущая команда была однобайтовой или следующего байта текущей команды в противном случае. Второй и третий байты команды поступают в регистры W и Z, которые не адресуются программой и используются только блоком внутреннего управления.

Схема INC/DEC (Increment/Decrement) изменяет передаваемые через нее слова на + 1 или – 1.

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

Буфер адреса BA с тремя состояниями выхода выдает сигналы старших разрядов адреса на линии адресной шины А15…8.

Буфер шины адресов/данных BA/D с тремя состояниями выхода передает на шину A/D с разделением во времени младший байт адреса или байт данных.

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

Назначение блоков управления прерыванием и последовательным вводом-выводом ясно из их названий. Режимы прерывания и последовательного ввода-вывода подробнее рассмотрены ниже.

 

Блок управления МП К1821ВМ85А

 

Регистр команд IR (Instruction Register) принимает из памяти первый байт команды, после дешифрации которого блок управления генерирует сигналы, необходимые для реализации машинных циклов, предписанных кодом операции.

Блок синхронизации и управления использует выход дешифратора команд и шифратора машинных циклов для синхронизации циклов, генерации сигналов состояния и управления шиной (внешними устройствами микропроцессорной системы).

При естественном следовании команд МП, начав работу, выбирает из памяти и выполняет одну команду за другой, пока не дойдет до команды «Останов» (HLT). Выборка и выполнение одной команды образует командный цикл. Командный цикл состоит из одного или нескольких машинных циклов (МЦ). Самая короткая команда выполняется за один машинный цикл М1, а самая длинная – за пять циклов (М1 … М5). Каждое обращение к памяти или ВУ требует машинного цикла, который связан с передачей байта в МП или из него. В свою очередь, машинный цикл делится на то или иное число тактов (T), число которых зависит от типа машинного цикла.

Микропроцессор К1821ВМ85А имеет следующие типы машинных циклов:

1 выборки команды (OF, Opcode Fetch);

2 чтения из памяти (MR, Memory Read);

3 записи в память (MW, Memory Write);

4 чтения из ВУ (IOR, Input-Output Read);

5 записи в ВУ (IOW, Input-Output Write);

6 подтверждения прерывания (INA, Interrupt Acknowledge);

7 освобождения шин (BI, Bus Idle);

8 останов (HALT).

В начале каждого машинного цикла генерируются сигналы состояния, идентифицирующие тип цикла и действующие в течение всего цикла.

Функции выводов и сигналов:

- А15…8 – выходные линии с тремя состояниями для выдачи старшего байта адреса памяти или полного адреса ВУ. Переходят в третье состояние в режимах HOLD, HALT и RESET (захвата, останова или сброса соответственно);

- АD7…0 – двунаправленные мультиплексированные линии с тремя состояниями для выдачи младшего байта адреса памяти или полного адреса ВУ в первом такте машинного цикла, после чего используются как шина данных. Как видно из сказанного, при адресации ВУ адресная информация обеих полушин (А15…8 и АD7…0) дублируется;

- ALE – строб разрешения загрузки младшего байта адреса памяти во внешний регистр для его хранения в течение машинного цикла. Появляется в первом такте машинного цикла. Регистр загружается задним фронтом сигнала ALE;

- , – стробы чтения или записи. Низкий уровень соответствующего сигнала свидетельствует о том, что адресованная ячейка памяти или внешнее устройство должны выполнить операцию чтения или записи. Выводы переходят в третье состояние в режимах HOLD, HALT и RESET;

- READY – входной сигнал показывает, что память или ВУ готовы к обмену с МП. Если готовности памяти или ВУ нет, МП входит в состояние ожидания, которое может длиться любое число тактов, вплоть до появления единичного уровня сигнала READY;

- S1, S0 – сигналы состояния МП, сообщаемые внешней среде. Формируются в начале и сохраняются во время всего машинного цикла;

- – сигнал выбора памяти или внешнего устройства. При высоком уровне происходит обращение к ВУ, при низком – к памяти.

Совместно с сигналами S1, S0 сигнал идентифицирует тип машинного цикла. Сигналы состояния и управляющие сигналы , и для различных машинных циклов имеют следующие значения (таблица 1);

 

Таблица 1 – Значения сигналов состояния и управления для различных

машинных циклов

 

Тип МЦ Сигналы состояния Сигналы управления
S1 S0
OF            
MR            
MW            
IOR            
IOW            
INA            
BI TC ´ ´      
HALT TC     TC TC  
Примечание – TC – третье состояние
               

 

- x1, x2 – эти выводы присоединяются к кварцевому резонатору или другим частотно-задающим цепям для обеспечения работы внутреннего генератора синхроимпульсов МП. Частота на выводах x1 и x2 в два раза выше рабочей частоты;

- ( ) – вход сигнала сброса МП в начальное состояние. Сигнал может поступить в любое время по команде оператора. Автоматически формируется при включении питания. Под его воздействием сбрасываются регистры PC и IR, триггеры разрешения прерывания, подтверждения захвата и др.;

- CLK – выход синхроимпульсов для микропроцессорной системы. Частота этих импульсов в два раза ниже частоты на выводах x1 и x2;

- RESET – выходной сигнал сброса для внешних модулей системы, привязанный к тактовым импульсам CLK, т.е. отличающийся от сигнала по фазе;

- INTR (Interrupt Request) – вход запроса векторного прерывания, вызывающий генерацию строба , если прерывание разрешено программой. Адрес подпрограммы, вызываемой этим входом, выдается внешним устройством. При сбросе прием сигнала запрещается (прерывания запрещены);

- (Interrupt Acknowledge) – выход строба подтверждения векторного прерывания после завершения текущего командного цикла. Используется для чтения вектора прерывания;

- RST 5,5; RST 6,5; RST 7,5 – входы запросов радиального прерывания типа RSTn (n = 5,5; 6,5; 7,5). Начальные адреса подпрограмм обслуживания равны 8n. Приоритеты фиксированы, высший приоритет у входа RST 7,5. Приоритеты всей группы запросов выше приоритета запроса INTR. Запросы маскируемые, причем независимо друг от друга;

- TRAP – вход запроса немаскируемого прерывания, имеющий максимальный приоритет;

- SID, SOD (Serial Input Data, Serial Output Data) – вход и выход последовательной передачи данных. По команде RIM входной бит загружается в старший разряд аккумулятора, по команде SIM выводится из этого разряда;

- HOLD – сигнал запроса захвата шин. Формируется внешним устройством;

- HLDA – сигнал подтверждения захвата (Hold Acknowledge). Является ответом на сигнал HOLD, формируемым в конце текущего машинного цикла. Свидетельствует об отключении МП от системных шин. При этом шины и линии управляющих сигналов , , и ALE переводятся в третье состояние.

Выводы x1 и x2 (рисунок 8), предназначенные для создания совместно с внутренними элементами МП генератора тактовых импульсов, могут быть использованы различными способами (рисунок 9, а). Кварц может быть подключен непосредственно к выводам x1 и x2 как единственный частотно-задающий элемент. Если частота генератора составляет 4 МГц или более, могут понадобиться конденсаторы с рекомендованной емкостью 20 пФ для надежного запуска генератора. Параллельный LC-контур также может быть подключен непосредственно к выводам x1 и x2. При невысоких требованиях к стабильности частоты можно использовать частотнозадающую RC-цепочку. Возможна синхронизация от внешнего генератора ГТИ. При этом рекомендуется включать внешние логические элементы с открытым коллектором, причем при частоте генерации более 6 МГц включаются два логических элемента.

Для образования сигналов синхронизации CLK выход генератора подается на вход T-триггера (рисунок 9, б). Триггер формирует две последовательности противофазных импульсов Ф1 и Ф2 для тактирования внутренних схем МП. Сигнал синхронизации системы CLK синфазен импульсам Ф2. Сигнал ALE формируется как один импульс последовательности Ф1, выделяемый из нее в первом такте (Т1) каждого машинного цикла. Буфер выдачи сигнала ALE во внешние цепи имеет вход разрешения . Частота синхросигналов МП в два раза ниже частоты генератора.




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 1355; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.078 сек.