Автор работы: Пользователь скрыл имя, 22 Ноября 2011 в 23:25, доклад
Микросхема K1810ВМ86 представляет собой однокристальный 16-битовый МП, выполненный по высококачественной n-МОП-технологии. Кристалл микросхемы с геометрическими размерами 5,5x5,5 мм содержит около 29000 транзисторов и потребляет 1,7 Вт от источника питания 5B. Схема выпускается в 40-выводном корпусе. Синхронизируется однофазными импульсами с частотой повторения 25 МГц от внешнего тактового генератора. Основные операции обработки данных (сложение, вычитание, логические действия) типа регистр - регистр выполняются за три такта, что обеспечивает быстродействие 1,66·106 оп/с при периоде тактовых импульсов 200 нс. С максимальной быстротой (за два такта) выполняются регистровые пересылки, а также некоторые однооперандные команды (например, сдвиг на один бит, инкремент, декремент, управление флагами).
MN/MX—минимальный/
В максимальном режиме действуют следующие управляющие сигналы.
S2—S0 —сигналы состояния, обеспечивающие информацию о типе выполняемого цикла шины (табл. 1.10). Сигналы состояния подаются в контроллер шины, который дешифрует их и формирует расширенный набор управляющих сигналов. Если МП не инициирует цикл шины, то сигналы S2—S0 устанавливаются в пассивное состояние 111. Отметим, что сигнал S2 логически эквивалентен сигналу М/IO, a S1 —сигналу DT/R.
Таблица
1.10
S2 S1 S0 | Тип цикла шины |
0 0 0 | Подтверждение прерывания |
0 0 1 | Чтение ВУ |
0 1 0 | Запись ВУ |
0 1 1 | Останов |
1 0 0 | Выборка команды |
1 0 1 | Чтение ЗУ |
1 1 0 | Запись ЗУ |
1 1 1 | Цикла шины нет |
QS1 —QS0 — состояние очереди. Идентифицирует состояние внутренней 6-байтовой очереди команд МП (табл. 1.11) и действует в течение такта синхронизации после выполнения операции над очередью. Сигналы QS1 — QS0 предназначены для сопроцессора, который воспринимает команды и операнды с помощью команды ESC. Сопроцессор контролирует шину AD и фиксирует момент, когда из программной памяти выбирается предназначенная для него команда ESC, а затем следит за очередью команд и определяет момент, когда эта команда должна выполняться.
Таблица
1.11
QS1 QS0 | Операции над очередью |
0 0 | Операции нет, в последнем такте не было выборки из очереди |
0 1 | Из очереди выбран первый байт команд |
1 0 | Очередь пуста, была опустошена командой передачи управления |
1 1 | Из очереди выбран следующий байт команды |
RQ/GT1 — RQ/GT0 — запрос/представление (подтверждение, разрешение). Две одинаковые двунаправленные линии, каждая из которых может использоваться для передачи импульсных сигналов запроса/разрешения доступа к локальной шине (каналу). Процесс доступа к шине осуществляется в следующем порядке: 1) устройство, подключенное к локальной шине и требующее доступа к общим ресурсам, формирует запросный (первый) импульс длительностью один такт; 2) в конце текущего цикла МП выдает ответный (второй) импульс, подтверждающий возможность доступа к локальной шине. В следующем такте МП переводит шины адреса/данных и управления в высокоомное состояние и отключается от канала; 3) по окончании работы с каналом устройство выдает на ту же линию импульс (третий), указывающий на окончание захвата канала. В следующем такте МП возобновляет управление шиной и продолжает вычисления.
Все три импульса имеют одинаковую длительность и низкий активный уровень. Сигналы на линиях независимы, однако линия RQ/GTO имеет более высокий приоритет, чем линия RQ/GT1, когда запросы поступают одновременно. Но если на линии RQ/GTO появляется запрос в то время, когда МП находится в состоянии захвата по сигналу RQ/GT1, то этот запрос захвата неполучает подтверждения до освобождения шины по линии RQ/GT1. Таким образом, каждая из двух рассмотренных линий служит для установления режима захвата шин и в этом отношении эквивалентна паре линий HOLD и HLDA МП BM86 в минимальном режиме.
LOCK — блокировка шины, информирует устройства системы, что они не должны пытаться запрашивать шину. Формируется однообайтовым префиксом LOCK, располагаемым перед командой, и действует до конца выполнения этой команды, запрещая доступ к системной магистрали другим устройствам, в частности другим процессорам. При подтверждении запроса шины выходной буфер сигнала LOCK переводится в третье состояние.
Префикс LOCK не влияет на прерывания. Если при наличии блокировки внешняя система запрашивает шину по линиям RQ/GT, МП фиксирует запрос, но не подтверждает его до завершения команды, имеющей префикс блокировки. Программисты обычно используют этот префикс, когда необходимо идентифицировать состояние разделяемых ресурсов системы. Префикс LOCK может использоваться и в минимальном режиме, когда внешний сигнал блокировки LOCK отсутствует. В этом случае генерирование подтверждения HLDA на запрос шины HLD задерживается до завершения выполняемой команды.
Укрупненная структурная схема МП ВМ86 (рис. 1.2) содержит две относительно независимые части: операционное устройство, реализующее заданные командой операции, и устройство шинного интерфейса, осуществляющее выборку команд из памяти, а также обращение к памяти и внешним устройствам для считывания операндов и записи результатов. Оба устройства могут работать параллельно, что обеспечивает совмещение во времени процессов выборки и исполнения команд. Это повышает быстродействие МП, так как операционное устройство, как правило, выполняет команды, коды которых уже находятся в МП, и поэтому такты выборки команды не включаются в ее цикл.
Операционное устройство МП содержит группу общих регистров, арифметико-логическое устройство (АЛУ), регистр флагов F и блок управления.
Восемь 16-битовых регистров общего назначения участвуют во многих командах. В этих случаях регистры общего назначения кодируются трехбитовым кодом, который размещается в соответствующем поле (или полях) формата команды.
В соответствии с основным назначением рассматриваемых регистров выделяют регистры АХ, ВХ, СХ, DX, используемые прежде всего для хранения данных, и регистры SP, BP, SI, DI, которые хранят главным образом адресную информацию. Особенностью регистров АХ, ВХ, СХ, DX является то, что они допускают раздельное использование их младших байтов AL, BL, CL, DL и старших байтов АН, ВН, СН, DH. Тем самым обеспечивается возможность обработки как слов, так и байтов и создаются необходимые условия для программной совместимости ВМ86 и ВМ80. Соответствие регистров этих двух микропроцессоров указано в табл. 1.12, где FL — младший байт регистра F.
Рис. 1.2. Структурная схема МП ВМ86 |
Все остальные регистры являются неделимыми и оперируют 16-битовыми словами, даже в случае использования только старшего или младшего байтов. Указательные регистры SP и ВР хранят смещение адреса в пределах текущего стекового сегмента памяти, а индексные регистры SI и DI хранят смещение адреса соответственно в текущем сегменте данных и в текущем дополнительном сегменте.
Кроме основных функций, соответствующих названию регистров, общие регистры выполняют специальные функции, указанные в табл. 1.13.
Т а б л и ц а 1.13
|
Арифметическо-логическое устройство (АЛУ) содержит 16-битовый комбинационный сумматор, с помощью которого выполняются арифметические операции, наборы комбинационных схем для выполнения логических операций, схемы для операций сдвигов и десятичной коррекции, а также регистры для временного хранения операндов и результатов.
К АЛУ примыкает регистр флагов F (рис. 1.3, где X обозначает неопределенное состояние бита). Его младший байт FL полностью соответствует регистру флагов К580ВМ80, а старший байт FH содержит четыре флага, отсутствующие в К580ВМ80. Шесть арифметических флагов фиксируют определенные признаки результата выполнения операции (арифметической, логической, сдвига или загрузки регистра флагов). Значения этих флагов (кроме флага AF) используются для реализации условных переходов, изменяющих ход выполнения программы. Различные команды влияют на флаги по-разному
Назначение арифметических флагов.
CF — флаг переноса, фиксирует значение переноса (заема), возникающего при сложении (вычитании) байтов или слов, а также значение выдвигаемого бита при сдвиге операнда.
PF—флаг четности (или паритета), фиксирует наличие четного числа единиц в младшем байте результата операции, может быть использован, например, для контроля правильности передачи данных.
AF — флаг вспомогательного переноса, фиксирует перенос (заем) из младшей тетрады, т. е. из бита А3, в старшую при сложении (вычитании), используется только для двоично-десятичной арифметики, которая оперирует исключительно младшими байтами.
ZF — флаг нуля, сигнализирует о получении нулевого результата операции.
SF — флаг знака, дублирует значение старшего бита результата, который при использовании дополнительного кода соответствует знаку числа.
OF — флаг переполнения, сигнализирует о потере старшего бита результата сложения или вычитания в связи с переполнением разрядной сетки при работе со знаковыми числами. При сложении этот флаг устанавливается в единицу, если происходит перенос в старший бит и нет переноса из старшего бита или имеется перенос из старшего бита, но отсутствует перенос в него; в противном случае флаг OF устанавливается в нуль. При вычитании он устанавливается в единицу, когда возникает заем из старшего бита, но заем в старший бит отсутствует либо имеется заем в старший бит, но отсутствует заем из него. Имеется специальная команда прерывания при переполнении, которая в указанных случаях генерирует программное прерывание.