Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЭВМиС 2012 все леккции.doc
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
4.36 Mб
Скачать

1.5 Реализация безусловного и условного переходов.

Команда безусловного перехода заменяет содержимое счетчика СТ целевым адресом перехода. Этот адрес обычно получается путем добавления смещения Х, заданного в команде перехода, к обновленному значению содержимого счетчика СТ.

Пример управляющей последовательности, реализующей команду безусловного перехода.

Выполнение команды перехода, как обычно, начинается с фразы выборки, которая завершается загрузкой выбранной команды в RG IRin (первые три шага).

Далее на шаге 4 смещение Х извлекается из RG IRout схемой дешифрации команды в УУ. Поскольку обновленное значение СТ к этому времени уже передано в RG Y(в шаге 2) и через MUX на вход А ALU, смещение Х передается на шину( Offset-field-of RG IRout, на шаге 4), тем самым на вход А ALU, то по сигналу Add происходит их сложение, результатом которого и является новый адрес.

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

Например, команда перехода расположена по адресу 2000, а переход следует осуществить к адресу 2040. тогда смещение должно быть равным Х=36. Это происходит потому, что приращение содержимого СТ (Select 4) на 4 осуществляется в фазе выборки (шаг 1)еще до того, как станет известным тип извлекаемой команды перехода.

Команда условного перехода.

В этом случае перед загрузкой нового адреса в СТ надо проверить коды условий. Для этого в управляющей последовательности надо на шаге 4 внести последовательность (рис. 1.08 б).

1.6 Структура процессора с тремя тактами передачи.

Позволяет сократить число шагов, выполняя команды.

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

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

В качестве примера рассмотрим процессор с тремя шинами А, В и С.

Здесь регистры общего назначения объединены в один блок, названный регистровым файлом, наподобие матрицы запоминающих ячеек с произвольным доступом (в курсе ЗУ). Файл имеет 3 порта: два выхода, позволяющих одновременно обращаться к двум разным регистрам и помещать их содержимое на шины А и В. Третий порт позволяет в том же такте загружать данные с шины С в третий регистр.

Шины А и В используются для пересылки данных на входы А и В в ALU, результат операции пересылается в регистр общего назначения по шине С.

Таким образом в данной структуре регистры RG Y и RG SM не нужны.

ALU также может передать без изменения один из двух операндов на шину С. Для этого используются сигналы У=А и У=В. Наличие инкрементора используется также для увеличения содержимого СТ на 4, что освобождает ALU от регулярного выполнения этой операции.

Здесь источник константы 4 для MUX используется для приращения адресов в специальных командах, используемых при побайтовой адресации памяти.

Пример выполнения команды: сложить содержимое RG4 и RG5, а результат поместить в RG6 (регистрового файла) на рис. 1.10.

На шаге 1 содержимое СТ проходит через ALU в соответствии с сигналом У=В и загружается в RGA для чтения из памяти.

Одновременно с этим содержимое СТ увеличивается на 1. Обратить внимание на то, что в СТ увеличивается в конце такта и не влияет на содержимое RGA.

На шаге 2 процессор ждет сигнала MFC и загружает полученные данные в RGD, после чего на шаге 3 пересылает их в RG IR.

Фаза выполнения команды сложить (Add) состоит из одного шага 4, то есть благодаря увеличению каналов пересылки данных количество тактов, необходимых для выполнения команды Add, значительно сократилось.

2. Устройства управления ЭВМ.

2.1. Аппаратные устройства управления.

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

При формировании управляющих сигналов учитываются следующие данные:

1.Содержимое счетчика тактов.

2.Содержимое регистра команды RG IR.

3.Значение внешних входных сигналов.

4.Значение кодов условий.

Каждому такту на выходе DC-тактов соответствует отдельная линия Т1, Т2, …, Тn. Аналогично и на выходе DC-команд линии: S1, S2, …, Sm для каждой команды.

Все входные сигналы в шифраторе CD объединяются элементами И в соответствии с необходимыми на их выходе управляющими сигналами.

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

Пример построения шифратора CD для реализации шагов первого и шестого из выражения 1.

  1. СТout, RG Ain, Read, select4, Add, RG SMin.

  2. RGDout, SelectY, Add, RG SMin.

Набор элементов И зависит от набора команд для данного процессора.

Если сигнал Run= «1» (в начале цикла) в конце каждого тактового цикла увеличивается на «1». Если Run=0, отсчет тактов прекращается. Так происходит в случае выдачи сигнала WMFC (процесс ожидания процессором ответного сигнала MFC из внешнего устройства (памяти)).

Достоинство УУ аппаратного (его еще называют устройством с жесткой логикой) – высокое быстродействие.

Недостатки:

  1. Для большого числа команд УУ получается весьма сложным.

  2. В случае изменения системы команд процессора УУ надо переделывать.

Применяются такие УУ в небольших микроконтроллерах и микропроцессорах.

    1. Особенности построения аппаратных УУ.

  1. Еще одним недостатком рассмотренного УУ является то, что оно используется одинаковое число тактов для выполнения команд различной длины, что приводит к потере времени при выполнении коротких команд.

Для устранения этого недостатка команды можно разделить на группы: короткие, средние, длинные, которые УУ будет реализовывать с применением нескольких счетчиков и дешифраторов тактов.

Допустим, команды разбиты на 2 группы:

короткие и длинные. Тогда УУ можно представить так:

Для коротких команд (в команде указывается число необходимых тактов для ее выполнения) используется счетчик СТ1. В случае длинной команды схемой запуска по сигналу из DC1 команды в определенный такт запускается СТ2, а СТ1 останавливается. Работа CD продолжается с участием DC2.

При разбиении команд на 3 группы можно использовать 3 СТ и 3 DC тактов.

  1. Если УУ вырабатывает число тактов q<10, (для простых команд , например, в местных устройствах управления) то выгодней использовать вместо СТ и DC тактов кольцевой регистр (с бегущей «1») или применять стандартные различные линии задержки с отводами:

а)

б) Линии задержек формировать на логических элементах в RC-цепочках.

Схема дает задержку td=ln2RC=0.7 RC.

Выбор R и C: в схемах на МДП-элементах значение R можно брать большим, а С – малым, т.к. в МДП входные токи близки к «0», а в схемах ТТЛ наоборот

Обычно задержки на таких линиях не превышают единиц мс.

в) Другой тип линий задержек на RC-цепочках:

В исходном состоянии высокий уровень IN отпирает VT и на неинверсный вход ДУ (+) поступает низкий уровень напряжения, а на инверсный вход ДУ ( – ) – более высокое напряжение с делителя R2, Rуст.

При поступлении отрицательного перепада IN VT запирается и С заряжается через R1. При достижении напряжения на С до определенного уровня на входе ДУ – он срабатывает и выдает задержанный сигнал на выход.

Током Iуст можно менять уровень срабатывания ДУ, и тем самым менять значение задержки.

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

2.3. Виды управляющих сигналов УУ

В УУ могут использоваться сигналы как потенциальные (длительность = периоду), так и импульсные (длительность < периода).

Иногда по разным управляющим линиям требуются сигналы с разными длительностями, разными фазовыми и частотными соотношениями.

Например:

Формирование сигналов м.б. осуществлено разными способами,

Например:

Если схему F взять как:

1. F- повторитель со входом X1 – получается сигнал, задержанный на td

2. F – элемент дизъюнкции со входами X1 и X2 получим сигнал ((V) вых 1) с расширением на tg.

3. F – элемент конъюнкции ((.) вых 2) – суженный на tg.

4. F – как X1.X2 – получим сигнал длиной tg (стандартизованный).

Формирование сигнала длиной в несколько тактов:

2.4 Микропрограммные УУ

Если в аппаратном УУ управляющие сигналы генерируются в шифраторе с помощью дешифраторов тактов, команд и внешних входов, то в микропрограммном генерируются программой, подобной программе, написанной на машинном языке.

Введем несколько определений:

1. Управляющее слово (Control Word – CW) – это слово, биты которого представляют собой различные сигналы. Слово записывается в регистр микрокоманды RGMK в виде уникальной комбинации 1 и 0 в каждом такте работы УУ

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

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

Пример формирования микропрограммы команды Add (RG3), RG1 (см. выражение 1) (команда: сложить 2 операнда. 1-ый операнд находится в памяти по адресу, хранящемуся в RG3, а второй – в RG1. Результат поместить в RG3).Где: 1 – управляющий сигнал есть, 0 – отсутствует в строке таблицы, соответствующей одному шагу.

Рассмотрим структурную схему микропрограммного УУ.

При каждом поступлении в RG IR новой команды, Сх. Ф.Н.А. формирует начальный адрес команды для управляющей памяти, загружает его в CT микропрограмм, далее по этому адресу из памяти поступает в RG MK - управляющая последовательность. На его выходе появляются сигналы 1-й строки вышеприведенной таблицы. Далее под действием CLK происходит приращение на «1» в адресу до полного выполнения всей команды.

При возникновении сигналов в блоках внешних входов и кодов условий.

Сх.Ф.Н.А. формирует новый адрес, к которому надо перейти для выполнения команды перехода для выполнения условий этих блоков.

Выполнение команды ( переход если 1) BEQ <0

в процессоре с одношинной структурой.

В процессе вычислений приходит команда BEQ<0 (Branch if Egual to 1 – переход если 1) в RG IR. В самой команде содержится адрес в управляющей памяти УУ по которому находится соответствующая микропрограмма управления обработкой перехода.

Допустим это адрес будет 25.

Реализация команды BEQ:

Микрокоманда по адресу 25 проверяет разряд кодов условий. Если N=0, выполняется переход к шагу 1 для выборки новой команды, т.е. продолжается предыдущий процесс.

Если N = 1 то выполняется микрокоманда по адресу 26, которая помещает целевой адрес перехода в RG SM а микрокоманда по адресу 27 загружает этот адрес в CT:n, по которому вызывается программа обработки перехода.

В микропрограммном УУ на блок Сх.Ф.Н.А. возлагается функция формирования адреса перехода. После выборки каждой микрокоманды в CT происходит приращение его содержимого на 1, но возможны исключения:

1. Если в RG IR загружается новая команда, то в счетчик CT загружается начальный адрес ее микропрограммы.

2. Когда встречается команда BEQ и удовлетворяется условие перехода, то в CT загружается адрес перехода

3. В случае возникновения микрокоманды End в CT загружается адрес первого управляющего слова, то есть начала фазы выборки команды.

2.5 Организация микрокоманд в УУ

Существует несколько способов организации микрокоманд.

1. Горизонтальная организация микрокоманды: самый простой способ структурирования микрокоманды – это назначение каждому управляющему сигналу отдельного разряда в ячейке памяти и RG MK.

Из выражение 1 (см. Рис. 1.07) видно, что формат микрокоманды, например, шага 1 можно представить так:

Число разрядов m в RG Mk должно быть столько, сколько используется в ЭВМ управляющих сигналов, число которых даже в простой структуре процессора составляет десятки, в средней ЭВМ – сотни.

Следовательно управляющая память и RG Mk будут весьма громоздкими.

Поэтому такое микропрограммирование допустимо для числа сигналов =< 150.

Достоинства способа:

- простота формирования сигнала (прямо с выхода RG Mk можно использовать)

- возможность одновременного использования нескольких сигналов в одном такте, если в процессоре допустима || работа его устройств.

Недостаток: требуется большая разрядность памяти и RG Mk, которая кстати и используется неэффективно: в одном такте работает малая часть разрядов.