17425

Проектирование системы прерываний микро-ЭВМ на БИС семейства КР580

Другое

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

Проектирование системы прерываний микроЭВМ на БИС семейства КР580 Настоящая работа содержит методические указания по проектированию системы прерываний микроЭВМ на БИС семейства КР580 и написана в помощь студентам специальности при выполнении курсовых и дипломн...

Русский

2013-07-01

87 KB

7 чел.

Проектирование системы прерываний микро-ЭВМ

на БИС семейства КР580

Настоящая работа содержит методические указания по проектированию системы прерываний микро-ЭВМ на БИС семейства КР580 и написана в помощь студентам специальности  при выполнении курсовых и дипломных проектов по микропроцессорной тематике.

      Графическая часть методических указаний может быть использована как материал ТСО при проведении лекционных и практических занятий.

  1.  НАЗНАЧЕНИЕ И ЗАДАЧИ ПРОЕКТИРОВАНИЯ СИСТЕМЫ

ПРЕРЫВАНИЙ МИКРО-ЭВМ.

Система прерываний микро-ЭВМ предназначена для приема, хранения и обработки запросов прерываний, поступающих от внешних источников информации. Примерами внешних источников прерываний могут служить:

устройства ввода/вывода информации;

времязадающие устройства;

датчики аварийных ситуаций (например, сбоя питания и пр.).

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

  1.  Как воспринимать и сохранять запросы прерываний.
  2.  Как запрещать и разрешать прием запросов прерываний во время выполнения программ.
  3.  Как идентифицировать источники запросов прерываний.
  4.  Как передавать управление подпрограмм обслуживания запросов прерывания.
  5.  Как сохранять текущее состояние процессора при переходе к подпрограммам обслуживания запросов прерывания и как его восстанавливать после завершения подпрограммы.
  6.  Как вести обработку приоритетов запросов прерываний.
  7.  Как сопрягать средства системы прерываний с микропроцессором.

  1.  СТРУКТУРА СИСТЕМЫ ПРЕРЫВАНИЙ МИКРО-ЭВМ.

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


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

 Вход разрешения

Прерывание    прерывания

 Вход/выход                                                                                                                                                                                                Вход/выход

   приоритетов                           A>B  Запись                                                          маски прерывания

                                                 

                   Выборка                                                                                        Разрешение                                            Выборка             Запись

                                Чтение                               

         Запись     Чтение

 1

 

.  .  .                                                               2 

                                                                                  .  .  .

                      

 

 Входы  запросов прерываний

 Рис.2.1. Структура системы прерываний: 1 – схема приема запросов прерывания; 2 – схема маскирования запросов; 3 – схема формирования вектора прерывания; 6 – схема сравнения приоритетов.


Прием запросов прерываний.

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

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

Микропрограммные средства устройства управления МП воспринимают прерывания через один общий вход. Поэтому сигналы запросов прерываний с выхода регистра запросов прерываний объединяются по схеме ИЛИ и общий сигнал прерывания подается на вход прерывания INT микропроцессора. В частности микропроцессор КР580ИК80А воспринимает запросы прерываний со входа INT и имеет запоминающий триггер прерываний, управляемый по программе.

Разрешение/запрет запросов прерываний.

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

В микропроцессоре КР580ИК80А имеется триггер разрешения прерывания ТгПР, который автоматически сбрасывается после приема очередного запроса прерывания и блокирует прием последующих запросов. Это позволяет запретить прерывание на начальном этапе обслуживания запроса без программного вмешательства.

Триггер ТгРПР является программно доступным. Наличие команд разрешения (E1) и запрета (DI) прерываний позволяет в любом месте программы разрешить или запретить прерывания микропроцессора. Выход триггера ТгРПР  INT E позволяет осуществлять управление внешними средствами системы прерываний.

Идентификация источников запросов прерывания.

Идентификация источников запросов прерывания осуществляется с использованием двух основных способов – опроса и векторного способа.

В первом случае процессор читает содержимое регистра запросов прерываний и анализирует каждый разряд прочитанного слова, начиная, например, со старшего разряда. Идентификация осуществляется по позиции, занимаемой запросом в прочитанном слове. Способ опроса прост в реализации, так как требует дополнительно лишь аппаратурные затраты для программного чтения содержимого РЗП. Однако для идентификации многих источников требуются большие затраты времени.

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

В микропроцессоре КР580ИК80А используется векторный способ идентификации источников прерывания. Вектор прерываний кодируется трехразрядным двоичным словом VVV и воспринимается в форме команды RST V с форматом 11VVV111, что позволяет идентифицировать 8 источников прерываний. Для формирования команды RST V можно использовать регистр вектора прерывания, три входа которого соединяются с выходами шифратора вектора прерывания, а на остальные подается сигнал логической единицы.

Возможен также прием вектора прерывания в форме трехбайтовой команды вызова подпрограммы CALL ADR. Для этого потребуются дополнительные средства формирования и чтения команды CALL ADR. Однако возможности системы прерываний при этом могут быть существенно расширены.

2.4. Передача управления подпрограммам обслуживания запросов прерываний.

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

В первом случае используются микропрограммные средства процессора, во втором – специальная программа опроса.

В микропроцессоре КР580ИК80А адрес подпрограммы обслуживания прерывания формируется по вектору прерывания, воспринимаемому в формате команды RST V, в виде 0000 00VV V000. Таким образом, начальные адреса подпрограмм располагаются с адреса 000016 по 003F16 с интервалом 8 адресов.

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

Обычно в начальных адресах подпрограмм располагаются команды перехода к подпрограммам обслуживания прерывания. Например, программное обеспечение перехода к подпрограммам обслуживания запросов прерываний МП ИК80А имеет вид:

    ORG H0

JMP MAIN; переход к основной программе

   ORG H8

 JMP INT1; переход к подпрограмме обслуживания запроса 1

 ORG H10

 JMP INT2; переход к подпрограмме обслуживания запроса 2

 ORG H18

 JMP INT3; переход к подпрограмме обслуживания запроса 3

 ORG H20

 JMP INT4; переход к подпрограмме обслуживания запроса 4

 ORG H28

 JMP INT5; переход к подпрограмме обслуживания запроса 5

 ORG H30

 JMP INT6; переход к подпрограмме обслуживания запроса 6

 ORG H38

 JMP INT7; переход к подпрограмме обслуживания запроса 7

Для реализации способа опроса в микропроцессорной системе КР580 необходимо сформировать единственный вектор, по которому осуществляется переход к подпрограмме опроса. Обычно для этой цели используется команда RST7, формируемая системным контроллером КР580ВГ28 при подключении входа INT A к источнику +12В и осуществляющая переход по адресу НЗ8.

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

ORG H38

PUSH PSW

PUSH B          сохранить состояние процессора

PUSH D

PUSH H

  INPORT ; читать содержимое регистра запросов прерываний

        RAR ; сдвинуть в бит переноса

JC INTO ; перейти к подпрограмме обслуживания запроса INTO, если содержимое флажка переноса равно 1

        RAR ; следующий сдвиг

  JC INT1 ; перейти к подпрограмме INT1 при выполнении условия

JMP INT2 ; перейти к подпрограмме INT2

2.5. Сохранение/восстановление состояния процессора.

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

В микропроцессоре КР580ИК80А автоматически осуществляется сохранение в стеке содержимого программного счетчика при выполнении команды перехода на подпрограмму обслуживания прерывания RST V или CALL ADR. Для этой цели содержимое счетчика не увеличивается на единицу в первом цикле команды, а запоминается в стеке во втором и третьем циклах выполнения команды RST V, CALL ADR. При использовании в качестве стека области ОЗУ необходимо предусмотреть загрузку указателя стека начальным адресом. Обычно это осуществляется основной программой:

ORG MAIN

LXISP, ASTM; /загрузка адреса стека в память

             EI    ; /разрешение прерывания

Сохранение содержимого других рабочих регистров в микропроцессоре КР580ИК80А осуществляется программным обеспечением. Для этой цели используются команды занесения в стек PUSH, размещаемые в подпрограмме прерывания и осуществляющие загрузку 16-разрядных слов в стек. Участок подпрограммы в общем случае имеет вид:

PUSH PSW ; загрузка слова состояния – содержимого аккумулятора и флажков

       PUSH B ; загрузка содержимого пары B

       PUSH D ; загрузка содержимого пары D

       PUSH H ; загрузка содержимого пары H

Восстановление состояния процессора осуществляется обычно подпрограммами обслуживания прерываний. Для восстановления содержимого рабочих регистров МП КР580ИК80А используются команды извлечения из стека РОР, выполненные в порядке обратном командам PUSH. Восстановление содержимого программного счетчика осуществляется по команде возврата из подпрограммы RET. Последовательность восстановления состояния процессора КР580ИК80А имеет вид:

    POP H    ; восстановить содержимое пары H

    POP D    ; восстановить содержимое пары D

    POP B    ; восстановить содержимое пары B

  POP PSW ; восстановить слово состояния

       RET     ; возврат из подпрограммы восстановления содержимого                                                          программного счетчика

2.6. Приоритетная обработка запросов прерываний.

Обслуживание запросов прерываний от многих источников необходимо вести в соответствии с определенной схемой очередности.

Обычно схема очередности обслуживания запросов прерывания задается присвоением входам запросов прерывания соответствующих приоритетных уровней. При этом запрос прерывания с более высоким приоритетом обслуживания прерывает запросы с более низкими уровнями приоритетов. В схеме с фиксированными приоритетами каждому входу запроса прерывания присваивается фиксированный приоритет.

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

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

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

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

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

2.7. Сопряжение средств системы прерываний с микропроцессором.

 

Сопряжение внешних средств системы прерываний с микропроцессором осуществляется через системную шину средствами интерфейса.

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

      Схема сопряжения внешних средств системы прерываний с системной шиной микро-ЭВМ на БИС КР580 показана на рис.2.2.

    

  АШ

ШД D7…0

ШУ                                                      ЧтВВ       ЗПВВ   ППРЕ    РПР    ЗПР

      .   .    .

                                                          

 От источников  запросов прерываний.

Рис.2.2. Интерфейс внешних средств системы прерываний с системной                                                       шиной микро-ЭВМ на БИС КР580.

        


 

А также другие работы, которые могут Вас заинтересовать

63911. Трансформация морали в повседневной жизни 51 KB
  В данной статье мы рассмотрим как проходит трансформация морали в повседневной жизни. А кто создал все эти моральные нормы Нам навязало это общество или мы считаем что делать правильно именно так и не иначе исходя из своих собственных внутренних побуждений...
63912. «Одиночество в сети». Хикикомори в современном мире 52.5 KB
  Не выходи из комнаты не совершай ошибку. Это сокращение от Хикикомори японского термина впервые употреблённого психологом Тамаки Сайто в начале 90х годов прошлого века. Большинство хикикомори юноши. Самоизоляция демонстрируемая хикикомори является частым симптомом у людей страдающих от депрессии...
63913. Скрытая реклама как уникальная технология управления потребительским поведением в трансформирующемся обществе 42.5 KB
  Скрытая реклама как уникальная технология управления потребительским поведением в трансформирующемся обществе Наше общество общество потребления. Именно для такой удачной презентации товаров в обществе тотального потребления и существует реклама.
63914. Моральные и правовые трансформации общественного сознания на примере Беби-боксов 53 KB
  В переходный период углубляющийся кризис духовного мира личности сопровождающийся деформацией индивидуального сознания ценностной переориентацией личности столкновением сложившихся стереотипов с реалиями жизни требует переосмысления многих теоретических представлений о соотношении...
63915. Идолопоклонство в современном мире 37.27 KB
  Можно заметить и рост фанатизма и зависимости от различных обожествленных объектов и их проникновение в повседневную обыденную жизнь и также большее количество людей которые пребывают под влиянием идолов. Появление организованных религий привело к усилению религиозной власти над мирской...
63917. Различия в социально-психологической адаптации городской и сельской молодежи в период учебной деятельности в ВУЗе 47.5 KB
  Самой главной опасностью по признанию самих студентов является незнакомая среда в которой приезжий студент предоставлен сам себе. В студенческих общежитиях где проживает большинство приезжих студентов у ребят может отсутствовать место где они могут спокойно подготовиться к занятиям.
63918. Трансформация коммуникативных практик в контексте социокультурных изменений (на примере посткризисного региона Чечня) 76.5 KB
  Между тем изучение коммуникации посткризисного региона может помочь не только вникнуть в суть самого кризиса но и проникнуть в психологию общества ведь каждый человек и общество в целом отражает в коммуникации свое видение вещей. На сегодняшний день не существует ясности...
63919. Социальная солидарность и социальное отчуждение в перспективе общественного воспроизводства 69 KB
  Человек не способный понимать всего социально-экономического значения взаимной солидарности никогда не будет истинно свободным истинно честным и истинно благородным человеком. Такие понятия как социальная солидарность и социальное отчуждение достаточно знакомы нашему обществу...