Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС.docx
Скачиваний:
31
Добавлен:
01.04.2022
Размер:
1.04 Mб
Скачать
  1. Структура однокристального мп. Состав и назначение элементов.

Структура однокристального МП приведена на рисунке. Доступные блоки МП (выделены на рисунке толстой рамкой): регистр-аккумулятор, счетчик команд, блок регистров B, C, D, E, регистр признаков. Недоступные блоки МП:

  1. регистр адреса,

  2. схема управления,

  3. арифметико-логическое устройство,

  4. блок регистров временного хранения данных,

  5. регистр команд.

При работе с микропроцессором программисту необходимо иметь информацию о числе и назначении всех регисторов, специальных указателей, регистра флагов, системы команд. Число и назначение регистров, флагов и команд программист, как правило, изменить не может. Он может изменить только содержимое регистров и использовать команды в любой нужной ему комбинации. Как известно, под регистром подразумевается специальное запоминающее устройство (ЗУ), состоящее из элементов (триггеров) с двумя устойчивыми состояниями. Число элементов 8 соответствует одному байту. Существуют 8-, 16-, 32-, 64- и т. д. разрядные регистры. Все регистры разбиты на группы и различаются функциональным назначением.

Основными блоками МП являются: блок регистров общего назначения (РОН) со схемой выборки регистров; регистр комад с дешифратором команд и формирователем машинных циклов; арифметико-логическое устройство с регистром-аккумулятором, выполняющим арифметические и логические операции; регистры временного хранения данных W и Z; флаговый регистр; устройство управления и синхронизации.

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

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

Регистр команд – регистр, в котором хранится код выполняемой команды. Этот регистр, как указывалось выше, является недоступным регистром. Это означает, что не существует команды, которая могла бы изменить его содержимое. После выполнения очередной команды в регистр автоматически заносится код следующей команды из ячейки оперативной памяти, адрес которой находится в счетчике команд.

Счетчик команд – регистр (PC – Program Counter), хранящий адрес следующей команды, которая должна быть выполнена вслед за предыдущей. Счетчик команд автоматически получает приращение хранимого в нем адреса в зависимости от того, какую по длительности команду микропроцессор считывает из памяти, указывая всегда на первый байт следующей команды. На содержимое регистра можно повлиять только с помощью команд, изменяющих последовательное выполнение программы (например, команд перехода или вызова подпрограмм).

Указатель стека – регистр (SP – Stack Pointer), хранящий адрес очередной ячейки стека. Стеком называется особым образом организованный участок памяти, выделяемый программистом для временного хранения содержимого внутренних регистров МП, со специальным режимом доступа. Эта область оперативной памяти необходима в том случае, когда нужно прекратить выполнение реализуемой последовательности команд и вернуться к ней позже. Например, для немедленного выполнения специальной подпрограммы или при прерывании программы данные от МП поступают в верхнюю часть стековой памяти. Содержимое указателя стека уменьшается на единицу (2, 4, в зависимости от формата заносимых данных), чтобы всегда указывать на адрес последней заполненной ячейки стека (дно свободного пространства стека). Когда же данные выбираются (считываются) из стека, содержимое указателя стека увеличивается с каждым выбранным байтом (словом, двойным словом). Операции со стеком называются стековыми. С их помощью легко организуются многоуровневые (вложенные) прерывания: аппаратные и программные.

Флаговый регистр – регистр, в простейшем случае содержащий 5 двоичных разрядов, называемых флагами по числу хранимых в нем специальных признаков результатов некоторых операций. Иногда его называют регистром признаков, или регистром флагов. Значение флага указывает на результат выполнения операций. Например, в микропроцессоре I8080 флаговый регистр содержит 5 флагов

  1. Цикл, такт МП. примерный алгоритм функционирования в течении цикла.

  1. Временные диаграммы основного цикла команд. Пример выполнения команды ввод.

  1. Прерывание. Виды. Временные диаграммы работы МП при разрешенном прерывании.

Ассемблер на примерах. Базовый курс. Рудольф Марек | CoderNet

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

Давайте рассмотрим пример. Я сижу за столом и читаю книгу. С точки зрения компьютера, я выполняю процесс чтения книги. Внезапно звонит телефон, я прерываю чтение, кладу в книгу закладку (на языке процессора это называется «сохранить контекст») и беру трубку. Теперь я «обрабатываю» телефонный звонок. Закончив разговор, я возвращаюсь к чтению книги. Найти последнее прочитанное место помогает та самая закладка.

Процессоры семейства х86 и совместимые с ними могут порождать 256 прерываний. Адреса всех 256 функций обработки прерываний (так называемые векторы прерываний) хранятся в специальной таблице векторов прерываний.

Прерывания могут быть программными и аппаратными.

Аппаратные прерывания происходят по запросу периферийных устройств. К аппаратным прерываниям относятся также специальные прерывания, которые генерирует сам процессор. Такие прерывания используются для обработки «исключительных ситуаций» — неверный операнд, неизвестная команда, переполнение и другие непредвиденные операции, когда процессор сбит с толку и не знает, что делать. Все аппаратные прерывания можно разделить на две группы: прерывания, которые можно игнорировать («замаскировать») и те, которые игнорировать нельзя. Первые называются маскируемыми (maskable), а вторые — немаскируемыми (non-maskable). Аппаратные прерывания могут быть отключены путем установки флага IF регистра признаков в 0. Единственное прерывание, которое отключить нельзя — это NMI, немаскируемое прерывание, генерирующееся при сбое памяти, сбое в питании процессора и подобных форсмажорных обстоятельствах.

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

Честно, про последний вопрос я хз, может это подойдёт? - Временная диаграмма прерывания (helpiks.org)