Все элементы микропроцессоров с программируемой логикой - операционное устройство (ОУ), управляющая память (УП) и блок микропрограммного управления (БМУ) - могут размещаться на одном кристалле, т.е. весь микропроцессор может быть выполнен в виде одной микросхемы. Так реализованы микропроцессоры в отечественных сериях микропроцессорных комплектов КР580 и КР1810. Управляющая память микропроцессоров такого типа хранит набор микропрограмм, записанный в нее уже на этапе изготовления микросхемы на заводе. Каждая микропрограмма представляет собой последовательность микрокоманд, обеспечивающую выполнение некоторой несложной операции. При поступлении в микропроцессор команды из ОП в УП находится соответствующая команде микропрограмма и путем последовательного считывания ее микрокоманд осуществляется прием из ОП операндов, выполнение над ними некоторых простейших действий и вызов из ОП очередной команды. В микропроцессоре серии КР580 такие микропрограммы содержат от 4 до 17 микрокоманд. Применение микропроцессора, выполненного на одной микросхеме, естественно, упрощает построение микропроцессорной системы, сокращая число используемых в ней элементов. Кроме того, упрощается процесс программирования, так как от программиста не требуется записывать выполняемые в каждом такте микрокоманды. Составляя программу, он оперирует командами, т.е. хранящимися в микропроцессоре группами микрокоманд, которые соответствуют командам.
Однако такое облегчение программирования сопровождается существенным снижением скорости решения задачи. Это связано со следующим. Система команд, которой снабжается микропроцессор при его заводском изготовлении, универсальна в том смысле, что она позволяет программировать решение любой задачи. Но при решении конкретной задачи такая фиксированная система команд может оказаться неэффективной: пользование ею потребует большого числа команд, на выполнение которых микропроцессор будет затрачивать много времени. Программа оказывается более эффективной (требующей меньшей емкости памяти для ее хранения и меньшего времени для исполнения), если для ее построения используется специально подобранная для данной конкретной задачи система команд. Такой прием с введением новых составленных программистом команд (т.е. модификация системы команд) оказывается невозможным в микропроцессорах, реализованных в виде одной микросхемы.
В тех случаях, когда требуется обеспечивать высокую скорость решения задачи, у разработчика микропроцессорного устройства возникает желание самому разработать систему команд, наилучшим образом приспособленную к решению конкретной задачи. При этом он должен знать, что ему придется преодолеть ряд трудностей, связанных с необходимостью определения состава команд и построения для каждой команды соответствующей микропрограммы, если программирование ведется на языке микрокоманд. Составленные таким образом микропрограммы затем записываются в постоянное запоминающее устройство управляющей памяти.
Рассмотрим, к каким изменениям в структуре микропроцессора приводит обеспечение указанной выше возможности программирования на языке микрокоманд.
При создании микросхемы приходится решать трудную проблему сокращения числа выводов. В представленном на рис.4.2,а варианте с совмещением в общей микросхеме всех элементов микропроцессора (ОУ, БМУ, УП) эта задача решается обычно путем мультиплексирования шин. Например, в микропроцессоре серии КР580 для 8-разрядных выходов и входов используются общие выводы, которые переключаются в зависимости от направления передачи данных либо на ввод, либо на вывод данных; в микропроцессоре серии КР1810, оперирующем 16-разрядными данными и 20-разрядными адресами ОП, кроме объединения входов и выходов данных предусматривается использование этих выводов и для части разрядов адресной информации (при этом, очевидно, необходимо предусмотреть выдачу адреса и выдачу или прием данных в различные временные интервалы).
Рис.4.2. Варианты структур микропроцессора.
Для того чтобы разработчик микропроцессорного устройства имел возможность программировать на языке микрокоманд, он должен иметь доступ к УП для записи в нее составленных микропрограмм. Такой доступ можно обеспечить, если УП вынести из микросхемы процессора. Это связано с необходимостью иметь в варианте на рис.4.2 выходы для передачи в УП адреса и входы для приема микрокоманды из УП. Так как обеспечение высокого быстродействия требует отказа от мультиплексирования шин, то и в данном варианте число выводов в микросхеме ОУ окажется недопустимо большим. Число выводов можно сократить, если построить микросхему ОУ на небольшое число разрядов обрабатываемых данных и обеспечить возможность наращивать разрядность ОУ путем объединения соответствующего числа микросхем.
Задание
Реализовать данную программу с помощью Turbo Prolog.
![]() | |||||||
![]() | |||||||
| |||||||
|
МЕНЬШЕ БОЛЬШЕ
![]() | |||
![]() |
РАВНО
![]() |
Преобразование заданной схемы
|
|
![]() | |||||
![]() | |||||
![]() | |||||
|

![]() | |||
![]() | |||
Текст данной программы
Адрес | КОП | Команда | Комментарии | Метка |
DB | In PRT 18 | Ввод в аккумулятор PARIN1 | ||
MOV B,A | Пересылка содержимого аккумулятора в регистр B | |||
DB | IN PRT 1A | Ввод в аккумулятор PARIN2 | ||
1A | ||||
ADD B | Сложение значение аккумулятора с содержимым B | |||
LXI H, DOP | Загрузка DOP в ячейку ПЗУ | |||
1A | Мл. байт | |||
Ст. байт | ||||
BE | CMP M | Сравнение содержимого аккумулятора с H | ||
050a | FA | Jm мет 1 | Безусловный переход, если больше > | |
050b | Мл. байт | |||
050c | Ст. байт | |||
050d | C3 | JMP мет 0 | Безусловный переход в метку 1 | |
050e | Мл. байт | |||
050f | Ст. байт | |||
3A | LDA ADR | Загрузка в аккумулятор содержимое ячейки памяти по адресу ADCB | ||
CB | Мл. байт | |||
AD | Ст. байт | |||
AMI | Умножить содержимое аккумулятора на 4 | |||
Data | ||||
D3 | OUT PRT 19 | Вывод PAROU через порт PRT 19 | ||
C3 | JMP мет 0 | Безусловный переход в метку 0 | ||
Мл. байт | ||||
Ст. байт | ||||
051a | DOP |
Адрес | |||||
3A | LDA | Загрузка в аккумулятор содержимое ячейки памяти по адресу ADRE | |||
RE | Мл. байт | ||||
AD | Ст. байт | ||||
D3 | OUT PRT 4 | Вывод PAROU через порт PRT 4 | |||
DB | IN PRT 5 | Ввод в аккумулятор PARIN порт PRT 5 | |||
LXI H, DOP | Загрузка DOP в ячейку ПЗУ | ||||
## | Мл. байт | ||||
## | Ст. байт | ||||
050a | BE | CMP H | Сравнение содержимого аккумулятора с H | ||
050b | JG | Переход, если больше > | |||
050c | ## | Мл. байт | |||
050d | ## | Ст. байт | |||
050e | JL | Переход, если меньше < | |||
050f | ## | Мл. байт | |||
## | Ст. байт | ||||
CA | JZ | Переход, если равно | |||
## | Мл. байт | ||||
## | Ст. байт | ||||
051a | |||||
Текст данной программы
Схема