Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для модуля 2 арх.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
162.82 Кб
Скачать
  1. Теория.

    1. Организация и работа со стеком процессора, стековый фрейм. (30 баллов)

  2. Практические задания.

    1. Написать программу на языке ассемблер, которая осуществляет ввод с клавиатуры в память компьютера посимвольно строку символов длины L, упорядочивает введенные символы по порядку возрастания ASCII кодов. (30 баллов)

1) Сте́ковый кадр (англ. stack frame) — механизм передачи аргументов и выделения временной памяти (в процедурах языков программирования высокого уровня) с использованием системного стека. Для использования в качестве указателя стека (SP) вы­зовов подпрограмм выделяется отдельный регистр, именуемый стеком процессора. Команда Call помещает в стек процессора содержимое регистра PC, а команда Return выталкивает из этого стека адрес возврата и помещает его в PC. Стек — это список элементов данных, обычно слов или байтов, доступ к которым ограничен следующим правилом: элементы этого списка могут добавляться толь­ко в его конец и удаляться только из конца. Операцию помещения но­вого элемента в стек часто называют его проталкиванием (push), а операцию извлечения последнего элемента из стека называют его выталкиванием (pop). Для отслеживания адреса вершины стека используется регистр процессора, называемый указателем стека (Stack Pointer, SP (ESP)). Для работы со стеком предназначены три регистра:

1) ss – сегментный регистр стека;

2) sp/esp – регистр указателя стека;

3) bp/ebp – регистр указателя базы кадра стека.

Размер стека зависит от режима работы микропроцессора и ограничивается 64 Кбайтами (или 4 Гбайтами в защищенном режиме).

В каждый момент времени доступен только один стек, адрес сегмента которого содержится в регистре SS. Этот стек называется текущим. Для того чтобы обратиться к другому стеку («переключить стек»), необходимо загрузить в регистр ss другой адрес. Регистр SS автоматически используется процессором для выполнения всех команд, работающих со стеком.

Перечислим еще некоторые особенности работы со стеком:

1) запись и чтение данных в стеке осуществляется в соответствии с принципом LIFO,

2) по мере записи данных в стек последний растет в сторону младших адресов. Эта особенность заложена в алгоритм команд работы со стеком;

3) при использовании регистров esp/sp и ebp/bp для адресации памяти ассемблер автоматически считает, что содержащиеся в нем значения представляют собой смещения относительно сегментного регистра ss.

Задание №6.

  1. Теория.

    1. Доступ к устройствам ввода-вывода. Виды прерываний, управление прерываниями. (30 баллов)

  2. Практические задания.

    1. Написать программу на языке ассемблер IA-16, в которой определены натуральные числа , размерностью двойные слова(4 байта) x и y. Написать подпрограмму, которая находит максимальное из них. Параметры и результат передаются через стек.(30 баллов)

1)Простейшая схема подключения устройств ввода-вывода к компьютеру заключа­ется в использовании общей шины. Все устройства, подключенные к шине, могут обмениваться между собой информацией. Обычно шина состоит из трех наборов линий, предназначенных для передачи адресов, данных и управляю­щих сигналов. Каждому устройству ввода-вывода присваивается уникальный на­бор адресов. Когда процессор помещает на адресные линии конкретный адрес, распознавшее этот адрес устройство отвечает на команду, помещенную на управ­ляющие линии. Процессор запрашивает либо операцию чтения, либо операцию записи, и запрошенные данные пересылаются по линиям данных. Такая организация системы ввода-вывода, при которой устройства ввода-вывода и память разделяют одно адресное пространство, называется вво­дом-выводом с отображением в память.

Технология ввода-вывода с отображением в память применяется в большинст­ве компьютерных систем. Некоторые процессоры для выполнения операций вво­да-вывода поддерживают специальные команды In и Out. Например, процессоры семейства Intel, имеют специальные команды ввода-вывода и отдельное 16-разрядное адресное пространство для устройств ввода-вывода. Соз­давая компьютерную систему на основе такого процессора, конструктор может либо соединить все устройства ввода-вывода так, чтобы они использовали специ­альное адресное пространство ввода-вывода, либо подключить их как часть ад­ресного пространства памяти. Второй подход позволяет упростить программное обеспечение, поэтому используется он значительно чаще. Существует еще два распространен­ных механизма реализации ввода-вывода: прерывания и

прямой доступ к памяти.

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

Задание №7.