Структура микропроцессорной системы

Процессор, построенный на одной или нескольких БИС, называется микропроцессором.

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

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

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

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

Рис.4.1. Структурная схема микропроцессорной системы.

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

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

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

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

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

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

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

Построение микропроцессоров с использованием различных микропроцессорных комплектов

Все элементы микропроцессоров с программируемой логикой - операционное устройство (ОУ), управляющая память (УП) и блок микропрограммного управления (БМУ) - могут размещаться на одном кристалле, т.е. весь микропроцессор может быть выполнен в виде одной микросхемы. Так реализованы микропроцессоры в отечественных сериях микропроцессорных комплектов КР580 и КР1810. Управляющая память микропроцессоров такого типа хранит набор микропрограмм, записанный в нее уже на этапе изготовления микросхемы на заводе. Каждая микропрограмма представляет собой последовательность микрокоманд, обеспечивающую выполнение некоторой несложной операции. При поступлении в микропроцессор команды из ОП в УП находится соответствующая команде микропрограмма и путем последовательного считывания ее микрокоманд осуществляется прием из ОП операндов, выполнение над ними некоторых простейших действий и вызов из ОП очередной команды. В микропроцессоре серии КР580 такие микропрограммы содержат от 4 до 17 микрокоманд. Применение микропроцессора, выполненного на одной микросхеме, естественно, упрощает построение микропроцессорной системы, сокращая число используемых в ней элементов. Кроме того, упрощается процесс программирования, так как от программиста не требуется записывать выполняемые в каждом такте микрокоманды. Составляя программу, он оперирует командами, т.е. хранящимися в микропроцессоре группами микрокоманд, которые соответствуют командам.

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

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

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

При создании микросхемы приходится решать трудную проблему сокращения числа выводов. В представленном на рис.4.2,а варианте с совмещением в общей микросхеме всех элементов микропроцессора (ОУ, БМУ, УП) эта задача решается обычно путем мультиплексирования шин. Например, в микропроцессоре серии КР580 для 8-разрядных выходов и входов используются общие выводы, которые переключаются в зависимости от направления передачи данных либо на ввод, либо на вывод данных; в микропроцессоре серии КР1810, оперирующем 16-разрядными данными и 20-разрядными адресами ОП, кроме объединения входов и выходов данных предусматривается использование этих выводов и для части разрядов адресной информации (при этом, очевидно, необходимо предусмотреть выдачу адреса и выдачу или прием данных в различные временные интервалы).

Рис.4.2. Варианты структур микропроцессора.

Для того чтобы разработчик микропроцессорного устройства имел возможность программировать на языке микрокоманд, он должен иметь доступ к УП для записи в нее составленных микропрограмм. Такой доступ можно обеспечить, если УП вынести из микросхемы процессора, как показано на рис.4.2,б. Из сравнения схем на рис.4.2,а и 4.2,б видно, что вариант на рис.4.2,б потребует в микросхеме, содержащей ОУ и БМУ, предусмотреть существенно большее число выводов, чем в микросхеме на рис.4.2,а. Это связано с необходимостью иметь в варианте на рис.4.2,б выходы для передачи в УП адреса и входы для приема микрокоманды из УП. В результате такое построение практически окажется нереализуемым из-за чрезмерно большого числа выводов, которые пришлось бы предусмотреть в микросхеме. В этом случае для сокращения числа выводов следует ОУ и БМУ выполнять не в общей микросхеме, а разнести в разные микросхемы, как показано на рис.4.2,в. Так как обеспечение высокого быстродействия требует отказа от мультиплексирования шин, то и в данном варианте число выводов в микросхеме ОУ окажется недопустимо большим. Число выводов можно сократить, если построить микросхему ОУ на небольшое число разрядов обрабатываемых данных (2-, 4-, 8-разрядных данных) и обеспечить возможность наращивать разрядность ОУ путем объединения соответствующего числа микросхем, как показано на рис.4.2,г.

Сайт управляется системой uCoz