Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

ПРИНЦИПЫ-ОРГАНИЗАЦИИ ПРОЦЕССОРОВ



4.1 Обобщенные структуры процессоров с непосредственными и магистральными связями

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

- организация обращений в ОП;

- дешифрация и выполнение команд;

- инициация работы периферийных устройств;

- обработка запросов прерываний, поступающих из устройств машины.

Обобщенная структура процессора с непосредственными (локальными) связями между его блоками приведена на рисунке 4.1.1.

 

 


Рисунок 4.1.1 – Структура процессора с непосредственными связями

Структура процессора с магистральными связями между его блоками приведена на рисунке 4.1.2. Используется в большинстве современных МП.

 

 


Рисунок 4.1.2 – Структура процессора с магистральными связями

 

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

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

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

Блок связи с ОП и ПУ организует обмен с ОП и ПУ и обеспечивает защиту участков ОП от несанкционированного доступа .

Часто в состав процессора вводят блок контроля и диагностики, который служит для обнаружения и отказов аппаратуры процессора.

 

4.2 Декомпозиция процессора на УА и ОУ

При разделении процессора на управляющий автомат УА(УУ) и операционное устройство ОУ(АЛУ), его можно представить в следующем виде.(см. рисунок 4.2)

 
 

 

Рисунок 4.2 – Структура процессора при декомпозиции его на УА и ОУ

На приведенном рисунке Y={y1,y2… yn}-множество функциональных сигналов, управляющих ходом выполнения операций. Каждый функциональный сигнал соответствует выполняемой микрооперации на некотором такте работы ЭВМ. U={u1, u2… un}- сигналы, оповещающие о ходе выполнения операции.

Управляющее устройство представляет собой УА, который может быть задан как автомат Мура или Мили.

 

4.3 Классификация УУ

Существуют два основных типа УУ:

- с жесткой или схемной логикой (аппаратные);

- с хранимой в памяти логикой (микропрограммного управления).

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

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

 

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

4.4.1 Принцип микропрограммного управления Уилкса

Идея микропрограммного управления была высказана Уилксом в 1951 г. Она заключается в том, что управляющие сигналы “прошиваются” в памяти (ПЗУ, ППЗУ). Схема блока микропрограммного управления БМУ Уилкса следующая (смотри рисунок):

 


Рисунок 4.4.1 – Упрощенная структура блока микропрограммного управления

 

 

Схема содержит две матрицы C и S, Матрица C – управляющая, вырабатывает управляющие сигналы. Матрица S определяет последовательность выборки микрокоманд. Точками указаны места прошивки ПЗУ. Функционирует схема следующим образом.

В момент действия синхросигнала, выдаваемого генератором тактовых импульсов ГТИ, дешифратор (Дш) выбирает одну из l вертикальных линий. Возбуждение передается на те горизонтальные линии, которые соединены (электрически) с данной вертикальной прошивкой. Выработанные управляющие сигналы по шине Y={y1, y2…ym} поступают в АЛУ и регистры процессора, а по шине R={r0,r1…rl} передается адрес следующей микрокоманды в регистр адреса микрокоманды РАМК.

Микропрограммный способ управления удобен при разработке или дополнении любого набора команд, что достигается заменой одной “прошивки” ПЗУ на другое.

4.4.2 Структура блока микропрограммного управления

Структура блока микропрограммного управления (БМУ) приведена на рисунке 4.4.2.

 


Рисунок 4.4.2 – Структура БМУ

 

В состав БМУ входят память микрокоманд (ПМК), регистр адреса микрокоманд (РАМК), регистр микрокоманд (РМК), дешифратор микроопераций (ДшМО), генератор тактовых сигналов (ГТС).

Код операции (КОП) поступает из ОП системы на регистр кода операции (РКОП), который задает начальный адрес микропрограммы. Адрес микропрограммы формируется устройством формирования адреса МК (УФАМК) и хранится в РАМК. По этому адресу из памяти микрокоманд (ПМК) БМУ считывается микрокоманда и фиксируется в регистре МК (РМК).

Микрокоманда содержит два основных поля:

 

Код микрооперации (КМО). Адрес следующей МК (АСМК)

 

КМО дешифрируется и преобразуется в набор управляющих сигналов y1…ym, управляющих функционированием процессора. Адрес следующей микрокоманды поступает в УФАМК, в ркезультате чего производится выборка следующей МК.

Рассмотренный БМУ использует принудительную адресацию МК. БМУ такого типа используются чаще всего. Кроме них используются и БМУ с естественной адресацией, в которых для задания адресов МК используется счетчик микрокоманд Сч МК.

 

4.5 Развернутая структура процессора и его функционирование

4.5.1 Обобщенная структура процессора с микропрограммным управлением

В состав процессора (см. рисунок 4.5.1) входят блоки АЛУ, РОН, УУ, интерфейсы памяти и УВВ. Данные из памяти и ПУ последовательно передаются через двунаправленную магистраль данных, БРД и внутреннюю магистраль данных на входы АЛУ или РОН. Команды поступают в РК по той же магистрали.

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

Результаты выполнения команд с выхода сумматора ( ) поступают в магистраль данных, с которой они могут быть пересланы в ОП или любой регистр (А или РОН).

После завершения процесса исполнения текущей команды, содержимое СчК модифицируется и производится выборка следующей команды.

В качестве внешних управляющих сигналов используются выходные сигналы чтения (Чт) и записи (Зп) для управления памятью (формируются при выполнении команд обращения к памяти), сигналы ввода (Вв) и вывода (Выв) (формируются при выполнении команд обращения к УВВ); входной сигнал запрос прерывания ЗПр, обеспечивающий прерывание выполнения основной программы и переход к выполнению подпрограммы, соответствующей внешнему запросу. Часто в процессорах формируют сигналы внутренних прерываний (например, при попытке деления на нуль или при недопустимых переполнениях).

Указатель стека УС предназначен для адресации стековой памяти, которая чаще всего реализуется в некоторой области оперативной памяти. Эта область определяется либо операционной системой, либо программистом путем загрузки начального адреса области стека в УС.

 

4.5.2 Рабочий цикл процессора

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

Предположим, что процессор может выполнять четыре типа команд:

- основные (арифметические, логические, пересылочные операции);

- передачи управления;

- ввода-вывода;

- системные (установка маски прерываний, состояния процессора и др.).

Рассмотрим рабочий цикл, выполняемый покомандно (существуют и рабочие циклы, выполняемые по машинным циклам).

Рабочий цикл начинается (см. рисунок 4.5.2) с определения состояния процессора - счет или ожидание . Из состояния ожидания процессор может выйти только по сигналу ЗПр (или “Запрос захвата шины” для некоторых процессоров). Процессор в этом состоянии никаких действий не выполняет.

В состоянии “Счет” (счет- последовательная выборка и выполнение команд), если поступил запрос прерывания, процессор сбрасывает триггер прерывания ТгПр и переходит к выполнения подпрограммы обработки прерывания путем передачи адреса подпрограммы в СчК. Если сигнал ЗПр отсутствует, последовательно выполняются следующие этапы рабочего цикла выполнения основной команды: формирование исполнительных адресов операндов, выборка операндов, выполнение операций и запоминание результата. После этого процессор переходит к выборке следующей команды и цикл повторяется.

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

При выполнении команд передачи управления проверяется условие перехода по вышеуказанным признакам для команд условных переходов. Если условие не выполняется, то выбирается следующая по порядку команда по подвинутому адресу, хранящемуся в СчК. Если условие выполняется, то в СчК заносится адрес перехода.

 


 
 


Рисунок 4.5.2 – Рабочий цикл процессора

 

Команда вызова подпрограмм и переход к подпрограмме выполняется так же, как и команда перехода, но при этом дополнительно запоминается состояние процессора.

Системные команды производят переключение состояния процессора (программы).

Команды ввода-вывода инициируют обращение процессора к УВВ (ПУ).

 

4.5.3 Понятие о слове состояния процессора

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

Содержимое регистров, обеспечивающих восстановление состояния вычислительного процесса, составляет слово состояния программы или процессора ССП (PSW- Program status word).

Чаще всего в информацию о состоянии процессора включают содержимое счетчика команд, содержимое регистра признаков и аккумулятора.

 

Рисунок 4.5.3 – Структура ССП

 

Слово состояния обычно сохраняют в специально отведенной области памяти ЭВМ или стековой памяти. Сохранение производится автоматически (т.е. аппаратно) в начале обслуживания запроса на прерывание программы. Другие регистры процессора могут быть сохранены и восстановлены программным путем.

 

4.5.4 Процедура выполнения команд перехода (условного и безусловного)

При естественной адресации адрес следующей команды получается из адреса выполняемой команды увеличением его на 1, 2, 3 и т.д. (в зависимости от количества байт в команде), т. к. команды располагаются в смежных ячейках памяти. Для этого содержимое СчК автоматически модифицируется после выполнения текущей команды.

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

 
 

 

Рисунок 4.5.4 – Формат команд условного и безусловного переходов

 

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

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

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

 

4.5.5 Процедура выполнения команд вызова подпрограмм

Другим типом команд передачи управления являются команды вызова подпрограмм. Их особенность заключается в том, что по окончанию выполнения подпрограммы они должны обеспечить возврат к выполнению программы, из которой подпрограмма была вызвана. Для этого адрес возврата должен быть запомнен, для чего в СчК формируется продвинутый адрес, который затем сохраняется в памяти (или в стеке). Для перехода к выполнению подпрограммы в СчК заносится адресная часть команды ее вызова. По окончанию выполнения подпрограммы адрес следующей команды основной программы, ранее сохраненный в стеке, вызывается из него, заносится в СчК и выполнение программы продолжается. Для организации возврата в основную программу подпрограмма должна оканчиваться командой “Возврат” (“RETURN”). Кроме нее существует также и команда “Условного возврата”.

Формат команды “Перехода к подпрограмме” приведен на рисунке 4.5.5.1.

 

 
 

Рисунок 4.5.5.1 – Формат команды “Перехода к подпрограмме”

Процесс выполнения команд “Вызов подпрограмм” проиллюстрирован на рисунке 4.5.5.2. Короткий отрезок прямой на этом рисунке соответствует одной команде, длинный- переходу к выполнению подпрограммы или возврату из нее.

 

 

Рисунок 4.5.5.2 – Процесс выполнения команды “Вызов подпрограммы”

4.6 Контрольные вопросы

Перечислите функции процессора.

Каковы функции РК и СчК в процессоре?

Назначение АЛУ процессора?

Что дает введение в состав АЛУ РОНов?

Назначение УУ процессора?

Основное отличие между аппаратными и микропрограммными УУ?

Назначение РАМК УУ?

Перечислите основные узлы блока микропрограммного управления.

Опишите последовательность выполнения команды пересылки данных между РОН, используя структуру процессора с микропрограммным управлением.

Что такое ССП (PSW)?

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

Опишите процедуру выполнения команды вызова подпрограммы.

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

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.