Материал: Функциональная организация микро-ЭВМ К1816ВЕ48

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Операнд-приемник - операнд, местоположение которого совпадает с местоположением результата операции.

Методы адресации (addressing schemes) - методы определения местоположения операнда. Метод адресации может представляться в отдельном поле команды или неявно задаваться кодом операции.

Адресное поле

- поле команды, используемое для определения

местоположения

операнда. Местоположение одного операнда

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

Эффективный адрес (EA - Effective Adress) - адрес операнда, вырабатываемый при обработке адресного поля команды в соответствии с заданным методом адресации. Иногда эффективный адрес задается неявно без использования адресных полей.

Физический адрес - адрес ячейки памяти, где находится операнд. В

ЭВМ,

где есть аппаратура поддержки распределения памяти

между

программами, физический

адрес формируется из

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

Регистровая адресация - в адресном поле указывается номер регистра, где находится операнд.

Абсолютная (прямая) адресация (absolute addressing, direct addresing) - в адресном поле указывается EA.

Непосредственная адресация (immediate addresing) - в адресном поле приводится значение операнда.

Смещение (displacement, offset) - содержимое адресного поля, используемое как слагаемое для формирования адреса в индексной адресации.

Индексная адресация (indexed addresing) - EA определяется как сумма смещения и содержимого регистра.

Базовая адресация (base addresing) - аналогично индексной. Базовая и индексная адресации обычно различаются по смыслу обрабатываемых группой команд данных и способам организации доступа к ним.

Косвенный адрес (IA - Indirect Adress, deferred address) задает адрес,

по которому находится EA.

Косвенная адресация (indirect addresing) - адресные поля операнда в соответствии с методом адресации определяют косвенный адрес. Косвенная адресация может сочетаться со многими другими адресациями.

Косвенная регистровая адресация - эффективный адрес EA находится в регистре, номер которого задан в адресном поле команды. При этом данный регистр выполняет функции адресного. В некоторых архитектурах функции адресного регистра могут выполнять только вполне определенные регистры. Имеются

архитектуры, где любой регистр может

выполнять функции

адресного.

 

 

Неявная

адресация (implied addresing,

inherent addresing) -

адресация, при которой местоположение операнда задается кодом операции без использования адресных полей.

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

Стековая адресация - адресация с использование специального регистра - указателя стека (SP - Stack Pointer). Стековая адресация используется для занесения операндов в стек в одном порядке и извлечения в обратном порядке. До занесения операнда Op в стек содержимое SP уменьшается, затем используется в качесте EA операнда-приемника. При извлечении Op из стека в качестве EA

операнда-источника используется

содержимое SP, затем

SP

увеличивается. Таким образом, значение SP всегда указывает

на

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

Косвенная регистровая адресация с автоувеличением или автоуменьшением содержимого регистра - адресация, при которой

обращение

к операнду по EA, равному содержимому

используемого

регистра,

сопровождается

автоматическим

уменьшением или увеличением его содержимого на длину операнда. Различают предмодификацию (изменение содержимого регистра до обращения к операнду) и постмодификацию (изменение после обращения). Взаимнопротивоположный порядок модификации для адресации с автоувеличнием и автоуменьшением позволяет организовать стековую адресацию на основе любого регистра.

Адрес входа (entry point) - адрес первой команды подпрограммы или программы обработки прерывания.

Адрес возврата (return address) - адрес команды, перед выполнением которой вызвана подпрограмма или возникло прерывание. Прерывание (interrupt) - приостановка выполнения текущей программы с возможностью после обработки прерывания

продолжить ее выполнение. При входе в прерывание всегда сохраняется адрес возврата.

Вектор прерываний (interrupt vector) - набор данных, определяющих адрес входа в подпрограмму обработки прерываний и, возможно, новые значения данных, характеризующих состояние процессора.

Адрес вектора прерываний - адрес первого байта или слова вектора прерываний.

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

Язык ассемблера (assembly language) - машинно-ориентированный язык записи программы в виде последовательности операторов, каждый из которых представляет либо директиву ассемблера, либо машинную команду. В языке ассемблера коды операции, операнды, методы адресации представляются в мнемоническом виде с использованием имен констант, переменных, адресов перехода. Для различных архитектур ЭВМ, МП и МК используются различные языки ассемблера.

Ассемблер - программа, выполняющая трансляцию программы на языке ассемблера (ассемлер-программы) в машинный код. Мнемокод (mnemonic code) - мнемоническая запись кода операции машинной команды, используемая в языке ассемблера.

1.2. Язык описания алгоритмов выполнения команд

При описании алгоритмов выполнения команд в данных методических указаниях используются операции логических и арифметических выражений языка программирования Си:

!- логическое отрицание;

~- поразрядное отрицание;

& - поразрядное И в двухместной операции; определение адреса в одноместной; && - логическое И;

| - поразрядное ИЛИ; || - логическое ИЛИ;

^ - поразрядное исключающее ИЛИ; ++ - увеличение на единицу для данных и на длину операнда для адресов;

-- - уменьшение на единицу для данных и на длину операнда для адресов; - - вычитание в двухместной операции; изменение знака операнда в

одноместной операции;

+ - сложение; * - умножение в двухместной операции; обращение по адресу в

одноместной операции; / - деление; % - деление по модулю;

<< - сдвиг влево; >> - сдвиг вправо;

==, !=, <, >, <=, >= - отношения равно, неравно, меньше, больше, меньше или равно, больше или равно; = - присваивание;

-=, +=, *=, /=, %=, &=, ^=, |=, <<=, >>= - выполнение двухместной операции между левой и правой частями выражения с присвоением результата операнду, указанному в левой части; , - операция запятая.

условие ? выраж1 : выраж2 - условное выражение; если условие истинно, то вычисляется выражение выраж1, иначе - выраж2. Кроме перечисленных знаков операций используются обозначения: число1..число2 - диапазон чисел от значения число1 до значения число2 включительно;

Op[номер] - значение разряда с заданным номером в операнде Op; Op[ст] - значение старшего разряда операнда;

Op[мл] - значение младшего разряда операнда;

Op[номер1..номер2] - выделение диапазона разрядов; номер1 задает старший, а номер2 - младший разряд из указанного диапазона; [*] - каждый разряд операнда(применить операцию к каждому

разряду); например, A[*] = 1 - занести единицы во все разряды операнда A.

данное1(данное2 - конкатенация (объединение в единую последовательность) двух данных; данное1 образует старшие разряды формируемого таким образом более длинного данного; *выражение - содержимое ячейки памяти, адрес которой определяется выражением;

Op - значение операнда; EA - эффективный адрес; IA - косвенный адрес;

AV - адрес вектора прерываний.

2. Архитектура однокристальной микроЭВМ К1816ВЕ48

Однокристальные микроконтроллеры семейств MSC-48 и MSC-51 широко используются в изделиях производственного и культурнобытового назначения. Архитектура МК обеспечивает построение простых контроллеров без применения периферийных БИС. На

одном кристалле МК размещается не только узлы обработки данных, но и встроенная (резидентная) память программ и данных, порты ввода-вывода. Естественно, что при этом приходится жертвовать вычислительными возможностями микроконтроллеров, На рис.2.2. показана структурная схема МК. Основу структуры МК образует внутренняя двунаправленная 8-битная шина, которая связывает между собой все устройства БИС: арифметическологическое устройство (АЛУ) , устройство управления, память и порты ввода/вывода информации. Рассмотрим последовательно основные элементы структуры и особенности организации МК.

PC[7..0]

PC[11..8]

P1.0 . . . P1.7

P2.0 . . . P2.7

PB.0 . . . PB.7