
- •1. История развития архитектуры эвм
- •Нулевое поколение (1492 – 1945)
- •Первое поколение (1937-1953)
- •Второе поколение (1954 - 1962)
- •Третье поколение (1963-1972)
- •Четвертое поколение (1972-1984)
- •Пятое поколение (1984-1990)
- •Шестое поколение (1990-)
- •2.Процессор. Структурная схема процессора.Понятие о микропрограммном управлении.
- •Алгоритмы выполнения микроопераций.Микропрограммы.
- •Обратная структурная таблица
- •Управляющие автоматы с программируемой логикой.
- •1.Конвейеризация (конвейер операций).
- •2. Процессоры с risc – архитектурой.
- •3. Организация кэш-памяти.
- •3.1. Техническая идея кэш-памяти.
- •3.2. Архитектура кэш-памяти.
- •3.2.1. Кэш память с прямым отображением.
- •3.2.2. Полностью ассоциативная кэш память.
- •3.2.3. Частично ассоциативная кэш память.
- •3.3 Алгоритм замещения строк в кэш памяти.
- •3.4 Методы записи в кэш память.
- •Размещение байт и слов в памяти.
- •1. Концепции и компоненты защищенного режима.
- •2. Информационная основа работы механизма защиты.
- •3. Уровни привилегий
- •4.3 Защита программ.
- •Системы ввода/вывода
- •Адресное пространство системы ввода/вывода
- •Внешние устройства
- •Модули ввода/вывода
- •Методы управления вводом/выводом
Алгоритмы выполнения микроопераций.Микропрограммы.
Основное
назначение процессора – выполнение
различных арифметических и логических
операций. В качестве примера рассмотрим
алгоритм выполнения операции сложения
и вычитания чисел с фиксированной точкой
в прямых кодах:
Сравнить знаки слагаемых А и В. Если знаки различны, то вместо сложения выполнить операцию вычитания, а вместо вычитания – сложение. Если знаки одинаковые, то сложение остается сложением, а вычитание – вычитанием.
Если по результатам пункта 1 должно выполняться вычитание, то обратить код второго слагаемого В (т е получить обратный код от В)
Выполнить суммирование основных разрядов слагаемых А и В без учета их знаков. Если идет вычитание, то при выполнении суммирования подать единицу на вход переноса младшего разряда сумматора, а полученному результату приписать знак первого слагаемого А.
Если идет вычитание, и в пункте 3 не был получен перенос из самого старшего разряда сумматора, то обратить код и знак результата (0 поменять на 1, а 1 – на 0)
Если выполнялся пункт 4, то вслед за этим пунктом добавить к полученному результату единицу младшего разряда.
Рассмотрим пример на выполнении операции вычитания (S=A-B):
А=0.111011
В=0.001101
S=A-B=A+(-B)
В соответствии с алгоритмом необходимо обратить код второго слагаемого В
[B]обр=0.110010
+
[B]обр=0.110010 -B=0.001101
P1=1 0.101101 0.101110
+ 1
S=0.101110
Здесь Р1 – перенос из старшего разряда сумматора.
В соответствии с алгоритмом построим схему АЛУ и управляющего блока, а также микропрограмму для выполнения операции сложения-вычитания чисел в прямых кодах.
Список микроопераций:
(слагаемое
А, поступающее по шине Х)
(суммирование
без учета знака)
(в
регистр А записывается сумма, а перенос
Р1 – в 1й разряд)
сигнал
переполнения разрядной сетки
В состав схемы входят:
1. восьмиразрядный комбинационный сумматор SM(1:8)
2. десятиразрядный регистр сумматора RGA(0:9)
3. девятиразрядный регистр второго слагаемого RGB(0:8)
4. Устройство управления (УУ), построенное в виде микропрограммного автомата Мили.
Комбинационный
сумматор SM
формирует восьмиразрядную сумму S,
которая по сигналу Y5
поступает в регистр RGA.
В дополнительном первом разряде регистра
RGA(1)
по тому же сигналу Y5
фиксируется значение сигнала переноса
Р1. Нулевые разряды обоих регистров
используются в качестве знаковых
разрядов: при RGA(0)=0
число в регистре положительное, при
RGA(0)=1
– отрицательное. Слагаемые А и В
загружаются в соответствующие регистры
со входной шиной Х(0:8) по сигналам Y2
и Y3
соответственно. Значение суммы S
записывается в регистр RGA
и представляется на выходной шине Z(0:8)
по сигналу Y10.
Входы сумматора SM
связаны с шинами передачи числа из
регистра RGА
в прямом коде, а из регистра RGB
по сигналу Y4
модуль слагаемого В поступает в сумматор
SM
в прямом коде, а по сигналу Y6
– в обратном. По сигналу Y1
оба регистра обнуляются, а по сигналу
Y7
на вход переноса младшего разряда
сумматора SM
поступает единица, т е
.
По сигналуY8
все разряды регистра RGA
инвертируются. Если в сумматоре происходит
переполнение, то УУ формирует сигнал
переполнения разрядной сетки Y9.
В процессе выполнения операций сложения-вычитания чисел в схеме формируются следующие сигналы состояний:
-
знаковый разряд первого регистра RGA,
т е знак слагаемого А.
-
знаковый разряд второго регистра RGВ,
т е знак слагаемого В.
-
сигнал переноса Р1 с выхода старшего
разряда сумматора, который записывается
в 1м разряде регистра RGA.
-
сумма по модулю два знаковых разрядов.
Сигнал f=1,
если знаки слагаемых А и В различны,
f=0,
если знаки слагаемых А и В одинаковы.
Сигналы Х3 и f поступают на входы УУ. УУ вырабатывает на своих выходах управляющие сигналы 10 микроопераций с Y1 по Y10. На входы УУ поступают также синхросигналы С и внешний сигнал α, который определяет вид выполняемой операции: если α=1, то выполняется операция сложения, если α=0, то выполняется операция вычитания. С учетом приведенных обозначений построим микропрограмму сложения-вычитания чисел в прямых кодах.
Выполнение микропрограммы начинается с подготовки регистров к приему слагаемых А и В, для чего они обнуляются по сигналу У1. Сами слагаемые поочередно записываются в соответствующие регистры по сигналам Y2 и Y3. После этого по сигналу f анализируются знаки слагаемых, а по сигналу α определяется вид операции.
Если
,
то в четвертом такте выполняется сложение
абсолютных значений слагаемых |A|
и |B|
с помощью сигналов Y4
и Y5.
При этом по сигналу Y4
на входы сумматора SM
подаются значения разрядов модуля В, и
в сумматоре образуется сумма |A|+
|B|=S,
которая по сигналу Y5
записывается в регистр RGA.
Значение сигнала Р1 – переноса из
старшего разряда сумматора запоминается
в первом разряде регистра RGA(1),
а значение знака слагаемого А сохраняется
в нулевом разряде регистра А – RGA(0)
и в дальнейшем используется в качестве
знака суммы. Анализируется значение
сигнала Х3:
-Если Х3=0, т е перенос Р1=0, то значения знакового и основных разрядов суммы выдаются на выходную шину Z по сигналу У10 и операция сложения на этом завершается.
-Если Х3=1 (был перенос Р1 из старшего разряда сумматора), то устройство управления формирует сигнал У9, извещающий о переполнении разрядной сетки. Это значит, что полученный результат не верен, и по сигналу У9 происходит прерывание программы процессора.
Если
,
то, начиная с четвертого такта, нужно
выполнить следующую операцию над
операндами А и В: из большей абсолютной
величины вычесть меньшую и полученному
результату приписать знак большего по
абсолютной величине операнда. Для этого
в четвертом такте выполняется суммирование
модуля А с дополнением модуля В до
единицы с помощью сигналов У5, У6, У7. При
этом по сигналу У6 на входы сумматора
подаются разряды модуля В в обратном
коде, по сигналу У7 на вход переноса
младшего разряда сумматора поступает
единичный сигнал
,
а по сигналу У5 полученный результат
|A|+1-|B|
записывается в регистр RGA.
Анализируется значение сигнала Х3:
Если
Х3=1, т е был перенос Р1 из старшего разряда
сумматора, то это значит, что полученный
результат |A|+1-|B|1
или |A|
|В|,
тогда в разрядах регистраRGA
находится искомый результат |A|-|B|,
поскольку произошло вычитание из большей
абсолютной величины меньшей. При этом
знак результата совпадает со знаком
слагаемого А. В этом случае устройство
управления в пятом такте сразу формирует
сигнал выдачи результата У10 на шину Z
и операция вычитания завершается.
Если Х3=0 (переноса Р1 не было), то |A|<|B| и в регистре RGA находится не сам искомый результат, а его дополнение до единицы, т е 1-(|B|-|A|) – дополнительный код разности. В этом случае производится коррекция результата, т е перевод результата из дополнительного кода в прямой. Для этого в пятом такте по сигналу У8 знаковый и основные разряды регистра RGA инвертируются, а в шестом такте по сигналам У7 и У5 к младшему разряду числа в RGA прибавляется единица. В седьмом такте полученный результат выставляется по сигналу У10 на шину Z и операция вычитания завершается.
СИНТЕЗ МИКРОПРОГАМНОГО АВТОМАТА. СИНТЕЗ УСТРОЙСТВА УПРАВЛЕНИЯ.
В
процессе синтеза микропрограмм автомата
(МПА) первоначально по графу микропрограммы
(МП) определяются множества состояний
А, входных Х и выходных У сигналов
автомата. Для МПА входными являются
сигналы, анализируемые в условных
вершинах графа МП. Т е в нашем примере
множество Х={f,
α, X3}.
Выходными сигналами являются сигналы
микроопераций. В примере: У={У1,…,У10}. Для
определения множества состояний А={}
строится отмеченный граф МП, т е граф,
помеченный символами состояний автомата.
Для МПА отметками состояний помечаются
входы вершин, следующие за операторными
вершинами. При этом символом начального
состояния
помечается выход начальной и вход
конечной вершины графа МП. (В примере
А={
}).
Структурная схема МПА включает запоминающую часть (ЗЧ), дешифратор состояний(ДС) и комбинационную часть(КЧ).
ЗЧ
представляет собой набор двоичных
элементов памяти, в качестве которых
используются триггера различных типов.
В рассматриваемом примере используются
синхронные двухступенчатые RS-триггера.
Минимально необходимое число триггеров
определяется из отношения R=][, гдеm+1
– число состояний автомата, ][ - операция
округления до ближайшего большего
целого. В нашем случае количество
состояний МПА=8, R=3.
Таким образом ЗЧ состоит из 3х триггеров,
состояния которых обозначим через Q1,
Q2,
Q3.
При синтезе МПА каждое состояние из
множества А кодируется определенным
набором состояний триггеров. Вариант
кодирования представлен в следующей
таблице:
Qr ai |
Q1 |
Q2 |
Q3 |
|
a0 |
0 |
0 |
0 |
|
a1 |
0 |
0 |
1 |
|
a2 |
0 |
1 |
0 |
|
a3 |
0 |
1 |
1 |
|
a4 |
1 |
0 |
0 |
|
a5 |
1 |
0 |
1 |
|
a6 |
1 |
1 |
0 |
|
a7 |
1 |
1 |
1 |
|
|
|
|
|
|
Сигналы
с выхода триггеров ЗЧ поступают на входы
ДС, формирующего сигналы состояний
автомата.
КЧ
в зависимости от состояния автомата и
входных сигналов вырабатывает управляющие
сигналы микроопераций
и сигналы возбуждения триггеров
.
На синхровходы триггеров и ДС поступают
синхронизирующие сигналы С, период
следования которых определяет такт
работы автомата. В каждом такте по
сигналу С формируются выходные сигналы
КЧ, а по окончании сигнала С триггера
переключаются в новое состояние. При
построении КЧ удобно задавать работу
автомата с помощью обратной структурной
таблицы, представляющей собой список,
в котором для каждого возможного перехода
в автомате отводится одна строка. Такая
таблица строится по отмеченному графу
МП в виде массивов путей переходов в
отдельное состояние.