Проников А.С. 1995 Т.2 Ч.2 (830967), страница 32
Текст из файла (страница 32)
Внешние шины — адресная и шина данных — могут быть совмещены, и в атом случае адреса и данные передаются поочередно. Микропроцессор функционирует синхронно с генератором тактовых импульсов. Одна команда (в зависимости от ее сложности) выполняется за один или несколько машинных циклов, а каждый машинный цикл — за несколько тактовых импульсов. В течение цикла команды обрабатываются два типа слов — командные и информационные. С командными словами выполняются такие операции: содержимое счетчика команд передается в регистр адреса памяти; адрес передается в память и дешифруется для того, чтобы найти в памяти нужную команду; команда через шину данных памяти поступает в регистр данных памяти, а затем в регистр команд микропроцессора; комамда дешифруется дешифратором команд; команда выполняется; содержимое счетчика команд увеличивается на единицу или в счетчик заносится адрес перехода; далее цикл повторяется.
Процесс обработки информационных слов в значительной степени зависит от конкретного микропроцессора. Упрощенно его можно представить следующим образом. Данные в АЛУ поступают из регистров микропроцессора, иа памяти, с внешних устройств. Во многих микропроцессорах данные поступают через аккумулятор, туда же передаются и результаты операций АЛУ. После завершения операций информационные слова пересылаются во внутренние регистры, в память или к внешним устройствам. Существуют два варианта выбора микропроцессора: использование однокристального микропроцессора, выполняющего функции АЛУ и устройства управления; применение секционированных микропроцессорных модулей, объединением которых можно получать устройства требуемой разрядности (рис.
10.8), 184 а~ ф Рнс. 10.8. Варианты организации мнкропроцессорной микросхемы: а — одпокристааанмй микропроцессор; б — секцнопированнмй микропроцессор Однокристальный микропроцессор (рис. 10.8, а) имеет фиксированный набор команд и разрядность. Модуль секционированного микропроцессора (рис. 10.8,б) включает арифметико-логическую секцию (АЛС), блок регистров, входные мультиплексоры, выходные регистр адреса и регистр-аккумулятор, дешифратор микрокоманд, входные (Вх.
Ш) и выходные (Вых. Ш) шины. К секционированному микропроцессору подключают БИС ПЗУ с хранимыми в ней микрокомандамн. Модулем секционированиого микропроцессора управляют сигналы дешифратора микрокоманд. Каждая микрокоманда подается после исполнения предыдущей. Исходные данные поступают по Вх. Ш! (нз ОЗУ) или по Вх.Ш2 (из устройства ввода — вывода информации) через мультиплексоры в АЛС. Результат выполненной операции через регистр-аккумулятор поступает на Вых.
Ш4 (по адресу, формируемому в выходном регистре адреса), а также на блок регистров для временного хранения и на мультиплексоры для использования на следующих этапах расчета. Связь с другими секциями осуществляется через линии признаков и межразрядных связей.
Система команд секционированного микропроцессора имеет микропрограммную поддержку. Микропрограммирование позволяет: реализовать' как стандартные, так и специальные наборы команд, имеющих прямое отношение к задачам ЧПУ; реализовать операторы языка программирования высокого уровня; построить ядро операционной системы реального времени; создать механизм специального диагностирования и т. д. Эффективность дополнительных специальных команд обусловлена резким повышением быстродействия исполнения алгоритмов. Структура вычислителя показана на рис.
!0.9. Структура, отражает магистрально-модульный принцип организации микропроцессорных уст- Рис. 1Отв Магистрально-модульная структура вычислителя 165 напил нглгуаиан панлти Ююуритг магигли нигриглена нанннгн, лейдаилнал нигиаиулаанииитаиг лгененлгла Рис. 10.10. Структура модуля памяти ройств и систем.
Межмодульные связи и обмен информацией между модулями осуществляются с помощью разделяемых шнн, к которым имеют доступ все модули. Общий зид модуля памяти представлен на рис. 10.10. В его составе интерфейс и набор микросхем памяти. Заданный объем памяти и тип используемых микросхем полностью определяют общую организацию массива микросхем памяти, Поскольку модулей памяти может быть несколько, адресация памяти включает не только адресацию слов, но и выбор нужного модуля.
Интерфейсы устройств ввода-вывода имеют набор регистров, на- Рис. 1О,1!. Структура последовательиого иитерфейса устройства ввода — вывода 166 зываемых портами, через которые микропроцессор и память взаимодействуют с внешними устройствами. Назначение портов следующее: буферизация данных; хранение информации о состоянии устройства и интерфейса; прием приказов от микропроцессора, управляющего действиямн интерфейса и устройства.
Взаимодействие вычислителя с внешним миром осуществляется только через порты интерфейса. В некоторых вычислителях адреса памяти и портов принадлежат единому адресному пространству и команды обращения к памяти и портам аналогичны. В других вычислителях организованы два адресных пространства — памяти и ввода-вывода, причем сигналы на соответствующих линиях шины управления указывают, к какому пространству относится адрес на шине. Последовательный интерфейс устройства ввода-вывода показан на рис. 10.11.
Регистр состояния содержит информацию о состоянии текущей передачи, например об ошибках, а регистр управления указывает на режим работы интерфейса (ввод, вывод). Буферный регистр входных данных принимает из регистра сдвига накопленный параллельный код буквенно-цифрового символа, поступающего к регистру сдвига входных данных в последовательном коде. Буферный регистр выходных данных подключен к регистру сдвига выходных данных с параллельным входом и последовательным выходом.
Вывод осуществляется путем сдвига данных на последовательную выходную линию. Параллельный интерфейс устройства ввода-вывода показан на рис. 10.12. При вводе данные помещаются на шину данных, затем уста- ИллтедФю~ Рис. 10.12. Структура нараллельного интерфейса устройства ввода — вывода навливается признак готовности входных данных. Интерфейс загружает данные в буфер и выставляет подтверждение входных данных. После получения подтверждения устройство ввода-вывода снимает сигналы данных и готовности. Далее интерфейс устанавливает бит состояния готовности и (возможно) посылает сигнал прерывания. После приема данных процессором состояние готовности сбрасывается, а данные помещаются на шину выходных данных.
Одновременно выставляется сигнал готовности выходных данных для устройства ввода-выво- 167 да. Когда устройство готово воспринять данные, оно загружает их в регистр, а затем возвращает подтверждение. Затем интерфейс снимает сигнал готовности выходных данных и вновь устанавливает бит состояния готовности. Передача данных (ввод, вывод) между портом интерфейса устройства ввода-вывода и памятью может осуществляться одним из трех способов: программно, по прерыванию, с помощью прямого доступа к памяти (ПДП). При программном вводе-выводе программа определяет требующие обслуживания интерфейсы, проверяя биты готовности в их регистрах состояния.
Программную проверку сигналов готовности называют опросом (полингом). При вводе-выводе по прерываниям интерфейс посылает сигнал прерывания в центральный процессор, когда имеет данные для ввода или готов их принять от процессора. В этом случае ввод-вывод реализуется процедурой прерывания.
При прямом доступе я памяти интерфейс запрашивает шину соответствующим сигналом управления, а необходимую передачу (память — порт или порт — память) выполняет без помощи микропроцессора. Рассмотрим действия во всех трех видах ввода-вывода. Операции программного ввода показаны на рис. 10.13. Алгоритм описывает ввод байтовой последовательнойиициииииции сти, причем после ввода каждого байта он модифицируется и передается в буфер, а после завершения ввода всех данных в буфер начинается их обработка. Программ,Еиииии ный ввод-вывод связан со значительными еит л, еииаии потерями времени, обусловленными ожиииии данием состояния готовности.
Ожидание допустимо, если не требуются параллельные действия; если же вычислитель выМие йииим Фиюрв- полняет и другую обработку, необходимо использование прерываний. Сигнал прерывания на входе микропроФф~йЬиии Гииичии цессора заставляет его отложить исполнеииии~ йииии ние основной программы и перейти в режим обслуживания прерывания. При пре- еиииЪ гитяииг рывании должно быть выполнено следующее: идентифицировано устройство, от которого поступил запрос на прерывание; сохранено состояние регистров микропроеи а~жи и цессора для того, чтобы можно было воииаиииии зобновить выполнение основной програм- мы; восстановлено состояние регистров поли еле завершения обслуживания прерывания. Обслуживание прерывания состоит в переходе к программе, адрес которой фиксирован или предоставлен устройством, вызвавшим прерывание.