Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVETY_OMPT.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
587 Кб
Скачать
☆

Микропроцессорная система включает в себя:

• процессор;

• память, включающую оперативную память (ОЗУ, RAM — Random Access Memory) и постоянную память

(ПЗУ, ROM —Read Only Memory), которая служит для хранения данных и программ;

• устройства ввода/вывода (УВВ, I/O — Input/Output Devices), служащие для связи микропроцессорной

системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.

Все устройства микропроцессорной системы объединяются общей системной шиной (она же называ-

ется еще системной магистралью или каналом). Системная магистраль включает в себя четыре ос-

новные шины нижнего уровня: • шина адреса (Address Bus);

• шина данных (Data Bus);

• шина управления (Control Bus);

• шина питания (Power Bus).

Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству (кроме процессора), каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес. Когда код какого-то адреса выставляется процессором на шине адреса, устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.

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

Шина управления в отличие от шины адреса и шины данных состоит из отдельных управляющих сигналов. Каждый из этих сигналов во время обмена информацией имеет свою функцию. Некоторые сигналы служат для стробирования передаваемых или принимаемых данных (то есть определяют

моменты времени, когда информационный код выставлен на шину данных). Другие управляющие сигналы могут использоваться для подтверждения приема данных, для сброса всех устройств в исходное состояние, для тактирования всех устройств и т.д. Линии шины управления могут быть одно

направленными или двунаправленными.

Наконец, шина питания предназначена не для пересылки информационных сигналов, а для питания системы. Она состоит из линий питания и общего провода. В микропроцессорной системе может быть один источник питания (чаще +5 В) или несколько источников питания (обычно еще –5 В, +12

В и –12 В). Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим линиям параллельно.

19. Микропроцессор – это микросхема или совокупность микросхем (или кристаллов), выполняющая арифметические и логические операции над данными и осуществляющая программное управление вычислительным процессом. Итак, микропроцессор способен выполнять множество операций. Но откуда он узнает, какую операцию ему надо выполнять в данный момент? Именно это определяется управляющей информацией, программой. Программа представляет собой набор команд (инструкций), то есть цифровых кодов, расшифровав которые, процессор узнает, что ему надо делать. Программа от начала и до конца составляется человеком, программистом, а процессор выступает в роли послушного исполнителя этой программы, никакой инициативы он не проявляет (если, конечно, исправен). Поэтому сравнение процессора с мозгом не слишком корректно. Он всего лишь исполнитель того алгоритма, который заранее составил для него человек. Любое отклонение от этого алгоритма может быть вызвано толь-

ко неисправностью процессора или каких-нибудь других узлов микропроцессорной системы.

20, 21 Основные функции любого процессора следующие

выборка (чтение) выполняемых команд;

ввод (чтение) данных из памяти или устройства ввода/вывода;

вывод (запись) данных в память или в устройства ввода/вывода;

обработка данных (операндов), в том числе арифметические операции над ними;

адресация памяти, то есть задание адреса памяти, с которым будет производиться обмен;

обработка прерываний и режима прямого доступа.

После включения питания процессор переходит в первый адрес программы начального пуска и вы-

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

записи или же читает данные из памяти или из устройств ввода/вывода с помощью циклов чтения.

В состав микропроцессора входят следующие устройства.

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

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

  • формирует и подает во все блоки машины в нужные моменты времени определенные сигналы управления (управляющие импульсы), обусловленные спецификой выполнения различных операций;

  • формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки компьютера;

  • получает от генератора тактовых импульсов обратную последовательность импульсов.

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

4. Интерфейсная система микропроцессора предназначена для связи с другими устройствами компьютера. Включает в себя:

  • внутренний интерфейс микропроцессора;

  • буферные запоминающие регистры;

  • схемы управления портами ввода-вывода и системной шиной. (Порт ввода-вывода — это аппаратура сопряжения, позволяющая подключить к микропроцессору , другое устройство.)

22. Регистры процессора представляют собой по сути ячейки очень быстрой памяти и служат для временного хранения различных кодов: данных, адресов, служебных кодов. Операции с этими кодами выполняются предельно быстро, поэтому, в общем случае, чем больше внутренних регистров, тем лучше. Кроме того, на быстродействие процессора сильно влияет разрядность регистров. Именно разрядность регистров и АЛУ называется внутренней разрядностью процессора, которая может не совпадать с внешней разрядностью. РОН расположены в первых 32 ячейках внутренней памяти данных МК. R0 первого банка в ячейке с адресом – 0, R1 -1 и т. д. вплоть до адреса 7(R7). В ячейках с адресом 8-15 расположены РОН второго банка. и т. д.

Intel каждому регистру отводит строго определенную функцию. С одной стороны, это упрощает организацию процессора и уменьшает время выполнения команды, но с другой — снижает гибкость, а иногда и замедляет работу программы. Например, некоторые арифметические операции и обмен с устройствами ввода/вывода проводятся только через один регистр — аккумулятор, в результате чего при выполнении некоторых процедур может потребоваться несколько дополнительных пересылок между регистрами.

Регистр признаков (регистр состояния) занимает особое место, хотя он также является внутренним регистром процессора. Содержащаяся в нем информация — это не данные, не адрес, а слово состояния процессора (ССП, PSW — Processor Status Word). Каждый бит этого слова (флаг) содержит информацию о результате предыдущей команды. Например, есть бит нулевого результата, который устанавливается в том случае, когда результат выполнения предыдущей команды — нуль, и очищается в том случае, когда результат выполнения команды отличен от нуля. Эти биты (флаги) используются командами условных переходов, например, командой перехода в случае нулевого результата. В этом же регистре иногда содержатся флаги управления, определяющие режим выполнения некоторых команд.

Содержимое указателя (счетчика) команд изменяется следующим образом. В начале работы системы (при включении питания) в него заносится раз и навсегда установленное значение. Это первый адрес программы начального запуска. Затем после выборки из памяти каждой следующей команды значение указателя команд автоматически увеличивается (инкрементируется) на единицу (или на два в зависимости от формата команд и типа процессора). То есть следующая команда будет выбираться из следующего по порядку адреса памяти. При выполнении команд перехода, нарушающих последовательный перебор адресов памяти, в указатель команд принудительно записывается новое значение — новый адрес в памяти, начиная с которого адреса команд опять же будут перебираться последовательно. Такая же смена содержимого указателя команд производится при вызове подпрограммы и возврате из нее или при начале обработки прерывания и после его окончания.

23. Программная модель микропроцессорной системы – совокупность всех доступных программисту регистров и ячеек памяти.

24. Программа – это некоторая последовательность команд, реализующая какой-то заданный алгоритм. Команда – это часть программы выполняющая строго определенную операцию.

25. Команда микропроцессора включает в себя: код команды, операнды, метку перехода. Существуют команды без операндов, например – nop.

26. Под командой следует понимать задание на выполнение микропроцессором определенного действия. Система команд МП – это набор функций, определенных для микропроцессора. Наиболее существенными для ознакомления с особенностями системы команд являются три признака: длина команды, функциональный признак и способ адресации. По длине (или по величине занимаемых байтов) команды подразделяют

на однобайтовые, двухбайтовые, трехбайтовые и т. д. При этом первый байт (или слово – в более мощных процессорах) всегда отводится под код команды, а последующие содержат либо данные, либо адрес, по которому они хра-

нятся в памяти.

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

27. ОПЕРАНД, величина, представляющая собой объект операции, реализуемой ЭВМ в ходе выполнения программы вычислений. Напр., операндами арифметических операций обычно являются числа: при сложении - слагаемые, при умножении - сомножители.

Непосредственная адресация (рис. 3.1) предполагает, что операнд (входной) находится в памяти

непосредственно за кодом команды. Операнд обычно представляет собой константу, которую надо

куда-то переслать, к чему-то прибавить и т.д. Например, команда может состоять в том, чтобы прибавить число 6 к содержимому какого-то внутреннего регистра процессора. Это число 6 будет распо-

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

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

Регистровая адресация (рис. 3.3) предполагает, что операнд (входной или выходной) находится во внутреннем регистре процессора. Например, команда может состоять в том, чтобы переслать число из нулевого регистра в первый. Номера обоих регистров (0 и 1) будут определяться кодом команды пересылки.

Косвенно-регистровая (она же косвенная) адресация предполагает, что во внутреннем регистре процессора находится не сам операнд, а его адрес в памяти (рис. 3.4). Например, команда может состоять в том, чтобы очистить ячейку памяти с адресом, находящимся в нулевом регистре. Номер этого регистра (0) будет определяться кодом команды очистки.

28. Язык ассемблера (автокод) — язык программирования низкого уровня. В отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, называемая ассемблером.

29. Для организации основных программных структур применяются следующие команды – это команды вызова подпрограмм, команды безусловного перехода, команды организации циклов.

30. Доступ к данным в памяти осуществляется при помощи команд MOVC и MOVX.

MOVC A,@A+DPTR – сложить содержимое аккумулятора и DPTR, найти ячейку памяти программ с адресом, равным полученной сумме, извлечь из неё информацию и записать её в аккумулятор.

MOVX A,@R1 – переслать в аккумулятор байт из внешнего ОЗУ.

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

Необходимость такой адресации становится очевидной в случае многократно вложенных подпрограмм. Пусть, например, выполняется основная программа, и из нее вызывается подпрограмма 1. Если нам надо сохранить значения данных и внутренних регистров основной программы на время выполнения подпрограммы, мы перед вызовом подпрограммы сохраним их в стеке (запишем в стек), а после ее окончания извлечем (прочитаем) их из стека. Если же из подпрограммы 1 вызывается подпрограмма 2, то ту же самую операцию мы проделаем с данными и содержимым внутренних регистров подпрограммы 1. Понятно, что внутри подпрограммы 2 крайними в стеке (читаемыми в первую очередь) будут данные из подпрограммы 1, а данные из основной программы будут глубже. При этом в случае чтения из стека автоматически будет соблюдаться нужный порядок читаемой информации. То же самое будет и в случае, когда таких уровней вложения подпрограмм гораздо больше. То есть то, что надо хранить подольше, прячется поглубже, а то, что скоро может потребоваться — с краю.

31. Подпрограмма – это часть кода, которая многократно выполняется с разными параметрами. Команды переходов с дальнейшим возвратом в точку, из которой был произведен переход, применяются для выполнения подпрограмм, то есть вспомогательных программ. Эти команды называются также командами вызова подпрограмм (распространенное название — CALL). Использование подпрограмм позволяет упростить структуру основной программы, сделать ее более логичной, гибкой, легкой для написания и отладки. В то же время надо учитывать, что широкое использование подпрограмм, как правило, увеличивает время выполнения программы.Для обратного возврата в точку вызова подпрограммы (точку перехода) используется специальная команда возврата (RET или RTS). Эта команда извлекает из стека значение адреса команды перехода и записывает его в регистр-счетчик команд.

32. Флаг – триггер, в который записывается признак выполнения операции как арифметической так и логической.

Регистр FLAGS — это регистр состояния процессора (PSW). Из его 16 разрядов используются только девять (рис. 3.11): CF (Carry Flag) — флаг переноса при арифметических операциях, PF (Parity Flag) — флаг четности результата, AF (Auxiliary Flag) — флаг дополнительного переноса, ZF (Zero Flag) — флаг нулевого результата, SF (Sign Flag) — флаг знака (совпадает со старшим битом результата), TF (Trap Flag) — флаг пошагового режима (используется при отладке), IF (Interruptenable Flag) — флаг разрешения аппаратных прерываний, DF (Direction Flag) — флаг направления при строковых операциях, OF (Overflow Flag) — флаг переполнения.

33. Для управления внешними устройствами в МП системах используется практически весь объем существующих команд за некоторым исключением. Например широко используются команды операций над битами, команды пересылки, команды передачи управления микроконтроллера.

34, 35 Объединение модулей микропроцессорного устройства в единую систему производится посредством единой системы сопряжения, называемой интерфейсом- (от английского interface - сопрягать, согласовывать).

Интерфейс должен обеспечивать

  • Простое и быстрое соединение данного устройства с любым другим, имеющим такой же интерфейс;

  • Совместную работу устройств без ухудшения их технических характеристик;

  • Высокую надежность.

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

Основными элементами интерфейса являются

  • Совокупность правил обмена информации (временные диаграммы и диаграммы состояний сигналов интерфейса)

  • Аппаратная реализация (физическая реализация) (контроллеры)

  • Программное обеспечение интерфейса (драйверы)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]