Справочный листок "ЮТ-88"


     Микросхема КР580ВМ80А - функционально законченный однокристальный микропроцессор с фиксированной системой команд. Применяется в устройствах обработки данных и управления.
     Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию к внешней памяти объемом до 65 536 байт и 256 устройствам ввода и вывода.
     Условное графическое обозначение микросхемы показано на рисунке 1, назначение выводов указано в таблице 1. Структурная схема микропроцессора изображена на рисунке 2.

Рис. 1. Условное графическое обозначение микросхемы процессора КР850ВМ80А
Рис. 1. Условное графическое обозначение микросхемы процессора КР850ВМ80А

Таблица 1

Рис. 2. Структурная схема микропроцессора КР850ВМ80А
Рис. 2. Структурная схема микропроцессора КР850ВМ80А

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

  • 16-разрядный регистр адреса команды (IP),
  • 16-разрядный регистр указателя стека (SP),
  • 16-разрядный регистр временного хранения (WZ),
  • 16-разрядная схема инкремента-декремента,
  • шесть 8-разрядных регистров общего назначения (В, С, D, Е, Н, L), которые могут использоваться и как три 16-разрядных регистра (ВС, DE, HL).

     Микропроцессор выполняет команды по машинным циклам. Число циклов, необходимое для выполнения команды, зависит от ее типа и может быть от одного до пяти. Машинные циклы выполняются по машинным тактам. Число тактов в цикле определяется кодом выполняемой команды и может быть от трех до пяти. Длительность такта равна периоду тактовой частоты и при частоте 2,0 МГц составляет 500 наносекунд.
     В начале каждого машинного цикла микропроцессор вырабатывает сигнал синхронизации SYN, который в сочетании с другими сигналами может быть использован для организации различных режимов работы процессора.
     На рисунке 3 показана диаграмма состояний типичного машинного цикла, показывающая последовательность перехода от такта к такту в машинном цикле и влияние внешних сигналов RDY, HLD и INТ на его выполнение. После подачи на вывод SR сигнала высокого уровня микропроцессор устанавливается в исходное состояние.

Рис. 3. Диаграмма состояний типичного машинного цикла
Рис. 3. Диаграмма состояний типичного машинного цикла

     В такте Т1 микропроцессор выдает на адресный канал адрес ячейки, в которой хранится команда программы, а через канал данных - информацию состояния. В такте Т2 анализируются состояния сигналов на входе RDY, "Подтверждение останова", и в зависимости от состояния этих сигналов микропроцессор переходит в состояние ожидания, останова или приступает к выполнению такта Т3. В такте Т3 при наличии сигнала высокого уровня на входе RDV микропроцессор принимает информацию по каналу данных, анализирует состояние сигнала на входе HLD, и если этот сигнал высокого уровня, то после окончания такта Т3 переходит в состояние захвата. В зависимости от кода выполняемой команды машинный цикл завершается после выполнения тактов Т3, Т4 или Т5.
     В конце машинного цикла снова анализируется состояние сигнала на входе HLD. При низком уровне сигнала проверяется, окончено ли выполнение команды. Если команда не закончена, то микропроцессор выполняет следующий машинный цикл команды, начиная с такта Т1. В конце каждой команды микропроцессор анализирует состояние сигнала на входе INT. Если сигнал высокого уровня и прерывание ранее было разрешено командой EI, то микропроцессор переходит к выполнению машинного цикла "Прерывание", начиная с такта Т1. В противном случае первый машинный цикл новой команды начинается с такта Т1.
     Действия, выполняемые микропроцессором в конкретном машинном цикле, определяются 8-разрядной информацией состояния, которая выдается через канал данных в такте Т1 каждого машинного цикла. Эта информация может использоваться для выработки сигналов обращения к микросхемам памяти, устройствам ввода/вывода и для организации различных режимов работы микропроцессора.
     В зависимости от сочетания сигналов состояния, выдаваемых в конкретном цикле, машинные циклы можно разделить на 10 типов:

     1. Цикл М1 - прием первого байта команды в регистр команд.
     2. Цикл чтения ЗУ (запоминающего устройства) по содержимому программного счетчика или содержимому одного из регистров ВС, DE, HL.
     3. Цикл записи в ЗУ - запись в ЗУ по содержимому одного из регистров ВС, DE, HL.
     4. Цикл чтения стека - чтение ЗУ по содержимому указателя стека.
     5. Цикл записи в стек - запись в ЗУ по содержимому указателя стека.
     6. Цикл ввода - ввод информации в регистр результата (аккумулятор) из внешнего устройства.
     7. Цикл вывода - вывод информации из регистра результата во внешнее устройство.
     8. Цикл прерывания - прием кода команды RST или CALL из контроллера прерываний.
     9. Цикл останова.
     10. Цикл прерывания при останове - прием кода команды RST или CALL при выводе микропроцессора из режима "Останов" по прерыванию.

     Наименования сигналов состояния, соответствие их разрядам канала данных и тактам машинных циклов приведены в таблице 2.

Таблица 2

     При выполнении команд микропроцессор может переходить в одно из трех состояний: "ожидание", "захват" или "останов", длительность которых определяется внешними управляющими сигналами.
     Сигнал высокого уровня на входе RDY обеспечивает автоматическое выполнение команд программы микропроцессором с частотой тактовых сигналов. Если на выводе RDY установлен сигнал низкого уровня, то микропроцессор переходит в режим "Ожидание" и формирует выходной сигнал WI высокого уровня.
     Сигнал RDY может быть использован для согласования работы микропроцессора с работой медленно действующих устройств, если длительность их цикла обращения составляет более одного периода тактовой частоты, а также для организации пошагового (по циклам) выполнения команды или покомандного выполнения программы.
     При подаче на вход HLD сигнала высокого уровня микропроцессор переходит в состояние "захват" и подтверждает переход в это состояние формированием сигнала высокого уровня на выходе HLDA.
     Буферные схемы канала адреса и данных микропроцессора переключаются в высокоомное (высокоимпедансное) состояние, а выходные управляющие сигналы - в состояние низкого уровня (за исключением сигналов TR и HLDA). Микропроцессор переходит в состояние "захват" в такте Т3, если выполняется цикл чтения и на входе RDY сигнал высокого уровня, и в такте, следующем за Т3, если выполняется цикл записи. Сигналы HLD и HLDA позволяют организовать режим прямого доступа к памяти для любого внешнего устройства, формирующего сигнал HLD.
     При выполнении команды HLT микропроцессор переходит в состояние "останов" и переводит буферные схемы канала адреса и данных в высокоомное состояние. Из состояния "останов" микропроцессор выходит при наличии сигнала высокого уровня на одном из его входов:

  • на входе SR - микропроцессор начинает работать с такта Т1 цикла М1;
  • на входе HLD - микропроцессор переходит в состояние "захват", а после перехода сигнала HLD на низкий уровень возвращается в состояние "останов";
  • на входе INT - микропроцессор переходит к выполнению цикла прерывания при останове с такта Т1, если команде HLT предшествовала команда EI "разрешение прерывания", иначе он остается в состоянии "останов".

     Сигнал высокого уровня на выводе INT позволяет прерывать выполнение текущей программы и переводить микропроцессор на выполнение подпрограммы обслуживания устройства, выдавшего запрос прерывания (например, часов). При поступлении сигнала INT микропроцессор (после окончания текущей команды) переходит с такта Т1 к выполнению машинного цикла "Прерывание" в том случае, если прерывание было разрешено ранее командой EI. При выполнении цикла "Прерывание" в такте Т1 микропроцессор выдает по шине данных сигнал состояния "Подтверждение прерывания". По окончании подпрограммы прерывания происходит возврат к прерванной программе.
     Сигнал высокого уровня на входе SR (длительность которого должна быть не менее трех периодов тактовой частоты) устанавливает микропроцессор в исходное состояние: триггеры разрешения прерывания и захвата, регистры команд, признаков и адреса команды устанавливаются в нулевое состояние. После окончания действия сигнала SR микропроцессор производит первое обращение за чтением команды к ячейке памяти по адресу 0000Н.
     Система команд микропроцессора состоит из 78 базовых команд, которые можно разделить на пять групп:

  • команды передачи данных - используются для передачи данных из регистра в регистр, из регистра в память;
  • арифметические команды - используются для сложения, вычитания, инкремента или декремента содержимого регистров или ячейки памяти;
  • логические команды - И, ИЛИ, сравнение, сдвиги;
  • команды переходов - используются для условных или безусловных переходов, вызова подпрограмм и возврата из них;
  • команды управления, ввода/вывода и работы со стеком - используются для управления регистром признаков, ввода и вывода информации.

     В микропроцессоре КР580ВМ80А принят формат информационного слова, представляющего собой 8-разрядное двоичное слово (байт) Формат информационного слова (данных):

D7    D6    D5    D4    D3    D2    D1    DO,

где D7 - старший разряд слова, а D0 - младший. Отрицательные числа хранятся в памяти в дополнительном коде.
     Формат команды зависит от типа операции - может быть одно-, двух- и трехбайтовым. Байты двух- и трехбайтовых команд должны храниться в ячейках памяти, следующих одна за другой. Адрес первого байта всегда является адресом кода операции. Формат команд микропроцессора показан ниже:

     Все команды микроЭВМ сведены в двух таблицах (1 и 2). Выделим наиболее общие закономерности их использования.

     1. Арифметические и логические операции разрешены только между аккумулятором и байтом данных или между аккумулятором и любым регистром.
     2. Аккумулятор и регистровая пара HL являются единственными регистрами, которые могут быть непосредственно загружены в память.
     3. Аккумулятор является единственным регистром, который может быть инвертирован, сдвинут, косвенно загружен в память с использованием регистровых пар ВС и DE или использован в командах ввода/вывода (IN, OUT).
     4. Регистровая пара HL является единственной, содержимое которой может быть передано в счетчик команд (команда PCHL) или указатель стека (команда SPHL).
     5. Регистровая пара НL может использоваться как аккумулятор двойной длины при сложении 16-разрядных чисел (команда DAD).
     6. Содержимое регистровых пар HL и DE можно менять местами (команда HCHG).
     7. Отдельные команды могут применяться для специальных функций. Команды XRAA или SUBA обнуляют аккумулятор. Команды ANA или ORA А очищают флаг переноса, а команда ADDA выполняет логический сдвиг аккумулятора влево.
     8. Команды увеличения (уменьшения) на 1 регистров (INR, DCR) действуют на все флаги, за исключением флага переноса. Команды увеличения (уменьшения) на 1 регистровых пар (INX, DCX) не оказывают влияния на флаги.
     9. В стек или из стека могут быть переданы только регистровые пары. Одной из таких регистровых пар является слово состояния микропроцессора, которое содержит аккумулятор (старший байт) и флаги (младший байт). Команды CALL и RET передают адрес в стек и обратно.
     10. При записи 16-разрядных адресов младший байт записывается первым.

     Операнды команд могут храниться в программно доступных регистрах микропроцессора или памяти. Для указания операнда в регистре используются регистровая и регистровая неявная адресации, для указания операнда в памяти - непосредственная, прямая, косвенная регистровая и стековая адресации.
     Регистр признаков микропроцессора используется для хранения пяти битов признаков, которые вырабатываются в результате выполнения некоторых операций:

  • S - бит знака; равен 1, если старший значащий разряд результата операции равен 1 (то есть результат операции - отрицательное число);
  • Z - бит нуля; равен 1, если результат операции равен нулю;
  • АС - бит вспомогательного переноса; равен 1, если при выполнении операции был перенос из третьего разряда сумматора в четвертый;
  • С - бит переноса; равен 1, если при выполнении операции был перенос из седьмого разряда сумматора или заем в седьмой разряд сумматора;
  • Р - бит четности; равен 1, если число единиц результата четное.

     Распределение разрядов в регистре признаков следующее:

D7D6D5D4D3D2D1D0
SZ0АС0Р1С


Hosted by uCoz