Конспект лекций по курсу "Микропроцессоры и микро-ЭВМ в Персональной электронике" для студентов специальности 2008

2.4.4. Организация ПДП

Режим прямого доступа в память (ПДП) используется для обслуживания быстродействующих внешних устройств, которые должны записывать и считывать из памяти большие массивы информации. Запись и воспроизведение через процессор, как это делается обычно, в этом случае невыгодно по временным соотношениям, поэтом и используется режим ПДП. Специальный контроллер ПДП (в настоящее время выпускается специальная БИС контроллера ПДП) выдает сигнал HOLD ("Блокировка") на МП, означающий готовность осуществить ПДП. По этому сигналу процессор как бы "отключается" от остальной МПС (рис. 2.10). Как видно из рис. 1.5, ШД и ША подключаются к внутренним регистрам МП через буферы, которые имеют не два логических состояния на выходах (как обычно 0 и 1), а три, т.е. добавляется третье состояние, при котором выходы буферов имеют бесконечный входной импеданс и не влияют на внешние устройства, подключенные к ШД и ША. Такой способ снизить нагрузку на шины очень широко используется в микропроцессорной технике. Таким образом, процессор перестает принимать и выдавать данные и адрес, а управление передается контроллеру ПДП (по сигналу HLDA ("подтверждение блокировки") подтверждения перехода в режим ПДП). После окончания обмена данными между устройством  и памятью сигнал "Блокировка" снимается, и управление вновь передается МП.

 










Рис. 2.10. Режим ПДП

2.4.5. Форматы данных и команд

Команды на выполнение МП определенных операций хранят в памяти в виде 8-ми разрядных слов в соседних ячейках. Сами данные всегда 8-ми разрядные, причем младший бит обозначается - D0  , а старший - D7 (см. рис. 2.11). Байт данных можно условно разделить на старший полубайт (4 старших разряда) и младший полубайт (4 младших разряда). Каждый полубайт при написании программы представляется шестнадцатеричным числом, так что байт, изображенный на рис. 2.11 можно записать в виде Е716. Диапазон представления чисел таким форматом 0…25510.

Представленный на рис. 2.11 формат данных называется двоичным числом без знака. Это основной формат чисел для данного МП. Однако есть возможность использовать другой формат – двоичное число со знаком. В нем самый старший бит называется знаковым: если D7= 1, то число отрицательное, представленное в дополнительном коде, если D7=0 – то положительное. Остальные семь младших разрядов представляют собой собственно число. Естественно, диапазон представления чисел байтом будет –128…+128.

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

 









Рис. 2.11. Обозначение байта данных

 







Рис. 2.12. Формат команд в МП

2.5. Форматы команд и способы адресации

Формат данных, которые обрабатывает процессор, зависят от его разрядности. В МП КР580ИК80А данные 8-ми разрядные, в МП К1816ВМ86  - 16-ти разрядные, а для системы, построенной на секционированных процессорах, формат данных зависит от числа каскадно-соединенных БИС МП. Однако всегда первый разряд обозначается D0 , затем D1 - и т.д. Иногда слово данных разделяют на части. Например, восемь разрядов (или байт) данных можно разделить на младший и старший полубайт. Эти 4 разряда удобно в этом случае записывать в шестнадцатеричном виде. Конкретная запись слова данных зависит от вида МП, который используют в МПС.

Формат команд даже в пределах одного МП может изменяться в зависимости от вида команды, способа адресации и т.д. На рис. 2.12 показаны возможные форматы команд для МП КР580ИК80А. Однобайтовая команда содержит как код операции, так и коды РОН, в которые осуществляется пересылка данных. Иногда однобайтовые команды содержат только один код операции (для арифметических и логических операций, операций вызова подпрограмм и возврата из подпрограмм и т.п.). В двухбайтовых командах (рис. 2.12Б) первый байт содержит код операции, а второй содержит конкретную информацию (например, при операции непосредственной загрузки в регистр второй байт содержит данные, которые загружаются). Команды ввода-вывода содержат второй байт - номер устройства. Во втором и третьем байте трехбайтовых команд (рис. 2.12В) могут храниться операнды или адреса переходов. В памяти двухбайтовые и трехбайтовые команды хранятся в соседних ячейках.

Способы адресации. Способы адресации показывают, каким образом используется поле команды для указания адресов и кодов РОН, ячеек памяти и способов пересылки данных.

Прямая адресация. При этом способе адреса операндов указываются непосредственно в теле команды (рис. 2.13). Эти операнды используются в операции, код которой указан в этой же команде. Данный типа адресации наиболее простой и быстрый из всех способов.

Непосредственная адресация.  При  этом способе операнд непосредственно указывается в команде (рис. 2.15), как правило, во втором байте (при двухбайтовой команде) или во втором и третьем байте (при трехбайтовой команде).

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.13. Прямая адресация в командах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.14. Непосредственная адресация в командах

Косвенная адресация.  При этом для указания адреса операнда используются регистры МП (в МП КР580ВМ80 -  например, пара регистров HL). Содержимое этих регистров служит адресом ячейки памяти, в которой находится операнд (рис. 2.15).

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 2.16. Косвенная адресация в командах

 

2.5. ОЭВМ семейства MCS-51

ОМЭВМ семейства MCS-51 представляют собой функционально законченное устройство, которое содержит на едином кристалле:

·                Центральный восьмиразрядный процессор,

·                Память данных (ПД) объемом 128 байт (аналог ОЗУ в обычных МПС),

·                Память команд (ПК) объемом от 0 до 32 К в зависимости от типа ОЭВМ (аналог ПЗУ в обычных МПС),

·                Четыре восьмиразрядных программируемых канала ввода-вывода, (обозначаемых  как порты P0, P1, P2, P3),

·                Два 16-битовых многорежимных таймера/счетчика,

·                Систему прерываний с пятью векторами и двумя уровнями,

·                Последовательный интерфейс для связи с ПК через канал RS-232,

·                Тактовый генератор.

Обозначение ОЭВМ показано на рис. 2.16.

Структурная схема приведена на рис. 2.17 и состоит из следующих основных функционально законченных узлов:

·        Блок управления, предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков ОЭВМ во всех допустимых режимах её работы

·        Арифметико-логическое устройство (АЛУ), обеспечивающее выполнение арифметических и логических операций, а также операции логического сдвига, обнуления, установки и т.п.

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

·        Блок последовательного интерфейса и прерываний, предназначенный для организации ввода-вывода последовательных потоков информации и организации системы прерывания программ.

Рис. 2.16. Обозначение БИС ОЭВМ

·        Программный счетчик, предназначенный для формирования текущего 16-разрядного адреса программной памяти и 8/16-разрядного адреса внешней памяти данных

·        Память данных, служащая для хранения и выдачи информации, используемой в процессе выполнения программ

·        Память команд, предназначенная для хранения программ и имеющая отдельное от памяти данных адресное пространство.


 Рис 2.17. Структурная схема ОЭВМ

ОМЭВМ имеет:

            32 регистра общего назначения

            128 определяемых пользователем программно-управляемых флагов

            набор регистров специальных функций, наименование и адреса которых приведены в табл. 2.1.


  Таблица 2.1

2.5.1. Организация памяти

Все ОЭВМ семейства МCS-51 имеют несколько адресных пространств, функционально и логически разделенных за счет разницы в механизмах адресации и сигналах управления записью и чтением:

·        память команд (ПК),

·        внутренняя память данных (ПД),

·        внешняя память данных (ПД).

Структура адресного пространства ОМЭВМ показана на рисунке 2.18.

Слева приводятся адреса соответствующих областей памяти.

Память команд – имеет 16-битовую адресную шину, её элементы адресуются с использованием счетчика команд (РС) или инструкциями, которые вырабатывают 16-разрядные адреса. Память команд доступна только по чтению. Она имеет байтовую организацию и общий объем до 64Кбайт. Ряд ОЭВМ содержат расположенную на кристалле внутреннюю память команд емкостью от 4Кбайт до 32 Кбайт, которая может быть расширена до 64 Кбайт за счет подключения микросхем внешней память команд.

Сигналом, стробирующим  выборку и ввод байта из внешней памяти команд в ОЭВМ является сигнал PME (РSEN). Для ОМЭВМ, содержащих внутреннюю память команд, сигнал РSEN формируется только в том случае, если адрес в счетчике команд превосходит максимальный адрес внутренний памяти команд, например, 0FFFH для 4 Кбайтной версии. Для ОЭВМ, не имеющих внутренней памяти команд, РSEN формируется при любом обращении к памяти команд.


Рис 2.18. Организация памяти ОЭВМ

Внутренняя память данных – состоит из 2-х областей:

·                128 байт оперативной памяти (ОЗУ) с адресами 0-7FH

·                область регистров специальных функций (SFR), занимающая адреса 80H-FFH.

Распределение пространства внутренней памяти данных показано на рис. 2.19

Младшие 32 байта внутреннего ОЗУ данных сгруппированы  в 4 банка по 8 регистров в каждом (БАНК 0 – БАНК 3 на рис. 2.4). Команды программы могут обращаться к регистрам, используя их имена R0 – R7.  Два бита PSW (указатели банка рабочих регистров RS0 и RS1) определяют, с регистрами какого банка проводятся манипуляции (прямая адресация). Следующие после банков регистров внутреннего ОЗУ данных 16 байт (адреса 20H-2FH) образуют область ячеек, к которым возможна побитовая адресация.

Обращение к внутреннему ОЗУ данных всегда осуществляется с использованием 8-разрядного адреса.


Рис 2.19. Распределение памяти данных

Внешняя память данных – формируется дополнительными микросхемами памяти и может иметь емкость до 64 Кбайт. Обращение к ячейкам внешней памяти данных осуществляется только с использованием косвенной адресации по регистрам R0 и R1 активного банка регистров внутреннего ОЗУ (команды типа MOV @Ri) или по регистру специальных функций DPTR (команды типа MOVХ @DPTR). При обращении к внешней памяти данных адрес выводится через порт Р0 (младший байт) и порт Р2 (старший байт) ОЭВМ. Обмен байтом данных производится через порт Р0 ОЭВМ. Считывание данных из внешнего ОЗУ в ОЭВМ производится с помощью выходного сигнала ОЭВМ  RD, а запись - сигнала WR.

2.5.2. Организация ввода-вывода

Порты Р0, Р1, Р2, Р3 являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией ОМЭВМ с внешними устройствами, образуя 32 шины ввода-вывода. Помимо работы в качестве обычных портов ввода-вывода линии портов Р0-Р3 могут выполнять ряд дополнительных функций.

Через порт Р0:

·        выводится младший байт адреса А0-А7 при работе с внешней памятью программ и внешним ОЗУ

·        выдается из ОЭВМ и принимается в ОЭВМ байт данных при работе с внешней памятью (таким образом, этот порт представляет собой в этом режиме так называемую мультиплексированную шину адреса/данных).

·        задаются данные при программировании внутреннего ППЗУ, и читается содержимое внутренней памяти команд

Через порт Р1:

            задается младший байт адреса при программировании внутреннего ППЗУ  и при чтении внутренней памяти программ

Через порт Р2:

            выводится старший байт адреса А8-А15 при работе с внешней памятью команд и внешней памятью данных (для внешней памяти данных – только при использовании команд MOVX A,@DPTR и MOVX @DPTR,A, которые вырабатывают 16-разрядный адрес)

·        задается старший байт (разряды А8-А15) адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.

Каждая линия порта Р3 имеет индивидуальную альтернативную функцию:

            Р3.0 – RxD, вход последовательного порта;

            Р3.1 – TxD, выход последовательного порта;

            Р3.2 – INT 0, используется как вход 0 внешнего запроса прерывания;

            Р3.3 – INT 1, используется как вход 1 внешнего запроса прерывания;

            Р3.4 – T0, используется как вход счетчика внешних событий Т/С0;

            Р3.5 – T1, используется как вход счетчика внешних событий Т/С1;

            Р3.6 – WR, строб записи во внешнюю память данных, выходной сигнал, сопровождающий вывод данных через порт Р0 при использовании команд MOVX @Ri,A  и MOVX @DPTR,A;

            Р3.7 – RD, строб чтения из внешней памяти данных, выходной сигнал, сопровождающий ввод данных через порт Р0 при использовании команд MOVX A,@Ri и MOVX A,@DPTR.

Таким образом, функции портов ввода/вывода зависят от режима работы ОЭВМ. В принципе она может работать в двух принципиально разных режимах:

·        минимальный режим, в котором не требуется подключения к ОЭВМ дополнительных БИС ОЗУ, ПЗУ, или УВВ. В этом случае все 4 порта могут использоваться совершенно произвольно.

·        максимальный режим, в котором требуется подключение к ОЭВМ дополнительных БИС либо ОЗУ, либо  ПЗУ, либо  УВВ. В этом случае необходимо организовать шинную структуру (ША, ШД и ШУ).При этом для фиксации младшего байта адреса ША необходимо подключить специальный регистр-защелку, в котором будет храниться этот байт в течение всего цикла обращения к внешней памяти. (Напомним, что Р0 является  мультиплексированной шиной адреса-данных). По сигналу ALE этот байт запоминается в регистре. Старший байт адреса и так сохраняется неизменным на выводах порта Р2. Таким образом в этом режиме занятыми оказываются порты Р0, Р2, и в случае подключения внешних ОЗУ или УВВ - выводы WR и RD.

2.5.3. Синхронизация ОЭВМ

ОЭВМ имеет встроенный генератор тактовых импульсов, к которому необходимо присоединять кварцевый резонатор с частотой 1 -12 МГц, LC-цепочку или внешний генератор.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14



Реклама
В соцсетях
бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты бесплатно скачать рефераты