Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

лабораторный практикум по микропроцессору КР580ВМ80/КР580ВМ80А (МП КР580)

Представленные работы предназначены для обучения студентов специальности «Автоматизированные системы обработки информации и управления» по курсу «Организация ЭВМ». 1-5 работы практикума являются 6-10 работами курса.

Цели и задачи практикума

Основные цели практикума состоят в углублении теоретических знаний в области архитектурных особенностей управляющих микро-ЭВМ и приобретении навыков построения программно-логических управляющих систем на основе однокристальных микропроцессоров.

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

В качестве однокристального МП в практикуме выбран процессор КР580ВМ80/КР580ВМ80А. Данный 8-разрядный процессор имеет все основные особенности, присущие современным функционально-полным микропроцессорам и при этом является наиболее простым в приобретении практических навыков при выполнении студентом лабораторных работ.

Для сокращения затрат времени студентов на выполнение работ в учебный процесс внедрен эмулятор emКР580, который представляет собой программу-приложение, имитирующую все основные действия, выполняемые микропроцессором КР580ВМ80/КР580ВМ80А при отработке им некоторой управляющей программы, составляемой студентом на языке Ассемблер.

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

НЕ нашли? Не то? Что вы ищете?

Вводная информация

Микропроцессор КР580 представляет собой изготовленную по n-МОП технологии БИС, содержащую около 5000 транзисторов. БИС процессора реализована на кремниевом кристалле размером около 30 мм2, заключенном в корпусе с 40 выводами. Длинна слова процессора равна 8 разрядам. Тактовая частота процессора равна 2 МГц. Уровни напряжения питания: +5, –5 и +12 В.

Микропроцессор КР580 предназначен для работы с памятью (постоянной и оперативной) с общим объемом до 64 Кбайт. Память имеет байтовую структуру – возможна адресация в памяти любого байта. При обращении к памяти используются 16-разрядные (2-хбайтные) адреса.

Характерные особенности организации МП КР580:

ü  Трехшинная структура: шина данных, шина адреса и шина управления.

ü  Магистральный принцип связей, реализованный в виде связывающей основные узлы МП двунаправленной 8-разрядной шины данных.

ü  Наличие регистровой памяти, образованной программно-доступными общими и специализированными регистрами (счетчик команд (PC), указатель стека (SP), указатель данных (HL)), а также регистрами временного хранения.

ü  Наличие средств организации стековой памяти (регистр – указатель стека, схемы выполнения операции инкрементации/декрементации, специальные команды стековых операций).

ü  Наличие 16-разрядной шины адреса, обеспечивающей возможность прямой адресации любого байта в памяти емкостью до 64 Кбайт.

ü  Наличие операций над двухбайтными словами (16-разрядными числами и адресами), что обеспечивается специальными командами, тандемными (2-х и 3-хбайтными) передачами.

ü  Использование 3-х форматов команд (1-, 2-х и 3-хбайтного) и разнообразных способов адресации (подразумеваемой (неявной), прямой, регистровой, косвенной, непосредственной, стековой), позволяющих при коротком 8-разрядном слове иметь достаточно гибкую систему команд.

ü  Возможность реализации векторного многоуровневого приоритетного прерывания путем подключения дополнительной БИС (контроллер прерываний).

ü  Возможность реализации в МП режима прямого доступа к памяти (ПДП) путем подключения дополнительной БИС (контроллер ПДП).

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

Отмеченные особенности подробно разъяснены в [1, 2, 3].

Структура МП КР580

На Рис. 0-1 представлена структурная схема МП КР580, а на Рис. 0-2 (см. стр. 8) показано назначение выводов корпуса процессора.

МП имеет 3 шины: 8-разрядную двунаправленную внутреннюю шину данных (ШД), 16-разрядную адресную шину (ША) и шину управления (ШУ).

Рис. 0-1. Структурная схема МП КР580.

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

ШУ содержит линии для передачи управляющих сигналов, признаков состояния процессора и периферийных устройств, в том числе линии: синхронизации передачи и идентификации информации, передаваемой по ШД; сигналов, информирующих МП о готовности периферийных устройств; сигнала запроса прерывания от периферийных устройств и сигнала разрешения прерывания и др.

Выводы микропроцессора имеют следующее назначение:

ü  Выводы C1 и C2 используются для ввода в микропроцессор синхросигналов от тактового генератора.

ü  Выводы ШД0ШД7 образуют двунаправленную шину данных для обмена данными между процессором и внешней памятью или внешними устройствами.

ü  Выводы ША0ША15 образуют шину адреса, которая используется процессором для вывода адреса ячейки памяти или адреса внешнего устройства, с которой(ым) будет проводиться обмен данными.

ü  Вывод СНХР (СИНХР) используется для синхронизации процессором внешних устройств.

ü  Вывод СБР – это аппаратный сброс микропроцессорной системы.

ü  Вывод ГТ используется процессором для приема сигналов от внешнего устройства или памяти о готовности его (ее) к обмену данными.

ü  Вывод ОЖ используется МП для формирования им сигналов внешнему устройству или памяти об ожидании готовности устройства (памяти) к обмену информацией между ним и процессором.

Рис. 0-2. Назначение выводов корпуса МП БИС КР580.

ü  Выводы ЧТ и ЗП используются процессором для формирования им сигналов чтения и записи для внешней памяти и устройств ввода/вывода.

ü  Выводы ЗПР и РПР – выводы для сигналов запроса и разрешения прерывания.

ü  Выводы ЗПДП и РПДП – выводы для сигналов запроса и разрешения прямого доступа к памяти.

Для нормального функционирования микропроцессорной системы недостаточно управляющих сигналов, генерируемых на выводах МП. МП-система в каждом машинном цикле должна получать более полную информацию о состоянии процессора. Из-за недостаточного количества выводов на корпусе МП процессор на первом такте каждого машинного цикла (МЦ) выдает через шину данных дополнительную информацию о своем состоянии, которая представляет собой 8-разрядное слово состояния процессора (ССП). Т. к. сигнал СИНХР вырабатывается в МП в начале каждого МЦ, то он используется в качестве сигнала, идентифицирующего информацию, представленную в ШД, как слово состояния. По сигналу СИНХР внешний по отношению к процессору регистр (регистр слова состояния РСС) должен читать данные с ШД и сохранять их в виде ССП на своих выходных выводах. Сигналы с выхода РСС используются в качестве сигналов управления периферией МП-системы [1, 2].

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

Блок регистров.

Микропроцессор КР580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор (A или Акк); регистры общего назначения (РОН) B, C, D, E; регистр признаков F; 16-разрядные специализированные регистры: счетчик команд (СК или PC), регистр-указатель стека (УС или SP), сдвоенный регистр косвенной адресации HL (H – регистр старшего полуадреса, L – регистр младшего полуадреса). Кроме этого имеются непосредственно недоступные программе регистры: 8-разрядные регистры временного хранения T, W, Z; 8-разрядный регистр команд (РК); 16-разрядный регистр адреса (РА). Имеется также возможность использовать пары регистров BC и DE для хранения 16-разрядных слов.

РОН используются для хранения операндов, промежуточных и конечных результатов, а также адресов и индексов при косвенной и индексной адресации. Аккумулятор является особым регистром и используется в качестве источника одного из операндов и места, где фиксируется результат операции. В командах аккумулятор в явном виде не адресуется. Из Рис. 0-1 видно, что он имеет двухступенчатую структуру, что объясняется его особым назначением.

В блоке регистров есть также схема инкрементации/декрементации, которая производит над содержимым регистров (без привлечения АЛУ) операцию прибавления/вычитания 1.

Арифметическо-логическое устройство.

АЛУ реализует простейшие арифметические и логические операции над байтами: сложение, вычитание, логическое И, логическое ИЛИ и т. п. Все более сложные операции (умножение, деление, элементарные функции и пр.) выполняются с помощью подпрограмм.

К одному из входов схемы АЛУ всегда подключен аккумулятор, к другому – любой из РОН (через регистр T). АЛУ непосредственно связано с регистром признаков (F), в соответствующих разрядах которого фиксируются особенности выполнения каждой операции. Структура регистра F приведена в Табл. 0-1.

Табл. 0-1. Формат регистра флагов (F).

D7

D6

D5

D4

D3

D2

D1

D0

S

Z

0

AC

0

P

1

CY (C)

Здесь:

S – флаг знака (принимает значение старшего разряда результата). S = 1 – если самый значащий бит результата равен единице, т. е. число отрицательное, иначе S = 0.

Z – флаг нуля. Z = 1, если результат операции нулевой, иначе Z = 0.

AC – флаг вспомогательного переноса (переноса между тетрадами байта). Если при выполнении операций происходит перенос из младшей тетрады в старшую, то AC = 1, иначе AC = 0. Для команд логического умножения признак вспомогательного переноса (AC) принимает значение 4-го разряда результата (аккумулятора): (AC) f A(3)

P – флаг четности (или паритета). Если число единиц в байте результата четно, то P = 1, иначе P = 0. Не следует путать понятие паритета с понятием четности в общеупотребительном смысле (для чисел, представленных в десятичной системе счисления).

CY (C) – флаг переноса (или заема), CY = 1 – если операция привела к переносу из старшего разряда (или заему в старший разряд), иначе CY = 0.

В состав АЛУ входит схема десятичной коррекции (ДК). Она предназначена для того, чтобы под воздействием специальной команды интерпретировать результат выполнения двоичной операции как результат операции десятичной арифметики. Для этого к старшей тетраде в схеме ДК прибавляется число 6, кроме тех случаев, когда-либо не возникал перенос ни из одной тетрады и содержимое старшей и младшей тетрад находится в пределах 0 – 9 и 0 – 9 (или 0 – 8 и A – F) соответственно, либо не было переноса из старшей тетрады, содержащей число 0 – 9 и был перенос из младшей. К младшей тетраде одновременно также прибавляется число 6, кроме случая отсутствия переноса из младшей тетрады, содержащей число 0 – 9. Межтетрадные связи при этом не разрываются. Десятичная коррекция может использоваться, например, в случае, когда необходимо вывести данные на сегментные индикаторы.

Рис. 0-3. Структура памяти МП КР580.

Структура памяти и форматы команд МП КР580

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

Если в процессе управления МП будет выполнять подпрограммы или процедуры обработки прерываний, то определенная часть оперативной памяти будет использоваться в качестве стека (стековой памяти). В данном МП используется "перевернутый" стек, т. е. при передаче в стек слова значение указателя стека (адрес вершины стека) уменьшается, а при извлечении слова из стека – увеличивается.

На Рис. 0-3 показана структура памяти МП КР580. В системе команд МП КР580 имеются однобайтные, двухбайтные и трехбайтные команды. Форматы команд процессора показаны на Рис. 0-4 (см. стр. 12). Формат команды и тип адресации задаются в команде неявно кодом операции. Адрес команды определяется адресом ее первого байта.

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

Некоторые команды имеют также сопутствующие данные (непосредственная адресация) – непосредственно за первым байтом команды располагаются данные. При прямой адресации (абсолютная адресация) команды в своем теле содержат адреса.

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

Рис. 0-4. Форматы 1-, 2-х и 3-хбайтных команд МП КР580.

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

Справочная информация по микропроцессору МП КР580

В Табл. 0-2 приведены условные обозначения, широко применяемые в справочной литературе при описании команд процессора(ов). Эти условные обозначения позволяют кратко изложить отличительные особенности каждой команды и используются при описании системы команд МП КР580. В Табл. 0-3 указаны широко употребляемые в командах процессора условные обозначения для описания условий.

Табл. 0-2. Условные обозначения, широко применяемые при описании команд процессора.

f, g

Операция пересылки.

n

Операция обмена.

AND

Конъюнкция (И).

OR

Дизъюнкция (ИЛИ).

XOR

Сумма по модулю 2 (исключающее ИЛИ).

INV

Инверсия (НЕ).

'

Команда оказывает воздействие на все признаки.

''

Команда оказывает воздействие на признак С.

'''

Команда оказывает воздействие на все признаки, кроме признака С.

R, R1

Содержимое регистров А, B, C, D, E, H, L или ячейки памяти М (HL). Большее число тактов команды соответствует работе с операндом, хранящимся в памяти.

M

Содержимое ячейки памяти М (HL).

YZ, RP

Содержимое регистровой пары BC (B), DE (D), HL (H) или регистра SP.

YZ’, RP’

Содержимое регистровой пары BC (B) или DE (D).

YZ’’, RP’’

Содержимое регистровой пары BC (B), DE (D), HL (H) или PSW.

(R)

Содержимое регистра.

(RP)

Содержимое регистровой пары.

M(RP)

Содержимое ячейки памяти по адресу, хранящемуся в регистровой паре RP.

RPH

Старший регистр в регистровой паре.

RPL

Младший регистр в регистровой паре.

PORT

8-разрядный адрес порта ввода/вывода.

I(PORT)

Содержимое порта ввода с адресом PORT.

O(PORT)

Содержимое порта вывода с адресом PORT.

(N)

Содержимое порта ввода или вывода с номером N (N = 0,1; ...; 255).

SP

Содержимое указателя стека перед выполнением команды.

N

Один из восьми уровней прерывания: 0, 1, 2, 3, 4, 5, 6, 7.

D8

8-разрядный операнд (содержимое второго байта двухбайтной команды).

D16

16-разрядный операнд (содержимое второго и третьего байта команды).

ADR, A16

16-разрядный адрес в трехбайтной команде.

M( )

Содержимое ячейки памяти по адресу, указанному в скобках.

-CON,

-COND

Часть мнемоники команды определяющая условие передачи, вызова и возврата из подпрограммы (-CON в мнемонике заменятся на NZ, Z, NC, C, PO, PE, P или M). В скобках указано число тактов команды при выполнении условия передачи управления (см. Табл. 0-3).

{ }

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

МЦ

Количество машинных циклов.

МТ

Количество машинных тактов.

Ф

Формат команды в байтах.

Табл. 0-3. Широко употребляемые в командах процессора условные обозначения для описания признаков (условий).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9