Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Состав и назначение вычислителя устройства ЧПУ

Поиск

 

Аппаратную основу современных устройств ЧПУ составляют микропроцессорная техника и некоторые специальные аппаратные решения, свойственные ЧПУ. Ядром устройства ЧПУ является один вычислитель или группа вычислителей, а вычислитель построен с использованием микропроцессора.

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

 

Рисунок 2.10 – Модель фон Неймана для описания работы вычислителя

 

Центральный процессор (а в микропроцессорной реализации – это микропроцессор) состоит из операционного устройства и устройства управления. В свою очередь, в состав операционного устройства входят регистровая часть и арифметико-логическое устройство (АЛУ). В числе регистров имеются следующие устройства: буферные регистры адреса и данных; регистры общего назначения; специализированные регистры; индексные регистры; счетчик команд; регистр состояния микропроцессора; стек регистров; указатель стека, страницы, начало таблицы, начало блоков данных для передачи; регистры настройки и др. Регистры и АЛУ связаны шинами: данных, адресов, операндов, результатов, команд.
В устройство управления входят память микрокоманд и узел формирования адресов микрокоманд. В зависимости от организации устройства управления микропроцессоры делят на микропрограммируемые и с жестким управлением.

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

 


АЛУ – арифметико-логическое устройство; УУ – устройство управления;
ШУ, ША, ШД – шины управления, адресов, данных, соответственно;
РОН – регистры общего назначения

Рисунок 2.11 - Обобщенная структурная схема микропроцессора: а) укрупнённая схема;
б) развёрнутая схема

АЛУ предназначено для аппаратного исполнения простейших операций, таких как сложение, вычитание, пересылка, логические операции «И», «ИЛИ», сложение по модулю два, сдвиг и т.д. Более сложные действия выполняются с помощью микропрограмм и подпрограмм. Признаки операций, реализуемых АЛУ, а также признаки состояния микропроцессора хранятся в регистрах состояний.

Число регистров общего назначения РОН обычно варьируется от 4 до 64, причем конкретное число регистров во многом определяет вычислительные возможности микропроцессора. РОН используются как внутренняя сверхоперативная память, что позволяет реже (в 1,5-3 раза) обращаться к внешней памяти через интерфейс и увеличивает общее быстродействие.

Функции специализированных регистров чрезвычайно обширны. Счетчик команд содержит адрес расположенной в памяти и выполняемой в данное время команды. Регистр адреса хранит адрес расположенного в памяти слова, к которому происходит обращение. Накопительный регистр (аккумулятор) предназначен для хранения промежуточных результатов арифметических или логических операций АЛУ.

Чаще всего ввод и вывод всех данных АЛУ производится через аккумулятор. Регистр команд сохраняет на время дешифрации и исполнения код команды, адрес которой был определен счетчиком команд. Содержимое разрядов регистра состояния позволяет судить о результате вычислений (нулевой, положительный, переполнение и др.) для того, чтобы организовать программные переходы по заданным признакам или условиям. Стековая память обычно используется для хранения состояний всех внутренних регистров при обработке прерываний, а также для запоминания адреса возврата при выходе из подпрограммы. Индексные регистры служат для формирования адресов ячеек памяти.

Устройство управления на основании кода операции команды формирует внутренние сигналы управления, привлекая отдельные части микропроцессора. Так, сигналы управления, используя адресную часть команды, организуют пересылки данных. Используя специализированные регистры и счетчик команд, устройство управления выбирает очередную команду из памяти.

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

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

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

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

 

 


Рисунок 2.12 – Цикл операций над командными словами

 

В отношении центрального процессора (см. рисунок 2.10) существуют две тенденции: использовать однокристальный микропроцессор, выполняющий функции АЛУ и устройства управления, применять секционированные микропроцессорные модули, объединением которых можно получить устройство требуемой разрядности.

Естественно, система команд секционированного микропроцессора поддерживается микропрограммно. Микропрограммирование позволяет реализовать как стандартные, так и специальные наборы команд, имеющих прямое отношение к задачам ЧПУ.

 

Микропрограммирование позволяет также поддержать операторы языка программирования высокого уровня, построить ядро операционной системы реального времени, создать механизм специальной диагностики и т.д. Эффективность введения дополнительных специальных команд обусловлена резким повышением быстродействия исполнения алгоритма.

Основными причинами повышения быстродействия являются:

– существенно более высокая скорость обращения к памяти микропрограмм, чем к обычной памяти;

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

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

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

Общий вид модуля памяти представлен на рисунке 2.13. В него входят интерфейс и набор микросхем памяти. Заданный размер памяти и тип используемых микросхем полностью определяют общую организацию массива микросхем памяти.

 


Рисунок 2.13 – Структурная схема модуля памяти

 

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

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

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

Пример последовательного интерфейса устройства ввода-вывода показан на рисун-
ке 2.14.

 

 

 


Рисунок 2.14 – Структурная схема последовательного интерфейса устройства

ввода-вывода

 

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

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

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

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

При вводе-выводе по прерываниям интерфейс посылает сигнал прерывания в центральный процессор, когда интерфейс имеет данные для ввода или готов их принять от процессора. В этом случае операция ввода-вывода реализуется процедурой прерывания

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

 

 

 


Рисунок 2.15 – Структурная схема параллельного интерфейса устройства

ввода-вывода

 

 

Рассмотрим подробнее функционирование ввода-вывода во всех трех случаях. Типичные операции программного ввода показаны на рисунке 2.16. Алгоритм описывает процесс ввода байтовой последовательности, причем после ввода каждого байта в микропроцессор байт модифицируется и передаётся в буфер, а после завершения ввода всех данных в буфер начинается их обработка.

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

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

 

Рисунок 2.16 – Программный ввод данных

 

При прерывании должно быть:

– идентифицировано устройство, от которого поступил запрос на прерывание;

– сохранено состояние регистров микропроцессора с тем, чтобы можно было возобновить выполнение основной программы;

– восстановлено состояние регистров после завершения обслуживания прерывания.

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

Мультимикропроцессорный вычислитель построен на модульной основе, т.е. состоит из нескольких слабосвязанных вычислительных модулей (быть может, каждый с собственной локальной шиной), подключенных к общей разделяемой шине. Необходима такая логика доступа к разделяемой шине, чтобы в любой момент времени шиной управлял один ведущий модуль шины. Это можно сделать на приоритетной основе одним из трёх способов: с помощью приоритетной цепочки, опроса, независимого запроса (рису-
нок 2.18).

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

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

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

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

 

 

Рисунок 2.18 – Организация доступа к разделяемой шине
в мультимикропроцессорном вычислителе: а) с помощью приоритетной цепочки;
б) с помощью опроса; в) с помощью независимых запросов

 



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 502; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.156.26 (0.013 с.)