Микропроцессор К580 представляет собой изготовленную по n-МОП технологии БИС, содержащую около 5 тыс. транзисторов. БИС микропроцессора реализована на кремниевом кристалле размером около 30 мм2, заключенном в корпус с 40 выводами. Длина слова микропроцессора — 8 разрядов. Тактовая частота МП — 2 МГц. Уровни напряжения питания +5, —5, + 12 В.
Микропроцессор К580 предназначен для работы с памятью (постоянной и оперативной) с общей емкостью до 64 Кбайт. Память имеет байтовую структуру — возможна адресация в памяти любого байта. Ширина выборки из памяти — 1 байт. При обращении к памяти используются 16-разрядные (двухбайтные). адреса.
При создании малоразрядных микропроцессоров (в МП К580 слово имеет всего 8 разрядов) возникают трудности с выбором структуры и формата команд. Достижение высокого быстродействия МП облегчается, если формат команды совпадает с длиной слова МП. Однако в коротком 8-разрядном слове невозможно разместить всю командную информацию, необходимую для реализации достаточно гибкой системы команд (МП К580 выполняет 70 различных команд, не считая их модификаций), при довольно большом размере адресного пространства памяти (в МП К580 — 64 К адресов). С другой стороны, использование многословных (многобайтных) форматов команд связано со снижением быстродействия МП. В более общем плане следует отметить, что имеются трудности при ограниченных аппаратурных ресурсах МП для создания прибора, обладающего широкими вычислительными и логическими возможностями.
Указанные затруднения преодолеваются с помощью эффективных технологических, структурных и схемотехнических решений, а также специальных приемов кодирования команд и адресации операндов.
Организация МП К580 отмечена следующими основными особенностями:
трехшинной структурой с шинами данных, адреса и управления;
магистральным принципом связей, реализованным в виде связывающей основные узлы МП двунаправленной шины данных, имеющей ширину (8 разрядов), равную длине слов, обрабатываемых микропроцессором;
наличием регистровой памяти, образованной программно-доступными общими и специализированными регистрами (счетчик команд, указатель стека, указатель данных), а также регистрами временного хранения;
наличием средств организации стековой памяти (регистр — указатель стека, схемы выполнения операций инкрементации — декрементации, специальных команд стековых операций);
наличием 16-разрядной шины адреса, обеспечивающей возможность прямой адресации любого байта в памяти емкостью 64 Кбайт;
наличием операций над двухбайтными словами (16-разрядными числами, адресами), что обеспечивается специальными командами, тандемными (двух- или трехбайтными) передачами;
использованием трех форматов команд (однобайтного, двухбайтного и трехбайтного) и разнообразных способов адресации (подразумеваемой, прямой, регистровой, косвенной, непосредственной, стековой), позволивших при коротком 8-разрядном слове иметь достаточно гибкую систему команд;
возможностью реализации векторного многоуровневого приоритетного прерывания путем подключения к МП специальной дополнительной БИС (контроллера прерываний);
возможностью реализации в МП режима прямого доступа к памяти путем подключения специальной дополнительной БИС (контроллера прямого доступа);
наличием эффективных средств работы с подпрограммами и обработки запросов прерываний (стековая память, специальные команды вызова подпрограмм и возврата из подпрограмм, в том числе условного).
Отмеченные особенности организация микропроцессора разъясняются при дальнейшем изложении.
МП имеет три шины: 8-разрядную двунаправленную внутреннюю шину данных (ШД), 16-разрядную адресную шину (ША) и шину управления (ШУ).
Внутренняя шина данных является магистралью, по которой могут обмениваться данными все подключенные к ней блоки (узлы) МП. Одновременно по шине данных осуществляется обмен только между двумя узлами МП. Таким образом, узлы МП, подсоединенные к шине данных, разделяют эту шину во времени.
Шина управления содержит линии для передачи управляющих сигналов, признаков состояния процессора и периферийных устройств, в том числе линии: синхронизации передачи и идентификации информации, передаваемой по шине данных; сигналов, информирующих МП о готовности, периферийных устройств; сигнала запроса прерывания от периферийных устройств и сигнала разрешения прерывания и др.
При рассмотрении структуры МП можно выделить следующие ее части: блок регистров, арифметическо-логическое устройство (АЛУ), буферные схемы, управляющее устройство.
4.2.1. Блок регистров
Микропроцессор К580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор; общие регистры (регистры общего назначения РОН) В, С, D, Е; регистр признаков F и 16-разрядные специализированные регистры: счетчик команд СК; регистр-указатель стека УС; сдвоенный регистр косвенного адреса HL (Н — регистр старшего полуадреса, L — регистр младшего полуадреса). Кроме того, имеются непосредственно недоступные программе регистры; 8-разрядные регистры временного хранения T,W, Z; 8-разрядний регистр команды; 16-разрядный регистр адреса РА. Имеется возможность использования содержимого пар регистров В и С, D и Е, Н и L как составных слов двойной длины.
Общие регистры используются для хранения операндов, промежуточных и конечных результатов, а также "адресов и индексов при косвенной и индексной адресациях.
Блок регистров имеет в своем составе особый регистр-аккумулятор. Аккумулятор используется в качестве источника одного из операндов и места, где фиксируется результат операции. В команде аккумулятор в явном виде не адресуется. На использование аккумулятора в операции указывает код операции команды. Иначе говоря, в отношении аккумулятора применяется подразумеваемая адресация, что позволяет применять одноадресные команды, имеющие сравнительно короткий формат.
Для того, чтобы аккумулятор мог одновременно являться регистром операнда и регистром результата операции, он строится на основе двухступенчатых триггеров. (Следует отметить, что некоторые МП для повышения производительности имеют несколько аккумуляторов.)
По отношению к другим программно-доступным регистрам применяется или подразумеваемая, или укороченная (регистровая) адресация, задаваемая коротким номером регистра .
Использование аккумулятора и общих регистров позволяет при выполнении команд уменьшить количество обращений к памяти и тем самым повысить быстродействие МП.
Наличие в блоке регистров специализированного регистра косвенного адреса HL позволяет иметь команды с Подразумеваемой косвенной адресацией, т.е. без указания в команде номера регистра, хранящего исполнительный адрес .
Особенностью блока регистров МП является наличие в его составе схемы инкрементора / декрементора, которая производит над содержимым регистров (без привлечения АЛУ) операцию прибавления / вычитания 1. Схема инкрементора / декрементора позволяет реализовать процедуры автоматического задания приращений при операциях с адресами не только в регистре-указателе стека, но и в счетчике команд.
При выполнении операций в МП возникает потребность в кратковременном хранении некоторых операндов и результатов выполнения операций. Для этой цели служат регистры временного хранения данных Т, W и Z. Использование регистров временного хранения позволяет МП за один цикл выполнения команды реализовать, например, такую операцию, как обмен содержимым двух регистров.
Буферные регистры временного хранения данных построены по простейшему принципу динамического хранения переменных на емкостях затворов МОП-транзисторов. Они позволяют простейшими аппаратными средствами выполнять довольно сложные операции «перетасовки» данных не только между общими регистрами, но и между регистрами, аккумулятором и памятью.
Для повышения эффективности операций со словами двойной длины и операций формирования и пересылок двухбайтных адресов имеется возможность оперировать с содержимым пар регистров В и С, D и Е, Н и L как с составными словами двойной длины, т. е. в МП автоматически выполняется операция конкатенации над содержимым пары регистров. При этом реализуются так называемые тандемные пересылки, состоящие в передаче в цикле выполнения команды последовательно друг за другом 2 байт информации.
В состав блока регистров входит регистр-защелка адреса памяти РА. Собственно регистр адреса недоступен программисту. Однако любая пара регистров (ВС, DE, HL) может быть использована для задания адресов команд и данных в программе. Этот адрес под воздействием соответствующих команд не только может быть загружен в регистр-защелку адреса, но и модифицирован (посредством схемы инкрементор / декрементор) в процессе загрузки. Регистр-защелка адреса передает адрес в буферную схему и далее в шину адреса.