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