АВМ. 1. Вычислительный процесс в эвм 4 Команды эвм 6
Скачать 1.54 Mb.
|
Устройство управления ЦП Задача устройства управления – обеспечить выдачу управляющего слова ЦП. Иначе он называется микрокод, который управляет работой аппаратуры ЦП. Обычно он записывается в постоянное запоминающее устройство (ПЗУ) центрального процессора (прошивается). Что должно делать УУ? У нас есть исполняемый код программы. Дальше в ходе выполнения исполняемого кода на ВМ им занимается операционная система – программа, которая выдаёт команды для УУ ЦП. Рис. 2.5. Алгоритм управления в ВМ Последовательность работы устройства управления задается циклами. Для начала рассмотрим цикл выборки команды. Ведь прежде чем выполнить команду, надо выбрать её из памяти ВМ. Рис. 2.6. Цикл выборки команды Для выборки команды из памяти ВМ надо, во-первых, поместить адрес команды из регистра адреса команды в регистр адреса памяти, во-вторых, прочитать команду из ячейки памяти в регистр данных памяти, в-третьих. Переслать команду в регистр команды, в-четвертых, подготовить счетчик команд для выборки следующей команды – инкрементировать PC. То есть, последовательно надо выполнить 4 действия, обозначенные на рис. 2.6 t0, t1, t2, t3. Следовательно, цикл выборки команды осуществляется за 4 такта. Само выполнение команды происходит следующим образом: Рис. 2.7. Цикл выполнения команды Рассмотрим цикл выполнения команды на примере операции сложения. Нулевой такт – пересылка адреса операнда из регистра команды в регистр адреса памяти. Первый такт – выборка из памяти операнда и размещение его в регистре данных памяти. Второй такт – собственно выполнение сложения в АЛУ с размещением результата в аккумуляторе. Здесь мы рассматриваем выполнение команды с прямой адресацией, когда в адресном поле команды находится адрес операнда. Машину Фон Неймана стали совершенствовать, поскольку для выполнения некоторых команд более удобными являются другие методы адресации операндов. Всего способов адресации насчитывается около 20. Из них в каждой конкретной ВМ используется только часть, по выбору конструкторов ВМ и в соответствии с назначением ВМ (ориентированием ВМ на обработку определённых видов информации). Допустим, что у нас в памяти содержится такая информация:
Рассмотрим выполнение команды LDA (загрузку аккумулятора) с помощью различных методов адресации. Прямая адресация: LDA 30 /загрузить в аккумулятор слово из ячейки с адресом 30. В результате выполнения команды АC ← 40. Непосредственная адресация: LDA # 30. /загрузить в аккумулятор слово «30». В результате выполнения команды АC ← 30. То есть в команде содержится сам операнд, и загрузка его из памяти не требуется. Косвенная адресация: LDA @ 30. /загрузить в аккумулятор слово из ячейки, адрес которой находится в ячейке 30. В результате выполнения команды АC ← 50. То есть в команде содержится не адрес операнда, а адрес адреса операнда. Соответственно, для подготовки операции требуется двойное обращение к памяти. Существуют и другие способы адресации, которые здесь мы не будем рассматривать. В общем случае для указания способа адресации в команде выделяется отдельное поле, содержащее необходимое количество разрядов. Для декодирования способа адресации при этом необходим ещё один цикл – цикл дешифрации команды. Таким образом, мы получили наличие в УУ ЦП следующих циклов: Цикл выборки команды – С0; Цикл дешифрации команды – С1; Цикл выполнения команды – С2; Цикл обработки прерывания – С3. Рис. 2.8. Алгоритм работы устройства управления ЦП ВМ Последний цикл необходим для обработки требований прерывания, вырабатываемых внешними устройствами ВМ (например, клавиатурой, устройством ввода/вывода и т.д.) или при появлении нештатных ситуаций при выполнении команд (деление на ноль, переполнение разрядов и др.). Как происходит цикл обработки прерывания мы рассмотрим позднее – при изучении операционных систем. На основании изложенного алгоритм работы УУ ЦП имеет вид, представленный на рис. 2.8. Как видите, ВМ реагирует на прерывание только после окончания выполнения очередной команды программы. В противном случае очень трудно запомнить текущее состояние ЦП для возврата в программу после обработки прерывания. Структурная схема УУ ЦП Структурная схема УУ ЦП изображена на рис. 2.9. В основе УУ имеется ПЗУ; сигналы, вырабатываемые на его выходе, управляют работой ВМ. Генератор ВМ вырабатывает тактовую частоту. Сигнал SE представляет собой сигнал разрешения работы и останов. При SE=0 сигналы генератора ВМ не проходят через схему совпадения, и схема управления не работает – останов. При SE=1 сигналы генератора ВМ проходят через схему совпадения и поступают на вход двухразрядного счетчика, соединённого по выходу с дешифратором тактов. Логика работы последнего приведена на рис. 2.10. Рис. 2.9. Структурная схема УУ ЦП
Рис. 2.10. Временная диаграмма работы DS тактов В ВМ такты не пересекаются по времени. DS циклов работает по выходам двух триггеров F и R. В зависимости от состояния этих триггеров формируется сигнал на соответствующем его выходе.
DS команды работает по состоянию разрядов регистра команд, соответствующих полю кода операции. В нашем случае код имеет 4 разряда, что соответствует 16 выходам дешифратора команд. Выходы всех трех дешифраторов составляют адрес ПЗУ, в котором записана (прошита) информация соответствующая содержимому управляющего слова процессора данного такта данного цикла данной команды. Такова в общем виде структура УУ ЦП. Таблица команд учебной ВМ представлена в табл.2.1. Обычно ВМ содержит команды различной длины – безадресные, одноадресные, двухадресные и др. В нашей учебной ВМ мы рассматриваем все команды единой длины равной 16 двоичным разрядам. Поэтому безадресные команды (с номерами от 12 до 15) содержат фиктивный адрес, равный FFF. Рассмотрим для примера команду сложения ADD. Для неё в поле кода операции будет иметься значение 2 16-ричного кода. В адресном поле находится 12-разрядный адрес AD. Напишем микрокоманды циклов выборки и выполнения команды. F=0, R=0, С0=1 С0t0 : MAR← PC / подготовить выборку команды из памяти. С0t1 : MDR← M[MAR] / прочесть команду из памяти по адресу MAR. С0t2 : IR← MDR / поместить команду в регистр команды. С0t3 : PC← PC +1, F← 1/ подготовить адрес след. команды, перейти к циклу выполнения команды. F=1, R=0, С2=1 С2t0 : MAR← IR[AD] / передать адрес операнда в регистр адреса памяти MAR. С2t1 : MDR← M[MAR] / прочесть операнд из памяти по адресу MAR. С2t2 : AC← AC+MDR / выполнить сложение. С2t3 : F← 0/ перейти к циклу выборки команды. Так выполняются микрокоманды ВМ в циклах выборки и выполнения команды сложения. Аналогичным образом можно описать порядок выполнения любой команды из перечня команд ВМ. ВМ фон Неймана первоначально была рассчитана, как и наша учебная ВМ, только для одного типа адресации – прямой адресации. Для других типов адресации, что задаётся обычно в специальном поле команды, требуется наличие цикла дешифрации команды и осуществление выборки операндов соответствующим образом. Мы цикл дешифрации команды не рассматриваем, поскольку считаем, что используется только прямая адресация операндов. Следующая контрольная работа состоит в том, чтобы вы научились строить команды из микрокоманд подобно рассмотренному примеру. Объем работы в контрольной работе велик. Для оформления работы надо использовать по крайней мере один лист формата А4. Рассмотрим типовую задачу и приведём пример её решения. Задача. По адресу 5А8 записана команда сложения ADD с адресом F12. По этому адресу записан операнд 731F. В регистре АС находится операнд 8721. Определить информацию, которая будет иметься в регистрах ВМ PC, MAR, MDR, IR, AC после выполнения данной команды. Решение. Определяем исходное состояние регистров. Выписываем микрокоманды циклов выборки команды и выполнения команды. Рассчитываем управляющие слова ВМ для каждой микрокоманды. Определяем значения регистров после выполнения каждой микрокоманды. Результаты оформляем в виде табл.2.2. Таблица 2.2.
Таким образом, мы рассмотрели архитектуру устройства управления и операционного устройства учебной ВМ и принципы ее работы. В результате мы получили следующую структурную схему ВМ: Рис. 2.11. Структурная схема ЦП. Как видно из схемы, ПЗУ может работать и без дешифраторов на входе, то есть к адресным входам ПЗУ подключены непосредственно выходы счетчика тактов, выходы регистров F, R и выходы поля кода операции регистра команды IR. Благодаря этому адрес ПЗУ состоит из 8 разрядов, и ёмкость ПЗУ существенно уменьшается без потери функциональности. На выходе ПЗУ имеется управляющее слово ЦП, состоящее из 18 разрядов. Это слово поступает на соответствующие управляющие входы устройств операционного устройства ВМ. На схеме отдельно выделены регистры ввода-вывода, предназначенные для связи ВМ с внешним миром, а также показан регистр команды IR, который входит одновременно в состав УУ и ОУ ЦП ВМ. |