часть:
Проектирование
вырожденного
автомата .
Спроектировать
на элементах
ТТЛ “
генератор 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