Учебная работа. Реферат: Вычислительная техника
I
часть
:
Проектирование вырожденного автомата .
Спроектировать на элементах ТТЛ “ генератор 4-х разрядных кодов “ некой системы счисления .
Т.е. синтезировать синхронный счётчик М–разрядный ( М < 16 ), на вход которого подаётся постоянная наружная последовательность тактовых импульсов.
Каждое состояние счётчика ( т.е. цифра данной системы ) сохраняется в течение 1-го полного такта. автомат также должен выработать синхронный перенос ( в след. разряд данной системы), которым служит крайний тактовый импульс в цикле счёта. Для его выделения должен быть сформирован строб “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
0
0
0
0
Q2
0
0
1
0
Q3
Ф
Х
Х
Х
Ф
Ф
Ф
Ф
Q1
J3 = Q2Q1Q0
Q0
Ф
Ф
Ф
Ф
Q2
Ф
Ф
Ф
Ф
Q3
1
Х
Х
Х
0
0
0
0
Q1
K3 = Q2
Q0
0
0
1
0
Q2
Ф
Ф
Ф
Ф
Q3
Ф
Х
Х
Х
0
0
1
0
Q1
J2 = Q1Q0
Q0
Ф
Ф
Ф
Ф
Q2
0
0
1
0
Q3
1
Х
Х
Х
Ф
Ф
Ф
Ф
Q1
K2 = Q3 v Q1Q0
Q0
0
1
Ф
Ф
Q2
0
1
Ф
Ф
Q3
0
Х
Х
Х
0
1
Ф
Ф
Q1
J1 = Q0
Q0
Ф
Ф
1
0
Q2
Ф
Ф
1
0
Q3
Ф
Х
Х
Х
Ф
Ф
1
0
Q1
K1 = Q0
Q0
1
Ф
Ф
1
Q2
1
Ф
Ф
1
Q3
0
Х
Х
Х
1
Ф
Ф
1
Q1
J0 = Q3Q2
Q0
Ф
1
1
Ф
Q2
Ф
1
1
Ф
Q3
Ф
Х
Х
Х
Ф
1
1
Ф
Q1
K0 = 1
Q0
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 сектора . Остаток неполного сектора отнести к резерву .
Решение поставленной задачки :
а.) Определим объём места памяти , включая запасные сегменты .
Для ПЗУ можно избрать 5 МС СППЗУ типа К573РФ2 с организацией 2К * 8 = 2Кб .
Тогда объём 1-го сектора можно избрать равным 2 Кб = 800
16
.
Возьмем 5 таковых МС и , таковым образом , получили объём ПЗУ равным 10 Кб , но нам нужно набрать 11 Кб , потому возьмём ещё две МС СППЗУ типа К573РФ1 с организацией 1К*8 = 1Кб для организации шестого сектора , половина которого будет применена , а иная половина будет в резерве.
Для резерва возьмём две МС СППЗУ типа К573РФ2 с организацией 2К * 8 = 2Кб , т.е. объём резерва вышел равным 5 Кб.
С резервом в 5 Кб для ПЗУ получили восемь
частей.
Для ОЗУ можно избрать МС nМОП типа КМ132РУ8А с организацией 1К * 4 = 0,5 Кб. Но для построения 1-го сектора будет нужно четыре такие МС .
С резервом в 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 .
Предполагается, что шестые байты в обозначенных секторах сначало пусты.
Это – задачка с двойным (вложенным) циклом.
Блок – схема метода :
Задание:
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 .
Предполагается, что шестые байты в обозначенных секторах сначало пусты.
Это – задачка с двойным (вложенным) циклом.
Блок – схема метода :
]]>