Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МПСиС / shpory_po_MPSiS

.pdf
Скачиваний:
66
Добавлен:
18.02.2017
Размер:
561.31 Кб
Скачать

Регистровое АЛУ однокристального типа. Состав и назначение сигналов управления элементами АЛУ однокристального типа. Организация аппаратной поддержки по формированию цепей по сдвигу и переносу для обеспечения наращивания разрядности обрабатываемых слов. Формирование набора операций, выполняемых АЛУ однокристального типа.

V0 ( V3 ) управляет режимом регистра А(C): 1 – запись, 0 - хранение. Пара (V1 , V2 ) : 0 0 – хранение;

0 1 – сдвиг вправо; 1 0 – сдвиг влево; 1 1 – запись. R /W : 1 – чтение, 0 – запись. А сигнал управляющий мультиплексором: 0 – БРОН, 1 – ВУ. P – управление записью в триггер T1 . L1 выбор либо P0 при 0, либо T1 при 1. При L2 выбирается, что будет записано в регистр T2 , 0 – старший разряд регистра B,1 - младший. С помощью L3 задается источник данных для регистра B при сдвиге, 0 выбирается IS, при 1 на вход регистра B подается содержимое регистра T2 . L4 управляет записью в регистр T2 .

S3S2 S1S0

M

P

P0 A

ADR

WR

V3V2V1V0

L4 L3 L2 L1

IS

1

X X X X X

0

X X X

1

0 0 1 0

1 1 1 X

X

 

X X X X X

0

X 0

A1

1

0 0 0 1

0 X X X X

 

X X X X X

0

X 0

A2

1

0 1 1 0

0 X X X

X

2

1 0 0 1

1

1

X X

A1

0

0 0 0 0

0 X X 0

X

X X X X X

0

X 0

A3

1

0 0 0 1

0 X X X X

 

 

X X X X X

0

X 0

A4

1

0 1 1 0

0 X X X

X

 

1 0 0 1

1

X X X

A2

0

0 0 0 0

0 X X 0

X

cдвиг влево содержимого РгB на один разряд с запоминанием результата сдвига и использование ранее заполненного разряда.

сложение двух операндов А и В, младшие части которых находятся в РОН с адресами А1 и А2, а старшая части по А3 и А4 соответственно. Результат поместить в А1 и А2

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

Устройство управления (УУ) - обеспечивает формирование

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

Основное требования к устройствам управления:

формировать полную совокупность управляющих сигналов Y

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

возможность произвольной выборки микрокоманд, в зависимости от управляющих кодов Q

возможность модификации последовательности микрокоманд в зависимости от внешних условий Q

Способы реализации УУ:

На жесткой логике

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

С микропрограммированием

Каждой операции ставиться в соответствие совокупность данных в управляющей памяти. Одно слово хранящиеся в этой памяти - микрокоманда (легкость модернизации системы путем перепрограммирования управляющей памяти, более низкое быстродействие по сравнению с устройствами на жесткой логике).

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

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

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

микрокоманды) частей.

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

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

При горизонтально-вертикальном программировании набор управляющих сигналов Y

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

Способы формирования адреса

принудительный

Вкаждой микрокоманде содержится адресная и микрооперационная часть, если микрокоманда не изменяет линейного порядка следования микрокоманд, то в адресном поле содержится один адрес, а в поле U ′ = 0 . Иначе, в поле U содержится код логического условия, а в адресной части два адреса.

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

Сигналы с выхода дешифратора маскируют набор внешних условий. На выходе данной схемы будет 1,

только если в позиции соответствующей коду условия была 1 и при этом, условие было выполнено. Т.о., с помощью мультиплексора в регистр A записываются A0 в случае линейного кода

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

естественный

При естественной адресации используются микрокоманды 2-х типов операционные и управляющие. Для их разделения в микрокоманды вводится поле Р. При Р=0 выполняется операционные, при Р=1 – управляющие. Адресного поля в регистре команд нет. Операционная часть не изменяют линейность хода микрокоманд. Адрес следующей микрокоманды формируется с.о.: адрес предыдущей + 1. Управляющие микрокоманды перегружают счетчик адреса микрокоманд, адресом микрокоманды, которой необходимо передать управление.

Система команд и способы адресации операндов. Конвейерный принцип выполнения команд.

Команда МП содержит два поля: код операции и код адреса (адреса операндов и адрес, по которому следует поместить результат).

Способы адресации:

Прямая

Операнд выбирают из ячейки памяти, адрес которой указан в команде.

Регистровая

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

Косвенно-регистровая

Операнд выбирают из ячейки памяти, адрес которой содержится в регистре, указанном в команде.

Косвенно-регистровая со смещением

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

Непосредственная

Операнд содержится непосредственно в поступившей команде.

Команды могут быть, как и безадресные, так и одно-, двух-, трехадресные.

Виды команд:

Пересылки: MOV

Арифметические: ADD, SUB, MUL, DIV

Логические: AND, OR, NOT, XOR

Сдвига: SHL – логический сдвиг влево, SHR, SAL – арифметический сдвиг влево, SAR

Сравнения: СМР вычитание двух указанных операндов, при этом результат не сохраняется, и операнды не изменяются, результатом операции является изменение

содержимого регистра состояний

Управления программой: CALL – вызов подпрограммы, JMP – переход по адресу, JNE – переход, если операнды не равны, флаг нулевого результата z=0

Управления процессором: HALT – приводит к остановке выполняемую программу, RST –

команда сброса

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

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

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

Пример разбиения команды на ступени.

выборка команды

дешифрация команды

формирование адреса операнда

получение операнда

выполнение операции

размещение результата

Состоянием ожидания - состояние, при котором ступени конвейера пропускают несколько тактов из-за того, что не готовы операнды.

Состоянием простоя - состояние, при котором конвейер пропускает один или несколько тактов потому, что данный этап конвейера не используется в данной команде.

Структурные конфликты и способы их минимизации. Конфликты по данным, остановы конвейера и реализация механизма обходов.

Существует 3 класса конфликтов:

Структурный - конфликт по ресурсам

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

По данным выполнение команды зависит от результата предыдущей

Возникает везде, где между командами возникает зависимость и эти команды находятся так близко друг к другу, что совмещение операций не возможно. Встречаются следующие типы: чтение после записи (RAW), запись после чтения (WAR), запись после записи (WAW). RAW можно разрешить следующим образом: выход АЛУ заводится на вход, минуя другие регистры памяти, т.о. результат операции уже на следующем такте может быть использован АЛУ. Данный принцип легко обобщить на всю систему, т.е. в структуру вводиться множество обходных путей.

∙ По управлению - возникают при выполнении команд условного перехода

Пример конфликта по данным, который нельзя решить оптимизацией: A=B+C

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

Хотя если бы была следующая последовательность операций: A=B+C; D=E-F, то

Формальная

Оптимизированная

последовательность

последовательность

MOV Rb, B

MOV Rb, B

MOV Rc, C

MOV Rc, C

ADD Ra, Rb, Rc

MOV Re, E

MOV A, Ra

ADD Ra, Rb, Rc

MOV Re, E

MOV Rf, F

MOV Rf, F

MOV A, Ra

SUB Rd, Re, Rf

SUB Rd, Re, Rf

MOV D, Rd

MOV D, Rd

Сокращение потерь на выполнение команд переходов и минимизация конфликтов по управлению

Конфликт по управлению является самым затратным видом конфликтов. Существует следующие

виды борьбы с конфликтами по управлению:

Статические

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

Динамические

Схемы прогнозирования реализуются аппаратно.

Метод ожидания (статический)

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

Метод возврата (статический)

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

Метод задержанных переходов (статический)

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

 

 

R1 R 2 R3

 

If

R2

= 0

then

 

Интервал задержки

Исходная программа

If

R2

= 0

then

 

 

 

R1 R 2 R3

Оптимизированная

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

Для реализации этого способа используется специальная память. Эффективность данного способа зависит от объема памяти. Вероятность предсказания может достигать 80%. Для повышения вероятности правильного предсказания используют алгоритмы, накапливающие и анализирующие статистику условного перехода по данному адресу, тогда вероятность правильного предсказания повышается до 90-95%.

Классификация систем памяти по скорости обмена с АЛУ. Принципы организации кэшпамяти

Сверх Оперативное ЗУ (СОЗУ) -

совокупность регистров общего назначения.

Внутренняя кеш-память представляет

собой статическое ОЗУ относительно небольшого объема, но на порядок большего, чем СОЗУ.

Внешняя кеш-память так же как и внутренняя является статической ОЗУ, но куда большего объем, чем внутренняя кеш- память и работает на частоте шины.

ОЗУ - бывает динамическая и статическая., имеет большой объем.

ПЗУ - используется для хранения констант и программ загрузки.

ВЗУ - реализуется внешними накопителями, со сменными или постоянными носителями памяти.

В основу работы кэш-памяти легли 2 принципа принцип временной локальности и принцип пространственной локальности.

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

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

Кеш с прямым отображением

Емкость ОЗУ разбиваем на 64К равных частей (по 64 Кб). Блок данных размером 4 байт записывается в одну 32-х разрядную строку кеша. Кеш отводит по одной строке под каждый из этих блоков. Сама кеш состоит из 2-х частей память данных и память признаков. В памяти признаков хранятся старшие 16 разрядов адреса. При считывании процессором данных из памяти происходит обращение к кеш и сравнение старших 16 разрядов с признаком, если эти величины совпадают, то в кеш находятся необходимые данные. Если нет, то происходит перезагрузка кеш (высокое быстродействие, нельзя записать в строку любой блок).

Полностью ассоциативная кеш

Вданном случае данные из любого блока ОЗУ могут быть помещены в любую строку кеш памяти. Недостаток: увеличивается время обработки запросов из-за необходимости многократного сравнения 30-х разрядных адресов и признаков.

Множественная ассоциативная кеш

Строки этой кеш объединяются в группы по 2, 4 и более строк.

При использовании кеш может нарушаться целостность данных, то есть содержимое кеш не будет соответствовать содержимому ОЗУ. Способы решения: одновременно записывать данные и в кеш и в ОЗУ, данные в ОЗУ записываются только если содержимое кеш изменилось.

Типовые структуры и принципы функционирования микропроцессорных систем

Магистрально-модульная

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

Магистрально-каскадная

Контроллер шины - расширяет адресное

пространство и позволяет подключить дополнительные устройства к системе.

Магистрально-радиальная

Магистраль состоит из нескольких шин шина данных (DB), шины адреса (AB) и шины управления (CB). В некоторых системах для

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

разделение фазы адреса и фазы данных производиться сигналом ALE (Adress latch enable)

Основные режимы функционирования микропроцессорной системы. Выполнение основной программы, вызов подпрограмм

ПА - периферийный адаптер, КВВ контроллер ввода/вывод, КПДП контроллер прямого доступа к памяти, КП контроллер прерываний.

Выполнение основной программы

Процессор выбирает из ОЗУ очередную команду, которая состоит из двух полей, кода операции и кода адресации. Для хранения адреса очередной команды используется регистр - программный счетчик. При выборке команды его содержание увеличивается на единицу. При выполнении

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

Вызов подпрограммы

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

Существует два варианта реализации стека:

на основе сдвигового регистра

Реализуется на основе реверсивных сдвиговых регистров. При каждом вызове команды CALL происходит сдвиг всех ячеек на одну позицию вниз. При вызове команды RETURN направление сдвига меняется, а из верхней ячейки считывается значение глубины сдвигового регистра. Такая реализация стека применяется в системах, где не потребляется более десятка вложений.

на основе ОЗУ

ВОЗУ выделяется область памяти. Адресация к ячейкам стека осуществляется с помощью регистра SP. При каждом вызове команды CALL в стек записывается очередное значение, а SP увеличивается на единицу. При RETURN производятся симметричные действия.

Соседние файлы в папке МПСиС