Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов (1988) (1092085), страница 10
Текст из файла (страница 10)
Программа оказывается более эффективной (требующей меньшей емкости памяти для ее хранения и меньшего времени для исполнения), если для ее построения используется специально подобранная для данной конкретной задачи система команд. Такой прием с введением новых составленных программистом команд оказывается невозможным в микропроцессорах, реализованных в виде одной микросхемы.
В тех случаях, когда требуется обеспечивать высокую скорость решения задачи, у разработчика микропроцессорного устройства возникает желание самому разработать систему команд, наилучшим образом приспособленную к решению конкретной задачи. При этом он должен знать, что ему придется преодолеть ряд трудностей, связанных с необходимостью определения состава команд и построения для каждой команды соответствующей ей микропрограммы, если программирование ведется на языке микрокоманд. Составленные таким образом микропрограммы затем записываются в постоянное запоминающее устройство управляющей памяти. Рассмотрим, к каким изменениям в структуре микропроцессора приводит обеспечение указанной выше возможности программирования на языке микрокоманд.
При создании микросхемы приходится решать трудную проблему сокращения числа выводов. В представленном на рис. 1.18, а варианте с совмещением в общей микросхеме всех элементов микропроцессора (ОУ, БМУ, УП) эта задача решается обычно путем мультиплексирования шин. Например, в микропроцессоре серии КР580 для 8-разрядных выходов и входов используются общие выводы, которые переключаются в зависимости от направления передачи данных либо на ввод, либо на вывод данных; в микропроцессоре серии КР18! О, оперирующем с 16-разрядными данными и 20-разрядными адресами ОП, кроме объединения входов и выходов данных, предусматривается использование этих выводов и для выдачи части разрядов адресной информации (при этом, очевидно, необходимо предусмотреть выдач> адреса и выдачу или прием данных в различные временные интервалы).
Для того чтобы разработчик микропроцессорного устройства имел возможность программировать на языке микрокоманд, он должен иметь доступ к УП для записи в нее составленных им микропрограмм. Такой доступ можно обеспечить, если УП вынести из микросхемы процессора, как показано на рис. 1.18, б. Как видно из сравнения схем на рис. !.18, а и б, вариант построения микропроцессора, представленный на рис. 1.18, б, потребует в 53 Шона адреса Рис. 1.18. Пояснение прииципа раэридио-модульиоа органиэации микро- процессора шона улродленоя а,) Шона шона дыходнык адреса данны» ддрес аа дылод мм сз $ рнод санно|я да|код .
данна|я 54 микросхеме, содержащей ОУ и БМУ, предусмотреть существенно большее число выводов, чем в микросхеме на рис. 1.18, а. Это связано с необходимостью предусматривать в варианте иа рис. ! .18, б выходы для передачи в УП адреса и входы для приема микрокоманды из УП.В результате такое построение практически окажется нереализуемым изза чрезмерно большого числа выводов, которые пришлось бы предусмотреть в микросхемах. В этом случае для сокращения числа выводов потребуется ОУ и БМУ выполнять ие в общей микросхеме, а раз- нести в разные микросхемы, как показано на рис.
1.18, в. Так как обеспечение высокого быстродействия требует отказа от мультиплексирования шин, то и в данном варианте число выводов в микросхеме ОУ окажется недопустимо большим. Число выводов можно сократить, если построить микросхему ОУ на небольшое число разрядов обрабатываемых данных (2-, 4-, 8-разрядных данных) и обеспечить возможность наращивать разрядность ОУ путем объединения соответствующего числа микросхем, как показано иа рис. 1.18, г. При этом каждая микросхема, называемая центральным процессорным элементом (ЦПЭ), представляет собой не все ОУ, а лишь определенную его секцию. Так, используя восемь 4-разрядных секций, можно построить ОУ для обработки 32-разрядных данных.
Подобную организацию микропроцессора называют разрядно-модульной. Такую организацию имеют микропроцессоры, которые строятся, например, на МПК серий К589 и К!804 (описание этих микропроцессоров приведено в гл. 5 и 6). 1.7. МИКРОПРОЦЕССОРНЫЕ УСТРОг!СТВА Рассмотрим структурную схему микропроцессорного устройства (МПУ), приведенную на рис. 1.19. Функционирование МПУ сводится к следующей последовательности действий: получение данных от различных периферийных устройств (с клавиатуры терминала, от дисплеев, из каналов связи, различного типа внешних запоминающих устройств), обработка данных и выдача результата обработки на периферийные устройства (ПУ).
При этом данные от ПУ, подлежащие обработке, могут поступать и в процессе их обработки. Для выполнения этих процессов в МПУ, кроме микропроцессора„ предусматриваются следующие устройства: Шина уняаананан Рис. 1,19. Микропроцессорное устройство оперативная память, предназначенная для хранения и выдачи по запросам команд программ, определяющих работу микропроцессора, различных данных (исходных данных, промежуточных и конечных результатов обработки данных в микронроцессоре), контроллеры — устройства, обеспечивакицие обмен данными различных ПУ с микропроцессором и ОП. В ходе работы микропроцессор выдает на шину адреса номер (адрес) ячейки ОП, в которой хранится очередная команда, и из шины управления в ОП поступают сигналы, обеспечивающие чтение содержимого указываемой шиной адреса ячейки памяти. Запрошенная команда оперативной памятью выдается на шину данных, откуда она принимается в микропроцессор.
Здесь команда расшифровывается. Если данные, действия над которыми предусматривает команда, находятся в регистрах микропроцессора, то микропроцессор приступает к выполнению указанной в команде операции. Если же при расшифровке команды выясняется, что участвующие в операции данные находятся в ОП, то микропроцессор выставляет на шину адреса адрес ячейки, хранящей эти данные, и после их выдачи из ОП принимает их через шину данных, затем выполняется операция над данными.
После завершения выполнения текущей команды на шину адреса выдается адрес следующей команды и описанный процесс повторяется. В процессе функционирования МПУ может потребоваться выдача результата на ПУ (для управления объектами отображения на экране дисплея и т. д.) либо прием данных от ПУ (например, прием данных, набираемых оператором на клавиатуре, и т.д.). Такой обмен данными может осуществляться следующим образом. Группа ПУ подключается к шине данных МПУ через контроллер обмена (устройства сопряжения), управляющий процессом обмена данными.
До начала непосредственного обмена данными с ПУ микропроцессор через шину данных должен выдать в контроллер информацию о режимах, используемых при передаче, направлениях передачи данных (от микропроцессора к ПУ либо, наоборот, от ПУ к микропроцессору), используемых в дальнейшем при обмене данными с каждым из подключенных и контроллеру ПУ. Затем в момент, когда потребуется, например, передать в ОП выдаваемые из ПУ данные, микропроцессор, выполняя команду ввода, подает иа контроллер соответствующие управляющие сигналы; данные из ПУ принимаются в регистр контроллера, откуда они затем контроллером выдаются пашину данных. Далее эти данные с шины данных принимаются в микропроцессор, после чего в процессе выполнения соответствующей команды они передаются в ОП.
Аналогично происходит обмен данными в обратном направлении— от ОП к ПУ. По соответствующей команде программы осуществляется прием из ОП в микропроцессор данных, подлежащих передаче, после чего по одной из следующих команд эти данные выдаются на шину данных и через контроллер обмена передаются на ПУ. Описанный обмен предполагает, что моменты обмена данными известны заранее уже на этапе программирования, и в программе предусматриваются в определенных местах соответствующие команды, обеспечивающие обмен.
Моменты обмена могут определяться и самим ПУ. Тогда эти моменты программисту оказываются неизвестными, и он не может в программе предусмотреть соответствующие команды обмена. В этих случаях ПУ, подавая в микропроцессор определенные сигналы, переводит его в состояние так называемого прерывания. В этом состоянии микропроцессор прекращает выполнение основной программы и переходит к исполнению команд другой хранящейся в ОП программы (арераваюп(ей программы), обеспечивающей обмен данными, требуемый периферийным устройством. После окончания выполнения такой прерывающей программы микропроцессор возвращется к выполнению основной программы. Описанные способы обеспечивают низкую скорость обмена и применять их целесообразно при обмене данными с низкоскоростными ПУ.
При работе с высокоскоростными ПУ (такими, как запоминающие устройства на дисках и др.) используется так называемый режим пряного доступа к памяти (ПДП). В этом режиме микропроцессор отключается от шин адреса и данных, предоставляя их в распоряжение ПУ для непосредственного обмена данными с ОП (без участия микропроцессора). Обмен при этом организуется специальным контроллером ПДП. В режиме ПДП ПУ обменивается с ОП не одиночными данными, а большими блоками данных.