Лекция № 10 (1085706), страница 2

Файл №1085706 Лекция № 10 (Лекции МП) 2 страницаЛекция № 10 (1085706) страница 22018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Например:

двоичное число 0111 → 7(10) после операции бит-реверсии станет равным 1110 → 14(10).

двоичное число 100 → 4(10) после операции бит-реверсии станет равным 001 → 1(10).

Операция бит-реверсии буфера на восьми элементах:

Порядок следования n исходных отсчетов x(n)

Прямой

Бит-реверсивный

Десятичная система

Двоичная система

Двоичная система

Десятичная система

0

000

000

0

1

001

100

4

2

010

010

2

3

011

110

6

4

100

001

1

5

101

101

5

6

110

011

3

7

111

111

7

Управляющий блок.

Блок управления программой (БУП).

Блок управления программой должен содержать основной источник адреса памяти программ:

Так как разрядность счетчика команд равна 16, то максимальный объем памяти программ должен быть равен 64 Кб.

В регистре команд находятся команды, которые уже сосчитали, но они ещё не дошли до дешифрации. Так же как и конвейер, нам не показывается регистр команд (теневой регистр). Если конвейер трехступенчатый, то должно быть как минимум два теневых регистра.

К управляющей части также относится указатель стека.

Каждая ячейка стека имеет 16-разрядный формат. Стек – возрастающий.

Сам указатель стека (SP) – это 16-разрядный регистр, четыре младших разряда которого (P3, P2, P1, P0) определяют адрес последней записи в стек (от 0 до 15):

SE – это бит-флаг, сообщающий о переполнении стека или его избыточной выгрузке. Переполнение или избыточная выгрузка стека считаются ошибкой стека и вызывают прерывания.

Возможно 15 уровней вложений подпрограмм.

16-разрядный регистр состояния (SR) определяет состояние процессора. В регистре SR также хранятся признаки результатов выполнения очередной операции. Он состоит из двух частей: регистра управления (регистра режима) MR - старшие 8 бит и регистра условий CCR - младшие 8 бит:

Регистр условий CCR:

7 6 5 4 3 2 1 0

X

L

E

U

N

Z

V

C

C - флаг переноса;

V - флаг переполнения;

Z - флаг нулевого результата;

N - флаг отрицательного результата;

U – флаг показывающий: был ли результат последней операции нормализован;

E - флаг показывающий: использованы ли биты 35 - 32 расширения аккумулятора;

L – флаг показывающий: был ли результат последней операции ограничен (для арифметики с

насыщением);

Регистр режима (MR):

Здесь важно две вещи:

15 14 13 12 11 10 9 8

S1

S0

I 1

I 0

I1 – I0 - биты, которые задают уровень маскирования прерываний:

I1- I0 = 11 - маскируются прерывания 0, 1 и 2 уровней;

I1- I0 = 10 - маскируется уровни 0 и 1;

I1- I0 = 01 - маскируется только уровень 0;

I1- I 0 = 00 - отсутствие маскирования.

S1 - S0 - биты, которые используются при накоплении (можем сдвигать влево, вправо и не сдвигать).

Старший уровень системы приоритетов прерываний 3 является немаскируемым, он используется для прерываний ядра при поступлении неправильного кода команды, наличия переполнения, ошибке доступа к данным. Уровни с 0 по 2 (по возрастанию приоритета) - маскируемые, используются при обслуживании программных прерываний, запросов прерываний от периферийных устройств и внешних запросов.

Кроме традиционных, в программном контроллере есть ещё три специфических регистра, которых нет у обычных микроконтроллеров: регистр повторов LC (Loop Counter) (счетчик циклов); регистр адреса перехода LA (Loop Address) и регистр OMR (Operation Mode Register), который управляет режимами памяти процессора.

Регистр адреса перехода LA и счетчик циклов LC применяются вместе с аппаратным стеком при реализации циклов. Два слова в стеке и два комплекта регистров LA и LC позволяют выполнять вложенный цикл внутри основного.

Регистр повторов LC связан с наличием команды REPIT («REP» – повтор). Число (или содержимое регистра), указанное в этой команде, показывает: сколько раз надо повторить следующую команду.

Например:

REP #10

MAC X0, Y0, A X: (R0) −, X0 Y: (R4) +, Y0

По этой команде: содержимое входного регистра X0 умножается на содержимое входного регистра Y0 и результат помещается в аккумулятор (А).

Из памяти X по косвенно указанному адресу, который определяется регистром R0, автоматически уменьшенному на единицу, должны передать в X0 (подготовить для следующего умножения).

Аналогично из памяти Y по косвенно указанному адресу, который определяется регистром R4, автоматически увеличенному на единицу, должны передать в Y0.

Таким образом, вычисляем целую строку при разных значениях X и Y.

Команда REP записывает в регистр LC количество повторов.

В процессорах цифровой обработки сигналов могут повторяться отдельные фрагменты программы. Для этого есть оператор DO («делай»).

После оператора DO весь фрагмент (все команды) программы до метки ENDDO будут повторяться.

Например:

DO #10 ENDDO

………………………….

…………………………

ENDDO

Чтобы запомнить последнюю метку, есть специальный регистр LA (последний адрес).

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

PC; SP; SR; LC; LA; OMR.

Система прерываний (СП).

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

Данная процедура называется прерыванием процессора; сигнал, вызвавший прерывание, - запросом на прерывание; источник данного сигнала – источником прерывания; последовательность действий, выполняемая по запросу на прерывание, - обслуживанием прерывания, а выполняемая по прерыванию программа – подпрограммой обслуживания прерывания.

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

У сигнального процессора фирмы Motorola, который мы взяли за основу: 4 внешних и 16 внутренних прерываний.

Внешние прерывания – это прерывания по активному сигналу на соответствующем выводе.

Есть 4 вывода, через которые может быть внешнее прерывание:

  1. RESET (аппаратный сброс процессора (установка в начальное состояние));

  2. MODA/IRQA;

  3. MODB/IRQB;

  4. MODC/NMI.

Внутренние прерывания – это прерывания от всех внутренних периферийных устройств.

К программным прерываниям относятся:

  1. Специальные команды для управляемого программного прерывания процессора: эти

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

(например: команда SWI в процессорах фирмы Motorola).

  1. Команда программного сброса RESET.

  2. Неуправляемые прерывания – исключения, обозначающие ошибку (ошибка стека, деление

на ноль, переполнение и т.д.).

Каждый источник прерывания имеет свой вектор прерывания – ячейку памяти данных, содержимое которой определяет тип прерывания:

  • Быстрый, если подпрограмма обслуживания прерывания размещается непосредственно

в векторе.

  • Долгий, если вектор содержит обращение к более сложной подпрограмме обслуживания

прерывания.

Быстрые прерывания могут использоваться для организации обмена данными между памятью и устройствами ввода/вывода. Они позволяют сократить время обслуживания прерывания, поскольку не требуют команд обращения к подпрограмме и возврата из неё.

Механизм выполнения быстрого прерывания: текущая команда должна быть закончена, а после этого, содержимое счетчика команд отправляется в специальный теневой регистр. На место счетчика команд записывается адрес вектора прерывания. По окончании процедуры обработки прерывания, сохраненное содержимое счетчика команд восстанавливается. Таким образом, быстрые прерывания предполагают сохранение («защелкивание») состояния программного счетчика и автоматический возврат в основную программу.

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

Средства управления прерываниями.

  1. Таблица векторов прерываний. Она занимает 64 нижних ячейки в памяти программ и обычно располагается, начиная с нулевого адреса. В процессорах фирмы Motorola на каждое прерывание выделяется 2 ячейки.

Пример таблицы векторов прерывания:

Адрес вектора прерывания

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

Приоритет IRL

Источник прерывания

0000

3

RESET

0002

3

ошибка стека

0004

………………

3

………………

0006

3

команда SWI

0008

0 – 2

внешнее прерывание MODA/IRQA

000А

0 – 2

внешнее прерывание MODB/IRQB

Приоритеты символически обозначаются целыми положительными числами. В процессорах фирмы Motorola высший приоритет кодируется наибольшим числом три (3 – это безусловное прерывание). Высший приоритет во всех процессорах имеет аппаратный сброс на выводе RESET.

Процедура быстрой обработки прерываний выполняется в том случае, если в таблице векторов прерываний содержится не ссылка на обработчик прерывания, а сама процедура обработки. Быстрые прерывания всегда имеют 2-ой уровень приоритета (приоритет должен быть установлен в 1). Быстрые прерывания не могут прерываться никакими источниками, т.е. не допускают вложенных прерываний.

Характеристики

Тип файла
Документ
Размер
900,5 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее