
- •Работа цп по машинным циклам и машинным тактам.
- •Система команд и способы прерывания
- •Память микропроцессорной системы
- •Микропроцессорный модуль
- •Блок интерфейсов
- •Универсальный синхронно-асинхронный приемо-передатчик
- •Универсальный синхронно-асинхронный передатчик (Продолжение)
- •Интервальный таймер
- •Организация режимов прерывания в микропроцессорной системе
ЛЕКЦИЯ №1
1970 – первый процессор.
В настоящее время известно более 200 видов.
Микропроцессор (мкпроц) – обрабатывающее или управляющее устройство, выполненное по технологии БИС, и обладающее способностью обрабатывать дискретную информацию под программным управлением.
БИС – мксх при 5,5 мм содержит не менее 10тыс транзисторов.
Сам по себе мкпроц никаких функций выполнять не может. Для того чтобы он осуществлял обработку информации его необходимо запрограммировать и соединить с периферийными устройствами. Совокупность мкпроц, блока памяти и устройств ввода-вывода называется микропроцессорной системой (МПС).
Структурная сх простейшего мкпроц:
УУ – устройство управления
УВ – устройство ввода
УВыв – устройство вывода
ОУ – операционное устройство
БП – плок памяти
ОУ служит для выполнения различных арифметических операций. Группа двоичных чисел обрабатывается одновременно в ОУ называется машинным словом. А количество двоичных разрядов в машинном слове – длинной слова. По длине слова определяется разрядность мкпроц: 4, 8, 12, 16, 32… Слово длиной 8 бит называется байтом.
УУ получает команды из БП, расформировывает их и на основе этого формирует информацию для тех блоков, которые эти команды выполняют. Для того чтобы команду УУ могло выбрать из БП, оно должно знать его адрес. Обычно команды выбираются из последовательных ячеек памяти, а их адреса фиксируются в специальном регистре, который называется счетчиком команд. Для того чтобы команда была правильно интерпретирована УУ, она должна иметь определенную структуру, которая называется форматом команды. К формату команды относятся: код, адресная часть команды. Код команды – набор 2чных чисел, однозначно определяющие, что нужно сделать. Адресная часть показывает, где взять операнд для выполнения команды. Операнд – число. Однако, команда сама находится в БП и имеет свой адрес. Поэтому нужно различать адрес команды и адресную часть команды. Вместе УУ и ОУ – Центральный процессор (ЦП).
БП состоит из подблоков, которые называются регистрами или ячейками памяти. Каждая ячейка памяти имеет свой адрес. Адрес – число однозначно идентифицирующее номер ячейки. Как правило, номера (адреса) записываются в 16чной системе измерения. Память МПС, как правило, состоит из 2х частей. 1а часть предназначена только для считывания информации и называется постоянным запоминающим устройством (ПЗУ). Другая – для записи и для считывания, называется оперативным запоминающим устройством (ОЗУ).
УВ и УВыв предназначены для связи МПС с внешним миром. В качестве устройств ввода применяют: клавиатура, различные датчики, различные периферийные устройства. Любая МПС может обрабатывать только 2чную информацию. Устройства вывода: дисплей, печать, лучевые трубки и др.
Для сокращения числа связей между ЦП и периферийными устройствами используется система шин. Шина – совокупность линий, по которым передается информация от 1го или нескольких источников к 1му или нескольким приемникам.
Типичная структура шин:
ША – шина адреса – однонаправленная, информацию на нее может выставлять только ЦП. Количество линий ША определяется числом разрядности ЦП. Для 8иразрядного ЦП количество линий ША = 16. Причем, если выставляется, то выставляется ее номер 1010110011110001.
Если ЦП обращается к устройству ввода и устройству вывода, то на ША А0-А7 – информация, а на А8-А15 – нов. 1100111111001111
Каждое внешнее устройство имеет свой адрес, а точки соединения ЦП с устройствами ввода и вывода называются портами. Устройствами соединения называются интерфейсами.
ПОРТ – точка соприкосновения
ИНТЕРФЕЙС – устройства взаимодействия.
ШД – шина данных – предназначена для передачи по ней команд, данных и любой другой информации. Информация на ШД может быть выставлена любым элементом МПС. Количество линий ШД определяется разрядностью машинных слов ЦП.
ШУ – шина управления – предназначена для передачи по ней управляющих и синхронизирующих сигналов. Часть линий однонаправленная, часть двунаправленная не показывают направление. Количество линий ШУ зависит от сложности МПС. В простейшей МПС количество линий ШУ составляет 7.
325 = 0011 0010 0101 BD
ЛЕКЦИЯ №2
ЦП
ЦП – основа любой МПС, их может быть много.
Структурная сх 1окристального 8иразрядного процессора (упрощенная):
АЛУ – арифметико-лгическое устройство
УУ – устройство управления
БР – блок регистров
БШД – буфер шины данных
БША – буфер шины управления
УУ обеспечивает синхронную работу ЦП и всей МПС. Включает себя регистр команд (РК), дешифратор команд (ДК), программируемую логическую матрицу (ПЛМ) и сх управления (СУ).
РК – 8иразрядный регистр, в который заносится 8иразрядный код команды. Содержимое РК поступает в ДК, который преобразует 8иразрядный код команды в 24хразрядный 2чный код. Этот код поступает в ПЛМ, который вырабатывает набор мкопераций для выполнения каждой конкретной команды. По состоянию ПЛМ формируются управляющие сигналы в СУ для тех блоков, которые будут выполнять эту команду.
АЛУ предназначено для выполнения арифметических операций «+», «-», «И», «ИЛИ», «искл ИЛИ», «НЕ». Включает в себя: RG1 – регистр временного хранения, RG2 – регистр аккумулятора, КП – кодопреобразователь, КАЛУ – комбинационное арифметико-логическое устройство, А – аккумулятор, В – вентиль, СДК – схема десятичной коррекции, РФ – регистр флагов.
RG1, RG2 – 8иразрядные регистры, в которых находятся операнды, над которыми необходимо произвести какие-либо действия.
КП – предназначен для перевода 2чного числа в прямой, обратный или дополнительный код, или в 2чнокодированную 10чную форму.
В том случае, когда приходится обрабатывать отрицательные или положительные числа возникает проблема при обработки нужно указывать мкпроц какие числа обрабатываются.
В 2чнокодированном 10чном коде каждое число кодируется в 2чном коде (короче – переводится в разные коды в КП)
КАЛУ представляет собой сумматор
с последовательным переносом, который
выполняет опрерации «+», «-» и основные
логические операции:
А – 8иразрядный регистр, в который помещается результат выполненной в КАЛУ операции. Содержимое А через В передается в RG2, либо другой регистр.
В – представляет собой 8иразрядный бесконтактный коммутатор с 2мя направлениями передачи информации. При поступлении команды загрузки в А, информация там не хранится, а загружается в RG2.
СДК предназначен для исправления ошибок, которые могут появляться при обработки информации в 2чнокодированном 10чной форме.
люди микропроц
Н – шестнадцатеричная
D – десятичная
Q – восьмеричная
BD – двоично-десятичная
РФ – иногда называется регистром признаков. Регистр флагов – 8иразрядный регистр, в котором фиксируются особенности полученного результата.
Формат РФ для 1окристального 8иразрядного мкпроц:
S – флаг знака – поднимается в том случае, если в результате выполнения в КАЛУ операции получен «-» результат (14 – 15).
Z – флаг нуля –
поднимается в том случае, если в
результате выполнения в КАЛУ операции
получен нулевой результат:
,
.
С – флаг переноса – поднимается в
том случае, если произошел перенос 1цы
из самого старшего разряда
.
АС – флаг дополнительного переноса – поднимается в том случае, если в результате выполнения операции произошел перенос «1» из младшей тетрады в старшую или из старшей в младшую при обработке результатов в 2окодированной 10ичной форме (когда не хватает шестерки).
Р – флаг паритета (четности) –
поднимается в случае, если в результате
выполнения в КАЛУ операции получено
четное число «1»:
- флага не будет.
ЛЕКЦИЯ №3
БР - блок регистров – предназначен для приема, хранения и выдачи различной информации.
Включает в себя:
Регистры временного хранения W и Z.
Общего назначения B C D E H L
Указатель стека УС
Счетчик команд СК
Регистр адреса РА
Сх инкремента-декримента СИД
Мультиплексеры М1 М2 М3
Сх выбора регистров СВР
W и Z – 8иразрядные программнонедоступные регистры (используются ЦП самостоятельно)
B C D E H L - 8иразрядные регистры, которые программнодступны и широко используются ЦП (существуют команды, с помощью которых можно обратиться к данным регистрам: MOV B,21H). Каждый из них имеет свой адрес в виде 3хразрядного 2чного кода: B – 000, C – 001, D – 010, E – 011, H – 100, L – 101.
BC DE HL пары
MOV B,C из С в В
LXI М,2831H число в HL
Регистровая пара HL используется, как правило, в качестве указателя адреса и имеет свой адрес: HL – 110. Используется при косвенном способе адресации.
MVI M,25H М – адрес находящийся в регистровой паре HL.
УС – 16разрядный регистр, в котором находится адрес ячейки памяти доступный для чтения или записи, если память работает по принципу «первый пошел, последний вышел». При загрузке содержимого памяти уменьшается, а при считывании – увеличивается.
СК – программный счетчик – 16иразрядный регистр, в котором нахолодится адрес ячейки памяти, из которой будет считываться очередная команда программы. Обычно команда считывается из последовательных ячеек памяти и содержит СК, увеличенный на 1.
РА – предназначен для приема и хранения адреса ячейки памяти или порта ввода-вывода в течении времени необходимого для дешифрации адреса. 16иразрядный регистр. Информация на него могут выставлять W и Z, BC, DE, HL, УС, СК.
Машинный такт = 500нс. дешифратор не успевает расшифровать информацию.
СИД – для увеличения содержимого СК на 1, а также для увеличения или уменьшения содержимого УС.
М1 и М2 – 8иразрядные мультиплексоры, с помощью которых информация из 8иразрядных регистров передается на внутреннюю ШД.
М3 – 16иразрядный бесконтактный коммутатор, с помощью которого содержимое регистровых пар УС и СК переводится в РА.
СВР – дешифратор, с помощью которого осуществляется обращение к регистрам временного хранения или общего назначения.
БША – буфер шины адреса – 16 1направленных усилителей-формирователей с 3мя устойчивыми состояниями (наиболее мощные транзисторы из 10тыс в ЦП).
«0», «1», высокоимпедансное состояния.
БШД – для увеличения нагрузочной способности линий D0-D7 ЦП. Представляет собой 8 2унаправленных усилителей формирователей.
УГО 1кристального 8разрядного мкпроц:
D0-D7 – вход-выход с 3мя устойчивыми состояниями. Подключается к одноименным линиям двунаправленной ШД МПС.
А0-А15 – выходы с 3мя устойчивыми состояниями. Подключаются к одноименным линиям 1направленной ША МПС, на которую информация выставляется ЦП.
С1, С2 – входные сигналы синхронизации мкпроц. Подключаются к одноименным линиям выводам формирователя тактовых импульсов, который представляет собой отдельную мксх. Сигналы синхронизации подаются с частотой 2 МГц, причем С2 сдвинут относительно С1 на 1800. Некоторые ЦП имеют свои ФТИ.
RESET – вход установки мксх в исходное состояние. При подачи на данный вход «1» длительностью не менее 5 машинных тактов мксх устанавливается в исходное состояние. 500нс * 5 = RESET. При установке мксх в исходное состояние обнуляются А, РФ, СК.
READY – вход управляющего сигнала готовности периферийных устройств. При подачи на данный вход «0», ЦП выводит пустые такты ожидания готовности. При этом он формирует «1» на WAIT, который называется ожиданием готовности. До тех пор пока на READY не придет «1» с периферийных устройств.
INT – вход управляющего сигнала запроса прерываний. ЦП реагирует на входные сигналы на входе INT только в том случае, если прерывания разрешены, о чем свидетельствует сигнал «1» на входе INTE. Если INTE = 0, то прерывания запрещены. Разрешение и запрещение обслуживания прерываний устанавливается с помощью специальных команд EI и ID. EI – прерывания разрешены. ID – прерывания запрещены. От них зависит сигнал на выходе INTE.
ЛЕКЦИЯ №4
HLD – выход управляющего сигнала запроса на прямой доступ к памяти. При подаче «1» заканчивает выполнение машинного цикла, переводит свои буферы А и D в высокоимпедансное состояние и формирует «1» на выходе HLDA.
HLDA – разрешение захвата – прямой доступ к памяти.
DBIN – выход управляющего сигнала приема. Сигнал «1» показывает, что информация будет приниматься в ЦП по ШД.
- выход управляющего сигнала передачи.
«0» - ЦП будет выставлять информацию на
ШД.
SYNC – выход сигнала синхронизации, с помощью которого осуществляется синхронная работа всех элементов МПС.
Ucc1 +5В
Ucc2 +12B
- выводы для подключения питания
мксх. Многие имеют +5 и
Ui0 -5B
GND
Работа цп по машинным циклам и машинным тактам.
Все ЦП работают по машинным циклам – интервал времени в течении которого ЦП 1 раз обращается к устройствам ввода-вывода или БП.
Машинные циклы состоят из машинных тактов – период тактовой частоты подаваемой на входы ЦП с С1, С2.
Команды могут выполняться 1, 2, 3, 4, 5 машинных циклов, зависит от сложности команд. Каждый машинный цикл выполняется за 3, 4, 5 машинных такта. 1й цикл – выборка кода операции М1. Для 1кристального мкпроц 10 типов машинных циклов.
Работа мкпроц осуществляется следующим образом:
При подачи на RESET = 1 длительностью 5 машинных тактов, после снятия сигнала начинает функционировать ЦП.
В 1м машинном такте 1го машинного цикла ЦП выставляет на ША 16разрядный адрес ячейки памяти, где находится 1я команда программы. Одновременно с этим он выставляет слово состояние ЦП на D0-D7 и формирует «1» на выходе SYNC, что свидетельствует о начале машинного цикла.
Информационные значения слова состояния проц:
Тип машинного цикла |
Разряды слова состояния |
|||||||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|
Выборка кода операции |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
Считывание из памяти |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Запись в память |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Запись в STAC |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Считывание из СТЕКА |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Ввод |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
Вывод |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Прерывание |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
Останов |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
Прерывание при останове |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
Во 2м машинном такте текущего машинного цикла проверяются уровни сигналов на входах READY(=1 – готова память и внешние устройства), HLD(=0 – запрос на прямой доступ к памяти), AKSTOP(=0 – команда HLD не выполняется) в этом машинном такте формируется сигнал DBIN = 1 и осуществляется инкремент программного счетчика СК.
В 3м машинном такте этого цикла информация из адресуемой ячейки памяти передается по ШД в ЦП и загружается в регистр команд УУ.
В 4м и 5м машинном такте осуществляется межрегистровая передача и преобразование данных.
На последнем такте последнего машинного цикла команды проверяется сигнал на входе INT, и если =0, то ЦП переходит к следующей по порядку команде программы и т.д.
В случае если во 2м машинном такте окажется, что внешнее устройство не готово к приему информации и READY = 0, ЦП не перейдет к следующему такту (Т3), а будет формировать такты готовности TWI. В этом случае на ША присутствует информация выставляемая в Т1 и будет сохраняться сигнал на DBIN = 1 синхронная работа быстродействующего ЦП с медленнодействующими периферийными устройствами.
Если в Т2 окажется, что HLD = 1, закончит выполнение текущего цикла переведет буферы А и Д в высокоимпедансное состояние. Сформируется HLDA = 1 и прекратит свое функционирование, перейдя в режим захвата. Такое состояние мкпроц будет осуществляться до тех пор, пока периферийное устройство не закончит обмен информацией с БП и не выставит HLD = 0. После этого ЦП начнет выполнять 1й машинный такт следующего машинного цикла.
Если во 2м машинном такте последнего машинного цикла окажется, что выполняется команда останова HLT, то ЦП прекращает свою работу взводится триггер и еще какая-то хуйня.
Если на последнем такте последнего машинного цикла команды сигнала на входе INT = 1, то мкпроц функционирует следующим образом: ЦП закончит выполнение текущей команды, запомнит содержимое СК в стековой памяти и прейдет на подпрограмму обработки прерываний. При этом СК будет загружен в адрес ячейки памяти, в которой находятся команда подпрограммы. По окончанию подпрограммы по команде RET из стековой памяти будет перенесено содержимое в СК и мкпроц продолжит выполнение основной программы.
RET – возврат