+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [ 64 ] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

ем этих запросов. Тем самым выполнение определенных частей программ может быть защищено от воздействия прерываний.

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

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

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



Глава 7

ПОСТРОЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ УСТРО?ЛСТВ НА ОСНОВЕ ОДНОКРИСТАЛЬНОГО МИКРОПРОЦЕССОРА

§ 7.1. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОРНЫЙ ЭЛЕМЕНТ СЕРИИ К580 Ц СИСТЕМА ЕГО КОМАНД

Процесс построения МПВУ на основе однокристального МП с фиксированней системой команд рассмотрим на примере серии К5£0. Выбор этой серии обусловлен ее широким распространением, а также тем, что на этом примере легко прослеживаются многие принципы, используемые в МП других серий [6]. В серию К580 входят шесть основных БИС, изготовленных по технологии «-МОП, которые позволяют строить восьмиразрядные универсальные и специализированные устройства широкого диапазона применений. В настоящей главе рассматривается центральный процессорный элемент (ЦПЭ) К580ИК80, а остальные БИС этой серии рассмотрены в гл. 8.

Структура и работа ЦПЭ подробно описаны [6, 22, 32, 51, 60, 69]. Поэтому здесь основное внимание уделено вопросам, связанным с освоением системы команд, приемов программирования и методики проектирования МПВУ на основе данного ЦПЭ.

В структуре ЦПЭ необходимо отметить следующие узлы: А - аккумулятор, т. е. основной рабочий регистр; РОН - регистры общего назначения, которые обозначают буквами В, С, D, Е, Н и L, эти восьмиразрядные регистры можно использовать как индивидуально, так и в виде пар регистров: В-С, D-Е и Н-L; АЛУ - арифмети-ческо-логическое устройство; флаги - триггеры, предназначенные для хранения следующих признаков результата операции: CY - перенос из старшего разряда байта; СУ - перенос из старшего разряда младшего полубайта; Z - признак нулевого результата; S - знак числа (флаг S дублирует содержимое старшего разряда результата); Р - признак четности числа единиц; СК - счетчик команд (в мнемонических обозначениях команд ему соответствует PC); УС - указатель стека (в мнемонических обозначениях команд ему соответствует SP); в УС хранится адрес вершины стека, тогда как сам стек (стековая память) организуется в ОЗУ (стековая память характеризуется тем, что обращение к ней осуществляется по принципу: первьми выбирают данные, поступившие последними).

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

Рассмотрим особенности выполнения и использования отдельных команд. Команды MVI ги LX -р обеспечивают загрузку любого из



восьмиразрядных регистров или любой ггары регистров В~С, D~E, H-L, а также 5Р константами" соответствующей разрядности. Под константами понимают данные, значения которых определяются при проектировании МПВУ и записываются в ПЗУ вместе с программой. Двухбайтовые константы часто определяют адреса ячеек памяти, к которым производится обращение. Например, команда LXI Н используется для записи в Я-L адреса ячейки М с тем, чтобы впоследствии можно было применять команды, работающие с «внешним» регистром М, т. е. команды MOV М, г, ADD М, ANA М и т. д. Команда LXI SP служит для организации стека; с ее помощью адрес начала (вершины) стека записывается в указатель стека. Команда PCHL изменяет содержимое счетчика команд и тем самьм позволяет осуществить косвенный переход в программе. При осуществлении любых пересылок содержимое источника информации остается неизменным.

Команды XCHG и XTHL осуществляют двухбайтовый обмен информацией между Н-L и D-Е и между Н-L и вершиной стека соответственно. Эти команды позволяют, например, поочередно работать с несколькими внешними регистрами М. Команда XTHL самая длинная по времени исполнения и занимает пять машинных циклов (18 тактов): в Ml производится выборка В1 команды, в М2 и МЗ - выборка из стека двух байтов информации и в М4, М5 - запись в стек содержимого Н-L. Выбранная из стека информация сначала записывается во внутренние вспомогательные регистры для временного хранения, а затем вводится в Н-L. Содержимое SP после выполнения команды XTHL остается неизменным.

Команды сложения ADC г, ACI и вычитания SBB г, SBI используются при организации операций с повышенной точностью, т. е. при работе с числами, разрядность которых превышает байт.

Команда DAA обеспечивает десятичную коррекцию содержимого аккумулятора после выполнения арифметических операций в двоично-десятичном коде 8-4-2-1. В этом случае содержимое аккумулятора представляется в виде двух полубайтов, каждый из которых соответствует десятичной цифре. Коррекция производится с учетом значений флагов CY (переноса из разряда Од) и CY по следующим правилам: а) если значение младшего полубайта превышает 9 или СУ == 1, то к содержимому аккумулятора добавляется число 6; б) если значение старшего полубайта превышает 9 или СУ = 1, то число 6 добавляется к старшему полубайту. Команда DAA не используется самостоятельно, а только после команд сложения или вычитания.

Команда DAD гр является единственной арифметической командой, оперирующей с двухбайтовыми словами, и позволяет сложить содержимое любой пары регистров В-С, D-Е, Н-L или SP с содержимым Н-L, причем результат остается в Н-L. Команда DAD Н позволяет удвоить содержимое Н-L, т. е. осуществить логический сдвиг содержимого H-L влево на один разряд.

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [ 64 ] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105