Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

ВНУТРЕННЯЯ ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРА

 

основные функции микропроцессора:

• выборка команд из ОЗУ;

•декодирование команд (т.е. определение назначения команды, способа ее исполнения и адресов операндов);

• выполнение операций, закодированных в командах;

• управление пересылкой информации между своими внутренними регистрами, оперативной памятью и внешними (периферийными) устройствами;

• обработка внутрипроцессорных и программных прерываний;

• обработка сигналов от внешних устройств и реализация соответствующих прерываний;

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

 

Обсуждение внутренних регистров микропроцессора начнем с наиболее важных: счетчика адреса команд, указателя стека и регистра состояния. Наличие счетчика адреса команд, как уже говорилось выше, было предложено еще в работахфонНеймана. Роль счетчика состоит в сохранении адреса очередной команды программы и автоматическом вычислении адреса следующей. Благодаря наличию программного счетчика в ЭВМ реализуется основной цикл исполнения последовательно расположенных команд программы. Заметим, что не во всех МП счетчик команд программно доступен.

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

Наконец, регистр состояния процессора. Для разных МП он может называться по-разному (например, слово состояния процессора, регистр флагов и т.п.), но суть его всегда одна: в этом регистре хранятся сведения о текущих режимах работы процессора. Сюда же помещается информация о результатах выполняемых команд, например, равен ли результат нулю, отрицателен ли он, не возникли ли ошибки в ходе операции и т.п. Использование и анализ информации в этом очень важном регистре происходит побитно; иными словами, каждый бит регистра состояния имеет самостоятельное значение. Содержание регистра состояния МП всегда старается сохранить в первою очередь сразу после значения командного счетчика.

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

 

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

1) данные находятся в одном из регистров МП;

2) данные входят непосредственно в составкоманды, т.е. размещаются после кода операции (операции с константой);

3) данные находятся в ячейке ОЗУ, адрес которой содержится в одном из регистров МП;

4) данные находятся в ячейке ОЗУ, адрес которой вычисляется по формуле

 

Мнемоника команды   Содержание команды   Пояснения  
HLT   Остановка   Выполнение программы прекращается  
CLR А   Очистить А   А:=0 (в операнд А засылается 0)  
INC А   Увеличить А на 1   А:=А+ 1 (значение А увеличивается на 1)  
DEC A   Уменьшить А на 1   А:=А-1 (значение А уменьшается на 1)  
MOV А,В   Переписать А в В   В:=А (В принимает значение А)  
ADD A,B   Сложить А в В   В:=А + В (сумма помещается в В)  
SUB A,B   Вычесть А из В   В:=В-А (разность помещается в В)  
СМР А,В   Сравнить А с В   По знаку разности А-В устанавливаются  
        Управляющие биты; А и В сохраняются  
JMP А   Безусловный переход к А   Безусловный переход по адресу А  
BR К   Безусловный переход на К. слов   Безусловный переход через К команд  
BEQ К   Переход по = 0   Переход на К слов, если результат = 0  
BNE К   Переход по 0   Переход на К слов, если результат 0  
BPL К   Переход по ≥ 0   Переход на К слов, если результат ≥ 0  
ВМ1 К   Переход по < 0   Переход на К. слов, если результат < 0  
JSR А   Вызов подпрограммы по адресу А   Переход на адрес А с запоминанием адреса возврата для команды RET    
RET   Возврат из подпрограммы   Возврат на команду, следующую за вызовом подпрограммы  

 

Название Мнемоника Пояснение
Регистровая Косвенно-регистровая Автоинрементная Автодекрементная   Rn (Rn) (Rn)+ -(Rn)   Операнд в регистре Rn Операнд в ячейке ОЗУ, адрес которой в Rn То же, но после чтения Rn увеличивается на 1 То же, но перед чтением Rn уменьшается на 1  

 

 

КОП КМА N POH
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
КОП KMA1 N POH1 KMA2 N POH2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
         

 

 

Кроме уже названных, в «Е97» имеется ряд внутренних регистров, которые процессор использует при исполнении операций. Это регистр команд РК, предназначенный для хранения кода исполняемой в данный момент команды; регистры операндов Рг1 и Рг2, куда считываются исходные данные; сумматор См, в котором производится требуемое в команде действие и получается результат. Мы не можем непосредственно изменять содержимое этих «служебных» регистров, но в данном учебном компьютере они доступны для наблюдения. Вертикальная заштрихованная полоса на рисунке разделяет программно-доступные (слева) и программно-недоступные (справа) регистры.

 

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

 

Перейдем к самому важному - системе команд, которые умеет выполнять учебный процессор. Как мы уже знаем, машинная команда состоит из операционной и адресной частей: первая указывает, что надо сделать с данными, а вторая - где их взять и куда поместить результат. В этом разделе мы будем говорить, в основном, об операционной части, лишь коротко упоминая об адресной; в последней нас пока, главным образом, будет интересовать число операндов (адресов). Вопросам, связанным с подробностями адресации данных, будет посвящен следующий пункт.

Итак, рассмотрим структуру команды «Е97» (рис. 4.20). В зависимости от конкретной операции, ее формат может иметь некоторые особенности, но в наиболее полной форме он состоит из четырех частей по 4 бита каждая (см. рис. 4.20, б): модификатор МОД, код операции КОП и два операнда ОП1 и ОП2. Назначение КОП и операндов было описано в предыдущем параграфе. Что же касается МОД, то он указывает варианты реализации команды, например, адресовать байт или слово, по каким управляющим битам переходить и др.

Наиболее простой формат команд из всех возможных, имеют две -нет операции (ее код 0) и останов (код F). Как видно из рис. 4.20, а, в этих командах задействован только КОП. остальные 12 бит значения не имеют. Основная масса команд, коды которых заключены в интервале от 1 до В. являются двухадресными и соответствуют уже упоминавшемуся ранее рис. 4.16, б.

 

 

К ним относятся:

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

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

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

4 - сравнение, 8 - «ИЛИ»,

Таблица всех используемых в «Е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 - вызов подпрограммы.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.