СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА

В состав учебного микрокомпьютера входят последующие устройства (рис. 4.16):

центральный микропроцессор, память 2-ух видов (ОЗУ и ПЗУ), также два более принципиальных наружных устройства (клавиатура для ввода инфы и экран для вывода; оба устройства, как принято в современных ЭВМ, подключены через обеспечивающие согласование контроллеры).

Рис. 4.16. Схема устройства учебного компьютера «Е97»

Основным блоком компьютера СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА служит 16-разрядный микропроцессор «Е97», способный работать как с двухбайтовыми словами, так и с отдельными б. Таким макаром, он может оперировать с данными разной длины. Познакомившись с тем, как «Е97» обрабатывает различные типы инфы, читатель просто сумеет в дальнейшем обобщить логику «один б либо много» на случай большей разрядности микропроцессора СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА.

В микропроцессоре имеются внутренние регистры памяти, с помощью которых реализован способ косвенной адресации к ОЗУ. Разумеется, что полное 16-разрядяое адресное место «Е97» позволяет впрямую адресовать до 64 кбайт памяти; для учебной ЭВМ это более чем довольно. Потому реально имеющейся памяти будут соответствовать только некие спектры адресов (рис. 4.17). Для первой программной СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА реализации модели «Е97» приняты последующие значения констант: LoROM = 4000, HiROM =4180.

Рис. 4.17. Структура памяти микрокомпьютера «Е97» (LoROM - нижняя граница ПЗУ 1. HiROM-верхняя граница ПЗУ 1, совпадающая с началом ПЗУ 2)

В «Е97», как и в реальном компьютере, существует память 2-ух видов -оперативная (ОЗУ) и неизменная (ПЗУ) В первой хранится текущая информация (т.е СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА. программка и данные) по решаемон задачке, при этом она может как считываться, так и записываться. Во 2-ой, предназначенной только для считывания, содержатся разработанные при проектировании ЭВМ подпрограммы более принципиальных и нередко применяемых действий, посреди которых принципиальное место занимают методы обмена с наружными устройствами.

Видеопамять в «Е97» располагается в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА контроллере монитора; для простоты модели будем считать, что видеопамять не заходит в адресное место микропроцессора. Доступ к видео-ОЗУ осуществляется методом воззвания к наружному устройству.

Как ранее говорилось, малой адресуемой ячейкой памяти в современных ЭВМ является б. Все байты в памяти «Е97» пронумерованы и их 16-разрядные номера находятся в границах от СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА 0000 до FFFF. Реальные адреса должны попадать в выделенные на рис. 4.17 области. При воззвании к хоть какому другому адресу происходит аварийное прекращение выполнения программки.

Байты в памяти могут объединяться в слова, которые для данного компьютера состоят из 2-ух примыкающих байтов (у современных микропроцессоров обычно из 4, но для осознания главных принципов СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА это не очень значительно). По традиции .примем, что слово адресуется минимальным из номеров байтов, при этом этот адресок соответствует младшему б слова. Для удобства изображения содержимого ОЗУ на дисплее монитора будем считать, что адресок слова всегда является четным

Для наглядности проиллюстрируем все эти принципиальные положения примером (рис. 4.18). Слово с СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА адресом 40 имеет значение FFOO, а слово с адресом 42 - 1234; адреса 41 и 43 для слов запрещены. Направьте внимание на то, что б 40 имеет нулевое значение, а б с адресом 41 - значение FF. По другому говоря, байты слова хранятся в памяти «задом наперед» - поначалу младший, а потом старший. Конкретно так хранится слово в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА большинстве компов.

Разглядим сейчас роль ПЗУ. Его наличие дает целый ряд преимуществ, важными из которых являются последующие.

FF
FF
Представление в б Представление в словах

Рис. 4.18. К вопросу о представлении инфы в «Е97»

Во-1-х, в современных ЭВМ не всякое простое действие реализуется в виде команды микропроцессора - многие из их производятся СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА по программке. В «Е97», к примеру, по программке происходит нахождение остатка от деления, вычисление модуля, перевод целого числа из двоичной системы в десятичную. Наличие таких подпрограмм высвобождает модель от необходимости вводить в систему команд учебного микропроцессора различные неординарные и несуществующие в реальных микропроцессорах команды типа «вывод числа СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА на экран в десятичной форме» и ей подобные.

Во-2-х, наличие ПЗУ позволяет не конкретизировать метод работы с наружными устройствами на уровне системы команд микропроцессора, а перенести их в ПЗУ (конкретно так делается и в реальных компьютерах). ПЗУ такового рода носит особое заглавие BIOS (от британского Basic Input Output СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА System - базисная система ввода-вывода) и обслуживает определенные типы наружных устройств, входящих в состав машины BIOS имеет стандартные точки входа, к которым и обращается все программное обеспечение по мере надобности произвести обмен инфы с наружным устройством.

Завершая обсуждение ПЗУ, отметим еще одну деталь. В данной учебной ЭВМ оно условно делится на две СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА части, нареченные на рис. 4.17 ПЗУ1 и ПЗУ2. ПЗУ1 доступно для исследования и представляет собой истинные программки в кодах микропроцессора «Е97». Другая часть длительной памяти - ПЗУ2 - напротив, «скрыта» от просмотра. Определены только входные точки и их предназначение; в главном это операции ввода. Деление на ПЗУ1 и ПЗУ2 является чисто техническим СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА приемом и не имеет никаких аналогий в реальных ЭВМ (наличие «закрытого» ПЗУ2 просто позволяет легче и резвее выполнить программный имитатор учебного микрокомпьютера).

Перейдем к рассмотрению контроллеров наружных устройств В учебном микрокомпьютере они бытуют в виде портов ввода-вывода Каждому из устройств соответствует два таких порта:регистр данных и СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА регистр состояния. Через 1-ый происходит обмен информацией, а 2-ой позволяет этот обмен синхронизировать. Если в знаковый (старший) бит младшего б регистра состояния записана единица, то это значит, что устройство к обмена готово.

Отметим, что контроллеры современных устройств перифирии имеют обычно более 2-ух портов. К примеру, в IBM-совместимых компьютерах СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА для работы со стандартным печатающим устройством употребляется три порта - к уже нареченным добавляется регистр управления. Ничего принципно нового наличие дополнительных портов не заносит.

Такая внутренняя структура учебного микрокомпьютера. Разглядим сейчас устройство самого микропроцессора, каким он видится программеру. «Е97» состоит из 7 16-разрядных регистров. 4 регистра общего предназначения RO - R3, счетчика адреса СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА команд PC (Program Counter), указателя стека SP (Stack Pointer) и регистра состояния микропроцессора PS (Processor Status), в каком мы будем использовать только два младших бита N и Z. «Поведение» этих управляющих битов согласно принятым закономерностям последующее:

N = 0 - итог ≥ 0, N = 1 - итог < 0,

Z = 0 - итог ≠ 0, Z = 1 - итог = 0.

Тут «результат» значит итог последней из выполненных арифметических операций СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА. Все эти объекты изображены на рис. 4.19.

Рис. 4.19, Внутреннее устройство учебного микропроцессора «Е97»

Не считая уже нареченных, в «Е97» имеется ряд внутренних регистров, которые микропроцессор употребляет при выполнении операций. Это регистр команд РК, созданный для хранения кода исполняемой на этот момент команды; регистры операндов Рг1 и Рг2, куда считываются начальные данные СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА; сумматор См, в каком делается требуемое в команде действие и выходит итог. Мы не можем конкретно изменять содержимое этих «служебных» регистров, но в данном учебном компьютере они доступны для наблюдения. Вертикальная заштрихованная полоса на рисунке делит программно-доступные (слева) и программно-недоступные (справа) регистры.

СИСТЕМА КОМАНД

Перейдем к важнейшему СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА - системе команд, которые умеет делать учебный микропроцессор. Как мы уже знаем, машинная команда состоит из операционной и адресной частей: 1-ая показывает, что нужно сделать с данными, а 2-ая - где их взять и куда поместить итог. В этом разделе мы будем гласить, в главном, об операционной части, только кратко упоминая об адресной СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА; в последней нас пока, приемущественно, будет заинтересовывать число операндов (адресов). Вопросам, связанным с подробностями адресации данных, будет посвящен последующий пункт.

Итак, разглядим структуру команды «Е97» (рис. 4.20). Зависимо от определенной операции, ее формат может иметь некие особенности, но в более полной форме он состоит из 4 частей по 4 бита любая СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА (см. рис. 4.20, б): модификатор МОД, код операции КОП и два операнда ОП1 и ОП2. Предназначение КОП и операндов было описано в прошлом параграфе. Что все-таки касается МОД, то он показывает варианты реализации команды, к примеру, адресовать б либо слово, по каким управляющим битам перебегать и др.

Более обычный СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА формат команд из всех вероятных, имеют две -нет операции (ее код 0) и останов (код F). Как видно из рис. 4.20, а, в этих командах задействован только КОП. другие 12 бит значения не имеют. Основная масса команд, коды которых заключены в интервале от 1 до В. являются двухадресными и соответствуют уже упоминавшемуся ранее рис. 4.16, б. К ним СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА относятся:

1 - перепись, 5 - умножение, 9 - исключающее «ИЛИ»,

2 - сложение, 6 - деление, А - ввод из порта,

3 - вычитание, 7 - логическое «И», В - вывод из порта.

4 - сопоставление, 8 - «ИЛИ»,

Рис. 4.20. Форматы команд учебного микропроцессора «Е97»

Операция переписи производится довольно элементарно: информация считывается из ОП1 и копируется в ОП2. Совсем аналогично работают ввод и вывод из порта СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА, с той только различием, что в качестве 1-го из операндов указывается номер порта. Все другие двухадресные команды с кодами 2-9 представляют собой определенные деяния над 2-мя данными, выполняемые по универсальной схеме

ОП2 операция ОП 1 => ОП2

К примеру, по команде деления микропроцессор извлекает ОП2, разделяет его на ОП1 и итог помещает заместо начального СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА значения ОП2.

Некую особенность имеет команда сопоставления. При ее выполнении делается вычитание ОП2 - ОП1, но итог никуда не записывается. («Тогда зачем же вычитать?» - спросите вы? - «Исключительно ради установки управляющих битов, которые в предстоящем могут быть проанализированы командами условных переходов».)

Арифметические деяния осуществляются над целыми числами и результатыих -целочисленные СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА в формате «16-битные целые числа со знаком». При делении выходит целая часть личного. Что все-таки касается операций над вещественными числами, то они могут быть реализованы программным методом (надлежащие программки могут быть, к примеру, помещены в одно из ПЗУ).

Перейдем сейчас к рассмотрению команд переходов. Как мы уже знаем, они бывают СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА абсолютные, когда значение адреса для перехода задается очевидно, и относительные. когда адресок последующей команды рассчитывается методом значения текущего программного счетчика и обозначенного в теле команды смещения. В согласовании с этим в «Е97» есть два типа переходов с кодами операций С и D; их форматы представлены на рис СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА. 4.20, в, г.

Начнем с абсолютного перехода, код которого равен С. Если микропроцессор повстречает в программке команду из 2-ух слов

1C0D

то последующей будет производиться команда с адресом 56. Другими словами, адресок перехода берется из самой команды. В команде 1C0D старшая шестнадцатеричная цифра - модификатор, соответственный бесспорному переходу; С - код операции; 0 - неиспользуемая цифра СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА; D - операнд, указывающий что адресок перехода хранится в последующем слове, составляющем с 1C0D единое целое. Подробности такового метода адресации - в последующем пт.

По-другому обстоит дело сотносительным переходом, код которого D. В качестве примера возьмем команду

1D06

Для определенности будем считать, что эта команда находится в памяти по СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА адресу 42. В серьезном согласовании с главным методом работы микропроцессора, после подборки рассматриваемой команды счетчик адреса команд PC автоматом возрастает до 44. Потом, выполняя расшифрованную команду перехода, микропроцессор добавит к текущему содержимому PC смещение 06 и тем произведет переход на адресок 44 + 6 = 4А. Направьте внимание, что итоговый адресок в случае относительного перехода находится в зависимости СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА от расположения команды перехода в ОЗУ.

При отрицательном смещении может быть получение адреса наименьшего, чем начальный. При обсуждении команд перехода мы неприметно включили в работу модификатор команд. Для переходов его роль ординарна и наглядна: МОД указывает, по какому условию осуществляется переход. Таблица всех применяемых в «Е97» значений модификаторов СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА смотрится так:

0 - возврат из подпрограммы;

1 - бесспорный переход;

2 - N = 0 (≥0);

3 - N = 1 (<0);

4 - Z = 0 (≠0);

5 - Z = 1 (=0);

6 - N=1 orZ=l (≤0);

'7 - N=0andZ=0(>0);

9 - вызов подпрограммы.

Становится естественным, что рассмотренные в обоих прошлых примерах команды с МОД = 1 являются более обычным вариантом перехода - бесспорным.

Для работы с условными переходами следует твердо уяснить последующее правило:

«Если анализируемое условие СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА справедливо, т. е. состояние управляющих признаков совпадает с требуемым, то переход происходит. В неприятном случае никаких действий не делается, а означает переход просто игнорируется и микропроцессор, как обычно, выбирает последующую команду».

Кстати, так обстоит дело и в языках высочайшего уровня.

И еще об одном виде перехода следует побеседовать особо - опереходе СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА с возвратом либо о переходе к подпрограмме, как его нередко именуют. На практике подпрограммы (процедуры) и функции играют очень важную роль. Подпрограммы полезны, когда в различных местах программки требуется выполнить одни и те лее деяния. В данном случае имеет смысл оформить повторяющиеся деяния в виде подпрограммы, а потом просто вызывать ее в подходящих СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА местах. В каком-то смысле это похоже на публикацию текстов песен, когда припев пишется один раз, а в предстоящем просто ставится ссылка на него в виде слова «ПРИПЕВ».

Более принципиальное отличие перехода к подпрограмме от бесспорного перехода заключается в том, что требуется иметь возможность возвратиться из подпрограммы в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА то же самое место, откуда она была вызвана. Применительно к микропроцессору возможность возврата значит запоминание где-нибудь значения программного счетчика PC; для возврата довольно будет просто вернуть в PC сохраненное значение.

Для обеспечения способности вложения друг в друга подпрограмм нужно уметь сохранять не одно значение PC, а СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА несколько. Для реализации такового механизма памяти употребляется стек, который совершенно подходит для хоть какой вложенности конструкций и при всем этом просит наличия всего 1-го выделенного регистра-указателя стека SP.

Разглядим определенный пример. Пусть в неком месте программки находится команда из 2-ух слов

9C0D

Исполнять эту команду микропроцессор будет так. Сначала, он уменьшит SP СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА на 2 и запомнит по приобретенному адресу текущее содержимое PC (вспомните, что счетчик к этому времени уже будет демонстрировать на последующую команду). Потом последует переход по адресу 30, считанному ранее из второго слова команды. Таким методом мы попадем в подпрограмму, накрепко спрятав в стеке адресок основной программки, куда СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА необходимо возвратиться. Обсудим сейчас, как произойдет возврат.

В конце хоть какой подпрограммы должна стоять команда 0С00 либо 0D00. Встретив ее. микропроцессор извлечет из стека занесенное туда ранее значение и расположит его в PC. При всем этом он прирастит SP на два, освободив ненадобную более ячейку памяти в стеке. Таким макаром СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА, прерванноена время выполнение основной программки продолжится с подходящего места.

Примечание. Команды с кодами 0С и 0D тождественныи их младшие 8 бит неиспользуются.

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

Займемся последней группой команд микропроцессора, для которой КОП = Е. Сначала, почему СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА такому КОП соответствует группа, а не одна команда? Все дело в том, что эти команды одноадресные, и освобождающиеся от 1-го из операндов 4 бита можно использовать для задания номера операции в этой группе. Назовем приобретенные биты дополнением к КОП - ДКОП. В конечном итоге получим формат, приведенный на рис СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА.4.20, д). Из рисунка видно, что код операций для всех одноадресных операций состоит из 2-ух шестнадцатеричных цифр, при этом 1-ая из их всегда Е. Познакомимся с этими командами более тщательно.

Команда с кодом Е1 делает над единственным операндом ОП1 логическую операцию НЕ, т.е. подменяет нулевые биты единицами и напротив СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА (инверсия).

Команды с кодами Е2 - Е9 обеспечивают работу со стеком. Так, при коде операции Е2 ОП1 заносится в стек, а при ЕЗ - считывается оттуда. К примеру, ах так можно поменять местами содержимое регистров R1 и R2 с внедрением стека:

0000 0Е21 записать R1 в стек

0002 0Е22 записать R2 в стек

0004 0Е31 считать значение из стекав СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА R1

0006 0Е32 считать значение из стека в R2

0008 0F00 останов

Команды Е4 и Е5 позволяют изменять значение SP на величину ОП1, что нередко бывает полезно при работе со стеком, к примеру, при освобождении в нем сходу нескольких «этажей». По кодам Е6 и Е7 можно задать новое значение СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА SP и прочесть его текущее значение в ОП1. В конце концов, более экзотичные из этой группы команды Е8 и Е9 сохраняют в стеке и восстанавливают для следующего анализа регистр состояния микропроцессора PS. Эти команды замечательны тем, что обрабатывают полностью определенный операнд, потому содержимое ОП1 в команде значения не имеет; договоримся заполнять СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА его нулем.

Осталось разглядеть последнюю группу команд - сдвиги. Их коды ЕА - ЕС. Они все производят сдвиг кода в ОП1 на один разряд на лево либо на право зависимо от значения ДКОП. Полезно держать в голове, что сдвиг на лево эквивалентен умножению, а на право - делению на два.

Команда ЕС СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА, именуемая арифметическим сдвигом, отличается от обыденного сдвига ЕВ тем, что старший знаковый разряд при арифметическом сдвиге сохраняет свое значение, к примеру:

Начальное значение ОП 1: 1111 0000 1111 0000

Итог команды ЕВ: 0111 1000 0111 1000

Итог команды ЕС: 1111 1000 0111 1000.

Арифметический сдвиг бывает полезен для деления отрицательных чисел, потому что в данном случае автоматом сохраняется признак знака минус - единица в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА старшем разряде.

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

АДРЕСАЦИЯ ДАННЫХ

Сейчас, когда мы знаем фактически все об операционной части команды, можно заняться адресной. Поглядим, какими СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА методами могут представляться операнды ОП1 иОП2.

Начнем с того, что под кодирование каждого операнда всегда отводится четыре двоичных разряда. Из их старшие два будут всегда задавать тип адресации данных. а младшие - его конкретизировать. Почти всегда два младших бита будут просто представлять собой номер регистра, с ролью СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА которого осуществляется адресация.

Старшая «половинка» модификатора операнда, соответственная типу адресации, может содержать четыре неповторяющиеся двоичные композиции:

00 - регистровый способ адресации: операнд является содержимым обозначенного регистра;

01 - способ косвенной адресации: операндом является содержимое ячейки ОЗУ, адресок которой задан в обозначенном регистре;

10 - резерв; в будущей версии тут будет реализован индексный способ адресации;

11 - адресация по счетчику адреса команд PC: операнд извлекается СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА с внедрением инфы, входящей в команду (более подробные разъяснения приведены ниже).

Разглядим перечисленные методы адресации подробнее.

Более обычным является регистровый способ, который мы практически уже использовали в примерах предшествующего раздела. Беря во внимание, что этому способу соответствуют нулевые значения старших битов, полный код операнда совпадает с номером регистра СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА: двоичная композиция 0000 соответствует R0, 0001 - R1 и т.д.

В качестве данных для операции употребляется информация, содержащаяся в обозначенном регистре. К примеру, если Rl = 3, а R2 = 5, то в итоге выполнения команды

0212:R2+R1=>R2

получится R2 = 8.

При косвенной адресации код операнда смотрится несколько труднее: косвенное воззвание по регистру R0 имеет вид 0100 (т СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА.е. 4), по Rl - 0101 (5) и т.д. Содержимое обозначенного регистра при всем этом служит не операндом, а его адресом в ОЗУ. Разглядим команду

0263: R3 + (R2) => R3

где скобки у R2 символизируют косвенную адресацию. Пусть содержимое R2 на этот момент равно 30, а R3 = 6. Примем также, что в ячейке памяти с адресом 30 хранится СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА число 10. Тогда микропроцессор «Е97», выполняя команду, к имеющемуся в R3 значению 6 добавит число из ячейки 30, на которую показывает R2, и итог операции - 16 - внесет в R3.

И, в конце концов, разглядим методы адресации по программному счетчикуPC. Так как в данном случае регистр, по которому делается адресация, уже совершенно точно определен, освобождаются СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА два младших бита операнда, которые можно использовать для других целей. В связи с этим удается получить четыре разных метода адресации по счетчику:

11 00 - резерв;

11 01 - операндом служит константа, входящая в команду;

11 10 - операнд извлекается из ячейки ОЗУ, адресок которой заходит в команду;

1111-резерв.

Итак, в «Е97» существует два способа адресации по PC СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА, соответственных шест-надцатеричным кодам D и Е в качестве операнда. Изучим их на примерах. Команда, состоящая из 2-ух слов

02D1

делает операцию Rl + 20 => Rl последующим образом: к текущему значению Rl прибавляется извлеченное из команды число 20 и итог помещается в Rl. Если первоначальное значение Rl было, скажем, F0, то в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА итоге операции в Rl запишется 110.

Разглядим еще одну команду с адресацией по PC:

021Е

выполняющую операцию (20) + Rl => (20) так: к числу, лежащему в ячейке памяти 20, прибавляется значение Rl. В случае, когда Rl = F0, a (20) = 40, ответ будет: (20)= 130.

На этом рассказ о способах адресации можно было бы и окончить, если б не наличие в командах СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА модификатора, лежащего в первой цифре шестнадцатерич-ного представления команды. Его значение также может значительно влиятьнаизвлечение данных и запись результата.

Во всех приведенных в данном пт примерах МОД = 0 и, как следует, не оказывает воздействия на расшифровку и выполнение операции. Если же он имеет ненулевое значение, нужно дополнительно учесть и СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА этот фактор.

Модификатор состоит из 4 битов, при этом два старших отвечают за «переключением бант/слово, а два младших - за особенный метод представления данных, именуемый «недлинной константой». Многие команды оперируют с маленькими константами, значения которых не превосходит по модулю 15. Такие констангы полностью «уместятся» в 4 отведенных под ОП1 битах. Для реализации таковой способности СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА в «Е97» употребляются два младших бита модификатора -0-й и 1-й. Признаком, по которому микропроцессор распознает «короткую константу», служит наличие единицы в первом разряде модификатора. В данном случае содержимое ОП1 рассматривается как двоичное число, а 0-й бит модификатора служит его символ ом,к примеру:

25A3:R3* 10=>R3

либо

3653:R СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА3/(-5)=>R3

Из приведенных примеров видно, что операции с «короткой константой» занимают всего одно слово. Данный метод оказывается, таким макаром, экономичнее описанного некоторое время назад способа адресации по PC (вспомните, что там константа хранится во 2-м слове команды).

Наличие операций с «короткой константой» позволяет упростить систему команд микропроцессора. К примеру, в программках СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА нередко требуются команды, увеличивающие либо уменьшающие данные на единицу. Хоть какой микропроцессор имеет для этой принципиальной ситуации спец команды, обозначаемые в большинстве случаев INC и DEC. В «Е97» эти команды получаются как личный случай операций с «короткой константой».

Во всех прошлых рассуждениях мы неразговорчиво считали, что микропроцессор СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА работает только с 16-разрядными словами. Но так бывает не всегда - время от времени требуется выполнить те либо другие деяния над б, к примеру, при обработке текста. Старшие биты модификатора как раз и предусмотрены для оказания режима б/слово: 3-й бит соответствует ОП1, а 2-й - ОП2. Если соответственный бит модификатора установлен в СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА единицу, то микропроцессор оперирует с б, по другому - со словом. Как обычно, наличие 2-ух битов порождает четыре варианта:

00 ОП1-слово, ОП2-слово;

01 ОП1-слово, ОП2-байт;

10 ОП 1 - б, ОП2 - слово;

11 ОП1-байт, ОП2-байт.

Более ординарными и явными являются композиции слово - слово и б -байт, когда оба операнда и итог СТРУКТУРА УЧЕБНОГО МИКРОКОМПЬЮТЕРА имеют однообразный тип. Смешанные композиции слово - б и б - слово более экзотичны и нуждаются в особенном рассмотрении. Не вдаваясь в тонкости, можно считать, что в двухадресных командах модификатор всегда равен или0 для операции со словами, илиС для байтов.


struktura-sociologicheskogo-znaniya.html
struktura-soderzhaniya-kursa.html
struktura-soderzhaniya-uchebnoj-disciplini-sostoit-iz-vosmi-razdelov-rekomendovana-k-utverzhdeniyu-v-kachestve-tipovoj.html