ВВЕДЕНИЕ
В наше время техника и технология развиваются очень быстрыми темпами, в особенности это относится к различного рода вычислительным комплексам (ВК). Одним из примеров ВК являются комплексы, основанные на базе микроЭВМ СМ–1800 которые были созданы еще в 80-х годах прошлого века. Естественно, что данные ВК устарели. Однако существует ряд ключевых положений, касающихся архитектуры и принципов функционирования вычислительной техники, которые остались незыблемыми и для современных ВК. Именно поэтому изучение архитектуры микроЭВМ СМ–1800 является весьма полезным для понимания принципов работы вычислительной техники, в том числе и современной. Структурная схема СМ–1800 представлена на Рисунке 1.
Реализовано в эмуляторе Не реализовано в эмуляторе
Рисунок 1 – Структурная схема микроЭВМ СМ-1800
1 ЦЕЛЬ РАБОТЫ
Данная лабораторная работа открывает цикл работ, целью которых является изучение архитектуры микроЭВМ на основе программного продукта “Эмулятор СМ-1800”.
Лабораторная работа “МикроЭВМ СМ-1800и её эмулятор на ПК” знакомит с основными характеристиками модулей и устройств реальной микроЭВМ СМ–1800, которые эмулированы программой для современного ПК. Подробно рассматриваются характеристики модуля центрального процессора, принципы организации выполнения процессором машинных команд, а также назначение и правила работы с пультом контроля и управления (ПКУ).
2 КРАТКАЯ ХАРАКТЕРИСТИКА МОДУЛЕЙ И УСТРОЙСТВ, ВХОДЯЩИХ В СОСТАВ СМ-1800
Все модули, входящие в состав СМ-1800, могут быть объединены в следующие функциональные группы: управления и обработки, ввода/вывода, внешней памяти. Большинство из этих модулей моделируются программой эмулятора.
Группа модулей управления и обработки предназначена для арифметической и логической обработки данных, организации обмена данными с устройствами ввода/вывода и включает в себя модули центрального процессора, таймера, системного контроля и памяти.
Модуль центрального процессора (МЦП) микроЭВМ СМ-1800 построен на базе микропроцессора КР580ИК80А, состав и характеристики микропроцессора рассматривается ниже. МЦП предназначен для логической и арифметической обработки информации и формирования интерфейса И41 (см. Рисунок 2).
Рисунок 2 – Структурная схема МЦП СМ-1800
Технические характеристики модуля центрального процессора представлены в Таблице 1.
Таблица 1 – Характеристика процессора КР580
тактовая частота, МГц |
2 |
|
разрядность |
8 |
|
Объем внутренней памяти, Кбайт |
оперативной |
1 |
постоянной |
2 |
|
максимальный объем адресуемой памяти, Кбайт |
64 |
|
количество адресуемых портов ввода/вывода |
по 256 |
|
время выполнения команд, мкс |
минимальное |
2 |
максимальное |
9 |
|
количество уровней прерывания |
8 |
С интерфейсных линий МЦП воспринимает сигналы запросов приоритетного прерывания, которые обрабатывается узлом прерывания. Порт ввода 03h[1] хранит указатели различного рода неисправностей, порт вывода 03h предназначен для задания кода шторы, управления памятью и освобождения интерфейса.
Модуль таймера (МТР) предназначен для выдачи временных меток и отсчета задаваемых интервалов времени. Основа МТР - шестнадцатиразрядный вычитающий счетчик, в который программно загружается необходимый временной интервал. По истечении заданного времени в систему через И41 выдается сигнал прерывания.
Модуль оперативной памяти (МОЗ) имеет объем 32К восьмиразрядных слов при произвольном порядке обращения к ячейкам.
Модуль системного контроля (МСК) предназначен для выполнения функций арбитража: запросов шины, сопряжения с органами управления и индикации эмулятора, формирования и выдачи в интерфейс сигнала синхронизации шины.
Устройство ввода/вывода алфавитно-цифровой информации (УВА) предназначено для подготовки текстов программ и данных, их редактирования и передачи в процессор, а также для отображения на экране алфавитно-цифровой информации, получаемой от процессора, Устройство состоит из алфавитно-цифрового дисплея (окно: СМ-1800 – Видеотерминал алфавитно-цифровой) и модуля параллельного интерфейса МИРПР (окно: СМ-1800– Клавиатура).
Модуль связи с ИПРС может быть использован для связи с периферийными устройствами ПУ имеющими последовательный интерфейс (например, принтер) и другими ЭВМ, имеющими выход на ИРПС.
Подробнее характеристики пульта контроля и управления рассматриваются в п.4.
3 ХАРАКТЕРИСТИКИ МИКРОПРОЦЕССОРА КР580ИК80А
На рис.3 приведена структурная схема восьмиразрядного центрального микропроцессора КР580ИК80А предназначенного для универсальных цифровых вычислительных систем. Практически именно с этого процессора началась эра массового применения персональных компьютеров.
Основными устройствами микропроцессора являются: восьмиразрядное параллельное двоичное арифметическое устройство, дешифратор команд, блок синхронизации и управления, набор внутренних регистров различного назначения. Среди внутренних регистров с точки зрения пользователя интерес представляют лишь некоторые, доступные ему посредством команд пользовательской программы.
Восьмиразрядный сумматор (аккумулятор) при выполнении команд преобразования данных, как правило, содержит первый операнд (например, первое слагаемое) до выполнения операции и получает результат после выполнения. Значение первого операнда при этом теряется. Аккумулятор является единственным регистром, через который команды ввода/вывода обмениваются информацией с портами периферийных устройств.
Шесть восьмиразрядных регистров общего назначения (В, С, D, Е, Н, L) представляют собой сверхоперативную память для хранения промежуточных результатов, организации счетчиков и хранения адресов ячеек памяти. В ряде команд регистры общего назначения (РОН) выступают парами как шестнадцатиразрядные регистры с именем по левому регистру пары. Пара регистров Н,L широко используется командами для организации косвенной адресации ячеек памяти. Буква М (код 110) в этих коротких однобайтных командах указывает на операнд, находящийся в памяти по адресу, хранящемуся в паре Н,L.
Программный счетчик (РС) представляет собой шестнадцатиразрядный регистр, постоянно указывающий на адрес выполняемой в данный момент команды. Увеличение содержимого РС происходит автоматически после завершения выполнения очередной команды, чем обеспечивается естественная последовательность выполнения команд программы в порядке их записи в памяти. Команды управления принудительно устанавливают значение программного счетчика на адрес, по которому должен осуществляться скачок в ходе выполнения программы.
Прежде чем рассмотреть назначение шестнадцатиразрядного указателя стека (SР), необходимо уяснить принцип работы с памятью магазинного типа - стеком. Стек в классическом понимании представляет собой набор ячеек (регистров), новые данные в который помещаются всегда сверху, "проталкивая" все ранее записанное вниз. Считывается первой информация, поступившая последней. При этом все содержимое стека поднимается на один регистр вверх. Такой механизм работы стека напоминает принцип работы оружейного магазина (обоймы). Команды обращения к стеку не содержат адреса, так как процессору "известно", что загрузка и извлечение информации всегда происходит через его верхний регистр. Благодаря этому команды записи (PUSH) и считывания (РОР) из отека - короткие, однобайтные.
На рисунке 4 изображены три участка оперативной памяти ЭВМ, в которых записан код основной программы (команды А1÷А8), код первой подпрограммы (команды В1÷В6), код второй подпрограммы (команды С1÷С4). Команды А3 и В4 - это команды вызова подпрограммы 1 и подпрограммы 2, соответственно. Выполнение этих команд связано с автоматической записью в стек адреса следующей команды (соответственно <А4> и <В5>). Команды возврата RET автоматически выталкивают из стека содержимое его верхнего регистра в программный счетчик PC, что обеспечивает безошибочный возврат в нужную точку программы (подпрограммы).
Рисунок 4 – Работа классического стека
Иметь стек в кристалле микропроцессора хорошо с точки зрения высокой скорости обращения к нему. Однако из-за ограниченности объема кристалла организовать достаточно емкий стек в процессоре не удается. В этом случае на практике стек организуется в любой части оперативной памяти, а в процессоре остается лишь один регистр, который содержит адрес "дна" стека, если он пустой, или адрес верхней заполненной строки отека (рисунок 3).
Работа с стеком, расположенном в памяти, подобна работе со стопкой документов при условии, что нельзя брать документы из середина стопки.
Указатель стека доступен программисту. Специальной командой можно записать в него наибольший адрес свободного участка памяти, где пользователь организует стек своей программы. Действие процессора по выполнению команды вызова подпрограммы заключается в отправке в стек двух байтов адреса следующей за САLL команды, т.е. адреса возврата из подпрограммы. При этом содержимое указателя стека уменьшается на две единицы. В программный счетчик записывается адрес начала программа, который содержится во втором и третьем байтах команда САLL. Таким образом, уже следующей исполняемой командой будет первая команда подпрограммы. Каждая подпрограмма заканчивается командой возврата RЕТ. Действия по выполнению этой команды очень просты. Из стека выталкиваются два верхних байта и загружаются в программный счетчик, указатель стека увеличивает свое значение на 2. Теперь следующей будет выполняться команда основной программы, следующая за программой САLL.
Стек может быть использован для временного хранения промежуточных результатов.
Микропроцессор КР580ИК80А для сопряжения с устройствами памяти и ввода/вывода имеет шестнадцатиразрядную шину адреса, что позволяет обращаться к 64К (65536) нумерованным ячейкам, (байтам). Данные и коды команд процессор получает и передает в обратном направлении посредством восьмиразрядной информационной шины (шины данных).
При выполнении команд, состав которых рассмотрен в одной из последующих работ, микропроцессор (блок синхронизации и управления) обеспечивает выработку управляющих и синхронизирующих сигналов, не требующих расшифровки и организующих функционирование системы. Выполнение команд, коды которых содержат от одного до трех байт, требует от одного до пяти машинных циклов разного назначения. Машинный цикл - это последовательность действий процессора по отношению к устройствам, подключенным к его шинам. Каждый машинный цикл для своего завершения требует от трех до пяти состояний (Т1, Т2, ..., Т5), длящихся каждое один тактовый период 0,5 мкс. Структура первого машинного цикла каждой команды представлена на Рисунке 5
.
Рисунок 5 – Структура машинного цикла
Для рассматриваемого микропроцессора различают следующие десять типов машинных циклов:
4 ПУЛЬТ КОНТРОЛЯ И УПРАВЛЕНИЯ (ПКУ)
4.1 Назначение ПКУ
Пульт контроля и управления используется для осуществления контроля состояния микроЭВМ и управления ее работой в режимах отладки и профилактики.
С помощью органов управления (переключателей) ПКУ выполняются следующие операции:
1) установка ЭВМ в исходное состояние;
2) ручное обращение к ячейкам оперативной памяти и портам ввода/вывода по их адресу для чтения или записи информации (кодов);
3) выполнение процессором машинной команды, код которой задан на переключателях ПКУ;
4) пошаговое выполнение процессором машинной команды по машинным циклам с остановками между циклами;
5) имитация сигналов прерывания;
6) остановка по адресу памяти или порта ввода/вывода, набранному на переключателях ПКУ.
4.2 Органы управления ПКУ
Органами управления ПКУ являются переключатели, которые могут находиться в двух положениях. Внешний вид пульта контроля и управления эмулятора СМ-1800 представлен на Рисунке 6.
Для установки эмулятора в исходное состояние используется переключатель СБРОС. При этом в программный счетчик процессора микроЭВМ записывается код (адрес) 0000.
Перевод эмулятора в режим выполнения команд по машинным циклам с остановами между ними осуществляется с помощью переключателя СТОП. Пуск эмулятора для выполнения одного цикла команды обеспечивается однократным нажатием переключателя ПУСК.
Выполнение машинной команды (после сброса в исходное состояние), код которой набран на переключателях ДАННЫЕ и АДРЕС, осуществляется при нажатии переключателя КОМ С ПУЛЬТА (команда с пульта). При этом на переключателях ДАННЫЕ должен быть набран код первого байта команды, а на переключателях АДРЕС - коды второго и третьего байтов команды (в порядке естественной записи).
Основное назначение восьми переключателей ДАННЫЕ - задание 8-битных кодов, записываемых в байты памяти и порты ввода/вывода.
Рисунок 6 – Внешний вид ПКУ эмулятора СМ-1800
Основное назначение шестнадцати переключателей АДРЕС - задание двухбайтного адреса ячейки памяти или однобайтного адреса порта ввода/вывода.
Для осуществления ручного обращения к ячейкам памяти и портам ввода/вывода используются переключатели, объединенные в группу ПРЯМОЙ ДОСТУП (ЗХ, ЗУ/УВВ, ЧТ/ЗАП, АВТ/ОДН, ВП).
Переключатель ЗХ (захват) обеспечивает возможность управления внутрисистемным интерфейсом с пульта контроля и управления, т.е. оператором. Эта возможность реализуется нажатием клавиши ЗХ. Положение переключателя ЗУ/УВВ определяет обращение к ячейкам памяти (ЗУ) или к портам ввода/вывода (УВВ). Переключатель ЧТ/ЗАП устанавливается соответственно в положение ЧТ при чтении, а в положение ЗАП - при записи кодов в ячейки памяти или порты ввода/вывода.
Если оператор устанавливает переключатель АВТ/ОДН в положение АВТ, заданная операция будет выполняться (повторяться) непрерывно. Установка переключателя в положение ОДН обеспечит однократное выполнение заданной операции.
Команда на выполнение заданной таким образом операции ручного обращения к памяти или портам ввода/вывода осуществляется нажатием на переключатель ВП (выполнение).
4.3 Органы индикации ПКУ
Индикация состояния микропроцессора и линий интерфейса осуществляется на ПКУ с помощью светодиодов, причем свечение светодиода соответствует логической единице.
Светодиоды ДАННЫЕ обычно индицируют состояние линий данных интерфейса. При ручном обращении к ячейкам памяти и портам ввода/вывода (переключатель ЗХ в нижнем положении) светодиоды ДАННЫЕ индицируют считываемую или записываемую информацию. При этом индикация сохраняется неизменной либо до следующего обращения к ячейкам памяти или портам ввода/вывода, либо до возврата переключателя ЗХ в исходное положение.
Светодиоды ДАННЫЕ индицируют положение переключателей ДАННЫЕ при задании команды с пульта в шаговом режиме, а также при имитации запросов прерывания (нажат переключатель ПРЕР).
Светодиоды АДРЕС либо индицирует состояние адресных линий интерфейса, либо при ручном обращении к ячейкам памяти или портам ввода/вывода и при задании команда с пульта в шаговом режиме - состояние переключателей АДРЕС.
Светодиоды, объединенные обозначением СОСТОЯНИЕ МИКРОПРОЦЕССОРА, индицируют состояние микропроцессора и некоторых линий интерфейса, являющихся входными для процессора (Таблица 2).
Таблица 2 – Назначения светодиодов
светодиод |
Состояние микропроцессора |
М1 |
Выполняется Цикл М1 – выборка первого байта команды |
ЧТ |
Выполняется цикл чтения |
ЗАП |
Выполняется цикл записи |
ОСТ |
Останов |
ОЖ |
Ожидание |
ВВОД |
Ввод информации из порта ввода в процессор |
ВЫВОД |
Вывод информации из процессора в порт вывода |
СТЕК |
Линия адреса интерфейса содержит адрес стека из указателя стека |
ЗАН |
Интерфейс занят каким либо задатчиком |
ПР |
Наличие запроса прерывания на входе процессора |
ППР |
Подтверждение запроса прерывания и переход процессора в машинный цикл прерывания |
РПР |
Состояние внутреннего триггера разрешения прерывания |
5 ТЕКСТ УЧЕБНОЙ ПРОГРАММЫ
Таблица 3 – Учебная программа
Адрес[2] |
Данные2 |
Код Ассемблера |
4000 |
31 |
LXI SP,8000h |
4001 |
00 |
|
4002 |
80 |
|
4003 |
21 |
LXI H,4030h |
4004 |
30 |
|
4005 |
40 |
|
4006 |
36 |
MVI M, 80h |
Таблица 3 – Учебная программа (продолжение)
4007 |
80 |
|
4008 |
23 |
INX H |
4009 |
36 |
MVI M,8Fh |
400А |
8F |
|
400В |
3A |
LDA 4030h |
400С |
30 |
|
400D |
40 |
|
400E |
86 |
ADD M |
400F |
32 |
STA 4032h |
4010 |
32 |
|
4011 |
40 |
|
4012 |
21 |
LXI H, 4700h |
4013 |
00 |
|
4014 |
47 |
|
4015 |
36 |
MVI M, C3h |
4016 |
C3 |
|
4017 |
23 |
INX H |
4018 |
36 |
MVI M, 10h |
4019 |
10 |
|
401A |
23 |
INX H |
401B |
36 |
MVI M, 47h |
401C |
47 |
|
401D |
21 |
LXI H, 4710h |
401E |
10 |
|
401F |
47 |
|
4020 |
36 |
MVI M, C9h |
4021 |
C9 |
|
4022 |
CD |
CALL 4700h |
4023 |
00 |
|
4024 |
47 |
|
4025 |
76 |
HLT |
6 СОДЕРЖАНИЕ РАБОТЫ
6.1 Задание
Изучить состав и характеристики модулей микроЭВМ (эмулятора) СМ-1800, обратив особое внимание на характеристики МЦП и ПКУ.
В соответствии с порядком выполнения работы (см. п. 6.2) записать в память эмулятора учебную программу, прочесть записанное (и то и другое в режиме ручного обращения к памяти), далее выполнить программу в пошаговом режиме, анализируя с помощью органов индикации ПКУ процесс выполнения команд по циклам и результаты выполнения циклов и программы в целом.
6.2 Порядок выполнения работы
7 ОФОРМЛЕНИЕ РЕЗУЛЬТАТОВ РАБОТЫ
Отчет о работе должен содержать:
8 КОНТРОЛЬНЫЕ ВОПРОСЫ
ЛИТЕРАТУРА
1 Видеотерминал и клавиатура микроЭВМ: Методические указания к лабораторной работе.- СПб.: СПбГТИ(ТУ), 2006.-20с.
2 Обработка прерываний. Модуль таймера: Методические указания к лабораторной работе.- СПб.: СПбГТИ(ТУ), 2006.-19с.
3 Стандартное программное обеспечение. Монитор: Методические указания к лабораторной работе.- СПб.: СПбГТИ(ТУ), 2006.-23с.
4 Программирование в кодах для микроЭВМ СМ-1800: Методические указания.- СПб.:СПбГТИ(ТУ), 2006.-24с.
5 Токхайм Р. Микропроцессоры: курс и упражнения. / Пер. с англ. ; под ред. В.Н. Грасевича, М: Энергоатомиздат, 1988.-336с.
СОДЕРЖАНИЕ
Введение ........................................................................................3
1 Цель работы ….......................................................................4
2 Краткая характеристика модулей и устройств,
входящих в состав эмулятора СМ–1800………..…………4
3 Характеристики микропроцессора КР580ИК80А …..........6
4 Пульт контроля и управления ….........................................11
4.2 Органы управления ПКУ …..........................................12
4.3 Органы индикации ПКУ …...........................................14
5 Текст учебной программы …...............................................15
6 Содержание работы …..........................................................17
6.1 Задание …........................................................................17
6.2 Порядок выполнения ….................................................17
7 Оформление результатов ….................................................18
8 Контрольные вопросы ..........................................................19
Литература.....................................................................................20
Скачано с www.znanio.ru
[1] Буква h после числа 03 здесь и далее означает 16-ричную систему счисления, как это принято при написании текста программы на языке Ассемблера.
[2] Числа представлены в 16-ричной системе счисления
[3] Причем, выполнение команды может происходить не только в автоматическом, но и в шаговом режиме (по циклам). В этом случае порядок нажатия на клавиши: СТОП, СБРОС, КОМ С ПУЛЬТА, ПУСК (столько раз, сколько машинных циклов в набранной команде, без одного).
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.