
- •Пояснительная записка к курсовому проекту
- •Теоретическая часть
- •Введение
- •Внутренний кэш процессора
- •Внешний кэш процессора
- •Стратегия размещения.
- •Отображение секторов оп в кэш-памяти.
- •Смешанная и разделенная кэш-память.
- •Сводная информация по объемам, принципам организации и тактовым частотам кэш-памяти у процессоров от Intel и amd.
- •Зачем увеличивать кэш ?
- •Выводы.
- •2. Практическая часть
- •2.1 Задание на проектирование алу
- •Вариант 2-1
- •2.2 Проектирование операционного автомата алу. Определение форматов данных
- •Разработка алгоритма операции ускоренного умножения
- •Структурная схема операционного автомата алу
- •2.3 Проектирование управляющего автомата алу Определение формата микрокоманд
- •Структурная схема управляющего автомата
- •Содержимое пзу микропрограмм
- •Список литературы
Разработка алгоритма операции ускоренного умножения
В прямых кодах удобно умножать модули чисел. Знак результата не зависит от соотношения модулей операндов и определяется соотношением:
Смысл операции ускоренного умножения состоит в анализе пар разрядов множителя. При этом действуют следующие правила:
При 00 просто произвести сдвиг суммы частичных произведений на два разряда вправо;
При 01 прибавить к сумме частичных произведений множимое и произвести сдвиг на два разряда вправо;
При 10 прибавить к сумме частичных произведений удвоенное множимое и произвести сдвиг на два разряда вправо (или произвести сдвиг суммы частичных произведений вправо на один разряд, прибавить множимое и снова произвести сдвиг);
При 11 вычесть из суммы частичных произведений множимое (или добавить дополнительный код множимого), произвести сдвиг на два разряда и добавить 1 к следующей (старшей) паре цифр множителя (или добавить к сумме частичных произведений множимое, сдвинуть сумму на один разряд вправо и снова повторить операцию).
Структурная схема операционного автомата алу
Анализ алгоритмов умножения и дизъюнкции позволяет разработать структуру ОА. Учитывая действия, которые требуется выполнить для реализации алгоритма, включим в состав ОА следующие элементы:
Два 16-разрядных регистра Рг А и Рг В для хранения входных операндов, причём регистры должны обеспечивать возможность сдвига своего содержимого вправо;
16-разрядный регистр S для размещения результата операции с возможностью сдвига своего содержимого вправо;
32-разрядный двоичный параллельный сумматор/вычитатель;
32-разрядный двоичный параллельный сумматор;
4-разрядный счётчик Сч i по модулю 16;
Схема сравнения на «равно» знаковых разрядов исходных операндов;
Cхема сравнения, для определения вида совершаемой операции;
Триггер переполнения Тг OV для хранения признака переполнения разрядной сетки;
Триггер Тг R для хранения знака произведения при операции ускоренного умножения;
Триггер Тг Р для хранения признака заёма из старшего разряда.
Рис 1. граф-схема алгоритма ускоренного
умножения и неравнозначности
Микропрограмма
операции ускоренного умножения и
неравнозначности
1
0
1
0
0
1
Рис 1. граф-схема алгоритма ускоренного умножения и неравнозначности
1
0
1
0
0
1
2.3 Проектирование управляющего автомата алу Определение формата микрокоманд
Разобьем множество микроопераций Y на 6 непересекающихся подмножеств Y1, Y2, Y3, Y4, Y5, Y6:
Y1={y3, y7, y9, y15, y20, yk}
Y2={y4, y10, y18}
Y3={y1, y12, y16}
Y4={y2,y5, y8,y13, y19}
Y5={ y6,y11, y14}
Y6={ y17,y21, y22}
Множество логических условий X состоит из 9 элементов:
X={x1, x2, x3, x4, x5, x6, x7, x8, x9}
Определим размеры полей микрокоманд. Поле операторной микрокоманды будет состоять из 6 подполей - Y1, Y2, Y3, Y4 , Y5, Y6 размером 3, 2, 2, 3, 2, 2 двоичных разряда соответственно. Поле микрокоманды переадресации должно содержать номер одного из девяти логических условий - x1…x9. Для повышения гибкости процесса микропрограммирования удобно иметь возможность выбирать тождественно истинное и тождественно ложное условия. Поэтому поле Х будет занимать 4 разряда. Формат операторной микрокоманды и микрокоманды переадресации. Таблица 2.1. Список микроопераций и логических условий
|
y1 |
I:=16 |
|
|
y17 S:=S+A |
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
y2 |
A:=R1(A) |
|
|
Y18 S:=S-A |
x1 |
F |
||||||||||
|
y3 |
B:=R1(B) |
|
|
Y19 B:=B+1 |
x2 |
A15=B15 |
||||||||||
|
y4 |
I:=i-1 |
|
|
Y20 I:=i-2 |
x3 |
I=0 |
||||||||||
|
y5 |
S:=0 |
|
|
Y21 S0:=r |
x4 |
A0=B0 |
||||||||||
|
y6 |
S:=1 |
|
|
Y22 P:=1 |
x5 |
B15=1 |
||||||||||
|
y7 |
R:=0 |
|
|
|
x6 |
B14=1 |
||||||||||
|
y8 |
R:=1 |
|
|
|
x7 |
S0=1 |
||||||||||
|
y9 |
a0=0 |
|
|
|
x8 |
S15=1 |
||||||||||
|
y10 |
b0=0 |
|
|
|
x9 |
P=1 |
||||||||||
|
y11 |
P:=0 |
|
|
|
|
|
||||||||||
|
y12 |
S:=S+2*A |
|
|
|
|
|||||||||||
|
y13 |
OV:=1 |
|
|
|
|
|||||||||||
|
y14 |
OV:=0 |
|
|
|
|
|||||||||||
|
y15 |
S:=R2(S) |
|
|
|
|
|||||||||||
|
y16 |
B:=R2(B) |
|
|
|
|
|||||||||||
0 |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
X |
A1 |
|
||||||||
1 |
3 |
2 |
2 |
3 |
2 |
2 |
4 |
6 |
|
Таблица кодирования микроопераций и логических условий
Таблица 2. Кодирование микроопераций и логических условий
Код |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Код |
X |
000 |
Ø |
Ø |
Ø |
Ø |
Ø |
Ø |
0000 |
Константа 0 |
001 |
y3 |
y4 |
y1 |
y2 |
y6 |
y17 |
0001 |
X1 |
010 |
y7 |
y10 |
y12 |
y5 |
y11 |
y21 |
0010 |
X2 |
011 |
y9 |
y18 |
y16 |
y8 |
y14 |
y22 |
0011 |
X3 |
100 |
y15 |
|
|
y13 |
|
|
0100 |
X4 |
101 |
y20 |
|
|
y19 |
|
|
0101 |
X5 |
110 |
yk |
|
|
|
|
|
0110 |
X6 |
111 |
|
|
|
|
|
|
0111 |
X7 |
|
|
|
|
|
|
|
1000 |
X8 |
|
|
|
|
|
|
|
1001 |
X9 |
|
|
|
|
|
|
|
1111 |
Константа 1 |