Общие сведения

Контроллер прямого доступа к памяти

Структурная схема имеет следующий вид:

 

--адресные А7-4, готовность, захват, подтверждение захвата, чтение памяти, запись в память, разрешение адреса, стробирование адреса, конец блока, маркирование.

--БШД с линиями..

--СУВВ устройства: чтение/запись внешнего устройства, синхроимпульс …, линия сбросов и младшая тетрада шины адреса, выбор кристалла.

--СУ режимами ПДП (УУ ПДП) подключены сигналы: А7-4, линия готовности передачи, линия захвата и подтверждение захвата, 2 сигнала направления сигнала передачи чт/зп, разрешение адреса, стробирование адреса, конец блока, маркирования.

--4 канала для реализации ПДП с собственными линиями с запросами к ПДП и разрешениями и дополнительная схема управления приоритетами.

Как и все контроллеры МПС, управление режимами осуществляется программно от МП.

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

Настройка контроллера на различные режимы работы осуществляется с помощью управляющих слов. КПДП имеет 4 независимых канала, в состав каждого из которых входит 16-разрядные регистры адреса, 14-разрядный счетчик длины блока данных и 2-разрядный регистр режима канала.

БШД обеспечивает информационную связь контроллера с системной шиной. По ШД на этапе инициализации загружает в контроллер адреса начальных блоков памяти, размер блока данных и коды режимов. В ходе работы контроллера МП может считывать содержимое любого регистра или счетчика. УУ КПДП и СУВВ в зависимости от комбинации управляющих слов может настраивать контроллер в один из 2-х режимов: ведомый/ведущий. Принцип работы аналогичен предыдущим.


 

глава 4: 16-разрядный МП КР1810ВМ86

 

 

 

Микропроцессор КР1810ВМ86 является аналогом микропроцессора Intel8086, разработанный в 82 году. Данный МП являлся логическим развитием МП80080 и предназначался для увеличения возможностей и характеристик при работе с цифровой информацией. По своей архитектуре, логической организации и принципам управления является более близким к миниЭВМ, т.е. законченной системы. По сравнению с МП прежнего семейства обладал более высокой производительностью, мощной системой команд, средствами работы с операционной системой, работой в режимах мультипрограммирования и мультипроцессирования при обработке сложных структур данных. МП архитектурно отличается от предыдущего поколения и является базовым МП для современных МП.

Особенности архитектуры:

1)мультиплексированные во времени ШД и ША, т.е. 1 шина.

2)16-разрядная ШД: а) позволяющая обрабатывать данные 216.

б) расширенная система команд.

3)20-разрядная ША, позволяющая прямо адресовать область памяти в 1 Мб.

4)наличие регистровой памяти, образованной программно-доступными общими и специализированными регистрами.

5)Наличие организации программной стековой памяти.

6)Возможность выполнения операций над 8-, 16-, 32- и 64-разрядными словами, операций над последовательностями (цепочками) байт и слов, а также операций над двоично-кодированными десятичными числами.

7)Обладает основными арифметическими и логическими операциями, а также реализует умножение и деление с 16-разрядными числами с фиксированной запятой.

Существует 3 формата команд. МП обладает возможностью реализации многоуровневого приоритетного прерывания и режима ПДП.

МП обладает эффективными средствами работы подпрограммами и обработки запросов прерывания. Для организации связи с памятью и УВВ используется интерфейс типа I41.

Программы, составленные для МП580, прямо передаются на МП1810, т.к. система команд 580 является подмножеством команд 1810, обеспечивая программную совместимость снизу вверх. Для работы МП использует одноуровневое питание +5В, однофазную синхронизацию с частотой до 5 МГц и выпускается в 40-контактном керамическом корпусе с двусторонними выводами. Кристалл МП с геометрическими размерами 5,5X5,5 мм содержит около 29000 транзисторов.

 

 

4.1 Структура МП КР1810

 

 

Условно структура МП делится на 3 части:

1) Устройство сопряжения с шиной.

2) Операционное устройство.

3) УУ.

 

 

4.1.1 Устройство сопряжения с шиной

 

 

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

6 однобайтных регистров очереди команд образуют собственный регистр команд МП, из которого операционное устройство последовательно извлекает очередную команду. Данный регистр является 8-разрядным, благодаря чему загрузка осуществляется побайтно. Как только в очереди команд освобождается 2 регистра, так параллельно с работой операционного устройства и независимо от него, устройство сопряжения с шиной выбирает из памяти следующие 2 байта. Т.е. в МП происходит совмещение 2-х процедур: при одном цикле обращения к памяти выполняется 2 однобайтные команды.

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

Адресуемая область памяти составляет 1 Мб, следовательно формат адреса = 20 бит, т.е. МП генерирует 20-разрядные адреса памяти, но исходя из своей организации манипулирует логическими адресами, содержащими 16-разрядные сегменты и 16-разряднео внутрисегментное смещение. При этом логические адреса, с которыми работает МП, преобразуются в физические по следующему закону.

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

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

Большинство команд МП оперирует только 16-разрядным смещением, а сегментные адреса находится в одном из 4-х регистров в блоке адресации. Данные регистры содержат начальные адреса сегментов, адресуемых в процессе выполнения программ. Каждый сегментный регистр задает конкретный сегмент памяти, что находит отражение в их названии:

a.CS –сегмент кода,

b. DS-сегмент данных,

c. SS-сегмент стека,

d. ES-экстрокодовый сегмент

Принцип формирования:

1)выборка команд из памяти осуществляется из текущего сегмента (содержимое CF) по адресу, сформированного путем суммирования содержимого CS и смещения (содержимое IP).

2)При формировании исполнительных адресов данных, содержимое регистра DF суммируется со смещением, выдаваемого из операционного устройства из регистров SI, DI, BI.

3)Все обращения к стеку осуществляются через сегментный регистр стека FF и смещения, содержащегося в регистрах SP или BP. Сегментные регистры не используются только при выполнении команд ввода/вывода информации.

4)В операциях над цепочками байт физический адрес формируется из содержимого регистра EF и смещения в DI.

Основное назначение сегментных регистров – динамическое перемещение программ и данных в памяти, которое необходимо в мультипрограммной среде, т.е. в этом случае для динамического перемещения между программами достаточно модифицировать содержимое сегментных регистров, при этом манипуляции с сегментными регистрами осуществляется только операционной системой без возможности доступа к ним прикладных программ.

Адресуемое пространство ввода/вывода состоит из 216 портом, которые адресуются аналогично ЯП без использования сегментных регистров, т.е. все порты ввода/вывода принадлежат одному сегменту. Первые 28 портом могут быть доступны по прямой/косвенной адресации, а к более старшим портам организуется только косвенная адресация, т.е. адрес находится в регистре определяемой командой. Исполнительный адрес портов ввода/вывода имеет формат 20 разрядов (20 бит), но старшие 4 разряда всегда равны 0.

 

 

4.1.2 Операционное устройство.

 

 

Выполняет следующие действия:

1)извлекает команды из очереди команд

2)реализует предписанными командами операции в 16-разрядном АЛУ.

В состав входят: блок регистров, АЛУ, регистр признаков.

Попытки совместимости с МП580 оказало влияние на специализацию многих внутренних регистров, т.е. все регистры имеют аналоги в 1810. Данное действие позволило программы 8-разрядного процессора трансформировать их для выполнения 16-разряного.

 

Блок регистров условно разделяется на 2 части:

1)Общего назначения: 4 16-разрядные регистра AX, BX, CX, DX. При этом регистры допускают адресацию как полностью 16-разрядных слов (индекс Х), так и независимую адресацию младших (индекс L) и старших (индекс H) 8 байт. Такая организация адресации регистров позволяет прямо обрабатывать как байты, так и 2-х байтные слова. Все регистры блока РОН на общих основаниях могут участвовать в выполнении арифметических и логических операциях, как представляя операнды, так и фиксируя результат. На ряду с этим, в системе команд МП имеется определенное количество команд, которое специализирует некоторые регистры.

AX выполняет функцию аккумулятора. При этом только с ним связаны операции умножения и деления, а также преобразования десятичной коррекции. Данный регистр участвует в операциях ввода/вывода в качества источника или приемника при организации косвенной адресации. Кроме этого регистр AL соответствует аккумулятору МП580.

BX регистры базы, является источником базового адреса при организации смещения в косвенных адресациях. Неявным образом соответствует регистровой паре HL МП580.

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

DX неявным адресом адресуется в командах умножения и деления в качестве второго операнда. Кроме этого содержит адрес порта ввода/вывода при косвенных обращении к этим устройствам.

2)Регистры специального назначения: SP –указатель стека, BP – указатель базы и 2 индексных регистра: индекс источника SI и индекс приемника DI. Предназначены для хранения внутрисегментных смещений, обеспечивая косвенную адресацию и динамичное вычисление исполнительных адресов.

SP и BP предназначены для упрощения доступа к данным в текущем сегменте стека. DI и SI содержат смещение в текущем сегменте данных. Данные 4 регистра на общих основаниях могут участвовать в выполнении арифметических и логических операциях над 16-разрядными словами. Кроме этого эти регистры специализируются в некоторых командах, что находит отображение в их названии.

АЛУ: комбинированная схема, позволяющая выполнять простые логические операции И, ИЛИ, XOR, НЕ и арифметические операции +,-,*,/ над 16-разрядными данными, представленные в форме с фиксированной запятой. В качестве источника может быть любое содержимое любого регистра блока операционного устройства или косвенно адресуемая ЯП. Сохранение результата производится на место любого из операндов.

АЛУ непосредственно связано с регистром признаком F – 16-разрядный регистр, который содержит общую информацию о полученном результате. При этом младший байт регистра полностью соответствует регистру признаков МП580 и содержит признаки:

- знак SF

- нуль ZF

- бита переполнения байта CF

- бита переполнения тетрады в байте AF

- бит четности паритета PF

Кроме перечисленных признаков, которые фиксируют особенности результата последней операции в старшем разряде МП содержит 4 дополнительных признака:

- OF признак переполнения 16-разрядного слова

- DF признак направления, определяет направление сканирования массива данных в специальных операциях с цепочками. =0 инкрементирования адреса, =1 декрементируется адрес.

- IF признак прерывания. Программно-доступный флаг для организации программного маскирования прерывания. =0 все прерывания запрещены, =1 разрешены.

- TF признак прослеживания. =1 работа МП переводится в пошаговый режим.

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

 

 

4.1.3 Устройство управления

 

 

Служит для управления отдельными блоками МП, а также формирования сигналов для управления периферийным оборудованием, обеспечивая обмен данными с использованием механизмов стробирования, прерывания и ПДП. В зависимости от значения сигналов на управляющей шине min/max МП может работать в 2-х режимах: min и max конфигурация. В зависимости от значения сигналов на этой линии меняется интерпретация 8 сигналов МП. В min конфигурации, которая рассчитана на простые системы, МП сам вырабатывает все управляющие системы для всей системы. В max конфигурация, которая рассчитана на сложные системы, МП вырабатывает сигналы только для специальных дополнительных микросхем, т.е. специализированные контроллеры с шиной, который в свою очередь управляют всей системой.

На структурной схеме сигналы отмечены для min конфигурации. ША и ШД Ад0-15 используется для передачи 16-разрядного адреса в начале машинного цикла, а затем для приема/приема 16-разрядного слова (команда или данные). При этом шина может быть переведена в 3С.

Линия адреса состояния A16-19/S3-6 выполняет следующие функции: в первом такте машинного цикла здесь представлены значения 4-х старших разрядов кода адреса; в последующих тактах по этой линии передаются управляющие сигналы 3-6. Где сигналы S3-S4 индентифицируют сегмент памяти, участвующей в формировании исполнительного адреса. S5 – аппаратное разрешение прерывания. S6 в min конфигурации не используется.

УУ делится на 4 части:

1) управление шиной

2) МП

3) прерыванием

4) ПДП

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

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

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

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

4) Содержит 2 линии запроса на ПДП и подтверждения ПДП. На входе запроса от контроллера внешнего устройства поступает сигнал запроса. По окончании текущего цикла передачи по шине МП сам МП переводит буферные схемы шин, а также некоторые управляющие сигналы в 3С и формирует сигнал подтверждения, который подтверждает соответствующий режим, по которому управление шиной передается контроллеру внешнего устройства. Из состояния при остановки выполнения программы МП выходит по окончанию сигнала запроса ПДП.

 

Работа устройства управление. Диаграмма работы

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

 

Дискретность машинного времени МП задают на линии сигнала синхронизации (СС), который задается с внешнего генератора с f=5МГц. Каждый машинный цикл МП состоит из 4-х тактов, которые соответствуют состоянию Т1, Т2, Т3, Т4 автомата управления МП. Между Т3 и Т4 с помощью сигнала готовности можно ввести произвольное число тактов ожидания Тож, что позволяет работать МП с любым типом медленных внешних устройств.

Каждый машинный цикл Мп представляет собой цикл шины. Т.к. МП в такте Т1 каждого машинного цикла выдает на линиях А0-19 (из 2-х частей) код адреса памяти и формирует сигнал сопровождения и индентификации РРА, по которым эта информация загружается во внешний регистр. В последующих тактах по этим линиям осуществляется передача данных.

В тактах Т2, Т3, Т4 по линии А16-19 передается словосостояние, которое индентифицирует тип машинного цикла (актуально для min конфигурации МПС). Одновременно с передачей алреса по шине МП может формироваться сигнал передачи байта ПБ, который сопровождает передачу данных по линии АД0-15. В результате этих действий в такте Т1 по шинам АД передается адрес, Т2-Т4 передается или принимается 2-х байтное слово. Строб сигнал чтения используется для управления режимом работы регистра памяти, данных или УВВ. В режиме ПДП линия чтения переводится в 3С и за организацию направления отвечает сигнал подтверждения прерывания, который является стробирующим и используется для ввода в МП вектора прерывания из УВВ. Соответственно в режиме ПДП линия чтения и подтверждения прерывания находятся в 3С. Сигнал Гт используется МП в качестве сигнала подтверждения окончания передачи данных. Устройство управления МП опрашивает значение сигналов МП в начале такта Т3 и в зависимости от его значения переводит МП в состояние ожидание/Т4.

Сигнал передачи/прием управляет работой шины драйверов и определяет направление передачи: МП-ЯП или ЯП-МП. Управляющие сигналы стробирования данных формируется в МП при обращении к памяти или УВВ непосредственно в такте передачи данных по шине (в том числе в машинном цикле подтверждения прерывания).

Сигнал записи является истиной в циклах записи памяти и вывода информации в адресуемый код УВВ.

 

4.2 Система и формат команд

 

 

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

Система команд МП использует прямую, относительную (посредством базовых регистров), непосредственную, косвенную адресацию. В МП могут выполняться арифметические операции над 8- и 16-разрядными числами со знаком и без знака, над упакованными и неупакованными двоично-кодированными десятичными числами. Для простых операций обработки последовательностей данных (цепочек) имеются однобайтные команды, для которых посредством префикса можно задавать число повторений. Имеются команды передачи управления двух типов, осуществляющие переходы соответственно внутри текущего программного сегмента и к произвольному сегменту, который при этом становится текущим. Для управления режимом работы МП имеется несколько команд, с помощью которых можно изменять состояние МП: сброс и установка отдельных признаков в регистре F, ожидание, блокировка шины, пошаговый режим, останов и т. п.