- •Содержание
- •Задание
- •Разработка архитектуры внешних выводов
- •Выбор форматов данных
- •Определение модели памяти и структуры регистровой памяти
- •Выбор форматов команд
- •Разработка системы команд
- •Внутренняя организация
- •Структурно-функциональная схема процессора
- •Основные алгоритмы функционирования
- •Алгоритмы выполнения отдельных операций
- •Разработка алгоритмов выполнения основных операций на шине
- •Список использованной литературы
Внутренняя организация
В процессоре реализуется конвейерный принцип обработки информации. Используется двухступенчатый конвейер.
Рис.7
Для двухступенчатого конвейера (рис.7) выделяются фаза выборки команды и фаза выполнения команды. Параллельно и асинхронно могут работать два процессора: процессор памяти и исполнительный процессора. Процессор памяти обеспечивает работу с памятью команд и памятью данных, а также с кэш-памятью. На исполнительный процессор возлагаются функции, связанные с дешифрацией и выполнением команд.
Структурно-функциональная схема процессора
Рис.8
На рис.8 представлена структурно-функциональная схема разрабатываемого процессора. Связи между отдельными блоками на рисунке показаны линиями. Для управляющих каналов разрядность зависит от конкретной схемотехнической реализации, поэтому в данном примере не учитывается.
Команды и данные поступают с шины АД в буферное устройство работы с шиной АД. Оттуда они поступают на устройство предвыборки команд, в котором есть очередь, где они и накапливаются. В нужные моменты времени, по команде из регистра PC, команда отправляется из устройства предвыборки команд в дешифратор команд, где команда дешифрируется. После дешифратора, результаты дешифрации устройством предварительного разбора данных отправляются в необходимые регистры и команда отправляется в устройство управления.
Далее, устройство управления формирует необходимые управляющие сигналы по записи, загрузки, обработке данных как самим устройством, так и соединенными устройствами.
Затем устройство управления проверят наличие сигналов прерывания, при наличие таких выполняет необходимые действия, а за отсутствием таковых, увеличивает или изменяет PCи передает управление устройству подготовки вывода на шину АД. Параллельно этому происходит забор новой команды или обработка прерывания. После подготовки, необходимые адрес и данные выдаются на устройство работы с шиной АД, откуда адрес и данные попадают на шину АД.
Основные алгоритмы функционирования
Общий алгоритм работы процессора представлен на рис.9.
Рис.9
Чтение команды из ОЗУ
Текущее значение счетчика команд устанавливается в качестве адреса на системной шине. Осуществляется цикл чтения текущей команды. Команда помещается в регистр блока предварительной выборки команд и дожидается своей очереди на выполнение. Выполнение текущей команды производится одновременно с процессом выборки последующей.
Декодирование команды
Начинается командный цикл – период выполнения команды. Команда из блока предварительной выборки помещается в регистр команд. Инкрементируется PC. Осуществляется дешифрация команды. В зависимости от кода операции, определяется тип команды и перечень необходимых действий. Устройство управления формирует необходимые машинные циклы, обеспечивающие исполнение текущей команды. Командный цикл завершается после выполнения всех машинных циклов, инициализируемых блоком управления.
Обработка регистровой команды (RG-RG)
Выборка операндов. В зависимости от значений адресных полей регистра команд срабатывает та или иная комбинация MUX/DMUX, подключаются нужные регистры. Команды пересылки. Данные передаются от источника к приемнику через внутреннюю шину. Арифметико-логические операции. Тип данных и тип устройства определяется полем DF формата команды. Операнды подаются на входы АЛУ. Управляющий сигнал для АЛУ в зависимости от содержимого регистра команд указывает АЛУ тип данных и их разрядность. Устройство управления дает разрешение на «захват» операндов, которые передаются напрямую в АЛУ без использования внутренней шины. Производится формирования результата соответствующей операции: арифметической, логической, пересылки, перехода, занесения константы. Результат заносится в регистр по указанному адресу через внутреннюю шину данных.
Обработка команды типа регистр – память (RG-ОЗУ)
Формирование адреса операнда производится в зависимости от типа адресации. Если осуществляется чтение из памяти, то на шине данных выставляется значение соответствующей ячейки памяти. Устройство управления устанавливает направление передачи, осуществляет коммутацию внутренней и системных шин. А затем данные с шины записываются в указанный регистр центрального процессора. Если осуществляется запись в памяти, то на шине данных выставляется значение соответствующего регистра центрального процессора. Устройство управления задает направление передачи, осуществляет коммутацию внутренней и системных шин. А затем данные с шины из указанного регистра центрального процессора записываются нужную ячейку памяти.
Обработка условного ввода / вывода (В/В)
Формирование адреса операнда производится в зависимости от типа адресации. Если осуществляется чтение из устройства, то на шине данных выставляется адрес внешнего устройства, считывается состояние устройства и проверяется его готовность к передаче информации. При подтверждении готовности ВУ к передаче данных, осуществляется их выдача на системную шину. А затем данные с шины записываются в указанный регистр центрального процессора. По окончании строба чтения сигнал готовности снимается. Если осуществляется запись в устройство, то на шине данных выставляется адрес внешнего устройства, считывается состояние устройства и проверяется его готовность к передаче информации. При подтверждении готовности ВУ к приему данных, осуществляется их выдача на системную шину из указанного регистра центрального процессора. По окончании строба записи сигнал готовности снимается.
Обработка безусловных переходов (Б/П)
Формирование адреса операнда производится в зависимости от типа адресации. Реализуется безусловный переход – счетчику команд присваивается значение сформированного адреса. Новый командный цикл изменит последовательный ход программы.
Обработка условных переходов (У/П)
Формирование адреса операнда производится в зависимости от типа адресации. В зависимости от кода операции, признак нулевого результата проверяется на соответствие с нулем или единицей. Если проверка показала совпадение, реализуется переход – счетчику команд присваивается значение сформированного адреса. Новый командный цикл изменит последовательный ход программы.
Обработка прерываний
Контроллер прерывания устанавливает линию прерывания INT на системной шине. Когда центральный процессор готов к обработке прерывания он устанавливает символ подтверждения прерывания на шине INTA для внешнего устройства. Считывается вектор прерывания по соответствующему адресу таблицы прерываний. Центральный процессор удаляет вектор прерывания с шины. Центральный процессор помещает в стек счетчик команд, значения системных регистров, необходимую служебную информацию. Определяется местонахождение нового счетчика команд, используя вектор прерывания в качестве индекса в таблице памяти. Новый счетчик команд указывает на начало программы обслуживания прерываний для устройства, вызвавшего прерывание. После обработки прерывания восстанавливаются все сохраненные регистры. Центральный процессор возвращается в то состояние, в котором он находился до прерывания. После этого процессор продолжает работу с того места, в котором он остановился.