Проектирование вычислительного устройства
Московский
государственный технический
Курсовая работа
по
курсу
“АРХИТЕКТУРА ЭВМ”
«Проектирование вычислительного устройства»
Вариант №17
Бумага формата А4
(тип носителя)
26 _
(количество листов)
Выполнил:
Студент группы ИУ 5-51 Преподаватель кафедры ИУ-5
Новиков А.К. Спиридонов С.Б.
Подпись ___________
Подпись ____________
“___”_______________2013г.
Москва 2013 г.
Содержание
1.Постановка задачи
Спроектировать вычислительное устройство для выполнения заданного множества операций. Вычислительное устройство должно состоять из операционной части и блока управления и подключаться к интерфейсу.
Состав шин интерфейса:
1.Шины прямой передачи данных /входные/ разрядностью 10 бит.
2.Шины обратной передачи данных /выходные/ разрядностью 10 бит.
3.Шина адреса разрядностью 10 бит
4.Управляющая шина:
- проверка готовности устройства /ПРГОТ/,
- сигнал занятости устройства /ЗАН/,
- код операции /КОП/,
- передача
данных по входным шинам /
- передача результата по выходным шинам /РЕЗ/,
- запрос на передачу данных /ЗАПР/,
- подтверждение приема результата /ПРРЕЗ/,
- готовность устройства /ГОТ/.
Таблица №1. Закодированный вариант задания.
Вариант |
Выполняемые операции |
Разрядность операндов |
Код |
Серия микросхем | ||||||
17 |
У |
А1 |
А3 |
А4 |
Л2 |
Л3 |
Л5 |
10 |
П |
К500 |
Таблица №2. Расшифровка
перечисленных в задании
№ |
Операция |
Обозначение Операции |
№ |
Операция |
Обозначение операции |
1. |
Умножение |
У |
5. |
A Ú B |
Л2 |
2. |
Сложение |
А1 |
6. |
|
Л3 |
3. |
Обратное вычитание |
А3 |
7. |
_ A |
Л5 |
4. |
Вычитание модулей |
А4 |
|
2. Алгоритмы машинных операций.
2.1. Главный начальный алгоритм.
Микропрограмма подключения
Если выражение принимает
- Главный заключительный алгоритм.
Микропрограмма формирует сигна
Микропрограмма отключения вычислительного устройства, снимает сигнал занятости устройства (для этого предусмотрена микрооперация ЗАН=0). По этому сигналу устройство снимает адрес с шин адреса, освобождая интерфейс для работы с другими устройствами.
2.3. Алгоритм микропрограммы умножения.
Операция сложения
выполняется над
2.4. Алгоритм микропрограммы сложения.
Операция сложения выполняется над арифметическими данными. По первой паре сигналов ЗАПР и ДАННЫЕ с входной шины считывается первый операнд A – одно слово разрядностью 10 бит. По второй паре сигналов аналогичным образом считывается второй операнд B. После этого происходит перевод операндов в дополнительный код. Далее над приведенными в дополнительный код операндами A и B в АЛУ производится машинная операция сложения A + B, результат присваивается C, которая переводится в прямой код.
2.5. Алгоритм микропрограммы обратного
вычитания.
Операция обратного вычитания выполняется над арифметическими данными. По первой паре сигналов ЗАПР и ДАННЫЕ с входной шины считывается первый операнд A – одно слово разрядностью 10 бит. По второй паре сигналов аналогичным образом считывается второй операнд B. После этого происходит перевод операндов в дополнительный код. Операция обратного вычитания имеет вид SUBR(X,Y)=Y-X. Сначала в АЛУ выполняется операция А-В, результат которой присваивается C. А затем С присваивается значение –С (так как (X-Y)=-(Y-X)). И наконец, C переводится в прямой код.
2.6. Алгоритм микропрограммы вычитание модулей.
Операция вычитания модулей
выполняется над
2.7. Алгоритм микропрограммы дизъюнкции.
Операция конъюнкции выполняется над логическими данными. По первой паре сигналов ЗАПР и ДАННЫЕ с входной шины считывается первый операнд A – одно слово разрядностью 10 бит. По второй паре сигналов аналогичным образом считывается второй операнд B. После этого над операндами A и B в АЛУ производится машинная операция конъюнкции , результат присваивается C.
2.8. Алгоритм микропрограммы штрих Шеффера
Операция «штрих Шеффера» выполняется над логическими данными. По первой паре сигналов ЗАПР и ДАННЫЕ с входной шины считывается первый операнд A – одно слово разрядностью 10 бит. По второй паре сигналов аналогичным образом считывается второй операнд B. После этого над операндами A и B в АЛУ производится машинная операция «штрих Шеффера» ! (A Ù B), результат присваивается C.
2.9. Микропрограмма инверсии.
Операция инверсии выполняется над логическими данными. По паре сигналов ЗАПР и ДАННЫЕ с входной шины считывается первый операнд A – одно слово разрядностью 10 бит. После этого над операндом A производится машинная операция инверсии !A, результат присваивается C.
3. Обобщённая микропрограмма.
Обобщенная микропрограмма составляется на основании микропрограмм машинных операций.
Обобщенная микропрограмма объединяет все микропрограммы операций с целью реализации четкой логической структуры выполнения микропрограмм в зависимости от кода операции команды, а также включает микропрограммы подключения вычислительного устройства к интерфейсу и отключения от него.
Первоначально выполняется операция подключения, если результат операции положителен и подключение осуществлено, то в зависимости от условий В1 – В7 выбора конкретной операции к выполнению, запускается лишь одна из имеющихся микропрограмм.
Для формирования осведомительных сигналов, определяющих выполнение той или иной микропрограммы, используется дешифратор. Анализ КОП с помощью дешифратора позволяет существенно упростить логику работы устройства.
Следует заметить так же, что в силу идентичности выдачи результата выполнения операций выдача результатов этих операций на внешнюю шину реализуется одним и тем же блоком микроопераций.
B1 |
Умножение |
B2 |
Сложение |
B3 |
Обратное вычитание |
B4 |
Вычитание модулей |
B5 |
Дизъюнкция |
B6 |
Штрих Шеффера |
B7 |
Инверсия |
В1 = D(0) Ù D(1) Ù D(2)
В2 = D(0) Ù D(1) Ù D(2)
В3 = D(0) Ù D(1) Ù D(2)
В4 = D(0) Ù D(1) Ù D(2)
В5 = D(0) Ù D(1) Ù D(2)
В6 = D(0) Ù D(1) Ù D(2)
В7 = D(0) Ù D(1) Ù D(2)
Разработанная
в соответствии с вышеперечисленными
условиями и замечаниями
4. Списки слов, микроопераций и логических условий.
Обобщённый список слов, полей, логических условий и управляющих сигналов составляется на основании обобщенной микропрограммы. Построение таблицы микроопераций, осуществляется следующим образом. Выписываются все использованные виды микроопераций, каждому виду микроопераций ставится в соответствие индекс – Уi, который является обозначением управляющего сигнала, закрепленного за данным видом микроопераций. Вид микроопераций объединяет все одинаковые микрооперации (микрооперации с идентичной структурой, но разными операндами), встречающиеся в обобщенной микропрограмме.
Список используемых
в микропрограмме слов и полей
составляется следующим
Составление списка логических условий осуществляется следующим образом. Выписываются все виды логических условий, использованных в обобщенной микропрограмме и ставится каждому из них в соответствие индекс Xi, который является обозначением соответствующего осведомительного сигнала, закрепленного за данным видом логических условий.
4.1. Список слов
Имя |
Тип |
Формат |
Примечание |
A |
IL |
A(9:0) ЗнА=А(9) |
Первый операнд |
B |
IL |
B(9:0) ЗнВ=В(9) |
Второй операнд |
C |
LO |
C(9:0) ЗнC = C(9) |
Результат |
D |
L |
D(4:0) |
Дополнительная переменная |
E |
L |
Дополнительная переменная для операции умножения | |
Сч |
L |
Сч(4:0) |
Счётчик |
ЗАН |
O |
ЗАН(0) |
Бит, хранящий значение шины занятости |
ЗАПР |
O |
ЗАПР(0) |
Бит, хранящий значение шины запроса на передачу данных |
ГОТ |
O |
ГОТ(0) |
Бит, хранящий значение шины готовности |
РЕЗ |
O |
РЕЗ(0) |
Бит, хранящий значение шины готовности передачи результата |
4.2. Список логических условий
X1 |
ПРГОТ^(ША=N)^( |
X2 |
КОП |
X3 |
ДАННЫЕ |
X4 |
В1 |
X5 |
В2 |
X6 |
В3 |
X7 |
В4 |
X8 |
В5 |
X9 |
В6 |
X10 |
В7 |
X11 |
A=0 |
X12 |
B=0 |
X13 |
A(9)=B(9) |
X14 |
E(0) |
X15 |
Сч=0 |
X16 |
ПРРЕЗ |
X17 |
C(9)=0 |
4.3. Список микроопераций
Y1 |
ГОТ:= 1 |
Y2 |
ГОТ: = 0 |
Y3 |
D:=ШВх |
Y4 |
ЗАН:=1 |
Y5 |
ЗАН:=0 |
Y6 |
ЗАПР:=1 |
Y7 |
ЗАПР:=0 |
Y8 |
А:=ШВх |
Y9 |
В:=ШВх |
Y10 |
C:=0 |
Y11 |
B(9):=1 |
Y12 |
B(9):=0 |
Y13 |
E:=B |
Y14 |
Сч:=9 |
Y15 |
B:=C |
Y16 |
C:=A+B |
Y17 |
E:=R1(C(0).E) |
Y18 |
C:=R1(0.C) |
Y19 |
CЧ:=СЧ-1 |
Y20 |
С(9):=E(0) |
Y21 |
ШВых:=С |
Y22 |
РЕЗ:=1 |
Y23 |
РЕЗ:=0 |
Y24 |
А:=E |
Y25 |
А:=R1(А.А) |
Y26 |
C:=А |
Y27 |
B:=C-1 |
Y28 |
C:=B |
Y29 |
B:=!C |
Y30 |
|
|
Y31 |
|
|
Y32 |
C:=A-B-1 |
Y33 |
A(9):=0 |
Y34 |
C:=!A |
Y35 |
A:=C |
Y36 |
C:=A+1 |
Y37 |
C:=!B |
Y38 |
C:=B+1 |
Y39 |
C(9):=0 |
Y40 |
C(9):=1 |
Y41 |
A(9):=1 |
5. Закодированный граф микропрограммы
Закодированный граф микропрограммы составляется на основе графа обобщенной микропрограммы и обобщённого списка слов, полей, логических условий и управляющих сигналов.
Закодированный граф микропрограммы составляется путем подстановки нужных управляющих сигналов Yi в соответствии с текущей микрооперацией в каждый узел графа и замены логических условий соответствующими им индексами Xj. После этого каждому узлу (состоянию) полученного графа присваивается индивидуальный порядковый номер - номер состояния - Ai. Начальное и конечное состояния имеют метку A0.
Закодированный граф микропрограммы представлен в приложении на рисунке «Закодированный граф». Он понадобится в дальнейшем для проектирования управляющего автомата.
6. Разработка структурной схемы операционного автомата.
Разработка структурной схемы операционного автомата выполняется на основании списков операций и логических условий. При этом должны учитываться особенности конкретных микросхем.
Код операции должен фиксироваться в регистре D. Три его младших разряда должны поступать на дешифратор, который формирует сигналы B1-B7.
Должна быть схема сравнения значения, появившегося на адресной шине, со значением, выставленном на тумблерном регистре. По результатам этого сравнения и на основании сигналов ПРГОТ и ЗАН должно вычисляться условие запуска МП (X1).
Счетчик должен предусматривать установку значения 9, значения из регистра кода операции и декремент. На его выходе должна быть схема сравнения, формирующая сигнал СЧ=0 (X15).
Регистр E служит для хранения одного из множителей, при выполнении операции «Умножение». Он участвует в формировании знака результата. Кроме того, он должен выполнять операцию сдвига вправо, его нулевой разряд используется для формирования условия X14.
Регистры А, В и С, а также АЛУ, участвуют во всех вычислениях, включая умножение. Все регистры управляются синхросигналом (СИ).
В регистр А информация может поступать из двух источников: со входной шины данных и из регистра E. Поэтому на его входе предусмотрен мультиплексор разрядностью. Сам регистр А должен поддерживать операции записи, сдвига вправо-влево.
В регистр В информация может поступать также из шины и регистра С. Он должен поддерживать запись.
В регистр D информация поступает из шины. Далее он должен взаимодействовать с дешифратором КОП и счётчиком.
АЛУ используется для выполнения арифметических и логических операций.
Регистр С принимает результаты операции из АЛУ. Он должен сдвигать и взаимодействовать с регистром А.Для управления им ставится мультиплексор.
За счет сдвига регистра A получаем выдачу раздельно старших и младших слов результата на выходную шину. Если результат не выдается, выходы мультиплексора должны переводиться в высокоимпедансное состояние за счет буферного элемента.
Сигналы ПРГОТ, ЗАН, КОП, ДАННЫЕ, ПРРЕЗ берутся непосредственно с входной шины.
Сигналы ГОТ, ЗАПР, РЕЗ необходимо держать в течении всего одного такта, поэтому они формируются напрямую из управляющих сигналов и, при переходе к следующему такту, автоматически обнуляются.
Разработанная
структурная схема
7. Синтез операционных элементов.
7.1. Регистр A.
Чтобы реализовать 10-разрядный регистр A будем использовать три универсальных сдвиговых 4-разрядных регистра серии К500ИР141. Команда для выбора режима работы регистра подаётся на входы S1 и S2. Регистр загружается параллельно по входам D0-D3, а по входам DL и DR последовательно для сдвига влево и вправо соответственно.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
R |
DL |
DR |
C |
Y8 |
A := ШВх |
0 |
0 |
0 |
* |
* |
Si |
Y25 |
A := R1(A.A) |
0 |
1 |
0 |
* |
* |
Si |
S1 = 0;
S2 = Y25;
R = 0;
C = 1.
7.2. Регистр B.
Чтобы реализовать 10-разрядный регистр B будем использовать три универсальных сдвиговых 4-разрядных регистра серии К500ИР141. Команда для выбора режима работы регистра подаётся на входы S1 и S2. Регистр загружается параллельно по входам D0-D3, а по входам DL и DR последовательно для сдвига влево и вправо соответственно.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
R |
DL |
DR |
C |
Y9 |
B := ШВх |
0 |
0 |
0 |
* |
* |
Si |
Y15 |
B:=C |
0 |
0 |
0 |
* |
* |
Si |
Y27 |
B:=C-1 |
0 |
0 |
0 |
* |
* |
Si |
Y29 |
B:=!C |
0 |
0 |
0 |
* |
* |
Si |
S1 = 0;
S2 = 0;
R = 0;
C = 1.
7.3.Регистр C.
Чтобы реализовать 10-разрядный регистр C будем использовать три универсальных сдвиговых 4-разрядных регистра серии К500ИР141. Команда для выбора режима работы регистра подаётся на входы S1 и S2. Регистр загружается параллельно по входам D0-D3, а по входам DL и DR последовательно для сдвига влево и вправо соответственно.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
R |
DL |
DR |
C |
Y10 |
C := 0 |
* |
* |
1 |
* |
* |
* |
Y16 |
C:=A+B |
0 |
0 |
0 |
* |
* |
Si |
Y18 |
C:=R1(0.C) |
0 |
1 |
0 |
* |
0 |
Si |
Y26 |
C:=A |
0 |
0 |
0 |
* |
* |
Si |
Y28 |
C:=B |
0 |
0 |
0 |
* |
* |
Si |
Y30 |
0 |
0 |
0 |
* |
* |
Si | |
Y31 |
0 |
0 |
0 |
* |
* |
Si | |
Y32 |
C:=A-B |
0 |
0 |
0 |
* |
* |
Si |
Y34 |
C:=!A |
0 |
0 |
0 |
* |
* |
Si |
Y36 |
C:=A+1 |
o |
0 |
0 |
* |
* |
Si |
Y37 |
C:=!B |
0 |
0 |
0 |
* |
* |
Si |
Y38 |
C:=B+1 |
0 |
0 |
0 |
* |
* |
Si |
S1 = 0;
S2 = Y18;
7.4. Регистр D.
Чтобы реализовать регистр D будем использовать универсальны1 сдвиговый 4-разрядный регистр серии К500ИР141. Команда для выбора режима работы регистра подаётся на входы S1 и S2. Регистр загружается параллельно по входам D0-D3, а по входам DL и DR последовательно для сдвига влево и вправо соответственно.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
R |
DL |
DR |
C |
Y3 |
D := ШВх |
0 |
0 |
0 |
* |
* |
Si |
S1 = 0;
S2 = 0;
R = 0;
C = 1.
7.5. Регистр E.
Чтобы реализовать 10-разрядный регистр E будем использовать три универсальных сдвиговых 4-разрядных регистра серии К500ИР141. Команда для выбора режима работы регистра подаётся на входы S1 и S2. Регистр загружается параллельно по входам D0-D3, а по входам DL и DR последовательно для сдвига влево и вправо соответственно.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
R |
DL |
DR |
C |
Y13 |
E:=B |
0 |
0 |
0 |
* |
* |
Si |
Y17 |
E:=R1(C(0).E) |
0 |
1 |
0 |
* |
* |
Si |
S1 = 0;
S2 = Y17;
R = 0;
C = 1.
7.6. Мультиплексор регистра A.
Для реализации мультиплексора регистра A используются пять 4-разрядных сдвоенных мультиплексора серии К500КП174.
Управляющий сигнал |
Микрооперация |
S1 |
S2 |
E |
Y8 |
A := ШВх |
1 |
1 |
0 |
Y25 |
A := R1(A.A) |
0 |
0 |
0 |