Полная инструкция состоит, по меньшей мере, из одного слова, которое называется кодом операции и представляет инструкцию для ЦПУ, в которые иногда включаются также величины данных или адреса, расположенные в памяти непосредственно после кода операции. Эти величины называются операндами. Код операции указывает задачу ЦПУ, а операнды — место назначения. Некоторые операции не требуют операндов, другие могут использовать одну или более ячеек памяти для хранения своих операндов.

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

Машинные циклы и синхронизация

Для запуска программы ЦПУ задает стартовый адрес, который показывает, где расположена первая инструкция программного кода. Точное время выполнения любой инструкции зависит от быстродействия микропроцессора, которые, независимо от типа, выполняют цикл выбор-исполнение для каждой инструкции. Новейшие процессоры выбирают нескольких инструкций и выстраивают их в виде очереди на исполнение. Это положительно влияет на эффективность и повышает быстродействие. В следующем описании указаны основные этапы выполнения машинных инструкций, что позволяет составить общее представление о работе компьютеров. Детали, касающиеся конкретного микропроцессора, можно найти в руководствах изготовителей.

Цикл выполнения любой инструкции начинается с помещения адреса ячейки в памяти, но которому расположен код следующей инструкции, на шину адреса. Дешифраторы адреса выбирают ИС, в которой находится адрес. Когда ЦПУ готов принять код операции, он активирует управляющую шину, подавая сигнал типа RD (чтение), который запускает выходные буферы схемы памяти с тремя состояниями, и на шину подается код операции. Когда импульс RD заканчивается, код операции запоминается в регистре инструкций внутри ЦПУ.

Система синхронизации и управления декодирует инструкцию и определяет, требует ли она операндов. Если да, то они выбираются из следующих ячеек памяти таким же образом, что и код операции. Когда все части инструкции переданы в ЦПУ, начинается выполнение инструкции: считывание величины из памяти или устройства ввода-вывода, инкрементирование величины во внутреннем регистре или запись величины из ЦПУ в память или выходной порт. Важно понимать, что в разные периоды во время выполнения цикла инструкции шина данных может содержать коды инструкций, информацию об адресе, величины данных, и иногда ничего не значащий «цифровой мусор». Для анализа имеющихся сигналов необходимо очень хорошо понимать синхронизацию микропроцессора. Для описания этого достаточно сложного процесса в 8 и 16-битовых шинах используются специальные временные диаграммы (рис. 9.6).

Рис. 9.6.Временная диаграмма шины микропроцессора

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

Шина данных образована восемью отдельными линиями, каждая из которых может иметь высокий, низкий или переменный уровень. Переменное состояние возникает тогда, когда все подключенные к шине приборы находятся в третьем состоянии с высоким импедансом (бездействуют). Это состояние с высоким импедансом представляется горизонтальной линией на среднем уровне между высоким и низким. Когда выходы включаются, временная диаграмма расширяется, показывая, что все 8 бит стабильны и имеют уровень высокий или низкий. Их величина в этом интервале может быть показана в виде шестнадцатеричного числа. Сигналы дешифратора ПЗУ и ОЗУ, которые идут к входам выбора ИМС, и сигналы линий RD и WD представляют собой однобитовые сигналы и выглядят, как и на всех остальных временных диаграммах.

Перейти на страницу:

Поиск

Все книги серии В помощь радиолюбителю

Похожие книги