Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Упрощенная структурная схема микропроцессора КР580ИК80






 

 
 

 

 


Рис. 3.2

Клавиатура микролаборатории содержит 16 клавиш шестнадцатеричного кодирования 0-F и 9 служебных клавиш. Клавиша «Сброс» осуществляет сброс микропроцессора и индикатора в нулевое состояние. Данные с клавиш 16-ричного кодирования записываются в младший разряд индикатора и при последующих нажатиях сдвигаются влево в пределах 4-х младших разрядов. Клавиша «Устр. адр.» переносит данные из четырех младших разрядов дисплея в старшие и, одновременно, выводит в младшие разряды (правые) индикатора содержимое ячейки с соответствующим номером. Клавиши «Ад+» и «Ад-» увеличивают и уменьшают на единицу адрес ячейки памяти, отображенной на индикаторе. Клавиша «Зп» осуществляет запись данных из двух младших разрядов индикатора в ячейку памяти. При этом адрес ячейки увеличивается на единицу. Клавиша «Пуск» запускает микропроцессор на выполнение программы с адреса, установленного в старших разряда индикатора. Клавиша «Возвр» позволяет повторить запуск программы.

В микро-ЭВМ предусмотрены два различных режима работы. Тумблер режима может быть включен в положении «Авт» либо в положении «шаг». В первом случае микропроцессор выполняет программу с заданного адреса на максимальной скорости, дисплей не работает, микро-ЭВМ не реагирует на нажатие всех кнопок кроме «Сброс». Во втором случае программа выполняется в шаговом режиме. После нажатия кнопки «Пуск» выполняется одна команда и микро-ЭВМ переходит в режим ожидания. Дисплей отображает адрес следующей команды, содержимое аккумулятора и регистра признаков. Кроме того, после каждого шага команды программа «Монитор» записывает содержимое регистров микропроцессора в специальные ячейки ОЗУ, что позволяет проверить содержимое регистров на каждом шаге (табл. 3.3).

 

Таблица 3.3

Адреса регистров микропроцессора отображаемые на память

Адрес Регистр микропроцессора
83E0H Программный счетчик PC (младший байт)
83E1H Программный счетчик PC (старший байт)
83E2H Указатель стека SP(младший байт)
83E3H Указатель стека SP(старший байт)
83E4H L регистр
83E5H H регистр
83E6H E регистр
83E7H D регистр
83E8H C регистр
83E9H B регистр
83EAH Регистр признаков (F)
83EBH Аккумулятор (A)

 

Основными логическими операциями, выполняемые в цифровых устройствах являются операции И, ИЛИ, НЕ, ИКЛЮЧАЮЩИЕ ИЛИ, которые выполняются поразрядно. Кроме того, широко используются операции циклического сдвига (влево и вправо) и арифметические операции сложения и вычитания, которые выполняются с двоичными числами фиксированной длины. В общем случае результат сложения двух одноразрядных переменных – двухразрядный, причем младший разряд результата отображает значение суммы, а старший перенос в следующий двоичный разряд многоразрядной переменной. При вычитании знак (-) многоразрядных чисел означает заем из старшего разряда. Отрицательный результат в цифровых системах представляется в дополнительном коде, причем старший разряд числа является знаковым.

В микропроцессоре КР580ВМ80А все вычисления над 8-разрядными переменными производятся в АЛУ, результат вычислений всегда хранится в аккумуляторе (регистр А). Наличие переполнения в результате можно зафиксировать, проанализировав младший разряд регистра признаков (F).

 

3.3 Программа работы

3.3.1 Используя клавиатуру и дисплей микролаба занести в память указанный преподавателем начальный адрес программы и прочитать первые 20 ячеек памяти.

3.3.2 Используя клавиатуру и дисплей микро-ЭВМ осуществить запуск программы с адреса 0300H в шаговом режиме. Записать содержимое всех регистров микропроцессора после выполнения 5 и 10 первых шагов программы.

3.3.3 Используя клавиатуру и дисплей осуществить запуск программы с адреса 0300H в автоматическом режиме.

3.3.4 Используя клавиатуру и дисплей ввести в память микро-ЭВМ и запустить программу «бегущие огни». Программа приведена в таблице 3.3.

Таблица 3.3

Программа «бегущие огни»

Адрес Код Адрес Код Адрес Код
800A 800B 800C 800D 800E 800F 3E D3 FB 3E D3 F9 CD 3E D3 801A 801B 801C 801D 801E 801F F9 CD 3E D3 F9 CD C3 802A 802B 802C 802E 802D 802F 0B B1 C2 C2 C9

 

3.3.5 Включить микро-ЭВМ «Микролаб КР580» и ввести в память следующую программу

 

Адрес Код Адрес Код Адрес Код
  3A   3A ? 800A С3

 

В ячейки памяти 8100 и 8101 записать данные из таблицы 3.4. Произвести с этими данными операции И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, НЕ, сдвиг влево, сдвиг вправо, сложение, вычитание. Для этого в ячейку памяти 8007 записать коды соответствующих операций (система команд КР580 приведена в Приложении1).

 

Таблица 3.4

Данные для арифметических и логических операций

                         
  4E   AB FE         CB       EF
            DE EA   AB AA EE    

 

Переключить микро-ЭВМ на работу в шаговом режиме, запустить программу с адреса 8000 и зафиксировать содержимое аккумулятора и регистра признаков после выполнения команды с адресом 8007. Результаты оформить в виде таблицы (в столбцах указать операции и соответствующие им содержимое аккумулятора и регистра флагов) и объяснить расчетом.

 

3.4 Содержание отчета

Все программы в машинных кодах с мнемониками. Таблицы экспериментальных данных. Расчеты и выводы по каждому пункту.

 

 

Лабораторная работа №4

Исследование способов адресации операндов и команд условных и безусловных переходов.

 

4.1 Цель работы

Практическое ознакомление с видами адресации операндов микропроцессора КР580. Формирование навыков написания ветвящихся программ в машинных кодах.

 

4.2 Теоретические сведения

Микропроцессор КР580ВМ80А реализует четыре способа адресации – непосредственную, прямую, регистровую и косвенную. При использовании непосредственной адресации данные содержит сама команда. Помещаются они во втором и третьем байте трехбайтовой команды или втором байте двухбайтовой. При прямой адресации во втором и третьем байтах команды содержится полный шестнадцатиразрядный адрес памяти. При регистровой адресации код команды содержит указание на регистр или пару регистров, в которых находятся данные. Используемые при регистровой адресации команды являются однобайтовыми. Косвенная адресация отличается от регистровой лишь тем, что в регистровой паре, определяемой кодом команды, содержатся не данные, а полный шестнадцатиразрядный адрес ячейки памяти, в котором имеются эти данные. Старший байт адреса записывается в первом регистре пары, а младший во втором.

При выполнении микропроцессором некоторых команд в регистре флагов F вырабатываются признаки состояния. Формат регистра флагов микропроцессора КР580 имеет следующий вид:

 

Формат регистра флагов F имеет следующий вид:

Номер Бита                
Обоз- начение S Z   AC   P   C

 

Признаки в регистре флагов устанавливаются в следующих случаях

 

Z – признак нуля, устанавливается в 1, если результат выполнения операции нулевой.

S – признак знака, устанавливается в 1, если результат выполнения команды отрицателен. Единица в старшем разряде соответствует отрицательному числу в дополнительном коде.

AC – признак вспомогательного переноса, устанавливается в 1, если происходит перенос из младшей тетрады в старшую.

P – признак четности, устанавливается в 1, если число единиц в двоичном коде четное.

C – признак переноса, устанавливается в 1, если в результате выполнения операции с двумя 8-разрядными двоичными числами результат не помещается в разрядной сетке.

 

Команды условных переходов анализируют состояние определенных бит регистра признаков. Если условие выполняется, то они передают управление программой команде, адрес которой указан коде команды условного перехода, если нет – то следующей команде.

Команда jz передает управление, если флаг z=1; jnz – z=0.

Команда jc передает управление, если флаг с=1; jnc – c=0.

Команда jpe передает управление, если флаг p=1; jpo – p=0.

Команда jm передает управление, если флаг s=1; jp – s=0.

 

4.3 Программа работы

Написать программу в машинных кодах КР580 в соответствии с одним из вариантов задания.

1) Дан массив A из 10 однобайтных чисел. Переписать из массива A в массив B все числа, большие 05h и меньшие 20h.

2) Дан массив A из 10 однобайтовых чисел. Переписать его в массив B упорядочив числа по возрастанию. Сортировку массива произвести в соответствии со следующим алгоритмом: находится не превышающий всех прочих элемент массива и меняется местами с первым; затем в части массива, начинающегося со второго снова ищется наименьший элемент и обменивается со вторым и т.д. Когда обменивается последний элемент массив считается упорядоченным.

3) Дан массив A из 10 однобайтовых чисел. Переписать его в массив B со сдвигом на один разряд влево только числа, содержащие четное количество единиц.

4) Дан массив A из 10 однобайтовых чисел. Переписать его в массив B со сдвигом на один разряд вправо только числа, содержащие нечетное количество единиц.

5) Дан массив A из 10 однобайтовых чисел. Проверить есть ли в нем число 10h, если оно есть, выполнить сложение всех чисел массива А.

6) Дан массив A из 10 однобайтовых чисел, содержащий число AAh. Выполнить операцию И над всеми числами до первого числа AAh и операцию ИЛИ над всеми числами после него.

7) Написать программу вычисления логической функции Y=X1Ù (X2Ù X3Ú X4), где X1, X2, X3, X4 –логические переменные, хранимые в разрядах D0-D3 ячеки памяти 8200.

8) Дан массив A из 10 однобайтовых чисел. Переписать в массив В все числа большие 20h и подсчитать число таких чисел.

9) Дан массив из 10-и двухбайтовых кодов. Определить содержит ли он код FFFFh. Если да, то установить флаги C=1 и Z=0.

10) Написать программу сложения двух 32-разрядных двоичных чисел.

11) Написать программу вычитания двух 32-разрядных двоичных чисел.

12) Дан массив А из 10 двухбайтовых кодов. Определить сколько раз в нем повторяется код ABBA и подсчитать число таких кодов.

13) Дан массив A из 10 однобайтовых чисел. Определить число четное или нечетное число единиц содержится в этом массиве.

14) Заполнить память последовательностью чисел Фибоначчи 1, 1, 2, 3, 5, 8, 13, 21…. Заполнение прекратить, когда числа выйдут за пределы разрядной сетки.

15) Заполнить память последовательностью квадратов натуральных чисел. Заполнение прекратить, когда числа выйдут за пределы разрядной сетки.

Вариант требуемого массива чисел задается преподавателем:

1) 12, EF, 34, AA, AB, 7E, 10, 23, DE, AB

2) BA, AF, 11, 00, 70, AA, AB, BA, 45, FF

3) FF, 45, 7D, 1C, BA, 10, 9A, 0C, 83, A8

4) 67, AA, AB, BA, 20, 10, FF, FF, 09, 90

5) 34, 78, EC, AD, 90, AB, 80, ED, 06, AB

6) BA, FF, 34, 78, 09, E8, 12, 90, BC, DE

7) 70, AA, FF, FF, AB, BA, AA, AB, BA, FF

 

 

Лабораторная работа №5.

Изучение принципов микропрограммного управления.

5.1 Цель работы

Ознакомление с принципами построения вычислительных машин с фон Неймановской архитектурой.

 

5.2 Теоретические сведения

Большинство современных ВМ строятся по так называемой фон Неймановской архитектуре. Основные отличительные черты и принципы построения таких ВМ следующие:

1) Компьютер состоит из процессора (центрального обрабатывающего устройства), памяти и внешних устройств.
2) Единственным источником активности (не считая стартового или аварийного вмешательства человека) в компьютере является процессор, который, в свою очередь, управляется программой, находящейся в памяти.

3) Принцип двоичного кодирования

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

 

 
 

 


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

4) Принцип программного управления.

Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов – команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых ВМ. Команды программы хранятся в последовательных ячейках памяти. Процессор исполняет программу команда за командой в соответствии с изменением содержимого счетчика команд до тех пор, пока не получит команду остановиться.

5) Принцип адресности

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

6) Принцип однородности памяти

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

7) Принцип микропрограммного управления.

Суть этого принципа заключается в том, что машинный язык не является

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

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

 

5.3 Программа работы

Создать упрощенную схемную реализацию микропрограммного автомата, способного выполнять действия, указанные в табл. 5.1; коды для этих команд в соответствии с номером варианта приведены в таблице 5.2. После этого записать несколько команд в память (варианты в табл. 5.3) и проверить работу созданного микропрограммного автомата. В качестве памяти использовать масочное ПЗУ на диодных запоминающих элементах (рис. 5.1). В матрице данного типа горизонтальные линии являются линиями выборки слов, а вертикальные линиями считывания. Считываемое слово определяется расположением диодов в узлах координатной сетки. При наличии диода высокий потенциал выбранной горизонтальной линии передается на соответствующую вертикальную линию, и в данном разряде слова появляется сигнал логической единицы. При отсутствии диода потенциал близок к нулевому, т. к. вертикальные линии через резистор связаны с землей. В изображенной матрице при возбуждении линии выборки Ш1 считывается слово 1100 (в ячейке с номером один хранится это слово); при возбуждении Ш2 – 0001. Линии выборки являются выходами дешифратора адреса, каждая адресная комбинация возбуждает свой выход дешифратора, что приводит к считыванию слова из адресуемой ячейки.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.