Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дриди / Alexandridi_uch_posobie_part2.doc
Скачиваний:
96
Добавлен:
16.05.2015
Размер:
6.3 Mб
Скачать
    1. 3.2.1. Структура команды

Структура любой команды состоит из нескольких полей, основные из которых представлены в табл. 3.1.

Таблица 3.1

Код операции

Адресная часть

Код модификации


Код операции (коп) указывает, какая именно операция (арифметическая, логическая и т.п.) выполняется. Если поле «коп» состоит из «m» двоичных разрядов, то в данной системе команд может выполняться до различных операций.

Любой операции соответствует свой код операции. В адресной части указываются адреса операндов.

Операнд – число, команда, код, над которыми выполняется указанная операция.

Коды модификации используются при вычислении физических адресов данных.

В зависимости от структуры адресной части различают следующие виды команд:

  • безадресные (например, остановка);

  • одноадресные;

  • двухадресные;

  • трехадресные;

  • многоадресные.

Рассмотрим на примере программирования простейшего алгебраического выражения (3.1) взаимосвязь между адресностью команды и структурой соответствующего фрагмента программы.

Дано . (3.1)

Данные и результат размещаются, например, в следующих условных адресах оперативного запоминающего устройства (ОЗУ).

Составим фрагмент программы для выражения (3.1) при одноадресной структуре команды.

Как видно из табл. 3.2, фрагмент программы занимает три ячейки в памяти.

Таблица 3.2

Адрес

Команда

Пояснения

К

чтение М1

К+1

сложение М2

К+2

запись М3

В таблице 3.3 представлена структура двухадресной команды.

Таблица 3.3

Коп

М1

М2

Фрагмент программы для выражения (3.1) при двухадресной структуре команды состоит всего из одной команды:

Сложение (М1) + (М2) → (М2). (3.2)

Как следует из (3.2), результат сложения заносится по адресу одного из слагаемых.

В табл. 3.4 представлена структура трехадресной команды.

Фрагмент программы для выражения (3.1) состоит при трехадресной структуре также всего из одной команды (3.3).

Таблица 3.4

Коп

М1

М 2

М 3

Сложение (М1) + (М2) → (М3). (3.3)

Как видно, при двух- и трехадресной структурах команды фрагмент программы для выражения (3.1) занимает только одну ячейку памяти.

Однако если принять, что ячейка оперативной памяти содержит ограниченное количество разрядов, то предпочтение имеет одноадресная структура команды, так как при этом можно адресовать больший объем памяти.

В современных ЭВМ принята переменная структура команды (за основу взята двухадресная) в зависимости от назначения команды.

Одной из основных функций ЦУУ является определение очередности выбора команды при выполнении программы или определение следующего адреса команды (САК). В каждой программе содержатся два типа участков: линейная часть и разветвление.

На линейной части программы команды располагаются по последовательным адресам оперативной памяти. При этом адрес следующей команды формируется с помощью счетчика. Фрагмент программы в таблице 3.2 является линейной частью программы. Разветвления в программе происходят при выполнении команд безусловного перехода (БП) и условного перехода (УП).

В командах БП и УП адрес следующей команды указан в выполняемой команде.

Рис.3.5. Фрагмент алгоритма программы с разветвлением

Ниже приведен алгебраический пример (3.4) , для решения которого потребуется написать программу с разветвлением.

если , то; (3.4)

если , то.

    1. 3.3. Центральное устройство управления (ЦУУ)

В состав ЦУУ (рис. 3.6.) входят следующие основные функциональные узлы (ФУ) и блоки.

ПУ – пульт управления с клавиатурой, посредством которой производят пуск и останов ЭВМ, задают режимы работы, вводят программу и данные.

БС - блок синхронизации, содержащий генератор импульсов, который начинает работать сразу после включения питания и выдает бесконечную последовательность синхроимпульсов. Из этих импульсов формируются в УУ все последовательности управляющих сигналов (УС), которые обеспечивают функционирование ЭВМ.

СК – счетчик команд (программный счетчик). При включении ЭВМ на вход R поступает с пульта управления (ПУ) сигнал, который устанавливает СК:=0.

Далее с ПУ в СК поступает адрес начальной команды (АНК), с которого начинается выполнение некоторой программы.

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

РК - регистр команды, в него из оперативного запоминающего устройства (ОЗУ) принимается очередная команда, которая будет выполняться.

Рис.3.6. Упрощенная структура ЦУУ

Формирователь САК - логическая схема, которая обеспечивает образование физического адреса (ФА) следующей команды при разветвлении программы. В эту логическую схему поступает информация из РК (адрес и коды модификации), а также логические условия (ЛУ) из АЛУ.

РА- регистр адреса, в него поступает сформированный физический адрес (FА) оперативного запоминающего устройства (ОЗУ). По адресу FА происходит считывание команды и прием ее в регистр команд (РК), который имеет формат команды.

Код операции попадает на дешифратор, где определяется, какой тип команды будет выполняться.

БФУС – блок формирования управляющих сигналов. Для каждой выполняемой команды он формирует свою последовательность управляющих сигналов , которые поступают на различные устройства и узлы ЭВМ.

На линейном участке программы САК образуется в СК при добавлении единицы к его содержимому после выполнения каждой команды.

При выполнении команд:

  • безусловного перехода (БП) САК равен содержимому адресной части в команде;

  • условного перехода (УП) САК формируется в зависимости от логических условий, которые могут поступать из АЛУ или других устройств.

Если ЛУ = 0, то САК = СК + 1.

Если ЛУ = 1, то САК = <адр.>, т.е. содержимому адресной части команды УП.

БРГ – блок регистров, который содержит программно-доступные и программно-недоступные регистры.

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

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

Соседние файлы в папке Дриди