Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OEVM_Lec_2011(1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.92 Mб
Скачать

Что такое микропроцессор?

Ядром любой микропроцессорной системы является микропроцессор или просто процессор (от английского processor). Перевести на русский язык это слово правильнее всего как "обработчик", так как именно микропроцессор — это тот узел, блок, который производит всю обработку информации внутри микропроцессорной системы. Остальные узлы выполняют всего лишь вспомогательные функции: хранение информации (в том числе и управляющей информации, то есть программы), связи с внешними устройствами, связи с пользователем и т.д. Процессор заменяет практически всю "жесткую логику", которая понадобилась бы в случае традиционной цифровой системы. Он выполняет арифметические функции (сложение, умножение и т.д.), логические функции (сдвиг, сравнение, маскирование кодов и т.д.), временное хранение кодов (во внутренних регистрах), пересылку кодов между узлами микропроцессорной системы и многое другое.

Основной алгоритм работы процессора

Давайте рассмотрим последовательность действий процессора при выполнении очередного командного цикла. Командный цикл по своему содержанию в основном одинаков для всех машин и отличается лишь некоторыми частностями.

начало

Выборка

команды

декодирование

Выборка

операнда

исполнение

Запись

результата

нет

Оперативная

память

Контроллер шин (чипсет)

да

Интерфейс магистрали

данные, команды адреса команд и данных

Память

пр-ра

кэш

РОН

Управляющие регистры

УУ

ПЗУ

ПДП

пре-ния

Запросы на пре-ия и пдп

АЛУ

результат признаки рез-та

Операционное Устройство

Рис. 6.3 Структура простейшего процессора и алгоритм его работы

Во время выполнения командного цикла процессор реализует следующую последовательность действий:

  1. извлечение адреса команды из счетчика команд (блок управляющих регистров), получение самой команды из регистровой памяти и размещение кода команды в регистре команд (блок управляющих регистров) – выборка команды;

  2. увеличение счетчика на единицу (если код команды занимает несколько ячеек памяти, то содержимое счетчика увеличивается на длину команды);

  3. код операции посылается в устройство управления, более точно в ПЗУ, где он преобразуется в микропрограмму (КОП ассемблерной команды – это начальный адрес некоторой последовательности микрокоманд машинного кода) - декодирование команды;

  4. формирование адреса операндов, извлечение операндов из памяти – выборка операндов;

  5. выполнение заданной в ассемблерной команде операции – исполнение;

  6. размещение результата операции в памяти – запись результата;

  7. переход к пункту 1 или останов.

Когда мы говорим, что процессор обрабатывает информацию, то на самом деле мы имеем в виду следующее:

  • дешифрирует команды;

  • организует обращение к памяти и выбирает операнды;

  • выполняет команды программы;

  • инициирует работу периферийных устройств;

  • обрабатывает запросы, поступившие от устройств ЭВМ и внешней среды (например, запросы прерывания).

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

  • память (кэш, ОП, ЖД и т.д.);

  • регистры процессора (регистровый файл);

  • регистры подсистемы ввода/вывода (порты ввода/вывода).

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

  • микрооперация – 1 такт;

  • команда ассемблера (микрокоманда) – несколько тактов;

  • программа (микропрограмма) – множество команд ассемблера.

Программный код и система команд

Программный код – это последовательность команд, каждая из которых определенным образом закодирована и расположена в целом числе байтов памяти. Каждая команда (instruction – инструкция) имеет операционную часть (код команды – КОП), несущую МП информацию о требуемых действиях и адресную часть (или операндную), указывающую МП, где находится «его предмет труда» - операнды. Хотя эта часть может присутствовать в явном или не явном виде, а может и отсутствовать.

КОП Адрес 1го операнда Адрес 2го операнда Адрес результата

Пример 3х адресной команды

Длина инструкции от 1 до 17 байт для 32 разрядного процессора. Количество полей адресной части команды может быть различным, более того бывают и просто безадресные команды. Это, собственно, и определяется системой команд процессора. Вспомним фундаментальную инструкцию сложения двух чисел: C=A+B – сложить текущие значения переменных A и B и присвоить их сумму переменной C. Конкретное выполнение этой операции зависит от принятой в данном процессоре системы команд.

1. 3х адресная команда 2. 2х адресная команда 3. Одноадресная команда

C [A] + [B] A [A] + [B] в этом случае используется АКК

Add A, B, C Add A, B Load A

Move C, A Add B

Store C

В 3ем случае используется один из регистров АЛУ (АКК – аккумулятор), Load A – копировать в сумматор содержимое ячейки памяти по адресу А и поместить в АКК, Add B – добавить содержимое памяти по адресу В к содержимому АКК и поместить результат в АКК, Store C – копировать содержимое АКК в ячейку памяти по адресу С.

А, (В)

АЛУ

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

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