Вопрос 13
Подпрограммы в БЭВМ. Цикл исполнения команд перехода и возврата из подпрограммы. Стек, передача параметров. Позиционно-независимый код. Загрузчик и библиотеки.
Подпрограмма
Подпрограмма — это выделенная часть программы, выполняющая некоторую законченную последовательность действий и вызываемая из разных мест программы. Использование подпрограмм уменьшает дублирование кода, экономит память и упрощает разработку программ.
В БЭВМ для работы с подпрограммами используются команды CALL и RET.
CALL выполняет переход к подпрограмме и сохраняет адрес возврата. RET завершает выполнение подпрограммы и возвращает управление в точку вызова.
Цикл исполнения CALL
Цикл исполнения RET
Параметры в подпрограмму могут передаваться несколькими способами:
- через аккумулятор;
- через адресуемые ячейки памяти;
- через стек.
Стек
Стек — структура данных типа LIFO (Last In — First Out).
В БЭВМ стек организуется программно в области оперативной памяти. Для работы со стеком используется регистр SP (Stack Pointer), содержащий адрес вершины стека. Стек находится по адресу 7FF и при при помещении данных в стек указатель уменьшается, при извлечении — увеличивается.
Основные операции:
Позиционно-независимый код (PIC)
PIC (Position Independent Code) — программный код, который может быть загружен в любую область памяти без изменения содержащихся в нём адресов.
Для этого используются относительные адреса и вычисление адресов во время выполнения программы. PIC широко применяется в разделяемых библиотеках и современных операционных системах.
Загрузчик и библиотеки
Перед выполнением программы операционная система запускает загрузчик. Загрузчик — компонента ОС, который загружает программу в память, инициализирует необходимые регистры, загружает требуемые библиотеки и связывает адреса вызовов функций с их реальными адресами.
Загрузчик выполняет:
- размещение программы в памяти;
- настройку начальных значений регистров;
- связывание программы с библиотеками;
- загрузку динамических библиотек;
- настройку адресов вызовов библиотечных функций.
Библиотека — это набор готовых функций и подпрограмм, которые могут использоваться различными программами.
Различают:
- статические библиотеки — код функций включается в программу на этапе компиляции;
- динамические библиотеки — загружаются и связываются во время запуска программы.
Использование библиотек позволяет избежать дублирования кода, уменьшить размер программ и упростить разработку.
Ссылка на оригинал
Вопрос 28
Характеристики запоминающих устройств. Пирамида памяти
Запоминающее устройство (ЗУ) характеризуется рядом параметров, определяющих его информационные, временные и экономические свойства.
Основные характеристики памяти:
- Месторасположение (процессорная, внутренняя, внешняя)
- Емкость (метрические (-Кило), двоичные(Киби-))
- Единица пересылки (слово, строка кэша, блок диска)
- Метод доступа (произвольный (адресный), прямой (блочный), последовательный, ассоциативный)
- Временные характеристики памяти:
- Время доступа (Тд)
- Время чтения и время записи
- Время восстановления (Тв)
- Длительность цикла памяти (Тц=Тд+Тв)
- Скорость передачи информации
- Стоимость
- Физ. тип и особенности
Пирамида памяти
По мере удаления от процессора:
- увеличивается объем памяти;
- уменьшается стоимость хранения одного байта;
- увеличивается время доступа;
- уменьшается быстродействие.
Регистры являются самой быстрой, но самой дорогой и малой по объему памятью. Магнитные ленты обладают максимальной емкостью и минимальной стоимостью хранения, но имеют наибольшее время доступа.
Ссылка на оригинал




