Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
акс конспект епта.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
524.14 Кб
Скачать

Относительный адрес

Константы многоразового использования бывает локальными и глобальными. Локальность определяется относительно конкретной команды. Константа, используемая командой часто, оказывается локальной для нее. На такие константы рассчитана относительная адресация. Двухадресная команда с относительным адресом короче, чем команда типа “регистр-память”.

Формат для относительной адреса:

Р

R1

D2


D2 – целое со знаком. D2 используется в качестве смещения относительно УК.

Выполнение команды:

  1. ((УК))  РК

  2. (УК) + l УК

  3. Дешифрация Р

  4. (R1) r1

  5. ((УК) + D2)  r2

  6. (r1)p(r2)  r3

  7. (r3)  R1

  8. Перейти к пункту 1

Пересылки

Для организации пересылок вводится два новых регистра.

РАП – регистр адреса памяти

РДП – регистр данных памяти

Через эти регистры процессор связывается с ОП. По шине адреса в ОП передается адрес, а по шине данных - из ??? в ОП. Когда производится операция чтения или запись результата, адрес засылается в РАП. По команде чтения ОП пересылает содержимое регистра выставленного адреса в РДП. Если команду записать, то содержимое регистра данных передается в ОП, т.е имеется группа команд, называемых командами пересылки. Они(команды) имеют формат:

(R1)  R2

(R1)  A1

(A1)  R1

(A2)  R2

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

( А) РДП

Пересылка из А в В

(РДП)  В

Обмен с внешней памятью

ВЗУ управляется контроллером – специализированным процессорами, имеющими собственные регистры: регистр данных и регистр состояния. РС хранит информацию о готовности ВЗУ к работе. Есть регистр вида: ввод или вывод.

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

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

Разветвления в алгоритмах и программах.

Важный элемент алгоритмов - разветвление, т.е момент, когда возможны альтернативные варианты продолжения.

Блок – схема разветвления

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

ОП

Общая часть 1

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

Ветвь 1

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

Ветвь 2

Общая часть 2

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

Команда безусловного перехода - простейшая из команд передачи управления. Состоит из кода операции и адреса перехода.

Р

А

Этапы выполнения команды:

  1. ((УК)) → РК

  2. (УК)+L → УК

  3. Дешифратор Р.

  4. А→УК

  5. Перейти к пункту 1

Большинство команд передачи управления - условного перехода используется, как правило, трехадресные команды. Одна из схем выполнения: при выполнении условия – переход к следующей команде. Условие может быть:

  1. Если (А) < (В), то С→УК

  2. Если (А)>(В), то С→УК

  3. Если (А)=(В), то С→УК

  4. Если (А)≠(В), то С→УК

Организация перехода разделена на 2 стадии: подготовка условия и проверка. Формирование условия готовит предыдущая команда.

Для передачи значения истинности условия в процессоре существует регистр флагов (РФ). Часть разрядов РФ не используется(резерв), а остальные делятся на управляющие, системные, разряды состояний. Совокупность разрядов состояния называют регистром признаков результата. (РПр) Многие команды арифметико-логического типа вырабатывают признак результата - бит, записывающийся в один из разрядов РФ. Разрядность флагов состояния от 4 до 6: флаг нуля, флаг знака, флаг переполнения, флаг отрицания результат и т.д.

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

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

Схема алгоритма:

  1. ((УК))→РК

  2. (УК)+L→РК

  3. Дешифрация р.

  4. Если [(РПр) and (Np)]≠0, то А2 → УК

  5. Переход к пункту 1

Np-набор признаков

Циклы

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

Первая команда внутреннего цикла - та, на которую указывает стрелка. Последняя – та, откуда выходит стрелка. Между ними - тело цикла.

Классификация циклов:

-По расположению проверки условия перехода бывают: с предшествующей и с последующей (например untile и repeat)

-По типу алгоритма (цикл с заданным числом повторений, цикл итерационного типа, цикл смешанного типа)

1. Цикл с заданным числом повторов(со счетчиком)

Управление осуществляется с помощью специальной переменной – счетчик. С этим связаны задачи, когда надо программировать элементы, найти максимум и т.д

Схема:

I = 1,3

Инициализация

I , s = s +i

I = i+1

N-i=0 ?

Основные вычисления

Подготовка перехода

Условие перехода

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