часть:
Проектирование
вырожденного
автомата .
Спроектировать
на элементах
ТТЛ “
генератор 4-х
разрядных кодов
“
некоторой
системы счисления
.
Т.е.
синтезировать
синхронный
счётчик М–разрядный
( М <
16
), на вход которого
подаётся регулярная
внешняя последовательность
тактовых импульсов.
Каждое
состояние
счётчика ( т.е.
цифра заданной
системы ) сохраняется
в течение одного
полного такта.
Значение цифр
появляется
на выходах Q3,
Q2,
Q1,
Q0.
Автомат
также должен
выработать
синхронный
перенос ( в след.
разряд заданной
системы), которым
служит последний
тактовый импульс
в цикле счёта.
Для его выделения
должен быть
сформирован
строб “y”
,
т.е. булева функция
, которая активна
на последнем
такте цикла.
А само выделение
должно обеспечивать
минимальную
задержку выходного
импульса переноса.
В
схеме автомата
должны быть
цепи , осуществляющие
авто сброс в
исходное состояние
при каждом
включении
питания.
Требуется
:
составить
таблицу функционирования
автомата ;
минимальную
функцию возбуждения
и строба ;
построить
осциллограммы
всех выходных
функций, включающие
функции строба
и сигнала переноса
;
построить
схему автомата
.
Решение
поставленной
задачи :
а.)
Составим таблицу
функционирования
автомата :
Q3 | Q2 | Q1 | Q0 | J3 | K3 | J2 | K2 | J1 | K1 | J0 | K0 | y | |
0 | 0 | 0 | 0 | 0 | 0 | Ф | 0 | Ф | 0 | Ф | 1 | Ф | 0 |
1 | 0 | 0 | 0 | 1 | 0 | Ф | 0 | Ф | 1 | Ф | Ф | 1 | 0 |
2 | 0 | 0 | 1 | 0 | 0 | Ф | 0 | Ф | Ф | 0 | 1 | Ф | 0 |
3 | 0 | 0 | 1 | 1 | 0 | Ф | 1 | Ф | Ф | 1 | Ф | 1 | 0 |
4 | 0 | 1 | 0 | 0 | 0 | Ф | Ф | 0 | 0 | Ф | 1 | Ф | 0 |
5 | 0 | 1 | 0 | 1 | 0 | Ф | Ф | 0 | 1 | Ф | Ф | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 0 | Ф | Ф | 0 | Ф | 0 | 1 | Ф | 0 |
7 | 0 | 1 | 1 | 1 | 1 | Ф | Ф | 1 | Ф | 1 | Ф | 1 | 0 |
8 | 1 | 0 | 0 | 0 | Ф | 0 | 0 | Ф | 0 | Ф | 1 | Ф | 0 |
9 | 1 | 0 | 0 | 1 | Ф | 0 | 0 | Ф | 1 | Ф | Ф | 1 | 0 |
10 | 1 | 0 | 1 | 0 | Ф | 0 | 0 | Ф | Ф | 0 | 1 | Ф | 0 |
11 | 1 | 0 | 1 | 1 | Ф | 0 | 1 | Ф | Ф | 1 | Ф | 1 | 0 |
12 | 1 | 1 | 0 | 0 | Ф | 1 | Ф | 1 | 0 | Ф | 1 | Ф | 1 |
ПОВТОР | 0 | 0 | 0 | 0 |
б.) Составим
карты Карно
и при помощи
них найдём
минимизированные
функции
возбуждения
и строба .
Q0
J3
0 | 0 | 0 | 0 |
Q2 0 | 0 | 1 | 0 |
Q3 Ф | Х | Х | Х |
Ф | Ф | Ф | Ф |
Q1
J3 =
Q2Q1Q0
Q0
K3
Ф | Ф | Ф | Ф |
Q2 Ф | Ф | Ф | Ф |
Q3 1 | Х | Х | Х |
0 | 0 | 0 | 0 |
Q1
K3 = Q2
Q0
J2
0 | 0 | 1 | 0 |
Q2 Ф | Ф | Ф | Ф |
Q3 Ф | Х | Х | Х |
0 | 0 | 1 | 0 |
Q1
J2 = Q1Q0
Q0
K2
Ф | Ф | Ф | Ф |
Q2 0 | 0 | 1 | 0 |
Q3 1 | Х | Х | Х |
Ф | Ф | Ф | Ф |
Q1
K2 = Q3 v
Q1Q0
Q0
J1
0 | 1 | Ф | Ф |
Q2 0 | 1 | Ф | Ф |
Q3 0 | Х | Х | Х |
0 | 1 | Ф | Ф |
Q1
J1 = Q0
Q0
K1
Ф | Ф | 1 | 0 |
Q2 Ф | Ф | 1 | 0 |
Q3 Ф | Х | Х | Х |
Ф | Ф | 1 | 0 |
Q1
K1 = Q0
Q0
J0
1 | Ф | Ф | 1 |
Q2 1 | Ф | Ф | 1 |
Q3 0 | Х | Х | Х |
1 | Ф | Ф | 1 |
Q1
<J0
= Q3Q2
Q0
K0
Ф | 1 | 1 | Ф |
Q2 Ф | 1 | 1 | Ф |
Q3 Ф | Х | Х | Х |
Ф | 1 | 1 | Ф |
Q1
K0 = 1
Q0
y
0 | 0 | 0 | 0 |
Q2 0 | 0 | 0 | 0 |
Q3 1 | Х | Х | Х |
0 | 0 | 0 | 0 |
Q1
y = Q3Q2
в.)
Построим
осциллограммы
всех выходных
функций , вкл
функцию строба
и сигнала переноса
.
С
Q0
Q1
Q2
Q3
y
Cвых
г.)
Построение
схемы автомата
.
II
часть
: Проектирование
интерфейса
ЗУ некоторого
МПУ .
Построить
интерфейс ЗУ
на реальных
МС , приведённых
в таблице .
Блоки
ПЗУ и ОЗУ должны
содержать
резервные места
для модернизации
. Резерв может
быть до 50% рабочего
и объёма блока
, но не менее 1
МС выбранного
типа .
При
условии восьмиразрядного
выхода требуется
:
определить
объём пространства
памяти , включая
резервные
сегменты ;
составить
таблицу адресов
, начиная с адреса
0ХХ0, где ХХ = n
– номер студента
по журналу в
16-ричной системе
;
построить
упрощённую
схему интерфейса
.
При
построении
блока ПЗУ
использовать
МС ППЗУ серии
КР556 для Lпзу
<
6 Кб и МС СППЗУ
( К573 ) для Lозу
>
7Кб
.
При
построении
блока ОЗУ - МС
с технологией
: ТТЛ для
Lозу
<
3 Кб , И*ИЛ для 7Кб
< Lозу
<
9
Кб , МОП для
4КБ <
Lозу
<
6Кб
.
При
полу целом
числе сегментов
в блоке допускается
использование
МС другой технологии
с ёмкостью 0,5
сегмента . Остаток
неполного
сегмента отнести
к резерву .
Решение
поставленной
задачи :
а.)
Определим объём
пространства
памяти , включая
резервные
сегменты .
Для
ПЗУ можно выбрать
пять МС СППЗУ
типа К573РФ2 с
организацией
2К * 8 = 2Кб .
Тогда
объём одного
сегмента можно
выбрать равным
2
Кб =
80016.
Возьмем
пять таких МС
и , таким образом
, получили объём
ПЗУ равным 10
Кб , но нам необходимо
набрать 11 Кб ,
поэтому возьмём
ещё две МС СППЗУ
типа К573РФ1 с
организацией
1К*8 = 1Кб для организации
шестого сегмента
, половина которого
будет использована
, а другая половина
будет в резерве.
Для
резерва возьмём
две МС СППЗУ
типа К573РФ2 с
организацией
2К * 8 = 2Кб , т.е. объём
резерва получился
равным 5
Кб.
С
резервом в 5
Кб
для ПЗУ получили
восемь
сегментов.
Для
ОЗУ можно выбрать
МС nМОП
типа КМ132РУ8А
с организацией
1К * 4 = 0,5 Кб. Но для
построения
одного сегмента
потребуется
четыре такие
МС .
С
резервом в 2Кб
для ОЗУ потребуется
три таких сегмента
.
Значит,
общий
объём
блока ЗУ с резервом
должен составлять
8+3 = 11
сегментов
.
б.)
Составим таблицу
распределения
адресов .
Сегмент | 16-разрядный |
I | 00E0 |
Задействовано II | 08E0 |
III | 10E0 |
ПЗУ IV | 18E0 |
V | 20E0 |
| 28E0 |
VII | 30E0 |
VIII | 38E0 |
ОЗУ Задействовано ОЗУ IX | 40E0 |
Резерв X | 48E0 |
XI | 50E0 |
в.)
Построение
упрощённой
схемы интерфейса
ЗУ .
III
часть
:
Разработка
фрагмента
программы МПУ
.
Составить
фрагмент программы
МПУ в виде
подпрограммы
( или в виде
программы
обслуживания
прерывания
ПОП ) , что есть
в варианте .
Начальный
адрес для
подпрограммы
: [
P
] = 63 + n10
Требуется
:
на
языке Ассемблера
с соблюдением
требований
формата бланка
;
комментарий
должен давать
полное описание
действий конкретной
задачи , а не
описание данной
команды ;
в
конце любого
комментария
должна быть
дана продолжительность
операции –
требуемое
число тактов
синхронизации.
Решение
поставленной
задачи :
;
Подпрограмма
на языке Ассемблер
:
ORG | 00D4H | ;Подпрограмма ;адреса | |||
LXI | D,0200H | ;бл.1Загрузка ;байта ;регистров | |||
MVI | B,0002H | ;бл.2 ;сложений, ;значения | |||
XRA | A | ;бл.3 ;а ;ров | |||
LOOP2: | LXI | H,0300H | ;бл.4 ;байта ;пару | ||
MVI | C,0006H | ;бл.5 ;байтов ;присвоение ;значения ;сложения ;возникнуть ;окажется | |||
LOOP1: | LDAX | D | ;бл.6 ;следующего ;или ;в | ||
ADC | M | ;бл.7 ;чисел ;(Х1+Х2) ;если | |||
DAA | ;бл.8 ;BCD ;здесь | ||||
MOV | M,A | ;бл.9 ;байта ;(Х1+Х2) | |||
DCR | C | ;бл.10 ;счётчика | |||
| JZ | NB | ;бл.11 ;байтов ;переход ;т.е. ;сложены, ;суммированию ;т.е. | ||
INХ | D | ;бл.12 ;следующего ;или ;инкремента | |||
INХ | H | ;бл.13 ;следующего ;или ;положительного ;пары | |||
JMP | LOOP1 | ;бл.14 ;суммирования ;чисел ;(Х1+Х2)(к | |||
NB | DCR | B | ; | ||
| RZ | EN | ;бл.16 | ||
LXI | D,0400H | ;бл.17 | |||
JMP | LOOP2 | ; | |||
EN | END | ; |
III
часть
: Подпрограмма
.
Сложить
три положительных
10 – значных
десятичных
числа
Х1, Х2, Х3 , представленные
в коде BCD
и хранящиеся
в секторах ОЗУ
с адресами
младших байтов
соот. 20016; 30016; 40016 .
Поместить
полученную
сумму (также
в коде BCD)
с учётом
старшего (шестого)
байта на случай
переполнения
в секторе ОЗУ
на место Х2, т.е.
по адресу 30016 .
Предполагается,
что шестые
байты в указанных
секторах
первоначально
пусты.
Это
– задача
с двойным (вложенным)
циклом.
Блок
–
схема алгоритма
:
DE 20016
B 2
A
(A)V(A)
HL
30016
C
6
A [(DE)]
A
(A)+[(M)]+(Tc)
10
- КОРР
M
(A)
C ( C ) -1
(Tz)=1
LOOP1
DE
(DE) + 1
HL
(HL) + 1
PC
[ Addr ]
B (B) -1
(Tz)=1
LOOP2
DE
40016
PC
[Addr]
NB
ДА
ДА
EN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Задание:
I
часть
:
Счётчик прямого
счёта .
М
= 13 ; триггеры типа
JK.
Код
двоичный,
возрастающий;
Используются
состояния : а0
, а1 … а12 .
II
часть
:
Интерфейс ЗУ
.
Lпзу
= 11 KB ; Lозу
=
4 KB .
III
часть
:
Подпрограмма
.
Сложить
три положительных
10 – значных
десятичных
числа
Х1, Х2, Х3 , представленные
в коде BCD
и хранящиеся
в секторах ОЗУ
с адресами
младших байтов
соот. 20016;
30016;
40016
.
Поместить
полученную
сумму (также
в коде BCD)
с
учётом старшего
(шестого) байта
на случай
переполнения
в секторе ОЗУ
на место Х2, т.е.
по адресу 30016
.
Предполагается,
что шестые
байты в указанных
секторах
первоначально
пусты.
Это
–
задача с двойным
(вложенным)
циклом.
Блок
–
схема алгоритма
:
DE
20016
B
2
A
(A)V(A)
HL
30016
C
6
A
[(DE)]
A
(A)+[(M)]+(Tc)
10
- КОРР
M
(A)
C (
C ) -1
(Tz)=1
LOOP1
DE
(DE) + 1
HL
(HL) + 1
PC
[ Addr ]
B (B) -1
(Tz)=1
LOOP2
DE
40016
PC
[Addr]
NB
ДА
ДА
EN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18