|
I
часть
:
Проектирование вырожденного автомата .
Спроектировать на элементах ТТЛ “ генератор 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
|
б.) Составим карты Карно и при помощи них найдём минимизированные функции возбуждения и строба .
| 0
|
0
|
0
|
0
|
|
0 |
0
|
1
|
0
|
Ф |
Х
|
Х
|
Х
|
| Ф
|
Ф
|
Ф
|
Ф
|
J3 = Q2Q1Q0
| Ф
|
Ф
|
Ф
|
Ф
|
Ф |
Ф
|
Ф
|
Ф
|
1 |
Х
|
Х
|
Х
|
| 0
|
0
|
0
|
0
|
K3 = Q2

| 0
|
0
|
1
|
0
|
Ф |
Ф
|
Ф
|
Ф
|
Ф |
Х
|
Х
|
Х
|
| 0
|
0
|
1
|
0
|
J2 = Q1Q0

| Ф
|
Ф
|
Ф
|
Ф
|
|
0 |
0
|
1
|
0
|
1 |
Х
|
Х
|
Х
|
| Ф
|
Ф
|
Ф
|
Ф
|
K2 = Q3 v Q1Q0
| 0
|
1
|
Ф
|
Ф
|
0 |
1
|
Ф
|
Ф
|
0 |
Х
|
Х
|
Х
|
| 0
|
1
|
Ф
|
Ф
|
J1 = Q0

| Ф
|
Ф
|
1
|
0
|
Ф |
Ф
|
1
|
0
|
Ф |
Х
|
Х
|
Х
|
| Ф
|
Ф
|
1
|
0
|
K1 = Q0
| 1
|
Ф
|
Ф
|
1
|
|
1 |
Ф
|
Ф
|
1
|
0 |
Х
|
Х
|
Х
|
| 1
|
Ф
|
Ф
|
1
|
J0 = Q3Q2

| Ф
|
1
|
1
|
Ф
|
Ф |
1
|
1
|
Ф
|
Ф |
Х
|
Х
|
Х
|
| Ф
|
1
|
1
|
Ф
|
K0 = 1
| 0
|
0
|
0
|
0
|
|
0 |
0
|
0
|
0
|
1 |
Х
|
Х
|
Х
|
| 0
|
0
|
0
|
0
|
y = Q3Q2
в.) Построим осциллограммы всех выходных функций , вкл функцию строба и сигнала переноса .
                                С
    Q0
  Q1
  Q2
Q3
  y
   Cвых
г.) Построение схемы автомата .
II
часть :
Проектирование интерфейса ЗУ некоторого МПУ .
Построить интерфейс ЗУ на реальных МС , приведённых в таблице .
Блоки ПЗУ и ОЗУ должны содержать резервные места для модернизации . Резерв может быть до 50% рабочего и объёма блока , но не менее 1 МС выбранного типа .
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
При условии восьмиразрядного выхода требуется :
- определить объём пространства памяти , включая резервные сегменты ;
- составить таблицу адресов , начиная с адреса 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 Кб = 800
16
.
Возьмем пять таких МС и , таким образом , получили объём ПЗУ равным 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 – 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
Требуется :
- на языке Ассемблера с соблюдением требований формата бланка ;
- комментарий должен давать полное описание действий конкретной задачи , а не описание данной команды ;
- в конце любого комментария должна быть дана продолжительность операции – требуемое число тактов синхронизации.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
Решение поставленной задачи :
; Подпрограмма на языке Ассемблер :
| 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 .
Предполагается, что шестые байты в указанных секторах первоначально пусты.
Это – задача с двойным (вложенным) циклом.
Блок – схема алгоритма :
|