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

Сохранение адреса возврата в регистре

В системе команд(СК) вводится две команды:

  • Команда вызова ПП имеет вид:

ПП

R1

D



Схема исполнения:

  1. ((УК))→РК

  2. (УК)≠1→УК

  3. Дешифровка коп

  4. (УК) →R1

  5. D→УК

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

- Команда возврата имеет вид:

О

R1



Схема исполнения:

  1. ((УК))→РК

  2. (УК)+1→УК

  3. Дешифровка коп

  4. (R1) → УК

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

Схема:

Формат главной

А

P 1 R1 D

А+1

В

P1 R1 D

В+1

ПП

D

Е

БП ОR1



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

Использование стеков

Использование стеков снимает проблему вложенных ПП. Для этого в систему команд вводится:

- Команда перехода к ПП:

ПП

D

Алгоритм:

  1. ((УК)) → РК

  2. (УК) + 1 → УК

  3. Дешифровка коп

  4. (УК) → -(Sp)

  5. D → УК

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

- Команда возврата:

БП

Sp

Алгоритм:

  1. ((УК)) → РК

  2. (УК) + 1 → УК

  3. Дешифровка коп

  4. (Sp) + → УК

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

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

Передача параметров

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

Схема передачи:

Фрагмент главной

( ….)х(…)→R2

А

Переход к ПП

А+1

( R2)х(…)→

ПП

(R1)x(…)…

…..

(….)x(…)→R2

Возврат



Операции ввода/вывода

Есть три технологии выполнения операции:

- Программно управляемый ввод/вывод

- Ввод/вывод по прерыванию

- Прямой доступ в память

Программно управляемый ввод/вывод

Взаимодействие программ с периферийными устройствами происходит по схеме:

  1. Команды программы выдают адрес устройства и вид работ

  2. Следующая команда требует записать слово из ячейки памяти

  3. Контроллер принимает слово из памяти в свой регистр данных, признак готовности -0- “занято”. Затем передает слово в периферийное устройство, по окончанию в регистре -1

  4. Все время работы контроллера программа выполняет цикл ожидания, затем продолжение работы

Взаимодействие ЦП с ПУ(принтер)

ОМТ М

R(сост) → R1

(R1) = 1 ?

((R0)) → M

R(сост) → R1

(R1) = 1 ?

Нет

Цикл ожидания

Да

((R0)) → M

0 → Rсост

Вывод символа на печать

1 → Rсост

Работа устройств вывода:

Один символ

Временная диаграмма