
- •Кафедра автоматизації і комп’ютерних систем
- •Классификация архитектурных типов процессоров.
- •Традиционно машинный уровень.
- •Команды обращения к процедурам
- •Процедуры
- •Управление циклами
- •Представление данных
- •Управление процессами
- •Типы адресации
- •Поиск и сортировка
- •Сортировка данных
- •Межпроцессорное взаимодействие.
- •Критические области.
- •Методы синхронизации с пассивным ожиданием.
- •Решение задачи производительности потребителя с помощью мониторов.
- •Разработка систем с помощью передачи сообщений.
- •Классические проблемы межпроцессорного взаимодействия.
- •Планировщик процессов
- •Планирования в системах реального времени.
- •Организация виртуальной памяти.
- •Стратегии замещения страниц.
- •Алгоритм «2-я попытка»
- •Алгоритм «часы»
- •Алгоритм nfu (редко используемая страница)
- •Методы ускорения работы со страницами
- •Способы ассемблирования
- •Связывание программ
- •Структура объектного модуля
- •Атака системы безопасности
- •Принципы проектирования систем безопасности.
- •Аутентификация пользователей
- •Механизм защиты
- •Технические механизмы защиты
- •Защита информации при передаче
- •Основные понятия криптографии:
- •Криптографический протокол
- •Гибридные криптосистемы
- •Цифровая подпись
- •Сертификаты
- •Алгоритм des
- •Принципы аутентификации управления доступом
- •Аутентификация с использованием односторонних функций
- •Аутентификация по принципу "запрос-ответ"
- •Аутентификация управления доступом в Unix
- •Супер-пользователь Root
- •Теневые пароли
- •Поддержка возможностей в Linux.
- •Аутентификация.
- •Идентификаторы безопасности.
- •Одалживание прав.
- •Управление доступом Windows xp.
- •Аудит. Общие принципы.
- •Локальная безопасность.
- •Сетевая безопасность
Команды обращения к процедурам
Это команды изменяющие содержимое счетчика команд, для вызова некоторой процедуры. Суда же относятся команды возврата из процедур. Суда же относятся команды возврата из процедур.
Операция по возврату с прерыванием
Критерий выбора формата команд:
Минимально возможная длина, т.е. команды должны быть короткими.
Соответствие длины команды разрядности процессора, шины, памяти, а также соотношение скорости их работы.
Формат команды должен быть достаточным для кодирования в нем всего необходимого перечня команд.
Длина любой команды должна быть ровна 2n .
Расширенные коды операций позволяют сократить длину машинной команды, за счет использования части операнда или части кода адресации под кодирование команды.
Существуют и другие способы сокращения длины команды:
1. Использование регистра базы. При больших адресных пространствах, для частого обращения в некоторую область памяти целесообразно использовать длинные адреса более 1-го байта.
Чтобы решить проблему, вводится дополнительный регистр называемый регистром базы. Туда вносится некоторый адрес области данных.
Область памяти как сумма регистра данных и младших разрядов адреса, который используется в программе путем прямой, косвенной, а в некоторых случаях регистровой адресации.
2. Использование индексных регистров. При работе с массивами эти регистры содержат косвенный адрес данных в массиве и инкрементируются автоматически при обращении к ним.
Процедуры
Процедура – она же подпрограмма, функция, группа команд объеденных для решения некоторой задачи. Процедура может использоваться многократно. После выполнения своего задания процедура должна передать управление к оператору находящемуся непосредственно после точки структуры.
Существует 3 способа хранения адреса возврата:
Хранение адреса возврата в фиксированной ячейке памяти. Это может быть регистр или оперативная память.
Недостатки: допустим только 1 уровень вложенности процедур, если процедура вызывает другую процедуру, адрес возврата теряется. В чистом виде данный подход не используется. Однако в процессорах (PIK) используется массив фиксированных ячеек памяти.
Хранение адреса возврата в первой ячейке памяти вызвавшей процедуры.
Недостаток: допускается любое число вызовов вложенных процедур, но при этом ни одна процедура не вызывается дважды. Рекурсия не возможна. Данный подход не используется.
3. Хранение адреса возврата в вершине стека. Данный метод позволяет использовать вложенные процедуры, рекурсию, а также ценную рекурсию. Однако, количество рекурсивных вызовов процедуры ограниченна размерами стека. Размеры стека ограниченны разрядностью указателя стека.
Рекурсия – это способность процедуры вызывать саму себя.
Ценная рекурсия – это когда процедура вызывает сама себя через вложенный вызов иных процедур.
Сопроцедуры – это группа процедур, которая выполняется фрагментально и способно вызывать друг друга не с начала.
Для организации взаимодействия сопроцедур используется временный регистр обмен данными адреса возврата из процедуры.
Считать адрес возврата вызываемой процедуры с вершины стека поместить во временный регистр.
Загрузить счетчик команд, вызвавший сопроцедуры в вершину стека.
Поместить содержимое временного регистра в счетчик команд.