Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OEVM-sem-pract-2007.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.97 Mб
Скачать

Функционирование программируемого процессора

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

  1. КОП – код операции, которую должен выполнить процессор (сложение, вычитание и т.д.);

  2. адреса двух операндов – аргументов операции;

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

  4. адрес следующей команды.

Такая команда, состоящая из пяти полей имеет следующий вид в двухбайтовом формате:

15 12 11 9 8 6 5 3 2 0

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

команды

Структура процессора, отвечающая этой системе команд, может иметь следующий вид:

Y4

ОП Y3

Следующая команда

Вычитаемое

Разность

Исполняемая команда

КОП 1 2 3 4

2 байта

Уменьшаемое

Адрес Y2

Y1

Коп 1 2 3 4

Чтение

Y7

Y5 Y6 Регистр команд

Устройство

управления

Y10

АЛУ

Y11

Y8 Y12

Аккумулятор

Запись

Y9

Простой процессор, работающий с четырехадресной командой

Алгоритм работы

Рассмотрим алгоритм работы этого устройства на примере выполнения операции «Вычитание» после того, как в его регистр команд была переписана из ОП выполняемая команда:

  • поле «КОП» регистра команд связано с УУ, поэтому последнее получит приказ на выполнение операции «Вычитание» и перейдет в режим генерации управляющих импульсов;

  • одновременно подачей сигналов Y1, Y5, Y10 и Y8 обеспечивается пересылка из памяти численного значения уменьшаемого, прохождения его через АЛУ (сигнал Y10) и запись в аккумулятор;

  • следующий тактовый импульс инициирует сигналы Y2, Y5, Y6, и Y11, что приводит к пересылке из памяти численного значения вычитаемого, к выполнению операции вычитания (сигнал Y11), т.е. из содержимого аккумулятора (уменьшаемое) вычитается значение вычитаемого, по сигналу Y8 производится запись полученной разности в аккумулятор вместо уменьшаемого;

  • следующий тактовый импульс инициирует сигналы Y3, Y9 которые обеспечат пересылку результата операции в требуемую ячейку памяти, на которую указывает предпоследнее поле команды:

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

Рассмотренная архитектура процессора и реализованная им четырехадресная команда кажутся вполне естественными, более того, очевидными.

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

Когда команда хранится в одной ячейке памяти, то не существует возможности считывания из памяти отдельных полей команды и, следовательно, необходим буфер для временного хранения исполняемой команды – регистр команд. Ну а появление трех шин: шины адреса, шины чтения(данных и команд), шины записи – кажутся нам вполне естественным. Все так, но подобная архитектура обладает массой недостатков, более того - она просто не работоспособна.

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