Команды безусловного перехода 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Команды безусловного перехода



Команды безусловного перехода содержат поле кода операции, обычно – JMP ( JUMP), и адрес перехода:

JMP mem_A,

где mem_А – адрес перехода.

Команды условного перехода

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

Адрес перехода может задаваться прямым адресом или относительным (относительно содержимого счетчика команд). Условие перехода задается или кодом команды, или указывается в поле адреса перехода.

В качестве кода операции для команд ветвления на языке ассемблера используются мнемоника Jcc(Jump condition code) или Bсс (Branch condition code), где сс (condition code) – код условия, например, JNS – передать управление, если знак результата (по коду условий в регистре состояния) неотрицателен.

Команды управления циклами

Это командыусловного перехода, которые проверяют содержимое счетчика циклов и передают управление на начало цикла по условию, заданному кодом операции.

Для ЭВМ моделей PDP-11 – это команда SOB R1, M. По этой команде производится декремент счетчика циклов (R1) и переход на метку М, пока содержимое R1 отлично от нуля.

Для МП Intel - это команда LOOP М. По этой команде содержимое регистра ecx уменьшается на 1, и выполняется переход на метку М, пока ecx не равно нулю.

Команды вызова

Это команды условного или безусловного перехода на подпрограммы (вызов функции или процедуры).

В случае вызова функции в подпрограмму передаются параметры (аргументы функции) с указанием их числа.

В ассемблере МП Intelдля кода операции команд вызова используется мнемоника CALL, в ассемблере ЭВМ PDP - 11 – JSR. По командам вызова производится переход на подпрограмму с возможностью возврата в основную программу. Для возможности возврата при выполнении перехода сохраняется адрес возврата.

Возврат в основную программу делается по команде возврата в вызываемой программе. Это безадресные команды RET и RET n, где n – количество переданных аргументов (используется для восстановления стека).

Для реализации передачи управления или вызова могут использоваться два механизма перехода:

· передачи управления,

· переключения задач.

Механизм передачи управления

Механизм передачи управления заключается в сохранении адреса возврата (для большинства архитектур МП) в стеке и занесении в счетчик команд адреса перехода.

Термин "задача " в описаниях МП IA (Intel-архитектур) означает – «программа, находящаяся на стадии выполнения в режиме разделения времени".

Механизм переключения задач

Механизм переключения задач используется в МП Intel только в защищенном режиме. При переключении задач сохраняется содержимое всех программно-доступных регистров процессора в специальных сегментах памяти.

Вопросы для самопроверки:

1. Действие команд безусловного перехода.

2. Мнемоника команд безусловного перехода.

3. Действие команд условного перехода.

4. Мнемоника команд условного перехода.

5. Действие команд управления циклами.

6. Задание числа повторений циклов в командах   управления циклами.

7. Действие команд вызова (подпрограмм).

8. Мнемоника команд вызова (подпрограмм).

9. Действие команд условного вызова (подпрограмм).

10. Мнемоника команд условного вызова (подпрограмм).

Контекст программы

Выполняемая программа – это последовательность машинных команд.

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

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

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

ния команд (основная информация контекста).

· результатов выполненных команд, сохраненных в РОНах (дополнительная информация контекста).

Для сохранения основной информации контекста она группируется в:

· PSW (Program Status Word – Слово состояния программы) в моделяхIBM 360 – 370),

· регистресостояния (PSв моделях PDP-11 ),

· регистре флагов (Flags в моделях МП Intel)

и аппаратно сохраняется:

· в зарезервированных ячейках памяти (IBM 360/370 ),

· в аппаратном стеке (МП Intelи DEC).

Вопросы для самопроверки:

1. Понятие основной информации контекста программ.

2. Место сохранения основной информации контекста программ.

3. Понятие дополнительной информации контекста программы.

4.  Место сохранения дополнительной информации контекста программы.

 

3.8. Команды CISC-и RISC-архитектуры

CISC и RISC архитектуры являются основными архитектурами команд современных ЭВМ. Основоположником CISC-архитектуры (Complete Instruction Set Computer - компьютер с полным набором команд) считается фирма IBM с архитектурой IBM/360.

Стратегия CISC-архитектуры

Стратегия CISC-архитектуры формировалась в большой степени по желанию программистов иметь в своем распоряжении как можно больший набор команд для упрощения программирования. За первое десятилетие компьютерной эры список команд ЭВМ расширился от нескольких десятков (ЭВМ «Урал-1» имел 32 команды) до нескольких сотен (модели семейства IBM/370 используют около 200 команд). Лидером в разработке CISC-процессоров считается компания Intel.

Для CISC-процессоров характерно:

· небольшое число регистров общего назначения;

· большое количество машинных команд,

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

· большое количество способов адресации,

· большое количество форматов команд различной разрядности,

· преобладание двухадресного формата команд,

· наличие команд обработки типа регистр-память.

Использование CISC-архитектуры упрощает компиляцию программ и уменьшает размеры исполняемых модулей. В какой то мере, архитектура CISCпозволила фирме Intelзанять на массовом рынке относительно недорогих PC ведущее положение. Но в архитектуре CISC плохо реализуются новейшие технические решения по повышению быстродействия процессоров. Это использование конвейерной, суперконвейерной и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд.

Стратегия R ISCархитектуры

Основой современных высокопроизводительных ЭВМ (рабочие станции, супер-ЭВМ и т.д.) является архитектура RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд).

Зачатки этой архитектуры можно обнаружить в компьютерах CDC 6600. Значительную роль в становлении архитектуры RISC сыграла фирма IBM. Её сотрудник Джон Кук продемонстрировал, что использование в программе только простых команд в формате регистр-регистр позволяет увеличить скорость выполнения большинства вычислительных задач в 2-3 раза. Кроме этого, было замечено, что 80% кода программ содержат 20% простейших команд. Было доказано, что удаление из системы команд сложных операций позволяет уменьшить объём аппаратуры процессора примерно в 10 раз без ощутимого снижения быстродействия.

В первых ЭВМ главными требованиями архитектуры RISC являлись следующие:

1. Любая операция должна выполняться за один такт.

2. Система команд должна содержать минимальное количество наиболее часто используемых команд одинаковой длины.

3. Операции обработки данных реализуются только в формате регистр-регистр. Обмен между регистрами и памятью выполняется только командами загрузки-записи.

В дальнейшем эти требования были несколько смягчены. Выполнение команды за один такт стало трактоваться как загрузка конвейера команд в темпе "команда за такт". Набор команд современных RISC-процессоров возрос и содержит до 150 команд и более.

Незыблемым для архитектуры RISC остается только требование: обработка данных ведется только командами в формате регистр-регистр.

Среди других особенностей RISC архитектур следует отметить:

· наличие достаточно большого файла РОНов (32 и более регистров),

· для обработки используются трехадресные регистровые команды,

· команды регистр-память используются только для загрузки (Ld) РОНов из памяти и сохранения (ST) содержимого РОНов в памяти,

· как следствие упрощения команд, использование аппаратной, а не микропрограммной логики выполнения команд,

В последних разработках МП компании Intel, начиная с МП Pentium Pro, а также ее последователей и конкурентов (AMD R5, Cyrix M1, NexGen Nx586 и др.) широко используются идеи, реализованные в RISC-микропроцессорах.

Вопросы для самопроверки:

1. Понятие CISC- архитектуры.

2. Положительные особенности CISC- архитектуры.

3. Отрицательные особенности CISC- архитектуры.

4. Понятие R ISC архитектуры.

5. Положительные особенности R ISC - архитектуры.

6. Отрицательные особенности R ISC- архитектуры.

7. Основные требования к системе команд RISC - архитектуры.

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

Глава 4. СИСТЕМА ПРЕРЫВАНИЯ

 



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 170; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.55.14 (0.018 с.)