ФЭА / АИТ / МП 8085 фирмы Intel.
(автор - student, добавлено - 8-01-2014, 21:49)
МП 8085 фирмы Intel. На рис.2 представлена упрощенная структура МП 8085, который имеет следующие функциональные узлы: арифметико-логическое устройство; аккумулятор; регистр признаков; регистр команд; дешифратор команд и шифратор машинных циклов; блок регистров общего назначения (В,С,D,Е,Н,L), регистров W, Z, указателя стека SР, программного счетчика РС и регистра адреса со схемой инкремента/декремента; буфер адреса (А8...А15); буфер адреса/данных (АD0...АD7); блоки синхронизации и управления; блок управления прерываниями; блок последовательного ввода и вывода. Аккумулятор соединен с шиной данных и с арифметико-логическим устройством (АЛУ). АЛУ выполняет все преобразования данных. Аккумулятор- 8-разрядный программно-доступный регистр данных, предназначенный для хранения результатов операций АЛУ или данных при вводе/выводе. Временный регистр обеспечивает другой вход АЛУ. Этот регистр недоступен программисту и управляется автоматически схемой управления микропроцессора.
Регистр признаков представляет собой набор триггеров, которые показывают определенные характеристики результата самой последней операции, выполненной АЛУ. 8-разрядиый регистр команд используется для хранения выбранной команды для дешифратора команд и шифратора машинных циклов. Дешифратор команд и шифратор машинных циклов осуществляют дешифрацию кодов команд, поступающих из регистра команд, и установку счетчиков шифратора машинных циклов в соответствии с этими кодами. Блок регистров предназначен для хранения и выдачи различной информации, участвующей в процессе выполнения команд. Буфер старших разрядов адреса представляет собой 8-разрядный выходной формирователь с тремя состояниями. Буфер адреса/данных представляет собой 8-разрядный формирователь с тремя состояниями, предназначенный для выдачи младших разрядов адреса, либо приема/выдачи данных. В первом тактовом периоде машинного цикла буфером адреса/данных выводятся 8 младших разрядов адреса, во втором и третьем периодах производится ввод или вывод информации, т.е. эти разряды являются шиной данных. Блок синхронизации и управления обеспечивает внутреннюю синхронизацию микропроцессора от встроенного тактового генератора. Возбуждаемая частота внутренними схемами делится на 2 и используется для синхронизации узлов как самого микропроцессора, так и внешних устройств системы с использованием вывода С. Блок управления прерываниями переключает микропроцессор с выполнения одной программы на другую с помощью сигналов прерывания. Блок последовательного ввода/вывода управляется командой RIМ при вводе последовательных данных и командой SIМ при выводе. Регистр команд, дешифратор команд, счетчик команд и логические схемы управления и синхронизации используются для выпорки команд из памяти и управления их выполнением. Пусть, например, команда, которую нужно выполнить, находится в ячейке с адресом 0200. Для выполнения необходимо прочитать из памяти код операции, т.е. произвести выборку команды. Счетчик команд, который содержит требуемый адрес 0200,воздействует на адресную шину, в результате чего выбирается ячейка памяти с адресом 0200. ПЗУ выдает содержимое ячейки 0200(код операции) на шину данных, и МП запоминает код операции в регистре команд. Мы видим, что одна машинная команда может иметь более одного слова в длину. Любая команда, обращающаяся к памяти, должна иметь 16 бит только для указания адреса, не считая некоторого количества битов, нужного для указания самого действия-кода операции (КОП). МП считывает из памяти команды последовательно одну ячейку за другой, выполняя указанные действия. Коды операций и данные взаимно перемешаны в памяти. За обеспечение правильной последовательности кодов операций и данных в памяти отвечает программист. Коды операций, адреса переходов и данные - это всего лишь двоичные комбинации, хранящиеся в памяти: считываются они абсолютно одинаково и передаются все по одной и той же шине данных. МП всегда должен безошибочно различать, что он считывает в данный момент; код операции или элемент данных, и поступать соответствующим образом. Предполагается, что первая ячейка, считываемая процессором, содержит код операции, который и определяет его дальнейшие действия. Если код операции требует наличия одного байта данных, МП "знает" (благодаря дешифратору команд), что следующий байт информационный, и обрабатывает его соответствующим образом. Далее считается, что за этим байтом данных следует очередной код операции. Если же элемент данных ошибочно интерпретируется как код операции, то система обычно полностью выходит из под контроля (возникает аварийная ситуация). Система команд МП 8085 (как и большинства других МП) ограничена узким кругом простых команд. МП приобретает большие возможности, когда с помощью простых команд строится последовательность операций, реализующая сложные математические и управляющие функции. Программа, дающая возможность выразить сложную функцию через простые операции, называется алгоритмом. Выполнение алгоритма по соответствующей программе для конкретного микропроцессора производится посредством операций записи или считывания. Каждая операция записи или чтения выполняется в течение машинного цикла. Сущность и последовательность машинных циклов определяется кодом операции команды, полученным в первом машинном цикле. Реальное число тактовых периодов при выполнении какой-либо команды определяется выполняемой командой, количеством тактовых периодов в цикле чтения кода операции и числом тактов ожидания, которые формируются, если на входе "готовность" низкий уровень. Чтобы получить представление о том, как действует МП, рассмотрим шаги, которые он совершает при выполнении одной из команд. На рис.3 приведена временная диаграмма типичного командного цикла, в данном случае для команды МОУ М,В. Эта команда передает содержимое регистра В в ячейку памяти, адрес которой определяется парой регистров Н и L. Цикл этой конкретной команды подразделяется на два машинных цикла М1 и М2, в каждом из которых происходит одна передача данных в память или из памяти. Каждый из машинных циклов в свою очередь делится на машинные такты от Т1 до Т4, соответствующие тактовым импульсам МП. Во время М1 МП получает из памяти код операции (КОП), а в течение М2 он производит само перемещение данных из регистра В в память. Для выполнения других команд может понадобиться до пяти машинных циклов от М1 до М5, причем каждый цикл может содержать до шести машинных тактов от Т1 до Т6. Передача данных в память или из памяти всегда занимает один полный машинный цикл, в начале первого такта (Т1) которого обязательно присутствует импульс ALE. Младшие разряды адреса подаются на шину адресов/данных АD0-AD7 (см. ниже приведенную таблицу) в течение такта Т1, а для их занесения в регистр адреса используется задний фронт импульса АLЕ. Во время остальных тактов каждого цикла линии АDО-АD7 можно использовать для числовых операций, синхронизация которых обеспечивается при помощи линий RD (ЧТЕНИЕ) и WR (ЗАПИСЬ). Любой командный цикл начинается с машинного цикла М1, который передает в МП КОП команды и потому включает операцию выборки соответствующих данных из памяти в течение машинных тактов Т2 и T3. МП заносит этот КОП с шины АDО-АD7 в регистр кода операции примерно в середине такта ТЗ и во время такта Т4 переходит к выполнению команды. Выполнение многих команд не требует дальнейших обращений к памяти и потому заканчивается циклами Т4 и Т5. Но в случае команды МОV М,В процессор обнаруживает (во время Т4), что он должен передать в память содержимое регистра В. Поэтому МП начинает второй машинный цикл М2, посылая в память адрес, которым в данном примере служит содержимое пары регистров Н-L. В течение Т1,как и в предыдущем цикле, младшие разряды адреса заносятся в регистр адреса задним фронтом импульса АLЕ. В тактах Т2 и T3 МП при помощи 8-ми битовой внутренней шины данных соединяет регистр В с шиной данных и одновременно подает импульс на линию WR(ЗАПИСЬ). Соединение поддерживается до тех пор, пока длится импульс WR. Время, необходимое для того, чтобы память "поняла" что к ней обращаются, и приняла данные, которые должны быть в ней запиcаны, составляет не менее двух машинных тактов. На этом заканчивается выполнение данной команды. Далее МП начнет следующий машинный цикл М1, чтобы получить КОП следующей команды, который находится в следующей ячейке памяти, если только последняя выполненная команда не была командой перехода. Допустим, что далее следуют команды чтения из порта или записи в порт. Временные диаграммы выполнения команды ОUТ-вывод данных и команды IN-ввод данных показаны на рис. и рис. . Из сопоставления машинных циклов М2 и МЗ команд IN и ОUТ видно, что сигнал IO/М=0 для машинного цикла чтения памяти и IO/М=1 - для машинного цикла чтения или записи в порт, и, кроме того, 8-раз-рядный адрес порта выставляется как на АDО..АD7, так и на А8...А15. Пользователь не может управлять последовательностью машинных МП 8085 может работать при тактовой частоте от 0.5 до 5 МГц., которую он получает от встроенного тактового генератора. Внешний кварцевый резонатор генератора присоединяется к выводам 1 и 2 микросхемы МП. Частота генератора вдвое больше тактовой. Фирма Intel рекомендует для МП 8085 резонатор на 6.144 МГц, что определяет тактовую частоту в 3.072 МГц. В этом случае длительность машинного такта приблизительно равна 325 нс7, а время доступа к памяти около 525 нс., что соответствует микросхемам МОП памяти. При работе с такой тактовой частотой выполнение команды МОV М,В требует около 2.2 мкс. (команда занимает 7 машинных тактов). Конкретная величина тактовой частоты 3.072 МГц. выбрана потому, что она кратна тактовой частоте, необходимой для работы микросхем последовательного ввода/вывода, используемых совместно с МП 8085. В представленной ниже таблице дано описание каждого вывода и сигнала МП 8085.
0 0 1 Запись в память 0 1 0 Чтение из памяти 1 0 1 Запись при в/в 1 1 0 Чтение при в/в 0 1 1 Выборка кода операции
1 1 1 Подтверждение прерывания
x – значение безразлично
Похожие статьи:
|
|