Скачиваний:
63
Добавлен:
03.06.2014
Размер:
332.22 Кб
Скачать

Внутренняя организация

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

Рис.7

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

Структурно-функциональная схема процессора

Рис.8

На рис.8 представлена структурно-функциональная схема разрабатываемого процессора. Связи между отдельными блоками на рисунке показаны линиями. Для управляющих каналов разрядность зависит от конкретной схемотехнической реализации, поэтому в данном примере не учитывается.

Команды и данные поступают с шины АД в буферное устройство работы с шиной АД. Оттуда они поступают на устройство предвыборки команд, в котором есть очередь, где они и накапливаются. В нужные моменты времени, по команде из регистра PC, команда отправляется из устройства предвыборки команд в дешифратор команд, где команда дешифрируется. После дешифратора, результаты дешифрации устройством предварительного разбора данных отправляются в необходимые регистры и команда отправляется в устройство управления.

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

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

Основные алгоритмы функционирования

Общий алгоритм работы процессора представлен на рис.9.

Рис.9

Чтение команды из ОЗУ

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

Декодирование команды

Начинается командный цикл – период выполнения команды. Команда из блока предварительной выборки помещается в регистр команд. Инкрементируется PC. Осуществляется дешифрация команды. В зависимости от кода операции, определяется тип команды и перечень необходимых действий. Устройство управления формирует необходимые машинные циклы, обеспечивающие исполнение текущей команды. Командный цикл завершается после выполнения всех машинных циклов, инициализируемых блоком управления.

Обработка регистровой команды (RG-RG)

Выборка операндов. В зависимости от значений адресных полей регистра команд срабатывает та или иная комбинация MUX/DMUX, подключаются нужные регистры. Команды пересылки. Данные передаются от источника к приемнику через внутреннюю шину. Арифметико-логические операции. Тип данных и тип устройства определяется полем DF формата команды. Операнды подаются на входы АЛУ. Управляющий сигнал для АЛУ в зависимости от содержимого регистра команд указывает АЛУ тип данных и их разрядность. Устройство управления дает разрешение на «захват» операндов, которые передаются напрямую в АЛУ без использования внутренней шины. Производится формирования результата соответствующей операции: арифметической, логической, пересылки, перехода, занесения константы. Результат заносится в регистр по указанному адресу через внутреннюю шину данных.

Обработка команды типа регистр – память (RG-ОЗУ)

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

Обработка условного ввода / вывода (В/В)

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

Обработка безусловных переходов (Б/П)

Формирование адреса операнда производится в зависимости от типа адресации. Реализуется безусловный переход – счетчику команд присваивается значение сформированного адреса. Новый командный цикл изменит последовательный ход программы.

Обработка условных переходов (У/П)

Формирование адреса операнда производится в зависимости от типа адресации. В зависимости от кода операции, признак нулевого результата проверяется на соответствие с нулем или единицей. Если проверка показала совпадение, реализуется переход – счетчику команд присваивается значение сформированного адреса. Новый командный цикл изменит последовательный ход программы.

Обработка прерываний

Контроллер прерывания устанавливает линию прерывания INT на системной шине. Когда центральный процессор готов к обработке прерывания он устанавливает символ подтверждения прерывания на шине INTA для внешнего устройства. Считывается вектор прерывания по соответствующему адресу таблицы прерываний. Центральный процессор удаляет вектор прерывания с шины. Центральный процессор помещает в стек счетчик команд, значения системных регистров, необходимую служебную информацию. Определяется местонахождение нового счетчика команд, используя вектор прерывания в качестве индекса в таблице памяти. Новый счетчик команд указывает на начало программы обслуживания прерываний для устройства, вызвавшего прерывание. После обработки прерывания восстанавливаются все сохраненные регистры. Центральный процессор возвращается в то состояние, в котором он находился до прерывания. После этого процессор продолжает работу с того места, в котором он остановился.