Вопросы № 1-39 к экзамену по дисциплине "ЭВМ и микропроцессорные системы" (Представление информации в ЭВМ. Системы счисления. Команды управления микропроцессором: управления флагами, внешней синхронизации, холостой ход)

Страницы работы

Содержание работы

ВОПРОСЫ К ЭКЗАМЕНУ ПО ДИСЦИПЛИНЕ

"ЭВМ и микропроцессорные системы"

Вопрос

1.  Представление информации в ЭВМ. Системы счисления.

Ответ

Вопрос

2.  Методы перевода с одной системы счисления в другую (двоичная, восьмеричная, шестнадцатеричная)

Ответ

Вопрос

3.  Двоичная арифметика.

Ответ

Вопрос

4.  Методы перевода с одной системы счисления в другую (двоичная и десятичная)

Ответ

Вопрос

5.  Прямой, обратный и дополнительные коды представление чисел.

Ответ

Вопрос

6.  Форматы данных для ПЭВМ.

Ответ

Вопрос

7.  Сложение чисел со  знаками.

Ответ

Вопрос

8.  Кодирование символов, ASCII-коды.

Ответ

Вопрос

9.  Представление информации физическими сигналами.

Ответ

Вопрос

10.  Основные логические функции цифровых устройств и их производные.

Ответ

Вопрос

11.  Преобразование логических функций.

Ответ

Вопрос

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

Ответ

Вопрос

13.  Элементы и узлы ПЭВМ: Триггер. RS-триггер, D-триггер, JK-триггер.

Ответ

Вопрос

14.  Элементы и узлы ПЭВМ: Регистры.

Ответ

Вопрос

15.  Элементы и узлы ПЭВМ: Счетчики.

Ответ

Вопрос

16.  Элементы и узлы ПЭВМ: Дешифраторы, шифраторы, мультиплексоры.

Ответ

Вопрос

17.  Элементы и узлы ПЭВМ: Полусумматор и полный сумматор. Схема ускоренного переноса.

Ответ

Вопрос

18.  Структура МП 8086, назначение составных частей и его работа

Ответ

Вопрос

19.  Регистров общего назначения (РОН) МП8086 доступные пользователю.

Ответ

Вопрос

20.  Регистр флагов. Назначение и использование флагов.

Ответ

Вопрос

21.  Регистры данных. Назначение и использование их.

Ответ

Регистры даннях

Регистры общего назначения или пользовательские регистры находятся в устройстве обработки данных, они  доступны программисту и используются при написании программ. Для хранения операндов и результатов операций используются  регистры данных AX, CX, DX и BX, Для работы со словами используются полные регистры, а для работы с байтами можно применять независимо как младшие (AL, CL,DL,BL) так и старшие (AH,CH,DH,BL) части регистров данных. 

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

Использование жесткого закрепления регистров для некоторых команд позволяет более компактно кодировать их машинное представление. Знание этих особенностей позволит вам при необходимости хотя бы на несколько байт сэкономить память, занимаемую кодом программы.

Данные регистры кроме общего применения могут выполняться и специальные функции:

№ разрядов

15              8

7                0

AH

AL

AX

CH

CL

CX

DH

DL

DX

BH

BL

BX

SP

BP

SI

DI

Рисунок 2.2 – Регистры устройства обработки данных МП 8086

AX/AH/ALAccumulator register) — аккумулятор. Применяется для хранения данных и временных результатов по усмотрению программиста. В отдельных случаях их использование определено однозначно: для операций умножения и деления, ввода-вывода, работы со строками;

BX/BH/BL (Base register) — базовый регистр. Применяется для хранения базового адреса некоторого объекта в памяти;

CX/CH/CL (Count register) — регистр-счетчик. Применяется в командах, производящих повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы при организации цикла;

DX/DH/DL (Data register) — регистр данных. Регистр предназначен для хранения промежуточных данных. В некоторых командах его использование обязательно; для некоторых команд это происходит неявно: умножение, деление.

Вопрос

22.  Регистры указателей и индексов. Назначение и использование их.

Ответ

Указательные и индексные регистры

Индексные регистры SI, DI используются при выполнении цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит: Первоначально они применялись для работы только со строковыми данными, т.е. цепочкой 8-и битных элементов.

SI (Source Index register)индекс источника. Этот регистр в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;

DI (Destination Index register)индекс приемника (получателя). Этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике.

Применения индексных регистров в цепочечных командах имеет следующие особенности:

содержимое регистров SI и DI указывают всегда на следующий элемент цепочки;

содержимое регистров SI и DI меняется автоматически при выполнении цепочечных команд с шагом 1, 2 или 4 в соответствии с обрабатываемыми данными –байт, слово, двойное слово;

содержимое регистров могут увеличиваться или уменьшатся в зависимости от состояния флага DF: если DF=0, то значения регистров увеличиваются, при DF=1 – происходит уменьшение.

В архитектуре микропроцессора для хранения данных поддерживается структура типа стека. Для работы со стеком существуют специальные регистры:

SP (Stack Pointer register) — регистр указателя стека. Содержит указатель вершины стека в текущем сегменте стека.

BP (Base Pointer register) — регистр указателя базы стека. Он предназначен для организации произвольного доступа к данным внутри стека.

 

При стековой организации памяти последняя записанная информация считывается первой. Начальный адрес массива данных в стековом сегменте определяется регистром указателя базы стека BP, а адрес информации в стеке определяется указателем стека SP. В стек можно записывать только слова. Содержимое указателя вершины стека при записи будет автоматически уменьшаться на 2, при чтении – увеличиваться на 2. Для работы со стеком в системе команд микропроцессора есть специальные команды PUSH ИСТОЧНИК для записи и POP ПРИЕМНИК для чтения.

Вопрос

23.  Сегментные регистры. Назначение и использование их.

Ответ

Вопрос

24.  Сегментация памяти. Принципы построения и использования сегментной памяти.

Ответ

Вопрос

25.  Организация памяти и вычисление физических адресов памяти

Ответ

Вопрос

26.  Система прерываний микропроцессора. Таблица векторов прерывания.

Ответ

Вопрос

27.  Форматы команд микропроцессора, коды операций.

Ответ

Форматы команд микропроцессора 8086.

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

Однобайтная команда  КОП – код операции

 

КОП

 

Постбайт, адрес порта ввода/вывода, 8-ми разрядное смещение

 

КОП

 

Непосредственный 8-ми разрядный операнд, 8-ми разрядное смещение

 

КОП

Оп/см

 

Непосредственный 16-ми разрядный операнд, 16-ми разрядное смещение

 

КОП

Оп/см

 мл. байт

Оп/см

Ст. байт

 

Непосредственное 16-ми разрядное смещение, 8-ми разрядный операнд

 

КОП

смещение

 мл. байт

смещение

 ст. байт

операнд

 

Непосредственное 16-ми разрядное смещение, 16-ми разрядный операнд

 

КОП

смещение

 мл. байт

смещение

 ст. байт

операнд

мл. байт

операнд

ст. байт

Первый байт всегда содержит код операции, причем в ряде команд нулевой разряд (поле w) несет информацию о длине операндов (w = 0 — байт, w == 1 — слово), а первый разряд (поле d) задает тип источника и/или приемника информации (рис. 2.12).

Второй байт в большей части команд может быть трех типов:

постбайт, определяющий откуда брать операнд (операнды) и/или куда направлять результат операции; в некоторых командах разряды 5—3 постбайта (поле reg) могут использоваться для расширения кода операции;

адрес порта ввода-вывода, в двухбайтных командах задающий прямой адрес порта в диапазоне 00h— 0FFh;

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

Последующие байты в длинных командах содержат 8- или 16-разрядное смещения (displacement, dis) и/или непосредственный операнд, также 8- или 16-разрядный. Если в команде присутствуют и смещение, и непосредственный операнд, то сначала следует смещение, а затем операнд. И для 16-разрядного смещения, и для 16-разрядного операнда всегда первым указывается младший байт, а вторым — старший (адрес старшего байта на 1 больше адреса младшего)

Восьмиразрядное смещение при формировании адреса расширяется до шестнадцатиразрядного содержимым старшего (знакового) разряда. Например, если задан байт смещения 7Eh, то он расширяется до 007Eh, если задан байт 0А3h, то он расширяется до 0FFA3h. Смещение трактуется МП как целое двоичное число со знаком в дополнительном коде, лежащее в пределах —128 — + 127 (для 8-разрядного смещения) или —32768 — + 32767 (для 16-разрядного смещения).

Вопрос

28.  Способы адресации микропроцессора и их характеристика.

Ответ

Способы адресации.

В микропроцессоре предусмотрено 11 способов доступа к памяти. Во многих командах адресация определяется постбайтом (см. рис. 2.12). Трехразрядное поле reg совместно с полем w первого байта задает либо 8-разрядный регистр (при w == 0), либо 16-разрядный регистр (при w = 1). Например, reg = = 110 и w = 1 определяют регистр SI, а тот же код в поле reg, при w == 0 указывает на регистр DH (вернее на старший байт регистра DX, см. рис. 2.3).

Рисунок 2.3 – Структура регистра флагов

Двухразрядное поле mod в совокупности с полем r/m задают способ формирования исполнительного адреса ЕА, причем mod определяет смещение (00 — без смещения, 01 — байт, 10 — слово), а r/m — регистры, содержимое которых участвует в вычислении ЕА. Если ноле mod == 11, то ноле r/m аналогично нолю reg задает регистр.

Исполнительный адрес ЕА (в терминологии фирмы effective address — эффективный адрес) но сути является 16-разрядным смещением в сегменте памяти (данных, стека, экстра, см. рис. 2.6). Если при вычислении ЕА возникает перенос, то он игнорируется и соответствии с правилами сложения чисел в дополнительном коде, т. е. физический адрес всегда оказывается в пределах одного сегмента.

Рассмотрим следующий пример.

Пример

Пусть DS содержит код 1002h т. е. сегмент данных расположен в ячейках 10020h—2001Fh,. В регистре базы ВХ записан код 8005h,. В постбаите команды поле r/m = 111, следовательно, исполнительный адрес рассчиты­вается как содержимое ВХ плюс смещение. Приведем три варианта.

I вариант. Поле mod = 00. Следовательно, смещение отсутствует и исполнительный адрес равен (ВХ), т. е. 8005h, а физический адрес 10020h +-8005h= 18025h,

II вариант. Поле mod == 10, смещение равно 4000h. Тогда исполнительный адрес (ВХ);- 4000ц,'-= 8005i;, ;- 4000] g== С005ц,.   Физический   адрес е этом случае равен 1С026]е.

III вариант. Поле mod == 10, а смещение—C000j„. При вычислении исполнительного адреса ЕА == 8005i g-r COOOj е произойдет перенос и несуще­ствующий разряд, который просто пропадет, и в результате получится 4005ig, следовательно, физический адрес будет 14025] ц. Обратию внимание, что если трактовагь смещение как число со знаком в дополнительно:,! коде, то СОООл; соответствует — 4000^, и ЕА = ЙООзщ— 4000^l,=:= 4005ig. Происходит смещение “вниз” относительно базового адреса, но физический адрес ос-1ается “выше” начального адреса сегмента.

Таким образом, постбайт определяет два адреса: reg ц ЕА. В командах пересылки, например, один из них может быть адресом источника информации, второй — адресом приемника. Конкретный выбор зависит от содержимого поля d первого байга команды. Пр;1 .J = 0 поле reg задает источник, а ЕЛ — приемник. При d == }, наоборот, ноле reg задает приемник, а ЕА — источник информации. В двухместных арифметико-логических операциях при d — 1 ноле reg задает левый операнд н приемник результата, а исполнительный адрес определяет правый операнд. Соответственно, при d == 0 адрес ЕА задает левый операнд и приемник результата, reg—правый операнд. Как уже отмечалось, в ряде команд (со вторым непосредственным операндом, с одним операндом) поле гед используется для расширения кода операции н в этом случае трактовать его как адрес регистра, естественно, нельзя.

Регистровая адресация.

При регистровой адресацич источник (источники) и/или приемник наводится в регистре, т. е., операнд — это содержимое регистра. Код решстря указывается либо в первом байте команды, либо в постбайте, как было описано выше. Приве­дем в {качестве примеров различные команды пересылки (MOVl (рис. 2113). Обрагите внимание, для команд а) — г) изменяется содержимое 'юлько полей d и w первого байта, а код постбайта остае'1ся\неизмен11ым. Так как ноле mod == 11, то в ноле г/ш также импульсы синхронизации. В максимальные регистры А и В зано­сятся предельные значения, после достижения которых счетчик таймера сбрасывается в ноль и вырабатывает сигнал запроса на прерывание и внешний выходной сигнал, вид которого тоже про­граммно контролируется. Возможен режим автоматического пере­ключения максимальных регистров А и В. Программное изменение содержимого свободного максимального регистра позволяет гене­рировать произвольно сложные непериодические сигналы. Процес­сор может в любой момент прочитать содержимое регистра счетчика таймера или записать в него новый код.

Два контроллера каналов прямого доступа в память (direct memory access channel, DMA channel) обеспечивают передачу дан­ных между различными областями памяти и/или устройствами ввода-вывода с максимальной скоростью 2 Мбайт/с. Управление ра­ботой каналов осуществляется с помощью шести 16-разрядных ре­гистров (смещения COig—CAig для канала я, смещения DO^g—DA^g для канала I): регистр — указатель источника (2 слова), регистр — указатель приемника (2 слова), счетчик передач и регистр режима. Код в последнем регистре задает: режим синхронизации (от источ­ника, от приемника, асинхронно), разрядность данных (байт,сло­во), генерацию запроса на прерывание после окончания обмена, относительный приоритет между каналами, режим изменения ука­зателей источника и приемника (не изменять, увеличивать, умень­шать) после каждого обмена, поле адресов памяти или поле адресов ввода-вывода отдельно для приемника и источника.

Количество обменов, которое необходимо выполнить, опреде­ляется содержимым счетчика передач, первоначально устанавлива­емым программно. После каждого обмена содержимое счетчика уменьшается на единицу. При достижении нуля обмен прекращает­ся и, если запрограммировано, генерируется запрос на прерывание. Максимальное количество передаваемых по каналу данных 64 Кбайт или 64 Кслов. Двадцатиразрядные указатели приемника и источни­ка адресуют данные в поле адресов памяти или ввода-вывода. Ука­затели после каждой передачи автоматически уменьшаются (увели­чиваются) на 1 при обмене байтами или на 2 при обмене словами. Отмечается высокая гибкость встроенных контроллеров прямого доступа, их функциональные возможности значительно шире, чем у многих контроллеров, реализованных в виде отдельных БИС [2.7].

Программируемые формирователи обеспечивают генерацию ше­сти сигналов выборки кристаллов памяти и семи сигналов выборки устройств ввода-вывода. Сигнал LCS выдается при обращении. к “младшей” области памяти, начинающейся с адреса 00000„ Сигнал UCS генерируется при обращении к “старшей” области памя­ти, которая заканчивается адресом FFFFFig. Длина этих двух областей может быть установлена программно. Остальные четыре сигнала выборки кристаллов памяти МС5з—МСЗд- формируются при обращении к некоторой “средней” области, начальный адрес и длина которой также задаются программно. Сигналы выборки периферийных устройств PCSg—PCS^ генерируются при обращении к области адресов устройства ввода-вывода, начальный адрес кото­рой устанавливается процессором. Для управления схемами форми­рования используются четыре регистра (смещения Ав^—АЗщ).

Вопрос

29.  Язык Ассемблер и его разновидности

Ответ

Вопрос

30.  Структура программ на языке Ассемблер

Ответ

Вопрос

31.  Построение команд и директив (псевдооператоров) языка Ассемблер

Ответ

Вопрос

32.  Система команд микропроцессора 8086.

Ответ

Вопрос

33.  Команды пересылки данных: общего назначения, ввода-вывода, пересылки адресов, пересылки флагов.

Ответ

Вопрос

34.  Арифметические команды: сложения, вычитания, умножения, деления, коррекции, вспомогательные.

Ответ

Вопрос

35.  Логические команды и сдвига: логические, сдвига, циклического сдвига.

Ответ

Вопрос

36.  Команды передачи управления: безусловной передачи управления, вызова подпрограмм,  условной передачи управления, управления циклами

Ответ

Вопрос

37.  Команды обработки строк: пересылки, сравнения, сканирования (поиска), загрузки и сохранения, префиксы повторения.

Ответ

Вопрос

38.  Команды прерывания.

Ответ

Вопрос

39.  Команды управления микропроцессором: управления флагами, внешней синхронизации, холостой ход.

Ответ

Существует ряд команд, которые позволяют управлять работой МП. Команды можно разбить на три группы:

–  управление флагами;

–  внешней синхронизации;

–  холостой ход.

Команды управления флагами

Команды управления флагами позволяют устанавливать или сбрасывать определенные флаги, предопределяя этим определенные действия: переноса (CF), направления (DF) и прерываний (IF).

Для  управления режимом внешних прерывания служат две команды:

·  команда STI устанавливает флаг разрешения прерываний IF в 1, допуская выполнение прерываний;

·  команда CLI сбрасывает флаг разрешения прерываний IF в 0, запрещая выполнение прерываний.

Команды управления направлениями передачи:

·  STD – установить флаг направления DF в 1;

·  CLD - установить флаг направления DF в 0 (сбросить флаг).

Команда определяет порядок изменения адресов при выполнении цепочечных операций. При DF=0 содержимое регистров SI и DI будет автоматически увеличиваться, обеспечивая переход к следующему элементу цепочки данных, справа по возростанию. При DF=1 содержимое регистров SI и DI будет автоматически уменьшаться и переход в цепочке данных происходит в обратном порядке, справа налево. При работе с цепочечными командами предварительная установка этих флагов является необходимым условием для правильной организации работы с массивами данных.

Команды установки флага переноса CF:

·  STC – установить флаг переноса в 1;

·  CLC - установить флаг переноса в 0 (сбросить);

·  CMC – инвертировать содержимое флага переноса.

Команды внешней синхронизации

Действия внешней синхронизации  МП 8086 содержали 4 однобайтные команды: HLT (останов), WAIT (ожидать), ESC (убежать), LOCK (замкнуть шину).

 Команда останов HLT (HaLT)

Команда HLT перевод микропроцессора в состояние остановки для прерывания или перезагрузки. Выполнение команды не влияет на флаги

В результате выполнения команды микропроцессор переходит в состояние остановки. Из этого состояния его можно вывести сигналами на входах RESET, NMI, INTR. Если для возобновления работы микропроцессора используется прерывание, то сохраненное значение пары CS:IP указывает на команду, следующую за HLT.

Команда ожидать WAIT

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

Холостой ход

Команда нет операции NOP (No OPeration)

Это пустая команда. Она не производит никаких действий и не влияет на флаги. Команда NOP занимая один байт, может использоваться для резервирования места в сегменте кода или организации программной задержки. Команда увеличивает только содержимое регистра IP.

Похожие материалы

Информация о работе