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

Структурная схема алу . (Для 2-ого случая).

Швх

0101

Р1

Р2 1 001

Р21

РА РВ

0001

СчЦ

*

n-1

Тр СМ

РСМ

Швых

Р1 – регистр делителя.

Делимое: старшая часть заносится на РВ, младшая часть на Р2.

Частичный остаток до сдвига получается на выходе сумматора СМ, а частичный остаток после сдвига – на РСМ.

На РСМ с Р2 заносится по линии * очередной разряд делимого. А потом сдвинутый частичный остаток на Р2.

Очередная цифра частного будет записываться в младший разряд регистра Р21.

Р21 предназначен для сдвига младшей части делимого.

Частное формируется на Р21 и переносится на Швых.

Особенности выполнения операций над числами с плавающей точкой.

Знак числа

мантисса

- нормализованная правильная дробь

25.31 + 3.2→0.2531×102 + 0.32×101 = число×102

1. Порядок результата принимается равным большему из двух порядков.

2. Производится коррекция мантиссы с меньшим порядком: сдвигается вправо на число порядков, равное разности порядков.

3. Этап сложения мантисс: производится сложение мантисс как чисел с фиксированной точкой.

4. Нормализация результата: если результат не нормализован, то нормализуем результат – сдвигаем мантиссу влево на количество разрядов, равное числу нулей до первой значащей цифры; порядок мантиссы при этом уменьшается на это же число.

При сложении мантисс возникает «переполнение». Тогда сдвигаем мантиссу вправо, а порядок увеличивается.

При коррекции порядка может возникнуть переполнение разрядной сетки. Тогда будет прерывание.

Умножение чисел с плавающей точкой.

0.5×103 + 0.26×102

РА×2 РВ×2L

При умножении мантиссы перемножаем, порядки складываем.

Деление чисел с плавающей точкой.

Порядки вычитаем, мантиссы делятся.

Л17

ОРГАНИЗАЦИЯ СИСТЕМЫ ПРЕРЫВАНИЯ

В ЭВМ существуют различные ситуации (например, переполнение разрядной сетки, необходимость в/в), когда пользовательская программа должна быть снята с обработки и в ЦП должна начаться программа обработки прерывания.

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

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

Все возможные прерывания делятся на классы, которым присваивается свой уровень приоритета. Если запрос на прерывание имеет более высокий приоритет, чем обрабатываемая программа в ЦП, то прерывание воспринимается.

Существует специальная маска, которая позволяет замаскировать отдельные запросы на прерывание.

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

Общие правила организации прерывания.

Выполнение программы:

I охранение основных параметров)

запрет на прерывание II

прерывания

III

процесс обработки

Основные параметры, подлежащие хранению:

Счеткик команд (CrK) Признаковые триггера в АЛУ Маска

Дополнительные параметры:

РОНы

ССП – слово состояния программы ( хранит основные параметры)

Запросы на прерывание, как правило, обрабатываются по окончанию выполнения очередной машинной команды.

1 этап: выбор машинной команды из памяти;

2 этап: дешефрация;

3 этап: формирование исполнительного адреса и выбор операндов;

4 этап: выполнение операции в АЛУ;

5 этап: запись результата.

Выбор команды из памяти

Дешифрация кода операции

Формирование исполнительного адреса и выбор операндов

Выполнение операции в АЛУ

Запись результата

Запрос на прерывание

Обработка прерывания

Только для систем реального времени, где требуется быстрая реакция на запрос,

возможно прерывание в процессе выполнения команды.

При возникновении запроса на прерывание по окончанию выполнения текущей команды происходят следующие действия:

I. Необходимо сохранить основные параметры в памяти (счетчик команд, признак,

маска).

II. Чтобы выполнить программу обработки прерывания в ЦП на счетчик команд из некоторой фиксированной ячейки памяти подается адрес 1-й команды программы обработки прерывания. Процесс выполнения программы обработки прерываний условно включает в себя 3 этапа:

1. Сохранение в памяти дополнительных параметров – содержимого ронов для прерванной программы.

2. Этап непосредственного выполнения программы обработки прерывания.

3. Восстановление из памяти содержимого ронов для прерванной программы. III. Чтобы продолжить выполнение прерванной программы, необходимо восстановить в

ЦП содержание регистров ССП, т.е. основных параметров.

Механизм реализации прерываний с помощью старых и новых (от фирмы IВМ)

Все запросы на прерывание делятся на 5 классов:

Аппаратное прерывание.

В/в

Внешние прерывания.

Супервизер.

Программное прерывания.

Обработка прерывания – понижение приоритета, поступление запрета на прерывание –

повышение приоритета

Обработка одного запроса на прерывание(на примере прерывания по вводу/выводу):

в оперативной памяти выделяются старые и новые ячейки, их количество соответствует числу классов прерывания (по 5 шт.)

1. Код причины прерывания заносится на регистр ССП.

2. Содержимое регистра ССП будет записано в старую ячейку для этого класса прерывания. (I)

3. Новая ячейка для данного класса заносится на регистр ССП. В новой ячейке содержится адрес первой команды обработки прерывания и маски для обработки прерывания.

Новые счетчики для каждого из 5 классов хранят адрес первой команды. (II)

4. Выполнение программы обработки прерывания:

а. сохранение РОНов

б. непосредственное выполнение програмы обработки прерывания ( анализируется код причины прерывания и в соответствии с кодом выполняется нужная подпрограмма)

в. восстановление РОНов

5. Старая ячейка помещается на ССП (восстановление основных параметров)

При выполнении одной команды приходят одновременно 2 запроса на прерывание различных классов. Только для этой ситуации существует приоритет.

Пример: в/в и внешнее

1. На регистр ССП поступает запрос внешних прерываний.

2. В старую ячейку внешних прерываний записывается регистр ССП.

3. Новая ячейка внешних прерываний заносится на регистр ССП. Регистр ССП теперь содержит адрес первой команды первых прерываний.

4. Запрос на в/в заносится на регистр ССП. Регистр ССП заносится в старую ячейку по в/в. Старая ячейка будет содержать регистр ССП (адрес первой команды внешних прерываний)

5. В новую ячейку по в/в записывается регистр ССП (адрес первой команды по в/в).

6. Выполнение программы обработки прерывания по в/в.

7. Старая ячейка по в/в заносится на регистр ССП (адрес первой команды по внешним прерываниям).

8. Выполнение побработки прерывания по внешним прерываниям.

9. Старая ячейка внешних прерываний записывается на регистр ССП (содержит регистр прерванной программы).

Если программа обработки прерывания по в/в уже начала обрабатыватся, и приходит запрос на прерывание, то эта система приоритетов не действует, а возможность прерывания определяется маской: если внешнее прерывание не замаскировано , то запрос от внешних прерываний будет обрабатываться

Л18

Стековый механизм организации

Различают понятия: вектор состояния и вектор прерывания, хотя они имеют одинаковую структуру.

СЧК - вектор состояния

ССР - вектор прерывания

При обработке программы в ЦП изменяется вектор состояния.

При возникновении запроса на прерывание анализируется приоритет обрабатываемой программы в ЦП (порог прерывания) и приоритет запроса на прерывание.

Если запрос на прерывание имеет более высокий приоритет, то инициируется процесс обработки прерывания.

I - Вектор состояния будет для прерванной программы запомнен в стеке.

II - Из некоторой ячейки выбирается вектор прерывания и помечается на регистре ЦП,

который содержит адрес 1-й команды программы обработки прерывания.

1. Сохранение ронов для прерванной программы.

2. Непосредственное выполнение программы обработки прерываний.

3. Восстановление сохраненных ронов для прерванной программы.

Из верхушки стека выбирается вектор состояния для прерванной программы.

Различаются внутренние и внешние прерывания. И их вектор прерывания находится в ячейках с фиксированным адресом ( для внутренних причин).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]