close

Вход

Забыли?

вход по аккаунту

ЯРОСЛАВ ГАШЕК;pdf

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
СЕВЕРО-КАВКАЗСКИЙ ГОРНО-МЕТАЛЛУРГИЧЕСКИЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ)
_____________________________________________________________________
Кафедра «Автоматизированных систем управления»
ЭВМ и периферийные устройства
Методические указания
к лабораторным работам для студентов направления подготовки
230100-«Информатика и вычислительная техника»
Владикавказ 2013 г.
УДК 004.2
ББК
Т 51
Составитель: Токарева Инна Васильевна, Чсиева Бэлла Брисовна
Рецензент: доцент, к.т.н., Соколова Екатерина Андреевна
Методические указания к лабораторным работам по курсу «ЭВМ и
периферийные
устройства»
для
студентов
специальности
230100-
«Информатика и вычислительная техника»- Владикавказ: "Терек", 2013.- 59 с.
Методические указания предназначены для выполнения лабораторных работ по
курсу "ЭВМ и периферийные устройства" для студентов специальности
230100-«Информатика и вычислительная техника» и содержат необходимые
материалы для изучения структуры и организации работы электронновычислительных машин и вычислительных систем.
Подготовлено кафедрой «Автоматизированных систем управления»
Редактор
Компьютерная верстка
Издательство «Терек» СКГМИ(ГТУ), 2013
Подписано в печать
Формат
Тираж ______ Объем усл.п.л. Заказ №.
Подразделение оперативной полиграфии СКГМИ (ГТУ) 362021, г.
Владикавказ, ул. Николаева, 44
1
СОДЕРЖАНИЕ
Лабораторная работа №1 Исследование работы полупроводникового ОЗУ
Лабораторная работа №2 Исследование работы непрограммируемого постоянного
запоминающего устройства
Лабораторная работа №3 Исследование работы блока минипрограммного
управления мини - ЭВМ
Лабораторная работа №4 Исследование работы центрального процессора ЭВМ
Лабораторная работа №5 Изучение работы интерфейса мини ЭВМ
2
ЛАБОРАТОРНАЯ РАБОТА № 1
Исследование работы полупроводникового ОЗУ
Цель работы: Ознакомление с назначением, характеристиками и
принципом построения полупроводникового запоминающего устройства (ЗУ);
изучение работы оперативного запоминающего устройства; изучение работы
типовой минисхемы ОЗУ на основе их таблицы функционирования.
Общие сведения
Для записи и хранения информации, представленной в форме двоичных
чисел, используются полупроводниковые запоминающие устройства.
Полупроводниковая память состоит из элементарных ячеек. Элементарные
ячейки внутри минисхемы памяти организованы одним из следующих
способов: каждая отдельная элементарная ячейка памяти адресуется
индивидуально; выделяется вполне определенное, жестко фиксированное число
элементарных ячеек, в которые может одновременно записываться и из них
считывается определенное число разрядов информации.
Запоминающее устройство (ЗУ) содержит N ячеек, в каждой из которых
может храниться слово с определенным числом разрядов n. Ячейки
последовательно нумеруются двоичными числами. Номер ячейки называется ее
адресом. Если для проставления адресов используются комбинации m –
разрядного двоичного кода, то число ячеек в ЗУ составляет N = 2m.
Количество информации, которое может храниться в ЗУ, представляют его
емкость М, которая выражается числом ячеек N с указанием n хранимых в них
слов в форме N·n. В общем случае М=N·n бит. Обычно разрядность ячеек
выбирают кратным байту (1 байт равен 8 бит, бит – это каждый разряд
двоичного числа). Большие значения емкости выражаются в единицах К = 210
= 1024 бит.
Быстродействие
ЗУ
характеризуется
временем
выборки
tв,
представляющим собой интервал времени между моментом подачи сигнала
выборки и появлением считанных данных на выходе, цикла записи tцз,
определяемым максимально допустимым временем между моментом подачи
сигнала выборки при записи и моментом последующего допустимого
обращения к памяти.
3
Оперативные ЗУ подразделяют на статические и динамические. В
статических ОЗУ информация разрушается только при принудительном
стирании, либо при отключении источника питания. В динамических ОЗУ при
считывании информация разрушается. Для сохранения ее необходимо
перезаписать
заново.
Для обозначения интегральных схем ОЗУ используется сокращение RAM
(Random Access Memory).
Оперативные запоминающие устройства
Типовая структурная схема ОЗУ приведена на рисунке 1.
Р3
Вх
Вых
A
n1
Шина
адреса
Дешифратор
строк
Т
Усилитель чтения
Усилитель
записи
ЭП
ЭП
ЭП
ЭП
ЭП
ЭП
ЭП
ЭП
ЭП
Т
n2
Вкл
Дешифратор
столбцов
Рис. 1
Информация хранится в накопителе, который представляет матрицу из
элементов памяти (ЭП), расположенных вдоль строк и столбцов. Кроме того, он
снабжен управляющими цепями для установки ЭП в любой из режимов: режим
хранения, в котором ЭП электрически отделен от входа и выхода минисхемы;
режим записи, согласно которому в ЭП записывается новая поступающая
информация с входа. Каждому ЭП приписывается соответствующий номер,
называемый адресом. Для поиска требуемого ЭП указываются строка и
столбец, соответствующие положению ЭП в накопителе. Адрес ЭП в виде
двоичного числа принимается по шине адреса в регистр адреса. Число строк и
столбцов накопителя выбираются равными целой степени двух. Если число
4
строк Nстр=2n1, а число столбцов накопителя Nстлб=2n2, то общее число ЭП
(ёмкость накопителя) М= Nстлб· Nстр = 2n1*2n2= 2n, где n = n1+n2 – число разрядов
принимаемого в регистр адреса.
Содержание работы
Лабораторная установка содержит: узел коммутации и формирования
цифровых сигналов; ПЗУ и ОЗУ на дискретных логических элементах и
цифровых устройствах; типовые минисхемы ОЗУ и ПЗУ (Рисунок 3).
ОЗУ содержит 16-битовый накопитель памяти на D-триггерах. Ячейки
нумеруются двоичными числами. Адрес первой ячейки – 0000, последней –
1111. Их десятичные номера 0 - 15. Информация по четырехразрядной шине
поступает на регистр адреса, выходы которого разбиты на две двухразрядные
группы, причем младшая группа А1А0 определяет адрес строки, а старшая
А3А2 – адрес столбца накопителя. Дешифраторы строк и столбцов
преобразуют эти адресные группы в сигнал на одном из соответствующих
выходов. Комбинация сигналов на выходах дешифраторов строк и столбцов
определяет адрес ЭП, куда информация заноситься или считывается. Адрес ЭП
задается кнопкой Кн1, формирующей сигналы низкого и высокого уровня (0
или 1).
ПЗУ на дискретных элементах включает дешифратор адреса, селектор
каналов и 4-х битовый накопитель памяти. Нумерация ЭП 0000…0011 (0 - 3).
Адрес ячеек памяти задается кнопкой Кн5. Индикация состояний ЭП
светодиодная. Записанная в ЭП информация выдается на шину данных. Запись
и считывание информации в ОЗУ осуществляется посредством узла
коммутации, включающего четыре кнопки управления П1…П4 и кнопку П5
подачи питания на ОЗУ.
На лабораторном стенде приведена минисхема.
5
ОЗУ
1
0
ПЗУ
Шина
Зап.
00
Дешифратор
строк
Регистр
адреса
С
A0
Т
01
02
03
Кн 3
04
05
06
08
Дешифратор
столбцов
И
12
09
13
10
14
11
02
П1
03
Зап.
РЗ
П2
П3 РС
15
П4
1
Дш1
РС
РС
A3
Счит.
ОЗУ/ПЗУ
Шина
К
01
07
A1
A2
00
Шина
РЗ
Р
О
1 0
данных
РЗ
Дш2
Шина
Сектор
данных
каналов
1 0
0
Кн 5
“0”
Уст. Кн.4
минисхема
Вых.1
Вых.2
1 1 0 0
A1
A2
RAM
A3
A4
B1
B2
B3
B4
3n.0
Рис. 1.3 Схема лабораторной установки
6
Назначение кнопок.
П1 – формирует сигнал разрешения считывания информации из ОЗУ;
П2 – формирует сигнал разрешения записи в ЭП ОЗУ;
П3 – формирует сигнал разрешения считывания информации из ПЗУ;
П4 – формирует сигнал разрешения записи в ЭП ПЗУ;
П5 – обеспечивает подачу питания на схемы ОЗУ: при выключенном
состоянии П5 – подается +5В для питания ПЗУ; во включенном состоянии –
ОЗУ.
Кн2 – формирует сигнал «0», «1» для записи в ЭП ОЗУ;
Кн3 – формирует сигнал «0», «1» для записи в ЭП ПЗУ;
Кн4 – устанавливает ОЗУ в исходное состояние;
Кн5 – формирует адреса ЭП в ПЗУ.
Минисхема - статическое ОЗУ для хранения 16 бит информации. Ячейки
памяти образуют четыре ряда и четыре колонки, представляют собой матрицу
триггеров. Для выбора ячейки (триггера), расположенного в ряду матрицы,
служат четыре адресных входа А1-А4, для выбора по колонке – входы В1 - В4.
Ячейка выбирается при подаче логической единицы по обоим адресам. Данные
записываются в ячейку по раздельным входам «Зп.0» и «Зп.1» . Для считывания
данных из памяти следует подать адрес ячейки по шинам An и Bn. Считанные
данные появятся на отдельных выходах «Сч.1» и «Сч.0»
7
Задание
Матрица – накопитель ОЗУ состоит из 16 ячеек памяти (рис. 3).
Определить адреса, в двоичном коде, строк и столбцов для внесения
информации - «1» в заданные (таблица 1) номера ячеек памяти. Код адреса
ячейки, адрес строки и столбца внести в таблицу 2.
Таблица 1.
Вариант
1
2
3
4
5
6
7
8
9
10
11
12
1
7
3
5
2
4
15
3
5
10
11
13
Номера ячеек для записи
информации «1»
3
9
11
2
13
16
12
4
7
16
14
1
8
6
16
7
10
13
12
8
5
9
11
12
14
12
9
13
6
8
7
5
9
4
8
12
15
8
9
6
12
1
2
16
5
10
12
13
Таблица 2
заданные
по
преподават.. варианту
Номера
ячеек
Уровень
сигнала
1
1
1
1
1
0
0
0
0
0
Код адреса
ячейки памяти
Адрес
строки
Адреса
столбца
8
Порядок выполнения
1. Ознакомится с назначением всех элементов управления на передней
панели и подать питание на схему +5 В. Кнопку П5 нажать и зафиксировать.
2. Подготовить ОЗУ к записи, для чего кнопкой Кн4 установить схему ОЗУ
в исходное состояние. Кнопку П2 на пульте управления нажать и
зафиксировать. В ячейки памяти, адреса которых определены в соответствии с
таблицей 4, ввести информацию в виде логических «1» кнопками Кн1 и Кн2.
3. Считать информацию со всех ячеек памяти накопителя ОЗУ, для чего
отжать кнопку П2, нажать и зафиксировать кнопку П1, кнопкой Кн1
устанавливать соответствующий адрес. Записанную в ячейках памяти
информацию отражает светодиод на шине данных. Убедиться, что результат
считывания соответствует заданию.
4. Ввести во все ячейки памяти сигнал «1». В ячейки, адреса которых
указаны преподавателем, записать сигнал «0». Проверить правильность записи
информации в выбранные ячейки. Кнопкой Кн4 установить схему ОЗУ в
исходное состояние. Кнопки П1 и П2 отжать.
5. Подать питание на ПЗУ, отжать кнопку П5. Подготовить ПЗУ к записи
информации – нажать и зафиксировать П4.
6. Ввести в ячейки памяти с адресами 0000 и 0011 сигнал «1», а в остальные
– сигнал «0». Адреса ячеек памяти задаются кнопкой Кн5, кнопка Кн3
формирует сигнал «1» или «0».
7. Считать записанную в ячейки памяти ПЗУ информацию. Отжать П4,
нажать и зафиксировать П3. Задавая адреса ячеек Кн5 регистрировать с
помощью светодиода хранимую информацию.
8. Отжать кнопку П3, нажать и зафиксировать кнопку П4. Посредством Кн5
и КН3 повторить запись логической 1 во все ячейки памяти. Убедиться, что
информация в ПЗУ вводиться только один раз (если не прерывается питание
схемы)
9. Изучить работу минисхемы. Составить таблицы состояний. Проверить
влияние отключения питания на состояние информации минисхемы.
Контрольные вопросы
1. Пояснить назначение и принцип работы регистра и дешифратора в схеме
ОЗУ.
2. Используя структурную схему ОЗУ поясните принцип работы
устройства.
3. Назовите основные параметры полупроводниковых ЗУ и поясните их
значение.
9
ЛАБОРАТОРНАЯ РАБОТА № 2
Исследование работы программируемого постоянного
запоминающего устройства
Целью работы является исследование особенностей функционирования
больших интегральных схем ( БИС ) программируемых постоянных
запоминающих устройств ( РПЗУ ) в режиме записи и считывания информации.
Общие сведения
1. Устройства хранения информации занимают значительное место в
структуре современных цифровых вычислительных систем. Особую роль при
этом играют полупроводниковые запоминающие устройства, предназначенные
для построения внутренней памяти ЭВМ. К устройствам данного класса
относятся оперативные запоминающие устройства (ОЗУ), постоянные
запоминающие
устройства
(ПЗУ),
программируемые
постоянные
запоминающие устройства (ППЗУ) и репрограммируемые постоянные
запоминающие устройства (РПЗУ).
2. Полупроводниковые ОЗУ обеспечивают запись, хранение и считывание
информации, поступающей из центрального процессора или устройств
внешней памяти ЭВМ. Они характеризуются высоким быстродействием,
однако при отключении питания информация, записанная в 0ЗУ данного типа,
стирается.
П3У предназначены для длительного хранения информации
многократного использования (константы, таблицы данных, стандартные
программы и т.д.). Запись информации в ПЗУ производится в процессе их
изготовления. ПЗУ функционируют только в режиме считывания и сохраняет
информацию при отключении питания.
В отличии от ПЗУ программируемые ПЗУ позволяют пользователю
производить однократную запись (программирование) информации по каждому
адресу. Основным режимом работы ППЗУ также является режим считывания
информации.
Исследуемые в настоящей работе РПЗУ сохраняют информацию при
отключении источников питания, а также допускают возможность ее
многократной перезаписи электрическими сигналами непосредственно самим
10
пользователем, что имеет принципиальное значение при отладке тех или иных
систем. В отличие от ОЗУ быстродействие этих устройств в режиме записи
информации значительно ниже, чем в режиме считывания информации. В связи
с этим можно считать, что основным режимом работы РПЗУ является режим
считывания информации.
3. Основными определяющими параметрами запоминающих устройств
являются информационная емкость и быстродействие. В качестве единицы
измерения информационной емкости используются бит, представляющий
собой один разряд двоичного числа. Часто используются производные
единицы:
байт ( 1 байт = 8 бит );
Кбайт ( 1 Кбайт = 210 байт );
Мбайт ( 1 Мбайт = 220 байт ) и др.
Информационная
произведения
емкость
записывается,
как
правило,
в
виде
Синф = n x m, где
n - число двоичных слов;
m - разрядность слова.
Например, емкость ОЗУ типа К155РУ1 составляет
Синф = 16 х 1 бит = 16 бит.
Емкость ППЗУ типа К155РЕЗ равна
Синф = 32 х 8 бит = 256 бит = 32 байта.
Быстродействие запоминающего устройства характеризуется величиной
времени обращения. Время обращения - это интервал времени от момента
подачи сигнала записи или считывания информации до момента завершения
операции,
т.е.
минимальный
интервал
времени
между
двумя
последовательными сигналами обращения к запоминающему устройству. Это
время может составлять от долей до единиц минисекунд в зависимости от типа
устройства.
4. В качестве примера запоминающего устройства рассмотрим БИС ПЗУ
информационной емкостью
11
Синф 1К х 4 = 4 Кбит (1К = 210 =1024 ).
Условно-графическое обозначение минисхемы приведено на рис.1.
Рис.1
На рис.1 использованы следующие обозначения:
A0 ÷ A9 - входы адреса
D0 ÷ D3 - входы / выходы данных
CS - выбор кристалла
RD - вход сигнала считывания
PR - вход сигнала программирования
ER - вход сигнала стирания
UPR -вход напряжения программирования
Режимы работы минисхемы представлены в таблице 1.
Таблица 1
CS
ER
PR
RD
A0÷A9
UPR
D1/0
Режим
0
X
X
X
X
X
Roff
Хранение
12
1
0
1
0
X
-33÷-31
B
X
Общее стирание
1
0
0
0
A
—//—
X
Избирательное
стирание
1
1
0
0
A
—//—
D1
Запись данных
1
1
1
1
A
-33÷5 B
D0
Считывание
4.1. В режиме хранения на вход С подается логический "0", при этом
независимо от характера сигналов на других управляющих и адресных входах
на выходах данных устанавливается высокоомное состояние ( Roff ).
4.2. При подаче CS = 1, ER = 0, PR = 1 и RD = 0 происходит стирание
информации во всех ячейках памяти минисхемы, что соответствует для данной
минисхемы установление всех ячеек в состояние логической "1".
4.3. При подаче сигналов CS = 1, ER = RD = 0 происходит избирательное
стирание информации только по одному адресу А, установленному на входах
AО ÷ А9 .
4.4. Для программирования ПЗУ на вход подается сигналы СS = 1 и PR =
0. При этом обеспечивается запись по заданному адресу А информации,
поступившей на входы DО ÷ D3.
4.5. Для считывания информации по адресу А на вход минисхемы
подаются сигналы СS = RD = 1. Считываемая информация поступает на
выходы D0 ÷ DЗ минисхемы.
4.6. В режиме стирания и программирования на вход UPR подается
повышенное напряжение -33 ÷ -31 В. В режиме считывания это напряжение
может иметь любое значение в интервале от -33 В до 5 В.
Описание объекта и средства исследования
Функциональная схема исследуемого устройства представлена на рис.2.
1. Исследуемая минисхема запоминающего устройства ДД2 представляет собой
ПЗУ с электрическим стиранием информации, рассмотренное выше.
13
2. Для задания кода адреса П3У используются десять кнопок с фиксацией SA7
÷ SA16. Отжатому состоянию кнопки соответствует сигнал логического "0",
нажатому состоянию - сигнал логической "1" (при этом загорается
соответствующий светодиод).
3. Данные для записи в ПЗУ формируются с помощью генератора пачки
импульсов и счетчика СТ (ДД1). Число импульсов задается с помощью
четырех кнопок с фиксацией на блоке К32 под надписью "Программатор СИ".
Генератор запускается путем нажатия поочередно кнопок "Устан.О" и “Пуск".
Число импульсов подсчитывается счетчиком, собранном на минисхеме, и в
двоичном коде через шинный формирователь ВД подается на вход данных
ПЗУ. При необходимости счетчик СТ может быть обнулен с помощью кнопки
SA6.
4. Шинный формирователь
ДДЗ
выполняет функцию коммутатора,
обеспечивающего заданную пересылку четырехразрядных слов данных. С этой
целью в минисхеме ДДЗ предусмотрены три различные группы входов /
выходов.
4.1. Входы D1 предназначены для приема данных от внешних устройств (
например, счетчика импульсов ) и пересылки их в П3У.
4.2. Выходы D0 предназначены для передачи считываемых данных на блок
индикации БИ2.
4.3. Выводы D1/0 представляют собой входы или выходы минисхемы в
зависимости от направления передачи данных.
4.4. При подаче на управляющий вход шинного формирователя Е сигнала
логического "0" данные с входов D1 подаются на выходы D 1/0. При подаче на
вход Е сигнала логической "1" данные с входов D 1/0 передаются на выход
DО.
4.5. Блок формирования импульсов управления представляет собой
устройство, формирующее сигнал управления работой ПЗУ.
4.5.1. В режиме "0бщее стирание" БФИ формирует на входе ER ПЗУ
сигнал логического "0". Сигнал формируется с помощью кнопки SА1 на блоке
К32 путем перевода ее в нажатое состояние и обратно.
4.5.2. В режиме "Избирательное стирание" БФИ формирует на входах ЕР
и РР ПЗУ сигналы логического "0". Сигналы формируются с помощью кнопки
SА2 путем перевода ее в нажатое состояние и обратно.
14
4.5.3. В режиме "Запись информации" БФИ формирует сигналы
логического "0" на входе PR ПЗУ и на входе Е шинного формирователя.
Сигналы формируются с помощью кнопки SАЗ путем перевода ее в нажатое
состояние и обратно. Указанные сигналы формируются при условии, что одна
из кнопок SА1 или SA2 находится в отжатом состоянии.
4.5.4. В режиме "Считывание информации" БФИ формирует сигнал
логической "1" на входе RD ПЗУ и на входе Е шинного формирователя.
Сигналы формируются с помощью кнопки SА4 путем перевода ее в нажатое
состояние и обратно. Считывание информации производится из ячейки памяти
с заданным адресом
А. После считывания данные через шинный
формирователь поступают на блок индикации БИ2.
4.6. Блок индикации БИ1, расположенньй слева на передней панели блока
К32, регистрирует число, находящееся в счетчике СТ2 ( ДД1 ). Число
представляется в десятичной форме с помощью двух семисегментных
индикаторов ( третьего и четвертого ). Кнопка " IO |_ 2”, расположенная под
индикатором, должна находиться в отжатом состоянии.
Блок индикации БИ2, расположенный на панели справа, регистрирует
данные, считываемые из ПЗУ. Информация на блоке индикации может быть
представлена как в двоичной, так и в десятичной форме,
4.7. Вышеуказанный ряд питающих напряжений, необходимый для
функционирования исследуемого устройства, формируется с помощью блоков
пи-
15
Рис.2
тания стенда. Для подачи необходимых напряжений соответствующие кнопки
питания должны находиться в нажатом состоянии, что сопровождается
свечением индикаторов "+5" , "+15" , "-15" , "-30".
Порядок выполнения работы
Для исследования режимов работы ПЗУ подготовить исходную информацию в
виде блока данных в двоичном коде и занести эти данные в таблицу (табл.2 ).
Значения данных в десятичном коде предварительно согласовать с
преподавателем.
1. Исследовать работу ПЗУ в режиме общего стирания информации.
1.1. Выполнить операции, указанные в п.4.5.1. с учетом п.2.4., и провести
общее стирание информации в ПЗУ.
1.2. Провести считывание информации из ПЗУ по 8 последовательно
расположенным адресам, начиная с адреса А = 1. Результаты измерений
занести в таблицу ( табл.2 ). Сделать выводы о работе ПЗУ в данном режиме.
2. Исследовать работу ПЗУ в режиме записи информации.
16
2.1. Выполнить операции, указанные в п.4.5.3., и провести запись
исходных данных по 8 последовательно расположенным адресам, начиная о
адреса А 1 в соответствии с табл.2
Таблица 2
№ п/п
Адрес
Исходны
е
Общее
стир.
Запись
Избир.
Общее
стир.
стир.
данные
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
2.2. Выполнить операции, указанные в п.4.1.2., и провести считывание
записанной в ПЗУ информации. Результаты измерений занести в таблицу
(табл.2). Провести сравнение результатов записи с исходной информацией.
3. Исследовать работу ПЗУ в режиме избирательного стирания.
3.1. Выполнить операции, указанные в п.4.5.2. для первых 4-х адресов,
начиная с адреса А = 1, проведя избирательное стирание информации по
указанным адресам.
3.2. Провести считывание всего блока из 8-ми данных. Результаты
считывания занести в таблицу ( табл.2 ). Сделать выводы о работе ПЗУ в
режиме избирательного стирания информации.
4. Провести общее стирание информации в ПЗУ, а затем повторное считывание
исходного блока данных, начиная с адреса А = 1. Убедитесь, что информация в
17
заданном массиве соответствует исходному состоянию и ПЗУ подготовлено к
повторному программированию.
СОДЕРЖАНИЕ ОТЧЕТА
1. Название и цель работы.
2. Основные характеристики исследуемого ПЗУ.
3. Функциональная схема исследуемого устройства.
4. Таблица по п.2 и выводы о работе ПЗУ.
Контрольные вопросы
1. Дайте определение основных видов запоминающих устройств.
2. Назовите отличительные особенности ОЗУ,ПЗУ, ППЗУ и РПЗУ.
3. Приведите основные параметры запоминающих устройств и единицы их
измерения.
4. Объясните основные режимы работы ПЗУ.
18
ЛАБОРАТОРНАЯ РАБОТА №3
Исследование работы блока минипрограммного управления
мини - ЭВМ
Цель работы: изучение блока минипрограммного управления операциями в
минипроцессорах. Разработка и реализация функциональных минипрограмм
элементарных операций.
Теоретические сведения
Любое цифровое устройство можно рассматривать состоящим из 2-х частей операционного и. управляющего блоков (рис.1).
ОПЕРАЦИОННЫЙ БЛОК характеризуется совокупностью определенных в нем
микроопераций, каждая из которых представляет собой некоторый
выполняемый в данном операционном блоке элементарный акт передачи или
преобразования информации, инициируемый поступлением функционального
сигнала на некоторую управляющую шину.
Примером микрооперации может служить передача информации из одного
регистра в другой, сдвиг на один разряд вправо или влево, логическое сложение
(дизъюнкция) двух операндов и другие элементарные действия.
Интервал времени, отводимый на выполнение микрооперации, называется
ТАКТОМ.
Любая команда, операция или процедура, выполняемая в операционном блоке,
описывается некоторой МИКРОПРОГРАММОЙ и реализуется за несколько
тактов, в каждом из которых выполняется одна или несколько микроопераций.
Для реализации команды, операции, процедуры (иначе говоря, микрокоманды)
необходимо на соответствующие управляющие шины операционного блока
подать определенным образом распределенную во времени последовательность
управляющих функциональных сигналов.
Эту последовательность вырабатывает УПРАВЛЯЮЩИЙ БЛОК
вычислительного устройства в зависимости от кода операции и оповещающих
сигналов из операционного блока, несущих информацию об особенностях
операнда и промежуточных и конечного результатов, в соответствии с
синхронизаторами, задающими границы тактов.
Существуют два основных метода построения логики управляющего блока, как
цифрового конечного автомата:
19
1.
Управляющий автомат с жесткой или схемной логикой.
Для каждой операции, задаваемой, например, кодом операции команды,
строится набор комбинационных схем, которые в нужных тактах возбуждают
соответствующие управляющие сигналы. Иначе говоря, строится конечный
автомат, в котором необходимое множество состояний реализуется на
запоминающих элементах (триггерах, регистрах), а функции переходов и
выходов реализуются с помощью комбинационных схем.
2.
Управляющий автомат с хранимой в памяти логикой.
Здесь каждой выполняемой в цифровом устройстве операции ставится в
соответствие совокупность хранимых в памяти слов - МИКРОКОМАНД.
Каждая микрокоманда (МК) содержит информацию о микрооперациях,
подлежащих выполнению в течение одного машинного такта, и указание, какая
должна быть выбрана из памяти следующая микрокоманда (В общем случае
зависящая от значений входных оповещающих сигналов).
Последовательность микрокоманд, выполняющих одну машинную команду или
отдельную процедуру, образует МИКРОПРОГРАММУ. Обычно,
микропрограммы хранятся в специальной памяти микропрограмм
(ПМП). Микропрограммы программируются в кодах микрокоманд и в таком
виде заносятся в память. Поэтому такой принцип управления цифровым
устройством называется МИКРОПРОГРАММИРОВАНИЕМ.
В настоящее время МИКРОПРОГРАММНОЕ УПРАВЛЕНИЕ ОПЕРАЦИЯМИ
является наиболее распространенным, особенно в процессорах мини- и микроЭВМ, а также в других устройствах (каналах управления периферийными
устройствами и др.)
ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА
1.1. СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И ФУНКЦИОНАЛЬНОЕ
НАЗНАЧЕНИЕ УЗЛОВ
Лабораторная работа выполняется на микротренажере МТ1804, структурная
схема которого представлена на рис.2. Внутренняя организация стенда
соответствует типовой архитектуре микроконтроллера, выполняемого на базе
микропроцессорного комплекта (МПК) серии К1804.
МПК К1804 представляет собой секционированный, микропрограммируемый,
четырехразрядный микропроцессорный комплект. В лабораторном стенде
20
применяются 32-х разрядные микрокоманды (МК). Формат МК, назначение
отдельных ее полей и битов приведены в таблице 1.
Основными узлами стенда являются большие интегральные схемы (БИСЫ):
• секция микропроцессорного элемента (СМПЭ) К1804ВС1;
• секция управления адресом микрокоманды (СУАМ) К1804ВУ1;
• блок регистров К1804ИР1.
СИПЭ – четырехразрядная микропроцессорная секция, предназначенная для
построения операционных блоков цифровых устройств с разрядностью,
кратной четырем. В состав СМПЭ входят: внутренняя память, АЛУ и
коммутаторы.
ВНУРЕННЮЮ ПАМЯТЬ составляют:
• 16 регистров общего назначения (РОН), адреса которых
указываются в поле "А" и поле "В" микрокоманды;
• рабочий регистр "Q", четырехразрядный, используется для
хранения промежуточных результатов.
АРИФМЕТИКО-ЛОГИЧЕСКОЕ УСТРОЙСТВО (АЛУ) выполняет три
арифметические и пять логических операций над двумя четырехразрядными
операндами ("R" и "S") при участии бита переноса в младший разряд. Код
источника операнда определяется соответствующим полем 4-ой тетрады
микрокоманды согласно таблице 3.
Выполняемая микрооперация определяется трехразрядным кодом в
соответствующем поле 3-ей тетрады микрокоманды согласно таблице 2.
Арифметические операции предназначены для работы с числами в
дополнительном коде. Логические операции выполняются поразрядно над
четырьмя парами битов.
В результате выполнения микрооперации формируется 4-х разрядный
выходной код АЛУ ("F"), а также признаки (флажки) результата ("С4", "ОVR",
"FЗ", "Z"), которые имеют следующий смысл:
бит "Z" - признак нулевого результата:
Z=1, если F=0;
Z=0, если F не ноль;
бит "FЗ" - старший разряд результата, используется как знак;
бит "ОVR" - признак переполнения разрядной сетки;
21
бит "С4" - признак выходного переноса.
Выходной код АЛУ ("F") как результат микрооперации может помещаться в
один из регистров блока РОН по адресу "В" или засылаться в буферный регистр
"Q". Код приемника результата определяется трехразрядным полем 5-ой
тетрады микрокоманды согласно таблице 4.
В АЛУ предусмотрена возможность запрещения загрузки результата, что
соответствует выполнению пустой микрооперации ("NOP").
КОММУТТАТОРЫ СМПЭ обеспечивают подключение источников (данных и
приемников результата соответственно ко входам АЛУ, осуществляют
коммутацию разрядов при сдвиге. Управляют коммутацией при сдвиге два
разряда ("М1" и "М0") микрокоманды согласно таблице 5.
УПРАВЛЯЮЩИЙ УЗЕЛ стенда предназначен для формирования в каждом
такте новой микрокоманды, которая будет управлять выполнением
микроопераций в следующем такте.
В состав управляющего узла входят:
• память микропрограмм (ПМП) с организацией 16x32 на базе
микросхем К155РУ2 (DD21-DD28) (РИС.3);
• четырехразрядная секция управления адресом микрокоманды
(СУАМ) K1804ВУ1 (DD20);
• 32-х разрядный регистр микрокоманд РГ МК К1804ИР1 (DD29DD36);
• схема управления выборкой следующего адреса МК К155РЕЗ
(DD19).
В течение такта выполнения микрокоманды в операционном узле (СМПЭ), в
управляющем узле формируется адрес новой МК, а на выходах ПМП - ее код,
хранящийся в ячейке с этим адресом. Выбор адреса следующей микрокоманды
определяется кодом поля 6-ой тетрады микрокоманды согласно таблице 6.
Для обеспечения 16-ти функций перехода к адресу следующей МК устройство
К1804ВУ1 (СУАМ) требует набор управляющих сигналов. Эти сигналы
формируются на выходе схемы управления выборкой следующего адреса. Эта
схема дешифрирует код выбора адреса (содержимое 6-ой тетрады МК) в
необходимый набор управляющих сигналов и выполнена в виде ПЗУ на 32
восьмиразрядных словах.
22
1.2. ПЕРЕКЛЮЧАТЕЛИ
На стенде (РИС. З) установлены клавишные переключатели с наименованиями
"МУЛЬТИПЛЕКСОР", "ДАННЫЕ", "АДРЕС"; Переключатель режимов работы
"3АГРУ3КА/РАБОТА"; клавиши "3АГРУ3КА", "ПУСК".
Под прозрачной защитной крышкой установлены переключатель режимов
"ШАГ/АВТОМАТ" и переключатель генератора синхросигнала
"ВНЕШН./ВНУТР.".
Клавишные переключатели "МУЛЬТИПЛЕКСОР" выполняют следующие
функции:
• подключение индикаторов "ДАННЫЕ" к проверяемым точкам
схемы;
• в режиме "ЗАГРУЗКА" этими переключателями задается номер
тетрады в двоичной системе счисления, загружаемой в память
микропрограмм (ПМП).
Клавишные переключатели "ДАННЫЕ" определяют содержимое тетрады,
загружаемой в ПМП, а переключатели "АДРЕС" задают адрес микрокоманды в
ПМП.
ВЕРХНЕЕ положение этих переключателей соответствует значению,
ЛОГИЧЕСКИЕ ЕДИНИЦЫ.
При выполнении лабораторной работы переключатель "ШАГ/АВТОМАТ"
должен находится в положении "ШАГ", а переключатель "ВНЕШН./ВНУТР." в
положении "ВНУТР.".
1.3. ИНДИКАЦИЯ
Светодиодные индикаторы "МИКРОКОМАНДА" предназначены для
индикации содержимого РГ МК. Индикация 32-х разрядного слова четырьмя
светодиодами осуществляется потетрадно. Номер тетрады, выводимой на
индикацию, набирается на переключателях "МУЛЬТИПЛЕКСОР" в двоичном
коде.
Светодиодные индикаторы "ПАМЯТЬ" предназначены для индикации
содержимого ПМП. Требуемый адрес памяти микропрограмм задается
двоичным кодом, набираемым на клавиатуре "АДРЕС", а номер индицируемой
тетрады - на клавиатуре "МУЛЬТИПЛЕКСОР".
В режиме "ЗАГРУЗКА" индикация загружаемой тетрады ПМП происходит
синхронно с загрузкой.
23
Светодиодные индикаторы "ДАННЫЕ" предназначены для индикации данных
в различных точках схемы. Коммутация светодиодов осуществляется при
помощи двоичного кода, задаваемого на клавиатуре "МУЛЬТИПЛЕКСОР".
В лабораторной работе используются для индикации следующие кодовые
комбинации на клавиатуре "МУЛЬТИПЛЕКСОР":
000 индицируется адрес следующей микрокоманды, т.е. выход "СУАМ".
Может использоваться для контроля последовательности выполняемых МК в
микропрограмме в шаговом режиме;
001
индицируется результат выполненной микрооперации,
110
т.е. выход "СМПЭ" (001), выход регистра выходных данных
111
(110, 111).
1.4. ЗАГРУЗКА И ВЫПОЛНЕНИЕ МИКРОПРОГРАММ
Ввод исходной микропрограммы в ПМП осуществляется в режиме
"3АГРУ3КА", а в режиме "РАБОТА" - ее выполнение.
Для загрузки микропрограммы необходимо переключатель
"ЗАГРУЗКА/РАБОТА" установить в положение "3АГРУ3КА". Далее каждая
микрокоманда загружается в ПМП потетрадно. Для записи тетрады
необходимо:
1. на клавиатуре "АДРЕС" набрать нужный адрес;
2. на клавиатуре 'МУЛЬТИПЛЕКСОР" набрать номер загружаемой
тетрады;
3. на клавиатуре "ДАННЫЕ" набрать необходимый код для записи в
выбранную тетраду по указанному адресу;
4. произвести запись, нажав клавишу "3АГРУ3КА".
Контроль за записываемой информацией осуществляется по показаниям
индикаторов "ПАМЯТЬ".
Для запуска микропрограммы необходимо ввести в РГ МК микрокоманду,
соответствующую стартовому адресу микропрограммы. Для этого на
клавиатуре "АДРЕС" в режиме "ЗАГРУЗКА" устанавливается стартовый адрес
и нажимается ОДИН раз клавиша "ПУСК".
Для дальнейшего выполнения микропрограммы переключатель
"ЗАГРУЗКА/РАБОТА" устанавливается в положение "РАБОТА".
24
В лабораторной работе микропрограммы выполняются в шаговом режиме, при
этом синхронизация стенда осуществляется от клавиши "ПУСК". При
однократном нажатии выполняется одна микрокоманда.
2. ПРИМЕРЫ МИКРОПРОГРАММ
ПРИМЕР1. ЗАГРУЗКА РЕГИСТРОВ ОБЩЕГО НАЗНАЧЕНИЯ.
Текст микропрограммы приведен в таблице 7 с адреса 0 по адрес 2.
Первая микрокоманда (по адресу 0 ПМП) осуществляет запись в регистр по
адресу 0 (РОН0) двоичного числа 5 (0101). В качестве источников операндов
используется поле "D" микрокоманды и константа нуля, а код АЛУ выбирается
таким образом, чтобы не изменялось значение операнда.
Микрокоманда по адресу 1 ПМП осуществляет чтение операнда из РОН без
загрузки считанной информации в другие регистры, а по адресу 2 ПМП чтение операнда из РОН0 с засылкой в регистр "Q".
С помощью описанных микрокоманд можно загружать любой из 16 РОН,
считывать их содержимое, меняя при этом информацию в полях "В" и "D"
микрокоманды.
Для проверки микропрограммы необходимо выполнить следующие действия:
1. переключатель "ЗАГРУЗКА/РАБОТА" установить в положение
ЗАГРУ3КА;
2. на клавиатуре АДРЕС набрать код пускового адреса
микропрограммы (в нашем случае - 0);
3. нажать один раз клавишу ПУСК, при этом произойдет запись в РГ
микрокоманды, записанной в ячейке 0 ПМП;
4. переключатель "ЗАГРУЗКА/РАБОТА" установить в положение
РАБОТА;
5. для отображения на индикационной линейке ДАННЫЕ результатов
выполнения
каждой
микрокоманды
на
клавиатуре
МУЛЬТИПЛЕКСОР установить код 111;
6. последовательно нажимая клавишу ПУСК, контролировать
выполнение каждой микрокоманды.
При однократном нажатии в режиме РАБОТА клавиши ПУСК выполняется
микрокоманда, записанная в РГ МК, и результаты ее выполнения отображаются
на индикационной линейке ДАННЫЕ, а в регистр микрокоманд (РГ МК)
заносится очередная микрокоманда.
25
ПРИМЕР 2. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ И
ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Текст микропрограммы, иллюстрирующий выполнение отдельных
арифметических и логических операций приведен в таблице 7 с адреса 3 по
адрес 6.
Микрокоманда по адресу 3 ПМП осуществляет инкремент содержимого РОН0
(загружен в примере 1) с записью результата в тот же РОН, а микрокоманда по
адресу 4 ПМП - восстанавливает прежнее значение содержимого РОН0 (т. е.
осуществляет декремент содержимого РОН0).
Микрокоманда по адресу 5 ПМП, используя оба канала адреса МК -"А" и "В",
осуществляет сложение содержимого РОН0 с самим собой, т.е. удвоение с
сохранение результата в РОН0.
Микрокоманда по адресу 6 ПМП осуществляет операцию логического
сложения результата предыдущей микрооперации с константой 0101.
Для проверки микропрограммы необходимо выполнить действия, описанные в
примере 1, изменив пусковой адрес.
ПРИМЕЧАНИЕ: для выполнения примера 2 необходимо произвести загрузку
РОН0, выполнив микрокоманду по адресу "0" ПМП примера 1.
ПРИМЕР 3. ВЫПОЛНЕНИЕ ОПЕРАЦИЙ СДВИГА.
Текст микропрограммы, иллюстрирующей выполнение отдельных сдвиговых
операций, приведен в таблице 7 с адреса 7 по адрес 8.
Первая из этих операций осуществляет сдвиг содержимого РОН0 (М0=0, М1=0)
на один разряд вправо (R20-R22 = 101), т.е. уменьшенный вдвое результат
логической операции дизъюнкции над содержимым РОН0 и константой нуля
заносится в регистр РОН0. Содержимое регистра "Q" участвует тоже в этой
операции сдвига (не участвуя в операции АЛУ), но данном случае не
контролируется.
Микрокоманда по адресу 8 ПМП осуществляет циклический сдвиг (М0=1,
М1=0) содержимого РОН0 влево (R20-R22 = 111) на один разряд с записью в
освободившийся разряд значения старшего разряда РОН0.
Изменяя содержимое полей "М0", "М1", "R20-R22" микрокоманды, можно
осуществлять сдвиг слов двойной длины. Выполнение операций сдвига
иллюстрируется таблицей 5.
26
ПРИМЕР 4. ВЫПОЛНЕНИЕ ОПЕРАЦИИ НОРМАЛИЗАЦИИ.
Пусть задано двоичное число с плавающей запятой в виде ненормализованной
мантиссы со знаком, записанной в двух регистрах РОН (РОН1 и РОН2), причем
знак и старшие разряды - в РОН2, и порядка числа без знака в регистре РОНЗ.
Операция нормализации заключается в сдвиге мантиссы влево до появления в
старшем после запятой разряде единицы и коррекции (уменьшения) порядка
числа на число единиц, равное числу сдвигов.
Текст микропрограммы, иллюстрирующей выполнение операции нормализации
двойного слова, представлен в таблице 8, а алгоритм - на рис.4.
Каждая операторная вершина алгоритма соответствует определенной
микрокоманде, записанной по адресу ПМП, указанному в этой вершине.
Так как при нормализации осуществляется сдвиг мантиссы влево с потерей
знака, то перед выполнением микрооперации сдвига осуществляется
запоминание знака в регистре РОН0 (МКЗ) и его восстановление после
нормализации (МК9). При каждом сдвиге в цикле осуществляется декремент
порядка.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Изучить описание и назначение органов управления и индикации
лабораторного стенда.
2. Осуществить запись в память микропрограмм (ПМП) содержимого
таблицы 7. Выполнить и зафиксировать результат выполнения каждой
микрокоманды из приведенных примеров в заранее подготовленной
таблице 9.
3. Записать
в
ПМП
текст
микропрограммы
примера
4.
Проконтролировать последовательность выполняемых микрокоманд и
конечный результат нормализации. Исходные значения числа выбрать
из таблицы 10 в соответствии с вариантом задания.
4. Разработать алгоритм и составить микропрограмму выполнения
операции обмена информацией между двумя регистрами РОН.
Исходные данные выбрать из таблицы 11 в соответствии с вариантом
задания. Загрузить микропрограмму в ПМП, выполнить операцию
обмена, зафиксировав результат каждой микрокоманды в заранее
подготовленной таблице.
5. Разработать алгоритм, составить и выполнить микропрограмму
подсчета числа единиц в слове, записанном в одном из регистров РОН.
Исходные данные выбрать из таблицы 12 в соответствии с вариантом
задания.
ТРЕБОВАНИЯ К ОТЧЕТУ
1. Структурная схема лабораторного стенда.
27
2. Разработанные алгоритмы микропрограмм.
3. Тексты микропрограмм и результаты выполнения каждой
отдельной
микрокоманды,
зафиксированные
в
заранее
подготовленные таблицы.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. В чем заключается принцип микропрограммного управления
операциями?
2. Каково назначение полей и отдельных битов в формате
микрокоманды?
3. Каков порядок загрузки микропрограмм в ПМП?
4. Каким образом можно проконтролировать порядок выполнения
микрокоманд в микропрограмме?
5. Как контролируются результаты выполнения микрокоманд?
6. Как перейти к выполнению микропрограммы?
28
29
30
31
Таблица 1
Номер
тетрады
0
1
2
3
4
5
6
7
Номер бита
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Определение поля
МК
Назначение
Данные «D»
Входные данные АЛУ
Адрес «B»
Адрес РОН по каналу «В»
Адрес «A»
Адрес РОН по каналу «А»
АЛУ
Функция АЛУ
СО
Входной перенос АЛУ
Определение источник
операнда для АЛУ
16
17
18
19
Источник операнда
20
21
22
23
Управление
приемником
результата
М1
24
25
26
27
28
29
30
31
М0
Управление
следующим адресом
Адрес перехода
Управляет операцией сдвига
Определяют приемник
результата выполнения
микрокоманды
Управляет операцией сдвига
Управляют выборкой
следующего адреса
микрокоманды в
микропрограмме
Определяет адрес перехода
32
Таблица 2
Зависимость функции АЛУ от кода поля микрокоманды
Двоичный код поля
микрокоманды
(разряды МК)
14
13
12
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Функция АЛУ – F
R + S + C0
S − R −1 + C0
R − S −1 + C0
R∨ S
R*S
R*S
R⊕S
R⊕S
Таблица 3
Зависимость источника операнда от кода поля микрокоманды
Двоичный код поля
микрокоманды
(разряды МК)
18
17
16
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Источник операндов АЛУ
R
A
A
0
0
0
D
D
D
S
Q
B
Q
B
A
A
Q
0
Таблица 4
Зависимость приемника результат от кода поля микрокоманды
Двоичный код поля
микрокоманды
(разряды МК)
22
21
20
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Загрузка
Выход К1804ВС1
Y
F →Q
Нет загрузки
F → B (*)
F→B
F 2 → B; Q 2 → Q
F 2→Q
2 F → B; 2Q → Q
2F → B
F
F
A
F
F
F
F
F
33
Где: F – результат операции АЛУ
Y – выходная шина данных БИС К1804ВС1
(*) – на выходе операционного блока результат по адресу «А»
микрокоманды
Таблица 5
Зависимость сдвиговых операций от кода «М0» и «М1»
Код
M0
M1
0
0
0
1
1
0
1
1
Сдвиг вправо
Сдвиг влево
R0,R3 – значения соответствующих разрядов РОН;
Q0,Q3 – значения соответствующих разрядов регистра «Q»;
F3 – значение старшего разряда результата.
34
Таблица 6
Зависимость адреса перехода от кода поля микрокоманды
Двоичный код поля
микрокоманды (разряды МК)
27
26
25
24
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
Функция
Переход на адрес из РГМК, если F≠0
Переход на адрес из РГМК
Переход на следующий адрес
Переход на адрес по назначению переключателей
адреса
Переход к подпрограмме, если F≠0
Переход к подпрограмме
Возврат их подпрограммы
Переход по стеку
Окончить цикл и вытолкнуть из стека, если F=0
Загрузить стек (и продолжить)
Вытолкнуть из стека (и продолжить)
Окончить цикл и вытолкнуть из стека, если C4
Переход на адрес из РГМК, если F=0
То же, если F3
То же, если OVR
То же, если C4
Где: F3 – старший (знаковый) разряд результата в АЛУ,
OVR – признак переполнения разрядной сетки,
C4 – признак выходного переноса
таблица 7
Тексты микропрограмм примеров 1-3
Номер Определение Номер
тетрады
поля МК
бита
0
1
0
Данные D
2
3
4
5
1
Адрес B
6
7
8
9
2
Адрес A
10
11
АЛУ
12
3
13
0
1
0
1
0
0
0
0
0
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
Адрес микрокоманды
4 5 6 7 8 9
1
0
1
0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0
0 0
0 0
0 0
1 0 1 1 1
0 0 1 1 1
10
11
12
35
4
5
С0
Источник
операнда
М0
Приемник
результата
M1
6
Управление
следующим
адресом
7
Адрес
перехода
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
0
1
0
0
0
0
0
0
1
Примечания
R0 := 5
R2 := R0 ∨ 0
Q := R0
R0 := R0+1
R0 := R0-1
R0 := R0+R0
R0 := R0 ∨ 5
R0 := R1(0,R0)
Q := R1(0,Q)
R0 := L1(R0,R0(3))
Q := L1(Q,Q(3))
Таблица 8
Микропрограммы примера 4
Номер Определение Номер
тетрады
поля МК
бита
0
1
0
Данные D
2
3
4
5
1
Адрес B
6
7
8
9
2
Адрес A
10
11
0
1
2
p
+q
q
1
1
0
0
0
1
0
0
1
0
0
0
3
0
0
0
1
0
0
0
0
0
1
0
0
Адрес микрокоманды
4 5 6 7 8 9
0
0
1
0
1
0 1 0
0
1 1 1
0
0 0 0
0
0 0 0
0
0
1
0
0
0
0
0
10
11
1
0
0
0
1
1
0
0
12
36
АЛУ
3
4
5
С0
Источник
операнда
М0
Приемник
результата
M1
6
Управление
следующим
адресом
7
Адрес
перехода
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
1
0
1
1
0
1
1
0
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
Примечания
R3 := p
R2 := +q
R1 := q
R0 :=SIGN
Q := R1
R2 * 0100
ПЕРЕХОД по F = 0
R2 := L1(R2,Q(3))
Q := L1(Q,0)
R3 := R3-1
R2 := R2 ∨ R0
R1 := Q
R3 := R3 ∨ 0
Таблица 9
Тексты микропрограмм задания
0
1
2
Определение Номер
поля МК
бита
0
1
Данные D
2
3
4
5
Адрес B
6
7
8
Адрес A
9
0
1
2
3
Адрес микрокоманды
4 5 6 7 8 9
10
11
12
37
АЛУ
3
4
5
С0
Источник
операнда
М0
Приемник
результата
M1
6
Управление
следующим
адресом
7
Адрес
перехода
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Примечания
Таблица 10
Варианты задания
Вариант
1
2
3
4
5
6
7
8
9
P
13
10
8
7
14
5
11
9
3
+q
-1
2
-3
1
-2
3
-0
0
-2
q
5
14
6
4
12
2
7
13
10
38
10
4
1
8
Таблица 11
Вариант
1
2
3
4
5
6
7
8
9
10
Номер РОН
0
15
3
12
5
13
4
11
2
9
1
4
15
3
11
6
13
5
12
8
Содержимое
2
11
5
0
3
14
6
10
1
8
7
9
0
7
5
2
13
5
3
1
Таблица 12
Вариант
1
2
3
4
5
6
7
8
9
10
Номер РОН
0
1
2
3
4
5
6
7
8
9
Содержимое
2
9
7
11
15
13
0
6
5
14
39
Лабораторная работа №4
ИССЛЕДОВАНИЕ РАБОТЫ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА ЭВМ
Цель работы: изучение общих принципов структурной организации ЭВМ
и ее ЦП, а также алгоритма выполнения процессором команд.
команд
Теоретические сведения
Общая структурная схема микрокомпьютера представлена на рисунке 1.
Рисунок 1 – Общая структурная схема микрокомпьютера
Микропроцессор.. Он является главным компонентом микромикро компьютера.
Характеристики микропроцессора – длина разрядной сетки (или разрядность
слова), набор выполняемых
лняемых команд, быстродействие и другие – в основном
определяют характеристики всего микрокомпьютера. Микро-процессор,
Микро
называемый иногда центральным процессором (ЦП)
ЦП) микро
микро-компьютера,
выполняет следущие фунуции
фунуции: управление и координация работы всех других
компонентов микрокомпьютера;
микрокомпьютера выборка команд и обрабатываемых данных из
основной памяти;
памяти
декодирование команд; выполнение с помощью
арифметическо-логического
логического устройства (АЛУ) арифметических,
арифметических логических и
других операций
операций, закодированных в командах; передача данных между
40
микропроцессором и основной памятью, а также между микропроцессором и
устройствами ввода-вывода
вывода; отработка сигналов от устройств ввода-вывода, в
том числе отработка сигналов прерывания с этих устройств.
йств. Микропроцессор –
весьма сложное цифровое электронное устройство.
устройство Приступая к написанию
программ, программист должен уяснить в основном лишь те его элементы,
которые отражены в программах или влияют на временные характеристики
выполнения программы
программы. К этим элементам относятся: форматы и системы
команд микропроцессора;
микропроцессора длительность выполнения разных команд; имена
(или номера) программно-доступных
программно
регистров (так
так называются регистры,
которые могут использоваться в составляемых программах);
программах длина разрядной
сетки (разрядность);
разрядность правила адресации внешних устройств и особенности
выполнения операций ввода
ввода-вывода; размер адресного пространства;
пространства схема
обработки прерываний.
Перечисленные элементы образуют основу архитектуры микропроцессора
и в совокупности представляют
представ
собой его модель с точки зрения программиста.
Для разных типов МП существует своя модель.
На рисунке 1.2 представлены важнейшие компоненты микропроцессора
микропроцессора, а
также его связь с основной памятью при помощи трех магистралей данных,
адресов и управления. В состав МП входят устройство управления (УУ),
арифметическо-логическое
логическое устройство (АЛУ) и набор регистров.
регистров
Устройство управления предназначено для управления работой всех
компонентов микрокомпьютера и обеспечения должного взаимодействия
различных компонентов
тов друг с другом. Управление осуществляется с помощью
импульсных сигналов, посылаемых УУ на соответствующие входы
управляемых компонентов.
компонентов Кроме того, УУ может получать ответные сигналы
с управляемых компонентов.
компонентов
Рисунок 1.2 – Микропроцессор и его связи с основной памятью
41
Физически УУ представляет собой цифровую электронную схему, на вход
которой поступают коды подлежащих выполнению операций, а входом
являются серии управляющих сигналов. Восприняв код той или иной операции,
УУ формирует цепочку управляющих сигналов и подает их в нужные точки
микрокомпьютера.
Арифметическо-логическое устройство предназначено для исполнения
арифметических и логических операций. Основу АЛУ составляет
операционный блок – цифровое электронное устройство, которое может
настраиваться на различные операции и непосредственно осуществлять их.
Настройка
операционного
блока
на
конкретную
операцию
и
последовательность шагов ее выполнения обеспечиваются с помощью
управляющих сигналов от УУ.
Регистры являются важными элементами микропроцессора. Регистр – это
электронное цифровое устройство для временного запоминания информации в
форме двоичного числа или кода. Запоминающим элементам в регистре
является триггер, который может находиться в одном из двух состояний. Одно
из этих состояний соответствует запоминанию двоичного нуля, а другое –
запоминанию двоичной единицы. В общем случае регистр содержит несколько
связанных друг с другом триггеров – по одному триггеру на каждый разряд
запоминаемого двоичного числа. Число триггеров в регистре называется
разрядностью регистра. Например, регистр из восьми триггеров – это 8разряюный или 8-битовый регистр (так как каждый разряд регистра
обеспечивает хранение одного бита информации).
Многие регистры специализированы по своей функции. Так, существуют
регистр-аккумулятор или просто аккумулятор, программный счетчик, регистр
команд, регистр адреса памяти и т.д. Аккумулятор входит в АЛУ и
предназначен для хранения одного из операндов перед выполнением операции
в АЛУ или для кратковременного запоминания результата операции. Операнд –
это данное, используемое в текущей операции. Например, в операции
суммирования операндами являются оба слагаемых.
Программныйсчетчик (счетчик команд, регистр адреса команды)
служит для формирования и запоминания адреса очередной выполняемой
команды. После выполнения каждой команды программный счетчик содержит
адрес следующей команды, по которому эта команда хранится в памяти
микрокомпьютера.
42
Регистр команд используется для хранения кода текущей выполняемой
команды. Входящий в состав команды код операции используется, как уже
говорилось, для формирования в УУ определенной серии управляющих
сигналов, зависящей от конкретного кода операции. Оставшаяся часть кода
команды может содержать информацию об адресах операндов, участвующих в
выполнении данной команды.
Регистр адреса памяти служит для запоминания адреса кода команды,
операнда или результата операции во время извлечения (чтения) команды или
операнда из памяти или записи результата операций в память. Регистр адреса
памяти может входить не в состав МП, а в состав элементов памяти
микрокомпьютера.
Изменить роль специализированных регистров или даже узнать их
содержимое программным путем нельзя, т.е. эти регистры, как говорят,
программно-недоступны. Но в состав МП входят и регистры, которые
программист может использовать в своей программе. Такие регистры
микропроцессора называются программно-доступными. Состав и назначение
их различны в разных типах микропроцессоров. Однако среди них почти всегда
имеются регистр слова состояния процессора (РССП) и несколько регистров
общего назначения (РОН).
Регистр слова состояния процессора хранит слово состояния процессора
(ССП), отражающее информацию о состоянии МП и выполняемой им
программы в каждый данный момент времени.
Регистры общего назначения обычно не имеют конкретного
функционального назначения. Программист может в своей программе
задействовать их так, как он считает нужным. Чтобы отличить РОНы друг от
друга им присвоены уникальные имена (или номера), которые и записываются в
программе.
Основная память. Микропроцессор может обрабатывать только те
данные, которые находятся в основной памяти. Основная память обычно
состоит из двух частей – ОЗУ и ПЗУ (смотри Рисунок 1).
Оперативное
запоминающее
устройство
обеспечивает
чтение
находящихся в нем данных и запись в него новых данных. В
микрокомпьютерах ОЗУ обычно реализуется как энергозависимая память, т.е.
такая память, содержимое которой разрушается (“стирается”) при выключении
микрокомпьютера.
43
Постоянное запоминающее устройство обеспечивает только чтение
данных, которые однажды были записаны в ПЗУ. Таким образом, содержимое
ПЗУ не может быть изменено микропроцессором, оно постоянно (отсюда и
название этого вида памяти). Это устройство создается как энергонезависимая
память: ее содержимое не “стирается” при выключении питания
микрокомпьютера. Запись нужных данных в ПЗУ осуществляется на
специальных устройствах, вне микрокомпьютера. В ПЗУ помещают обычно
некоторые особо важные или не подлежащие изменению программы и
разнообразные константы.
Интерфейсы для устройств ввода (ИВВ) и вывода (ИВЫВ). Они
представляют собой блоки сопряжения с устройствами соответственно ввода и
вывода. Не останавливаясь пока на описании устройств ввода-вывода, отметим
лишь, что термин “интерфейс” означает приблизительно “сопряжение двух
устройств друг с другом с помощью аппаратурных и программных средств”.
Необходимость интерфейсов, или, как их еще называют, интерфейсных блоков
(контроллеров), вызывается тем, что УВВ и УВЫВ (например, дисплей,
печатающее устройство, НГМЛ и т.д.) нельзя непосредственно подключать к
микрокомпьютеру. Одной из причин этого является то, что количество и
характер сигналов, передаваемых и принимаемых по системной магистрали, с
которой связаны все компоненты микрокомпьютера, как правило, отличаются
от количества и типа сигналов, формируемых или воспринимаемых
устройством
ввода-вывода.
Соответствующий
интерфейсный
блок
обеспечивает должное согласование сигналов системной магистрали и
устройства ввода-вывода.
Системная магистраль (СМ). Обычно она содержит магистрали адресов
(МА), данных (МД) и управления (МУ). Каждая из них состоит из набора
проводников, по которым МП передает или принимает определенные
электрические сигналы. Магистраль адреса предназначена для цифрового
адреса ячейки или внешнего устройства, магистраль данных – для передачи и
приема данных (например, передача информации из МП в ОЗУ происходит по
МД). Магистраль управления используется для передачи сигналов управления,
которые сопровождает любую передачу адреса или данных.
Источник питания (ИП). Обычно ИП формирует выпрямленные
стабилизированные напряжения +12, –5 и +5 В. Этот набор напряжений может
изменяться для различных классов микрокомпьютеров.
44
Структура микрокомпьютера.
микрокомпьютера На рисунке 1.3 дана структурная
структу
схема,
отражающая важнейшие компоненты МП, ОП и связи компонентов друг с
другом с помощью магистралей данных, адреса и управления.
управления
Рисунок 1.3 – Развернутая структурная схема микрокомпьютера (без устройств
ввода-вывода)
Основная память представлена в совокупности блока ячеек памяти и
регистра адреса
адреса. Процесс чтения (выборки) информации из ячейки или записи
(занесения) информации в ячейку называется доступом к памяти.
памяти Для доступа
к памяти предварительно по магистрали адреса в регистр адреса должен быть
помещен адрес той ячейки
ячейки, к которой производится доступ.
В состав МП входит генератор тактовой частоты (на рисунке 1.3 не
показан). Он предназначен для синхронизации (т.е.
е согласования во времени)
работы компонентов микрокомпьютера.
микрокомп
Генератор формирует периодическую
последовательность импульсов с частотой от нескольких сотен килогерц до
нескольких мегагерц в зависимости от типа микропроцессора
микропроцессора. Напомним, что
герц – это единица измерения частоты колебаний, равная одному колебанию в
секунду.
45
Регистры
Регистры процессора можно разделить на следующие группы:
группы
регистры общего назначения;
• сегментные регистры;
регистры
• регистр указателя команд и флаговый регистр;
• регистры дескрипторов;
дескрипторов
• управляющие регистры;
регистры
• регистры системных адресов;
• отладочные регистры;
регистры
• тестовые регистры.
регистры
Регистры общего назначения являются 32 разрядными.
разрядными При этом для
сохранения совместимости с младшими моделями процессор 80386
поддерживает структуру регистровых файлов процессоров 8086 и 80286,
действительны все наим
наименования, применявшиеся для обозначения 16- и 8разрядных регистров. Например,
Например для процессора 80386 все следующие
операторы являются допустимыми:
допустимыми
•
MOV EAX,0
MOV AX,0
MOV AH,0
MOV AL,0
Флаговый регистр имеет 32-разрядную структуру, представленную на
рисунке.
46
Ре- VM RF x NT IOPL OF DF IF TF SF ZF x AX x PF x CF
зерв
Флаговый регистр EFlags.
Флаги регистра EFlags используются следующим образом:
OF (Overflow) - флаг переполнения. Указывает, что в результате
выполнения арифметической команды возникло переполнение старшего
разряда результата;
• DF (Direction) - флаг направления. Определяет, в каком направлении
будут пересылаться данные строковыми командами - от младших адресов к
старшим или наоборот;
• IF (Interrupt) - флаг разрешения прерываний. Указывает на возможность
внешних прерываний;
• TF (Trap) - флаг пошагового выполнения. Устанавливает выполнение
команд процессора в пошаговом режиме (для отладки программ);
• SF (Sign) - знаковый флаг. Содержит знак результата после выполнения
арифметических операций (0 = '+',1= '-');
• ZF (Zero) - флаг ноля. Содержит 1, если результат арифметической
операции или операции сравнения ненулевой, в противном случае содержит 0;
• AF (Auxiliary) - дополнительный флаг переноса. Содержит значение
переноса из 3-го бита восьмибитовых данных;
• PF (Parity) - флаг контроля четности. Содержит 1, если сумма единиц в
восьми младших разрядах регистра является четным числом, или 0, если она
нечетна;
• CF (Carry) - флаг переноса. Используется арифметическими командами и
командами сдвигов;
• VM (Virtual Mode) - при VM=1 указывает на включение виртуального
8086 в защищенном режиме процессора 80386;
• RF (Resumption Flag) - используется совместно с отладочными
регистрами контрольных точек или пошагового режима. При RF=1 ошибки,
возникшие во время отладки при исполнении команды, игнорируются до
выполнения следующей команды;
• NT (Nested Task) - признак вложенности задач; NT=1 указывает, что
текущая задача является вложенной по отношению к другой задаче;
• IOPL (Input / Output Privilege Level) - два бита, содержимое которых
указывает на уровень текущего приоритета (от 0 до 3).
Дескрипторные регистры не могут использоваться программно. Каждый
дескриптор связан с одним из шести селекторов и содержит 32 - байтовый
базовый адрес сегмента, 32- байтовый размер сегмента и его атрибуты.
•
47
В IBM-совместимых ПК применяются процессоры (CPU — Central
Processor Unit), совместимые с семейством 80х86 фирмы. В оригинальной IBM
PC использовался процессор 8088 с 16-разрядными регистрами. Все старшие
модели процессоров, в том числе 32-разрядные (386, 486, Pentium, Pentium Pro)
и с 64-разрядным расширением ММХ, включают в себя подмножество системы
команд и архитектуры нижестоящих моделей, обеспечивая совместимость с
ранее написанным ПО.
Процессоры класса Pentium
Процессоры Pentium фирмы Intel представляют пятое поколение
процессоров семейства 80х86. По базовой регистровой архитектуре и системе
команд они совместимы с 32-битными процессорами, но имеют 64-битную
шину данных, благодаря чему их иногда ошибочно называют 64-разрядными.
По сравнению с предыдущими поколениями процессоры Pentium имеют
следующие качественные отличия:
Суперскалярная архитектура: процессор имеет два параллельно
работающих конвейера обработки (U-конвейер с полным набором и Vконвейеи с несколько ограниченным набором инструкций), благодаря чему он
способен одновременно выполнять две инструкции. Однако преимущества этой
архитектуры полностью реализуются только при специальном режиме
компиляции ПО;
• Применение
технологии динамического предсказания ветвлений
совместно с выделенным внутренним кэшем команд объемом 8 Кбайт
обеспечивает максимальную загрузку конвейеров.
• Применение
технологии динамического предсказания ветвлений
совместно с выделенным внутренним кэшем команд объемом 8 Кбайт
обеспечивает максимальную загрузку конвейеров.
• Внутренний (Level 1) кэш данных объемом 8 Кбайт в отличие от 486
работает с отложенной (до освобождения внешней шины) записью и
настраивается на режим сквозной или обратной записи, поддерживая протокол
MESI.
• Внешняя шина данных ради повышения производительности имеет
разрядность 64 бит, что требует соответствующей организации памяти.
• Встроенный
сопроцессор за счет архитектурных улучшений
(конвейеризации) в 2-10 раз превосходит FPU-486 по производительности.
• Введено несколько новых инструкций, в том числе распознавание
семейства и модели CPU.
• Применено выявление ошибок внутренних устройств (внутренний
контроль паритета) и внешнего интерфейса шины, контролируется паритет
шины адреса.
•
48
Введена
возможность
построения
функционально
избыточной
двухпроцессорной системы.
• Реализован
интерфейс построения двухпроцессорных систем с
симметричной архитектурой (начиная со второго поколения Pentium).
• Введены средства управления энергопотреблением.
• Применена конвейерная адресация шинных циклов.
• Сокращено время (количество тактов) выполнения инструкций.
• Введена трассировка инструкций и мониторинг производительности.
• Расширены возможности виртуального режима — введена виртуализация
флага прерываний.
• Введена возможность оперирования страницами размером 4 Мб (вместо 4
Кб) в режиме страничной переадресации (Paging).
Все Pentium-процессоры имеют средства SMM, возможности которых
расширялись по мере появления новых моделей.
•
Средства тестирования включают возможность выполнения встроенного
теста BIST (Built-in Self Test), обеспечивающего выявление ошибок
микрокодов, программируемых логических матриц, тестирование командной
кэш-памяти, кэш-памяти хранения данных, буфера быстрой переадресации и
ROM. Все процессоры имеют стандартный тестовый порт IEEE 1149.1,
позволяющий тестировать процессор с помощью интерфейса JTAG.
Процессоры Pentium MMX (P55C) — новое поколение процессоров,
основанное на ММХ-технологии, которая ориентирована на мультимедийное,
2D - и SD-графическое и коммуникационное применение. В логическую
архитектуру Pentium введены восемь 64-битных регистров, 4 новых типа
данных и 57 дополнительных мнемоник инструкций для одновременной
обработки нескольких единиц данных SIMD (Single Instruction Multiple Data).
Одновременно обрабатываемое 64-битное слово может содержать как одну
единицу обработки, так и 8 однобайтных, 4 двухбайтных или 2 четырехбайтных
операнда. В остальных командах обеспечивается совместимость с Pentium. На
самом деле, регистры MMX физически расположены в стеке регистров FPU,
так что новых регистров этот процессор не предоставляет, и чередование
использования программой инструкций FPU и MMX приводит к снижению
эффективности работы, связанному с необходимостью пересылок данных из
стека в память и обратно. Эффективность MMX вызывает некоторые сомнения,
поскольку те функции, для которых они целесообразны, с успехом
выполняются акселераторами графических карт, которые стали уже
обыденными.
49
Интерфейс шины процессоров Pentium
По интерфейсу и составу сигналов шина процессора Pentium похожа на
шину 486, но имеет значительные отличия. Новые особенности направлены на
поддержку политики обратной записи кэша, повышение производительности и
обеспечение дополнительных функциональных возможностей.
Шина данных - 64-битная, для повышения производительности обмена с
памятью.
Расширения архитектуры
Процессоры Pentium (и более старшие) имеют ряд расширений
относительно базовой архитектуры 32-разрядных процессоров и ее развития в
процессорах четвертого поколения, появляющихся по мере совершенствования
моделей. Для возможности получения сведений о них в систему команд
включена инструкция CPUID, позволяющая программно в любой момент
времени (а не только сразу после сигнала RESET) получить сведения о классе,
модели и архитектурных особенностях конкретного процессора.
В дополнение к базовой архитектуре 32-разрядных процессоров, Pentium
имеет набор регистров, специфических для модели — MSR (Model Specific
Registers). В их число входит группа тестовых регистров (TR1...TR12), средства
мониторинга производительности, регистры-фиксаторы адреса и данных цикла,
вызвавшего срабатывание контроля машинной ошибки. Название этой группы
регистров указывает на возможную их несовместимость для разных классов
(Pentium и Pentium Pro) и даже моделей процессоров. Программа, их
использующая, должна опираться на сведения о процессоре, полученные с
помощью инструкции CPUID.
Средства мониторинга производительности включают таймер реального
времени и счетчики событий. Таймер TSC (Time Stamp Counter) представляет
собой 64-битный счетчик, инкрементируемый с каждым тактом ядра
процессора. Для чтения его содержимого предназначена инструкция RDTSC.
Счетчики событий CTRO, CTR1 разрядностью по 40 бит программируются
на подсчет событий различных классов, связанных с шинными операциями,
исполнением инструкций, событиями во внутренних узлах, связанных с
работой конвейеров, кэша, контролем точек останова и т. п. Шести битные поля
типов событий позволяют каждому из счетчиков независимо назначить подсчет
событий из обширного списка. Состояние счетчиков может быть
предустановленно и считано программно.
50
Тестовые регистры позволяют управлять большинством функциональных
узлов процессора, обеспечивая возможность весьма подробного тестирования
их работоспособности. С помощью бит регистра TR12 можно запретить новые
архитектурные свойства (предсказание и трассировку ветвлений, параллельное
выполнение инструкций), а также работу первичного кэша:
Бит 0 — NBP (No Branch Prediction) — запрещает заполнение
буфера ВРВ. При этом прежние вхождения продолжают действовать, для
полного отключения предсказания необходимо загрузить регистр CR3
(это вызовет сброс таблицы ветвлений).
• Бит 1 — TR — разрешает формирование специального цикла
сообщения о ветвлении.
• Бит 2 — SE (Single Pipe Execution) — запрещает работу второго
конвейера (отменяет парное исполнение инструкций).
• Бит 3 — (3 (Cache Inhibit) - запрещает заполнение строк первичного
кэша.
• Бит 9 — ITR (10 Trap Restart) — разрешает поддержку рестарта
инструкций ввода/вывода при прерываниях SMI.
Двухпроцессорные системы
•
Процессоры Pentium, начиная со второго поколения, имеют специальные
интерфейсные средства для построения двухпроцессорных систем. Интерфейс
позволяет на одной локальной системной шине устанавливать два процессора,
пру этом почти все их одноименные выводы просто непосредственно
объединяются Целью объединения является либо использование симметричной
мультипроцессорной обработки SMP (Symmetric Multi-Processing), либо
построение функционально избыточных систем FRC (Functional Redundancy
Checking).
В системе с SMP каждый процессор выполняет свою задачу, порученную
ему операционной системой. Поддержку SMP имеют такие ОС, как Novell Net
Ware, Widows NT, OS/2.
Процессоры Pentium Pro и Pentium II
От процессора Pentium Pro принято отсчитывать начало шестого поколения
С точки зрения принципа организации вычислений, главное отличие поколения
заключается в применении динамического исполнения, при котором внутри
процессора инструкции могут исполняться не в том порядке (out of order),
который предполагает программный код.
Процессор Pentium Pro (P6) относительно классического процессора
Pentium имеет следующие усовершенствования:
51
Применено динамическое исполнение — комбинация методов
предсказания множественных ветвлений, анализа прохождения данных и
виртуального выполнения. При этом команды, не зависящие от результатов
предыдущих операций, могут выполняться в измененном порядке, но
последовательность выгрузки результатов в память и порты будет
соответствовать исходному программному коду.
• Применена архитектура двойной независимой шины, повышающая
суммарную пропускную способность. Одна шина — системная — служит для
общения ядра с основной памятью и интерфейсными устройствами, другая —
внутренняя — предназначена исключительно для обмена со вторичным кэшем.
• В корпусе процессора интегрирован синхронный L2-кэш объемом 256512 Кбайт, подключенный к внутренней шине.
• В систему команд введены инструкции условной пересылки данных,
позволяющие сократить количество условных переходов.
Для повышения достоверности шина поддерживает ЕСС-контроль.
•
Выполнение работы
1. Запустить обучающее приложение по курсу “Основы ОС” с помощью
программы обозревателя.
2. В соответствии с полученным индивидуальным заданием
промоделировать выполнение команд.
Моделирование осуществляется по схеме:
выбор из меню “Команды” изучаемой команды процессора;
o
выбор команды “Моделирование”;
o
просмотр последовательности процессов, происходящих в процессоре
при выполнении выбранной команды осуществляется пошагово. В ходе
моделирования в текстовом поле пояснений отображается комментарий к
выполняемому шагу;
o
нажатие кнопки “Повторить” приводит к повторению выполнения
предыдущего шага выбранной команды;
o
скорость движения управляющих сигналов и блоков данных по
магистралям регулируется ползунком “Задержка”.
3. Проанализировать полученную информацию.
4. Составить отчет и ответить на контрольные вопросы.
Содержание отчета.
o
Отчет о лабораторной работе должен содержать:
цель работы;
• индивидуальное задание;
• описание выполнения индивидуального задания;
• ответы на контрольные вопросы;
• выводы.
•
52
Контрольные вопросы и задания
1. В чем особенности структурной организации IBM совместимых
компьютеров?
2. В чем отличие внутреннего представления положительных и
отрицательных чисел?
3. Поясните алгоритм выполнения команд процессором.
4. Когда ЦП может начать программу обслуживания прерывания?
5. Какой из регистров входит в состав АЛУ?
6. Чем определяется разрядность регистра?
53
ЛАБОРАТОРНАЯ РАБОТА № 5
Изучение работы интерфейса мини - ЭВМ
Цель работы:
изучение работы интерфейса мини - ЭВМ
Общие сведения
Работа мини ЭВМ сопровождается интенсивным обменом информацией между
МП, ЗУ и УВВ. В процессе выполнения программы МП принимает команды из
памяти программ, обращается к памяти данных, а при исполнении команд
ввода-вывода – к УВВ. Эффективность решения задачи в мини ЭВМ в
значительной степени определяется организацией этого обмена и структурой
связи между МП, памятью и УВВ. Система шин, вспомогательной аппаратуры
и алгоритмов, реализованных на этом оборудовании, предназначенная для
организации обмена между МП, памятью и УВВ, называется интерфейсом.
В функции интерфейса входят дешифрация адреса устройств,
синхронизация обмена информацией, согласование форматов слов,
дешифрация кода команды, связанной с обращением к памяти или УВВ,
электрическое согласование сигналов и некоторые другие операции.
Сложность задач, возлагаемых на интерфейс, а также недостаточная
мощность буферных схем, входящих в состав БИС МП, привели к
распределению средств интерфейса между различными устройствами:
а) устройством управления памятью и вводом-выводом, входящим в
состав МП;
б)
непосредственно
интерфейсным
устройством,
являющимся
промежуточным звеном между МП, с одной стороны, и памятью и УВВ, с
другой;
в) специализированными устройствами управления (контроллерами)
УВВ, предназначенными для реализации алгоритмов управления,
специфических для различных УВВ.
Организация обмена между МП и памятью или УВВ в простейших
случаях возможна на основе средств, содержащихся только в МП.
Недостающие функции в таких случаях реализуются программно.
Более сложные ЗУ и УВВ соединяются с МП обязательно через
дополнительные интерфейсные устройства, выполненные на основе СИС и
МИС или (в некоторых МПК) в виде специальных БИС. Разработка БИС
обусловливается значительной сложностью функции интерфейсных устройств:
54
при отсутствии БИС в некоторых случаях может потребоваться до нескольких
сотен корпусов СИС и МИС.
Существуют сложные ЗУ и УВВ со специфическими алгоритмами
управления (магнитные диски и ленты, электронно-лучевые трубки и т.д.),
реализация которых возможна лишь специальными контроллерами.
Сложность внешнего интерфейса определяется как сложностью
периферийных устройств, так и степенью совместимости их с ЭВМ.
Совместимость определяется четырьмя основными признаками:
быстродействием, кодами, используемыми для обмена, архитектурой
процессора,
электрическими
характеристиками.
Если
объединяемые
компоненты не соответствуют друг другу по одному или нескольким
признакам, то они не могут быть объединены без интерфейсных модулей.
В любой миниЭВМ необходимы средства обмена данными с
разнообразными периферийными устройствами. В зависимости от условий
конкретного применения и характеристик периферийного оборудования
передача данных производится в параллельном или последовательном формате.
Общность функций ввода-вывода стимулировала разработку БИС
периферийных адаптеров, представляющих собой гибкие программируемые
приборы, ориентированные исключительно на ввод-вывод.
В настоящее время такие адаптеры стали обязательными компонентами
практически всех минипроцессорных систем. Они получили широко
распространенные имена как LPT и COM порты соответственно для
параллельных и последовательных каналов ввода/вывода.
На рис. 1 приведена структурная схема адаптера и его программная
модель. Подключение периферийного оборудования производится через три
двунаправленных 8-битных порта (или канала) A, B и С. Интерфейс с
системной шиной осуществляется с помощью 14 линий:
55
0-7
Буфер
ШД
ВШ
D
RD
WR
A0
A1
RESET
CS
Порт
A
8
PA 0 - 7
Порт
C
4
PC 4 - 7
Порт
C
4
PC
0-3
Порт
B
8
PB
0-7
УВ/В
а
PA 0 - 7
PC
7
07
Группа A
PC
4-7
4
0-3
3
PB
0-7
07
0
Группа B
Регистр управления
7
0
8
3
3
ШД
ША
ШУ
Рисунок 1 – Структурная схема (а) и программная модель (б) типового
параллельного адаптера
D0÷7 – двунаправленная шина данных с трехстабильными каскадами.
А0, А1 - линии адреса, которые выбирают внутренний регистр адаптера,
коммутируемый на шину данных: 00 – порт А, 01 – порт В, 10 – порт С и 11 –
регистр управления.
CS – L-активный вход выбора кристалла; высокий уровень запрещается,
а низкий разрешает связь прибора с системной шиной.
RD – L-активный вход считывания информации из адресуемого по
линиям А, регистра на шину данных.
WR – L-активный вход записи информации с шины данных в
адресуемый внутренний регистр адаптера.
RESET – H-активный сигнал сброса для приведения прибора в начальное
состояние; при действии сброса регистр управления обнуляется, а все три порта
переводятся в режим ввода.
Отметим, что считывание из регистра управления ( RD = 0, A1,0 = 11) не
допускается, а одновременные запись и считывание ( RD = 0 и WR = 0)
приводят к непредсказуемому результату.
56
Программирование и обмен данными с адаптером осуществляются
командами ввода IN и вывода OUT, при выполнении которых на линиях А0÷7 (и
одновременно А8÷15) находится адресная информация.
Приемником и источником данных в минипроцессоре является
аккумулятор. Входы А0,1 адаптера обычно подключаются к младшим линиям
шины адреса, а подключение входа CS зависит от принятого способа выбора
адаптеров, если их несколько. В линейном выборе с кодами адреса 011111XX,
101111XX,..., 111110XX входы CS подключаются без дополнительного
дешифратора к соответствующим (нулевым) линиям адреса А2÷7. В этом
способе система может иметь до шести адаптеров; при большем числе
адаптеров потребуется дешифратор с L-активными выходами, вход которого
подключается к линиям А2÷7.
7 6
5 4 3 2 1
0
1
Режим 0 0 0
Режим 1 0 1
Режим 2 1 0
PA 0 - 7 Ввод 1
Вывод 0
PC 4 - 7 Ввод 1
Вывод 0
Группа A
1 Ввод PC
0 Вывод
0-3
1 Ввод PB
0-7
0 Вывод
0 Режим
1 Режим
Группа B
Рисунок 2 – Формат управляющего слова для настройки ППА на
допустимый режим
Программирование адаптера заключается в загрузке кода (приказа) в
регистр управляющего слова (РУС). Формат приказа определения режима,
идентифицируемого условием D7 = 1, приведен на рис. 2.
Отметим, что 8-битные порты А и В не разделены, а линии порта С
разделены на две 4-битные группы, представляющие собой два независимых
порта. Например, приказ конфигурации порта А на ввод в режиме 0, порта В на
вывод в режиме 1, бита 3 порта С на ввод и бита 7 порта С на вывод имеет код
10010101. Этот код загружается в аккумулятор командой MVI и выводится в
регистр управления адаптера командой OUT.
Управляющее слово с нулевым старшим битом D7 = 0 используется для
установки или сброса любого бита порта С. Биты D4÷6 не используются и
обычно содержат нули; биты D1÷3 содержат двоичный номер (адрес)
модифицируемого бита порта С, а бит D0 задает установку (D0 = 1) или сброс
(D0 = 0) адресуемого бита. Например, приказ сброса бита 2 порта С имеет код
00000100. Приказы данного формата используются для формирования сигналов
57
квитирования в режимах 1 или 2. Формирование положительного импульса на
выходе бита 3 порта С реализуется следующими командами:
MVIA,00000111B;Установка бита 3
OUTРУС;Вывод в порт РУС
MVIA,00000110B;Сброс бита 3
OUTРУС;Вывод в порт РУС
Здесь РУС – символический адрес регистра управления, который
определяется интерфейсом адаптера с системной шиной. Например, им может
быть РУС = 0FBH.
Отметим, что в приведенном фрагменте можно сэкономить один байт,
заменив вторую команду MVI на команду DCR A.
Аналогичная функция установки и сброса отдельных бит портов А и В
реализуется в три этапа: содержимое порта вводится в аккумулятор, командами
ORI и ANI с соответствующими операндами-масками модифицируется нужный
бит, а затем измененный результат выводится в тот же порт.
Как видно из приказа определения режима, адаптер имеет три режима
работы.
Режим 0 – программно-управляемый ввод-вывод данных в синхронном
режиме по трем 8-разрядным каналам А, В и С. Каждый канал может быть
использован только для ввода или вывода информации, а канал С
дополнительно может быть разделен на два 4-разрядных канала, что
обеспечивает 16 возможных конфигураций адаптера.
Выводимые данные фиксируются в регистрах-защелках, входящих в
состав всех портов, а вводимые данные не запоминаются, т. е. в операции
считывания входного порта в аккумулятор передается текущее состояние
входных линий. Режим 0 применяется в программно-управляемом вводевыводе медленно меняющихся данных или постоянных значений.
Режим 1 – обмен данными с ВУ по каналам А и В в асинхронном режиме
и режиме прерывания программы. Шесть линий порта С используются для
управления обменом.
Данный режим предоставляет пользователю следующие возможности:
запрограммировать один или два параллельных порта с линиями квитирования
и прерывания, каждая из которых может работать на ввод или вывод; при
использовании только одного порта остальные 13 линий запрограммировать в
режиме 0; при определении двух портов в режим 1 оставшиеся 2 линии
использовать для ввода или вывода.
Режим 2 – двунаправленный обмен данными с ВУ по каналу А в режиме
прерывания программы. Пять разрядов порта С используется как управляющие
для порта А.
58
Только группа А ППА может быть настроена на этот режим.
Пример 1. Необходимо настроить ППА на режим 0, причем порт А
должен выполнять ввод; порт В – ввод; порт С (4-7й разряды) – вывод; порт С
(0-3й разряды) – ввод (рис. 3).
MVI A, 10010011B
Программирование ППА
на заданный режим
OUT 0FBH
A
D7 D6 D5 D4 D3 D2 D1 D0
ПА - ПА
1 0 0 1 0 0 1 1
ПС4 - ПС7
ПС0 - ПС3
D-D
а
ПВ - ПВ
б
а) управляющее слово; б) заданный режим
Рисунок 3 – Управляющее слово для программирования ППА
Положим, что регистр управления требуемого ППА имеет адрес 0FBH.
Для задания требуемого режима необходимо загрузить в аккумулятор МП
управляющее слово (рис. 3) и по команде OUT записать его в регистр
управления ППА.
Пример 2. Необходимо настроить ППА на режим 1, причем порт А и В
должен обеспечивать стробируемый ввод.
На рис. 4 изображены управляющие слова для настройки портов А и В.
D7 D6 D5 D4 D3 D2 D1 D0
D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 1 10
1
A
RO
ПС4
а
ПС2
PA0 - PA7
STB
1 1
RO
B
STB
PB0 - PB7
б
а) порт А – ввод; б) порт В – ввод
Рисунок 4 – Управляющие слова для настройки ППА
Для реализации этого режима триггер разрядов PC.4 для порта А и PC.2
для порта В должны быть предварительно установлены в "1", если программист
разрешает прерывание.
Настройка триггеров «разрешение прерывания» осуществляется
посредством загрузки управляющего слова с нулем в старшем разряде с
помощью команды OUT в регистр управляющего слова:
59
для порта А: MVI A, 01011001B;PC.4:=1
0UT 0FBH;
для порта В:MVI A, 01010101 B;PC.2:=1
OUT 0FB H ;
Общий формат управляющего слова поразрядной установки порта С
представлен на рис.5.
D7 D6 D5 D4 D3 D2 D1 D0
0
Значение разряда (0 или 1)
Номер разряда
0 определяет поразрядную
установку Порта С
Рисунок 5 – Формат управляющего слова поразрядной настройки
установки Порта С
Пример 3. Написать управляющее слово режима для адаптера со
следующей конфигурацией:
1. Порт А – режим 0, ввод; Порт В – режим 0, ввод; Порт С4÷С7 – вывод.
Управляющее слово установки режима имеет вид 92 H.
2. Порт А – режим 2, ввод.
Управляющее слово установки режима имеет вид D0H.
Следует обратить внимание, что разряды, определяющие режим работы
Порта С, в управляющем слове равны нулю.
Пример 4. Написать управляющее слово:
для установки разряда С3.Ответ: 07 H
0 0 0 0 0 1 1 1
C3
для сброса разряда С3. Ответ: 06 H
0 0 0 0 0 1 1 0
для установки разряда С6. Ответ: 0D H
60
0 0 0 0 1 1 0 1
для сброса разряда С6. Ответ: 0C H
0 0 0 0 1 1 0 0
Установка соответствующего уровня сигнала на выходе порта С
реализуется следующими командами МП:
MVI A, 07H
OUTРУС
MVI A, 06H
OUTРУС И Т.Д.
Здесь РУС – символический адрес регистра управляющего слова ППА.
Содержание отчета.
Отчет о лабораторной работе должен содержать:
цель работы;
• индивидуальное задание;
• описание выполнения индивидуального задания;
• ответы на контрольные вопросы;
•
выводы.
•
61
1/--страниц
Пожаловаться на содержимое документа