Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 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 |


