Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Мікропроцесорні кошти та системи

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Выходы|Разряды адреси |Діапазони адрес — |дешиф-| — | |ратора| — | — |1|1|1|1|1|1|9|8|7|6|5|4|3|2|1|0| — | |5|4|3|2|1|0| — | — | — | — | — | — |Y0 |0|X|X|0|X|X|0|X|X|X|X|X|X|X|X|X|0000h-01FFh, 0400h-05FFh, — | — | — | — | — | — | — | — | — | |0800h-0DFFh — | — | — | — | — | — | — | — | — | |2000h-21FFh, 2400h-25FFh, — | — | — | — | — | — | — | — | — | |2800h-2DFFh… Читати ще >

Мікропроцесорні кошти та системи (реферат, курсова, диплом, контрольна)

Міністерство Освіти Украины.

Кременчуцький Державний Політехнічний Институт.

Контрольне завдання з дисциплине.

" Мікропроцесорні кошти й системи «.

Варіант № 7.

Група Э-41-З, студент **********.

Викладач: Михальчук В.Н.

Кременчук 1998.

Контрольна робота № 1.

Перетворити числа з десяткової системи числення в двійкову і шестнадцатеричную: 5; 38; 93; 175; 264.

|Десятичная система |Двоичная система |Шестнадцатеричная | | | |система | |5 | |0|0|0|0|0|0|1|0|1| |5 | |38 | |0|0|0|1|0|0|1|1|0| |26 | |93 | |0|0|1|0|1|1|1|0|1| |5D | |175 | |0|1|0|1|0|1|1|1|1| |AF | |264 | |1|0|0|0|0|1|0|0|0| |108 |.

Завдання № 2.

Перетворити числа, записані прямому двоичном коді в десятковий і шестнадцатеричный код: 0011; 1 000 010; 11 011 000 .

|Прямой двоїчний код |Десятковий |Шестнадцатеричный | | |код |код | | |0|0|0|0|0|0|0|0|0|1|1| |3 |3 | | |0|0|0|0|1|0|0|0|0|1|0| |66 |42 | | |0|0|0|1|1|0|1|1|0|0|0| |216 |D8 |.

Завдання № 3.

Виконати такі арифметичні дії з двоичными числами, заданими у прямому коді: 0011 + 1 000 110; 10 000 001 — 1 000 110.

| | | | | | |0|0|1|1| | | | |3| | |1|0|0|0|0|0|0|1| | |1|2|9| | | |+| | | | | | | | | |+| | | |-| | | | | | | | | |-| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |.

Завдання № 4.

Виконати таке арифметичне дію, у 8-місячного розрядної сітці (старший біт містить знак числа): 5×25.

| | |0|.|0|0|1|1|0|0|1| | | |2|5| | | | | | | | | | | | | | | | |x| | | | | | | | | | | |x| | | | | | | | | | | | | | | | | | | |0|.|0|0|0|0|1|0|1| | | | |5| | | | | | | | | | | | | | | | | | | |0|0|1|1|0|0|1| | | | | | | | | | | | | | | | | | | | | | | |0|0|0|0|0|0|0| | | | | | | | | | | | | | | | | | | | | | | |0|0|1|1|0|0|1| | | | | | | | | | | | | | | | | | | | | | | | |0|.|1|1|1|1|1|0|1| | |1|2|5| | | | | | | | | | | | | | |.

Контрольна робота № 2.

Завдання № 1.

Визначити розмір пам’яті в кілобайтах (байтах), якщо дана пам’ять адресується з адреси A0EDH по адресу EF34H. Одна осередок пам’яті займає 8 бит.

Аби вирішити визначимо спочатку у осередків пам’яті, адресованих одним розрядом при 16- теричной системі адресации.

|4-й |3-й |2-ї |1-ї |H | |розряд |розряд |розряд |розряд | | |4096 |256 |16 |1 |H |.

Таким чином, початковий і кінцевий адреси в десяткової системі будуть :

A0EDH = 4096 * 10 + 256 * 0 + 16 * 14 + 1 * 13 + 1= 41 198 ;

EF34H = 4096 * 14 + 256 * 15 + 16 * 3 + 1 * 4 +1 = 61 237 .

61 237 — 41 198 = 20 039. 20 039 = 19 * 1024 + 583.

Отже, розмір пам’яті буде 20 039 байт чи 19 кБ. 583 байт.

Завдання № 2.

Символьная рядок лежить у ОЗУ починаючи з адреси 0006H. Відомо, що під кожен символ відводиться одна осередок пам’яті. Кількість символів в рядку = 731. Визначити адресу для звернення до останнього символу строки.

Порядковий номер останньої осередки пам’яті в десяткової системі буде 731 + 6 = 737. Переведемо 738 з десяткової системи в двійкову: 73 710 = 10 111 000 012 Тепер переводимо в 16 — теричную: 10 111 000 012 = 02E116.

Відповідь: адресу останнього символу 02E1H.

Завдання № 3.

Скласти програму на Ассемблері з коментарями :

Підрахувати кількість символів в рядку, що у області починаючи з адреси 1000H і до адресою 2000H не враховуючи прогалин, якщо відомо, кожен символ посідає один осередок пам’яті і прогалину кодується як 01H.

Максимальне число символів в рядку 2000h -1000h=1000h=409 610.

По виконанні програми результат буде поміщений у HL.

LXI SP, 3000h; вказівку вершини стека.

LXI H, 1000h; адресу 1-го елемента => в HL.

LXI D, 1000h; завантаження лічильника в D, E.

XRA A; обнуління аккумулятора.

STA 2001h; обнуління лічильника кількості символов.

STA 2002h; обнуління лічильника кількості символов.

MVI B, 01h; код прогалини => в У LOOP:

MOV A, M; завантажити символ з осередки М в аккумулятор

CMP B; перевірка на код пробела.

JNZ COUNT; а то й збігається, перехід до COUNT, інакше — дальше.

INX H; адресу наступного символа.

DCX D; зменшити счетчик.

JZ EXIT; якщо лічильник = 0, на выход.

JMP LOOP; на початок циклу COUNT:

PUSH H; вивантажити вміст HL в стек.

LHLD 2001h; завантажити HL вмістом лічильника кількості символов.

INX H; збільшити лічильник на 1.

SHLD 2001h; зберегти лічильник кількості символів в 2001h, 2002h.

POP H; відновити у HL збережений адрес.

RET; повернення з підпрограми EXIT:

LHLD 2001h; завантажити HL вмістом лічильника кількості символов.

END.

Завдання № 4.

Скласти програму на Ассемблері, спрямовану влади на рішення математичної функції :

Z = lg (x+1).

Натуральний і десятковий логарифми однієї й тієї ж числа (у разі - висловлювання) пов’язані простим співвідношенням, що дозволяє переходити від однієї до іншого :

lg x = Mlnx, де M = 1/ln10 = 0,434 294 481 903 252… тобто., десятковий логарифм числа x = натуральному логарифму цього ж числа, помноженому на постійний множник M = 0,434 294 481 903 252…, званий модулем переходу від натуральних логарифмів до десятичным.

Відповідно до вищесказаним, lg (x+1) = 0,434 294 481 903 252…* ln (x+1).

Для обчислення ln (x+1) використовуємо розкладання до кількох :

ln (x+1) = x-x2/2+x3/3-x4/4+x5/5-x6/6+x7/7-x8/8+…

Через війну алгоритм рішення зводиться до чотирьох арифметичним діям: +; -; *; /.

Перед виконанням арифметичних дій над числами з плаваючою коми умовимося перше число безкоштовно розміщувати у регістрах EHL, друге — в регістрах DBC; результат операції залишати в EHL.

Формат уявлення чисел з плаваючою коми :

Де: P. S — знак числа (1-отрицательный, 0-положительный), P0… P7 — 8- бітний усунутий порядок, M1 … M15 — мантиса. Прихований біт цілої частини мантиси в нормализованных числах містить 1.

|1000h |X | |1001h | | |1003h | | |1003h |X2 | |1004h | | |1005h | | |1006h |X3 | |1007h | | |1008h | | |1009h |X4 | |100Ah | | |100Bh | | |100Ch |X5 | |100Dh | | |100Eh | | |100Fh |X6 | |1010h | | |1011h | | |1012h |X7 | |1013h | | |1014h | | |1020h |Адреса | | |осередки з | | |поточним XN| |1021h | | |1022h |Поточний N |.

До початку обчислень число Х має бути розміщено у пам’яті за адресами 1000h-1002h. ;початок циклу обчислень CALC1:

LXI H, 1003h; збереження адреси першої ячейки.

SHLD 1020h; для зберігання XN.

CALL LOAD; Завантаження Х в EHL ;цикл обчислення XN CALC2:

CALL LOAD1 ;Завантаження Х в DBC.

CALL MULF; Множення чисел з плаваючою точкой.

MOV B, H; HL=>BC.

MOV C, L.

LHLD 1020h ;завантажити адресу осередки пам’яті для зберігання Хn.

MOV M, E ;Хn => в память.

INX H.

MOV M, B.

INX H.

MOV M, C.

INX H.

SHLD 1020h ;запам'ятати адресу осередки пам’яті наступного Хn.

MOV H, B ;BC=>HL.

MOV L, C.

LDA 1021h ;вміст осередки => в аккумулятор

CPI 15h ;якщо отримані все значення Хn,.

JZ CALC3 ;перехід на CALC3.

JMP CALC2 ;інакшев начало.

CALC3:

LXI H, 1022h ;

MVI M, 01h ;завантажити в осередок 1022h делитель.

LXI H, 1003h ;

SHLD 1020h ;вміст HL => на згадку про ;цикл обчислення XN/N CALC4:

MOV B, H; HL=>BC.

MOV C, L.

LHLD 1020h ;завантажити адресу осередки пам’яті для зберігання N.

MOV E, M ;Хn => в регистры.

INX H.

MOV B, M.

INX H.

MOV C, M.

SHLD 1020h ;запам'ятати адресу осередки пам’яті наступного Хn.

MOV H, B ;BC=>HL.

MOV L, C.

PUSH H ;

LXI H, 1022h ;N => в осередок С.

MOV C, M.

POP H ;

MVI D, 00h.

MVI B, 00h.

CALL DIVF; Розподіл чисел з плаваючою точкой.

MOV B, H; HL=>BC.

MOV C, L.

LHLD 1020h ;завантажити адресу осередки пам’яті для зберігання Хn/N.

DCX H ;

DCX H ;

MOV M, E ;Хn/N => в память.

INX H.

MOV M, B.

INX H.

MOV M, C.

INX H.

SHLD 1020h ;запам'ятати адресу осередки пам’яті наступного Хn/N.

MOV H, B ;BC=>HL.

MOV L, C.

PUSH H ;

LXI H, 1022h ;N => в осередок С.

MOV C, M ;прибуток N.

INR C.

MOV M, C.

POP H ;

LDA 1021h ;вміст осередки => в аккумулятор

CPI 15h ;якщо отримані все значення Хn,.

JZ CALC5 ;перехід на CALC5.

JMP CALC4 ;інакшев начало.

CALC5:

LXI H, 1003h ;

SHLD 1020h ;

; CALC6:

LHLD 1020h ;завантажити адресу осередки пам’яті для зберігання N.

MOV D, M ;Хn/N => в регістри D, B, C.

INX H.

MOV B, M.

INX H.

MOV C, M.

INX H.

SHLD 1020h ;запам'ятати адресу осередки пам’яті наступного Хn/N.

; ;обчислення ln (x+1) CALC7:

CALL LOAD; Завантаження Х в EHL.

CALL SUBF; Віднімання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

CALL ADDF; Складання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

CALL SUBF; Віднімання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

CALL ADDF; Складання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

CALL SUBF; Віднімання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

CALL ADDF; Складання чисел з плаваючою точкой.

CALL CALC8; завантаження Хn+1/N+1 в регістри D, B, C.

MVI D, 00h; завантаження модуля пере;

MVI B, 2Bh; ходу в DBC.

MVI C, 2Bh.

CALL MULF; Множення ln (x+1) на модуль початку lg.

JMP EXIT; на выход.

; ;завантаження Хn+1/N+1 в регістри D, B, C. CALC8:

PUSH H.

LHLD 1020h ;завантажити адресу осередки пам’яті для зберігання N.

MOV D, M ;Хn/N => в регістри D, B, C.

INX H.

MOV B, M.

INX H.

MOV C, M.

INX H.

SHLD 1020h ;запам'ятати адресу осередки пам’яті наступного Хn/N.

POP H ;

RET ;

; EXIT:

HLT; Останов.

;

;

; ;Завантаження Х в EHL LOAD:

LXI H, 1000h ;завантаження в HL адреси порядку Х.

MOV E, M ;завантаження порядку Х в Е.

LHLD 1001h ;завантаження мантиси в HL.

RET ;

;Загрузка Х в DBC LOAD1:

PUSH H ;вивантаження в стік HL.

LXI H, 1000h ;завантаження в HL адреси порядку Х.

MOV D, M ;завантаження порядку Х в D.

INX H ;

MOV B, M ;

INX H ;

MOV C, M ;завантаження мантиси в BC.

POP H ;завантаження з стека HL.

RET ;

;Образование додаткового коду вересня регістрі HL comp: mov A, H ;

CMA ;

MOV H, A ;

MOV A, L ;

CMA ;

MOV L, A ;

INX H ;

RET ;

;Проверка знака й освіту додаткового коду NEG:

MOV A, E ;

ORA E ;

JP NOTDK ;

CALL COMP; Освіта додаткового коду вересня регістрі HL NOTDK: RET ;

;Сдвиг вмісту HL вправо на 1 біт: SHIFT:

MOV A, H ;

RAR ;

MOV H, A ;

MOV A, L ;

RAR ;

MOV L, A ;

RET ;

;Обмен вмісту регістрів EHL і DBC SWAP:

PUSH B ;

XTHL ;

POP B ;

MOV A, D ;

MOV D, E ;

MOV E, A ;

RET ;

;Восстановление числа з плаваючою точкою REC:

MOV A, H ;

ADD A ;

MOV A, E ;

RAL ;

MOV E, A ;

MOV A, H ;

ORI 80H ;

MOV H, A ;

RET ;

;Преобразование вересня стандартний формат PACK:

LDA SIGN ;

ADD A ;

MOV A, E ;

MOV D, A ;

RAR ;

MOV E, A ;

MOV A, H ;

ANI 7FH ;

MOV H, A ;

MOV A, D ;

RRC ;

ANI 80H ;

ORA H ;

MOV H, A ;

RET ;

;Сложение чисел з плаваючою точкою ADDF:

MOV A, D ;

XRA E ;

JP ADDF1 ;

MOV A, D ;

XRI 80H ;

MOV D, A ;

JMP SUBF ;

; ADDF1:

MOV A, D ;

ORA B ;

ORA З ;

JZ ADDF8 ;

MOV A, E ;

ORA H ;

ORA L ;

JNZ ADDF2 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

JMP ADDF8 ;

; ADDF2:

MOV A, D ;

STA SIGN ;

CALL REC ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

CALL REC; Відновлення числа з плаваючою точкой.

;

MOV A, E ;

SUB D ;

JNC ADDF3 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

MOV A, E ;

SUB D ;

;; У EHL більше, в акумуляторі різницю потенціалів ADDF3:

JZ ADDF6 ;

CPI 16 ;

JC ADDF4 ;

JMP ADDF7 ;

; ;Можна зрушувати мантиссу меншої кількості ADDF4:

MOV E, A ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC ADDF5:

ORA A ;

CALL SHIFT; Зрушення вмісту HL вправо на 1 бит:

INR E ;

DCR D ;

JNZ ADDF5 ;

; ;У регістрі Є загальний порядок. Можна складати мантиси ADDF6:

DAD B ;

JNC ADDF7 ;

INR E ;

JZ ADDF8 ;

ORA A ;

CALL SHIFT; Зрушення вмісту HL вправо на 1 бит:

; ADDF7:

CALL PACK; Перетворення вересня стандартний формат.

; ADDF8:

RET ;

;

;Вычитание чисел з плаваючою точкою SUBF:

MOV A, D ;

XRA E ;

JP SUBF1 ;

MOV A, D ;

XRI 80H ;

MOV D, A ;

JMP ADDF; Складання чисел з плаваючою точкою SUBF1:

MOV A, D ;

ORA B ;

ORA З ;

JZ SUBFA ;

MOV A, E ;

ORA H ;

ORA L ;

JNZ SUBF2 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

MOV A, E ;

XRI 80H ;

MOV E, A ;

JMP SUBFA; SUBF2:

MOV A, E ;

STA SIGN ;

CALL REC; Відновлення числа з плаваючою точкой.

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

CALL REC; Відновлення числа з плаваючою точкой.

MOV A, D ;

SUB E ;

JNZ SUBF3 ;

MOV A, B ;

CMP H ;

JNZ SUBF3 ;

MOV A, C ;

CMP L ;

JNZ SUBF3 ;

MVI E, 0 ;

LXI H, 0 ;

JMP SUBFA ;

; ;операнды нерівні, необхідно вичитати SUBF3:

JNC SUBF4 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

LDA SIGN ;

XRI 80H ;

STA SIGN ;

; SUBF4:

MOV A, D ;

SUB E ;

JZ SUBF7 ;

CPI 16 ;

JC SUBF5 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

JMP SUBF ;

; ;У регістрі А різницю порядків, в DBC більший операнд SUBF5:

MOV E, A; SUBF6:

ORA A ;

CALL SHIFT; Зрушення вмісту HL вправо на 1 бит:

DCR E ;

JNZ SUBF6 ;

; ;Відняти мантиси, результат в EHL SUBF7:

MOV A, C ;

SUB L ;

MOV L, A ;

MOV A, B ;

SBB H ;

MOV H, A ;

MOV E, D ;

; ;нормалізувати і перевірити антипереполнение SUBF8:

MOV A, H ;

ORA H ;

JM SUBF9 ;

DCR E ;

MOV A, E ;

CPI 0FFH ;

STC ;

JZ SUBFA ;

DAD H ;

JMP SUBF8 ;

; SUBF9:

CALL PACK; Перетворення вересня стандартний формат SUBFA:

RET ;

; ;Множення чисел з плаваючою точкою MULF:

MOV A, E ;

ORA H ;

ORA L ;

JZ MULF8 ;

MOV A, D ;

ORA B ;

ORA З ;

JNZ MULF1 ;

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

JMP MULF8 ;

; ;операнды ненульові, можна множити MULF1:

MOV A, D ;

XRA E ;

STA SIGN ;

CALL REC; Відновлення числа з плаваючою точкой.

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

CALL REC; Відновлення числа з плаваючою точкой.

MOV A, D ;

ADD E ;

JC MULF2 ;

SUI 127 ;

JNC MULF3 ;

JMP MULF8 ;

; MULF2:

ADI 129 ;

JNC MULF3 ;

JMP MULF8 ;

; ;в акумуляторі А усунутий порядок твори MULF3:

MOV C, A ;

MOV E, B ;

MVI D, 0 ;

MOV A, H ;

LXI H, 0 ;

XCHG ;

DAD H ;

XCHG ;

; ;початок циклу множення MULF4:

ORA A ;

RAR ;

JNC MULF5 ;

DAD D ;

; MULF5:

JZ MULF6 ;

XCHG ;

DAD H ;

XHG ;

JMP MULF4 ;

; ;перевірити порушення нормалізації MULF6:

JNC MULF7 ;

CALL SHIFT; Зрушення вмісту HL вправо на 1 бит:

INR З ;

STC ;

JZ MULF8 ;

; MULF7:

MOV E, C ;

CALL PACK; Перетворення вересня стандартний формат.

; MULF8:

RET ;

; ;Розподіл чисел з плаваючою точкою DIVF:

MOV A, E ;

ORA H ;

ORA L ;

JZ DIVF7 ;

MOV A, D ;

ORA B ;

ORA З ;

STC ;

JZ DIVF7; ;операнды нерівні нулю.

MOV A, D ;

XRA E ;

STA SIGN ;

CALL REC; Відновлення числа з плаваючою точкой.

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

CALL REC; Відновлення числа з плаваючою точкой.

CALL SWAP; Обмін вмісту регістрів EHL і DBC.

MOV A, E ;

SUB D ;

JNC DIVF1 ;

ADI 127 ;

CMC ;

JC DIVF7; возикло антипереполнение.

JMP DIVF2; перейти на розподіл мантисс.

; DIVF1:

ADI 127; додати смещение.

JC DIVF7; виникло антипереполнение.

; ;можна починати розподіл мантисс DIVF2:

STA EXP ;

XCHG ;

LXI H, 0 ;

MVI A, 16; форматувати счетчик.

PUSH PSW ;

JMP DIVF4; ввійти у цикл деления.

; DIVF3:

PUSH PSW ;

DAD H; зрушити влево.

XCHG; приватне і остаток.

DAD H ;

XCHG ;

; DIVF4:

PUSH D; зберегти остаок в стеке.

MOV A, E; відняти дільник з остатка.

SUB З ;

MOV E, A ;

MOV A, D ;

SBB B ;

MOV D, A ;

JC DIVF5 ;

POP PSW; видалити залишок з стека.

INR L ;

PUSH D ;

; DIVF5:

POP D; витягти попередній остаток.

POP PSW; витягти счетчик.

DCR A; зменшення счетчика.

JNZ DIVF3; повторити цикл деления.

; розподіл мантисс закончено.

LDA EXP ;

MOV E, A ;

; нормалізувати частное.

MOV A, H ;

ORA A ;

JM DIVF6 ;

DAD H ;

DCR E ;

CPI 0FFH; перевірити антипереполнение.

STC ;

JZ DIVF7; виникло антипереполнение.

; DIVF6:

CALL PACK; Перетворення вересня стандартний формат DIVF7:

RET ;

;

Контрольна робота № 3.

Завдання № 1.

Побудувати модель розподілу адресного простору із зазначенням діапазонів адрес в 16-ї системі числення. Як дешифратора адрес використовується стандартний дешифратор, до інформаційним входам якого підключені лінії А15, А12, А9 16-разрядной шини адреса.

|Выходы|Разряды адреси |Діапазони адрес | |дешиф-| | | |ратора| | | | |1|1|1|1|1|1|9|8|7|6|5|4|3|2|1|0| | | |5|4|3|2|1|0| | | | | | | | | | | | |Y0 |0|X|X|0|X|X|0|X|X|X|X|X|X|X|X|X|0000h-01FFh, 0400h-05FFh, | | | | | | | | | | | | | | | | | | |0800h-0DFFh | | | | | | | | | | | | | | | | | | |2000h-21FFh, 2400h-25FFh, | | | | | | | | | | | | | | | | | | |2800h-2DFFh | | | | | | | | | | | | | | | | | | |4000h-41FFh, 4400h-45FFh, | | | | | | | | | | | | | | | | | | |4800h-4DFFh | | | | | | | | | | | | | | | | | | |6000h-61FFh, 6400h-65FFh, | | | | | | | | | | | | | | | | | | |6800h-6DFFh | |Y1 |0|X|X|0|X|X|1|X|X|X|X|X|X|X|X|X|0200h-03FFh, 0600h-07FFh, | | | | | | | | | | | | | | | | | | |0A00h-0FFFh | | | | | | | | | | | | | | | | | | |2200h-23FFh, 2600h-27FFh, | | | | | | | | | | | | | | | | | | |2A00h-2FFFh | | | | | | | | | | | | | | | | | | |4200h-43FFh, 4600h-47FFh, | | | | | | | | | | | | | | | | | | |4A00h-4FFFh | | | | | | | | | | | | | | | | | | |6200h-63FFh, 6600h-67FFh, | | | | | | | | | | | | | | | | | | |6A00h-6FFFh | |Y2 |0|X|X|1|X|X|0|X|X|X|X|X|X|X|X|X|1000h-11FFh, 1400h-15FFh, | | | | | | | | | | | | | | | | | | |1800h-1DFFh | | | | | | | | | | | | | | | | | | |3000h-31FFh, 3400h-35FFh, | | | | | | | | | | | | | | | | | | |3800h-3DFFh | | | | | | | | | | | | | | | | | | |5000h-51FFh, 5400h-55FFh, | | | | | | | | | | | | | | | | | | |5800h-5DFFh | | | | | | | | | | | | | | | | | | |7000h-71FFh, 7400h-75FFh, | | | | | | | | | | | | | | | | | | |7800h-7DFFh | |Y3 |0|X|X|1|X|X|1|X|X|X|X|X|X|X|X|X|1200h-13FFh, 1600h-17FFh, | | | | | | | | | | | | | | | | | | |1A00h-1FFFh | | | | | | | | | | | | | | | | | | |3200h-33FFh, 3600h-37FFh, | | | | | | | | | | | | | | | | | | |3A00h-3FFFh | | | | | | | | | | | | | | | | | | |5200h-53FFh, 5600h-57FFh, | | | | | | | | | | | | | | | | | | |5A00h-5FFFh | | | | | | | | | | | | | | | | | | |7200h-73FFh, 7600h-77FFh, | | | | | | | | | | | | | | | | | | |7A00h-7FFFh | |Y4 |1|X|X|0|X|X|0|X|X|X|X|X|X|X|X|X|8000h-81FFh, 8400h-85FFh, | | | | | | | | | | | | | | | | | | |8800h-8DFFh | | | | | | | | | | | | | | | | | | |A000h-A1FFh, A400h-A5FFh, | | | | | | | | | | | | | | | | | | |A800h-ADFFh | | | | | | | | | | | | | | | | | | |C000h-C1FFh, C400h-C5FFh, | | | | | | | | | | | | | | | | | | |C800h-CDFFh | | | | | | | | | | | | | | | | | | |E000h-E1FFh, E400h-E5FFh, | | | | | | | | | | | | | | | | | | |E800h-EDFFh | |Y5 |1|X|X|0|X|X|1|X|X|X|X|X|X|X|X|X|8200h-83FFh, 8600h-87FFh, | | | | | | | | | | | | | | | | | | |8A00h-8FFFh | | | | | | | | | | | | | | | | | | |A200h-A3FFh, A600h-A7FFh, | | | | | | | | | | | | | | | | | | |AA00h-AFFFh | | | | | | | | | | | | | | | | | | |C200h-C3FFh, C600h-C7FFh, | | | | | | | | | | | | | | | | | | |CA00h-CFFFh | | | | | | | | | | | | | | | | | | |E200h-E3FFh, E600h-E7FFh, | | | | | | | | | | | | | | | | | | |EA00h-EFFFh | |Y6 |1|X|X|1|X|X|0|X|X|X|X|X|X|X|X|X|9000h-91FFh, 9400h-95FFh, | | | | | | | | | | | | | | | | | | |9800h-9DFFh | | | | | | | | | | | | | | | | | | |B000h-B1FFh, B400h-B5FFh, | | | | | | | | | | | | | | | | | | |B800h-BDFFh | | | | | | | | | | | | | | | | | | |D000h-D1FFh, D400h-D5FFh, | | | | | | | | | | | | | | | | | | |D800h-DDFFh | | | | | | | | | | | | | | | | | | |F000h-F1FFh, F400h-F5FFh, | | | | | | | | | | | | | | | | | | |F800h-FDFFh | |Y7 |1|X|X|1|X|X|1|X|X|X|X|X|X|X|X|X|9200h-93FFh, 9600h-97FFh, | | | | | | | | | | | | | | | | | | |9A00h-9FFFh | | | | | | | | | | | | | | | | | | |B200h-B3FFh, B600h-B7FFh, | | | | | | | | | | | | | | | | | | |BA00h-BFFFh | | | | | | | | | | | | | | | | | | |D200h-D3FFh, D600h-D7FFh, | | | | | | | | | | | | | | | | | | |DA00h-DFFFh | | | | | | | | | | | | | | | | | | |F200h-F3FFh, F600h-F7FFh, | | | | | | | | | | | | | | | | | | |FA00h-FFFFh |.

У результаті адресне простір площею 64 Кбайт розбите на діапазони для 8 пристроїв. У кожному діапазоні виділено 8 ділянок по 512 байт і 4 ділянки по 1536 байт.

Завдання № 2.

Потрібна виділити зони адресного простору розміщувати у яких адрес для пристроїв, вказаних у таблиці. Як адресного дешифратора використовується ПЗУ. Побудувати схеми виділення відповідних блоків адрес і таблицю діапазонів адресов.

|Наименование |Діапазон |Ємність | |устрою |адрес |(Кбайт) | |ПЗУ1 |0000h-03FFh |1 | |ОЗУ1 |0400h-0BFFh |2 | |УВВ1 |2000h-2FFFh |4 | |ПЗУ2 |3000h-4FFFh |8 | |ОЗУ2 |5000h-6FFFh |8 | |УВВ2 |8000h-FFFFh |32 |.

Оскільки найменший блок має розмір 1К осередків, то що дозволяє здатність дешифратора мають забезпечувати розподіл адресного простору з точністю до зон розміром 1К осередків. Аналізуючи шість старших розрядів адреси, отримуємо необхідну точність, оскільки воно ділить все адресне простір обьемом 64К осередків на 26 = 64 частини по 1К осередків, як і требуется.

Вибираємо в основі ПЗУ з десятьма адресними входами 2716 (К573РФ2), має структуру 2К*8 біт. Виходи 00 — 05 цього ПЗУ підключаємо до инверсным входам вибору кристала соответсвующих микросхем.

Розробляємо прошивання ПЗУ.

|Устройство|Диапазон |Адресні входи |Виходи | | |адрес | | | | | |A5 |A4 |A3 |A2 |A1 |A0 |0 1 2 3 4 5 | |ROM 1 |0000h-03FFh |0 |0 |0 |0 |0 |0 |0 1 1 1 1 1 | |RAM 1 |0400h-07FFh |0 |0 |0 |0 |0 |1 |1 0 1 1 1 1 | | |0800h-0BFFh |0 |0 |0 |0 |1 |0 |1 0 1 1 1 1 | |- |0C00h-0FFFh |0 |0 |0 |0 |1 |1 |1 1 1 1 1 1 | | |1000h-13FFh |0 |0 |0 |1 |0 |0 |1 1 1 1 1 1 | | |1400h-17FFh |0 |0 |0 |1 |0 |1 |1 1 1 1 1 1 | | |1800h-1BFFh |0 |0 |0 |1 |1 |0 |1 1 1 1 1 1 | | |1C00h-1FFFh |0 |0 |0 |1 |1 |1 |1 1 1 1 1 1 | |IN-OUT 1 |2000h-23FFh |0 |0 |1 |0 |0 |0 |1 1 0 1 1 1 | | |2400h-27FFh |0 |0 |1 |0 |0 |1 |1 1 0 1 1 1 | | |2800h-2BFFh |0 |0 |1 |0 |1 |0 |1 1 0 1 1 1 | | |2C00h-2FFFh |0 |0 |1 |0 |1 |1 |1 1 1 1 1 1 | |ROM 2 |3000h-33FFh |0 |0 |1 |1 |0 |0 |1 1 1 1 1 1 | | |3400h-37FFh |0 |0 |1 |1 |0 |1 |1 1 1 1 1 1 | | |3800h-3BFFh |0 |0 |1 |1 |1 |0 |1 1 1 1 1 1 | | |3C00h-3FFFh |0 |0 |1 |1 |1 |1 |1 1 1 1 1 1 | | |4000h-43FFh |0 |1 |0 |0 |0 |0 |1 1 1 1 1 1 | | |4400h-47FFh |0 |1 |0 |0 |0 |1 |1 1 1 1 1 1 | | |4800h-4BFFh |0 |1 |0 |0 |1 |0 |1 1 1 1 1 1 | | |4C00h-4FFFh |0 |1 |0 |0 |1 |1 |1 1 1 1 1 1 | |RAM 2 |5000h-53FFh |0 |1 |0 |1 |0 |0 |1 1 1 1 1 1 | | |5400h-57FFh |0 |1 |0 |1 |0 |1 |1 1 1 1 1 1 | | |5800h-5BFFh |0 |1 |0 |1 |1 |0 |1 1 1 1 1 1 | | |5C00h-5FFFh |0 |1 |0 |1 |1 |1 |1 1 1 1 1 1 | | |6000h-63FFh |0 |1 |1 |0 |0 |0 |1 1 1 1 1 1 | | |6400h-67FFh |0 |1 |1 |0 |0 |1 |1 1 1 1 1 1 | | |6800h-6BFFh |0 |1 |1 |0 |1 |0 |1 1 1 1 1 1 | | |6C00h-6FFFh |0 |1 |1 |0 |1 |1 |1 1 1 1 1 1 | |- |7000h-73FFh |0 |1 |1 |1 |0 |0 |1 1 1 1 1 1 | | |7400h-77FFh |0 |1 |1 |1 |0 |1 |1 1 1 1 1 1 | | |7800h-7BFFh |0 |1 |1 |1 |1 |0 |1 1 1 1 1 1 | | |7C00h-7FFFh |0 |1 |1 |1 |1 |1 |1 1 1 1 1 1 | |Устройство|Диапазон |Адресні входи |Виходи | | |адрес | | | | | |A5 |A4 |A3 |A2 |A1 |A0 |0 1 2 3 4 5 | |IN-OUT 2 |8000h-83FFh |1 |0 |0 |0 |0 |0 |1 1 1 1 1 1 | | |8400h-87FFh |1 |0 |0 |0 |0 |1 |1 1 1 1 1 1 | | |8800h-8BFFh |1 |0 |0 |0 |1 |0 |1 1 1 1 1 1 | | |8C00h-8FFFh |1 |0 |0 |0 |1 |1 |1 1 1 1 1 1 | | |9000h-93FFh |1 |0 |0 |1 |0 |0 |1 1 1 1 1 1 | | |9400h-97FFh |1 |0 |0 |1 |0 |1 |1 1 1 1 1 1 | | |9800h-9BFFh |1 |0 |0 |1 |1 |0 |1 1 1 1 1 1 | | |9C00h-9FFFh |1 |0 |0 |1 |1 |1 |1 1 1 1 1 1 | | |A000h-A3FFh |1 |0 |1 |0 |0 |0 |1 1 1 1 1 1 | | |A400h-A7FFh |1 |0 |1 |0 |0 |1 |1 1 1 1 1 1 | | |A800h-ABFFh |1 |0 |1 |0 |1 |0 |1 1 1 1 1 1 | | |AC00h-AFFFh |1 |0 |1 |0 |1 |1 |1 1 1 1 1 1 | | |B000h-B3FFh |1 |0 |1 |1 |0 |0 |1 1 1 1 1 1 | | |B400h-B7FFh |1 |0 |1 |1 |0 |1 |1 1 1 1 1 1 | | |B800h-BBFFh |1 |0 |1 |1 |1 |0 |1 1 1 1 1 1 | | |BC00h-BFFFh |1 |0 |1 |1 |1 |1 |1 1 1 1 1 1 | | |C000h-C3FFh |1 |1 |0 |0 |0 |0 |1 1 1 1 1 1 | | |C400h-C7FFh |1 |1 |0 |0 |0 |1 |1 1 1 1 1 1 | | |C800h-CBFFh |1 |1 |0 |0 |1 |0 |1 1 1 1 1 1 | | |CC00h-CFFFh |1 |1 |0 |0 |1 |1 |1 1 1 1 1 1 | | |D000h-D3FFh |1 |1 |0 |1 |0 |0 |1 1 1 1 1 1 | | |D400h-D7FFh |1 |1 |0 |1 |0 |1 |1 1 1 1 1 1 | | |D800h-DBFFh |1 |1 |0 |1 |1 |0 |1 1 1 1 1 1 | | |DC00h-DFFFh |1 |1 |0 |1 |1 |1 |1 1 1 1 1 1 | | |E000h-E3FFh |1 |1 |1 |0 |0 |0 |1 1 1 1 1 1 | | |E400h-E7FFh |1 |1 |1 |0 |0 |1 |1 1 1 1 1 1 | | |E800h-EBFFh |1 |1 |1 |0 |1 |0 |1 1 1 1 1 1 | | |EC00h-EFFFh |1 |1 |1 |0 |1 |1 |1 1 1 1 1 1 | | |F000h-F3FFh |1 |1 |1 |1 |0 |0 |1 1 1 1 1 1 | | |F400h-F7FFh |1 |1 |1 |1 |0 |1 |1 1 1 1 1 1 | | |F800h-FBFFh |1 |1 |1 |1 |1 |0 |1 1 1 1 1 1 | | |FC00h-FFFFh |1 |1 |1 |1 |1 |1 |1 1 1 1 1 1 |.

Схема дешифратора :

Карта пам’яті :

| |3FFh |7FFh |BFFh |FFFh | | |0000h |ROM 1 |RAM 1 |- |0FFFh | |1000h |- |1FFFh | |2000h |IN-OUT 1 |2FFFh | |3000h |ROM 2 |3FFFh | |4000h | |4FFFh | |5000h |RAM 2 |5FFFh | |6000h | |6FFFh | |7000h |- |7FFFh | |8000h |IN-OUT 2 |8FFFh | |9000h | |9FFFh | |A000h | |AFFFh | |B000h | |BFFFh | |C000h | |CFFFh | |D000h | |DFFFh | |E000h | |EFFFh | |F000h | |FFFFh | | |000h |400h |800h |C00h | |.

Завдання № 3.

Розділити адресне простір 64 кілобайта на 18 рівних частин. У ролі дешифратора адреси використовується ПЛМ. Розбивка адресного простору показати як схеми і таблицы.

Розмір частині 65 536 / 18 = 3640 байт. Т.к. 3640 * 18 = 65 520, останні 16 осередків ні использоваться.

Зробимо розбивка 3640 байт до дільниць 2N :

3640 = 2048 + 1024 + 512 + 32 + 16 + 8.

Через війну одержимо 6 областей пам’яті по 18 ділянок у кожному :

0000h-8FFFh (ділянки розміром 2048).

9000h-D7FFh (ділянки розміром 1024).

D800h-FBFFh (ділянки розміром 512).

FC00h-FE3Fh (ділянки розміром 32).

FE40h-FF5Fh (ділянки розміром 16).

FF60h-FFEFh (ділянки розміром 8).

Прошивання ПЛМ 1.

|Область |Діапазон |Розряди адреси | | |адрес | | | | |1 |1 |1 |1 |1 |1 |9 |8 |7 |6 |5 |4 |3 |2 |1 |0 | | | |5 |4 |3 |2 |1 |0 | | | | | | | | | | | |1 |0000h-07FFh|0 |0 |0 |0 |0 |X |X |X |X |X |X |X |X |X |X |X | | |9000h-93FFh|1 |0 |0 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |D800h-D9FFh|1 |1 |0 |1 |1 |0 |0 |X |X |X |X |X |X |X |X |X | | |FC00h-FC1Fh|1 |1 |1 |1 |1 |1 |0 |0 |0 |0 |0 |X |X |X |X |X | | |FE40h-FE4Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |0 |0 |X |X |X |X | | |FF60h-FF67h|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |0 |X |X |X | |2 |0800h-0FFFh|0 |0 |0 |0 |1 |X |X |X |X |X |X |X |X |X |X |X | | |9400h-97FFh|1 |0 |0 |1 |0 |1 |X |X |X |X |X |X |X |X |X |X | | |DA00h-DBFFh|1 |1 |0 |1 |1 |0 |1 |X |X |X |X |X |X |X |X |X | | |FC20h-FC3Fh|1 |1 |1 |1 |1 |1 |0 |0 |0 |0 |1 |X |X |X |X |X | | |FE50h-FE5Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |0 |0 |X |X |X |X | | |FF68h-FF6Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |1 |X |X |X | |3 |1000h-17FFh|0 |0 |0 |1 |0 |X |X |X |X |X |X |X |X |X |X |X | | |9800h-9BFFh|1 |0 |0 |1 |1 |0 |X |X |X |X |X |X |X |X |X |X | | |DC00h-DDFFh|1 |1 |0 |1 |1 |1 |0 |X |X |X |X |X |X |X |X |X | | |FC40h-FC5Fh|1 |1 |1 |1 |1 |1 |0 |0 |0 |1 |0 |X |X |X |X |X | | |FE60h-FE6Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |1 |0 |X |X |X |X | | |FF70h-FF77h|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |0 |X |X |X | |4 |1800h-1FFFh|0 |0 |0 |1 |1 |X |X |X |X |X |X |X |X |X |X |X | | |9C00h-9FFFh|1 |0 |0 |1 |1 |1 |X |X |X |X |X |X |X |X |X |X | | |DE00h-DFFFh|1 |1 |0 |1 |1 |1 |1 |X |X |X |X |X |X |X |X |X | | |FC60h-FC7Fh|1 |1 |1 |1 |1 |1 |0 |0 |0 |1 |1 |X |X |X |X |X | | |FE70h-FE7Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |1 |1 |X |X |X |X | | |FF78h-FF7Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |0 |X |X |X | |5 |2000h-27FFh|0 |0 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X |X | | |A000h-A3FFh|1 |0 |1 |0 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |E000h-E1FFh|1 |1 |1 |0 |0 |1 |0 |X |X |X |X |X |X |X |X |X | | |FC80h-FC9Fh|1 |1 |1 |1 |1 |1 |0 |0 |1 |0 |0 |X |X |X |X |X | | |FE80h-FE8Fh|1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |0 |0 |X |X |X |X | | |FF80h-FF87h|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |0 |X |X |X | |6 |2800h-2FFFh|0 |0 |1 |0 |1 |X |X |X |X |X |X |X |X |X |X |X | | |A400h-A7FFh|1 |0 |1 |0 |0 |1 |X |X |X |X |X |X |X |X |X |X | | |E200h-E3FFh|1 |1 |1 |0 |0 |0 |1 |X |X |X |X |X |X |X |X |X | | |FCA0h-FCBFh|1 |1 |1 |1 |1 |1 |0 |0 |1 |0 |1 |X |X |X |X |X | | |FE90h-FE9Fh|1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |0 |1 |X |X |X |X | | |FF88h-FF8Fh|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |1 |X |X |X | |7 |3000h-37FFh|0 |0 |1 |1 |0 |X |X |X |X |X |X |X |X |X |X |X | | |A800h-ABFFh|1 |0 |1 |0 |1 |0 |X |X |X |X |X |X |X |X |X |X | | |E400h-E5FFh|1 |1 |1 |0 |0 |1 |0 |X |X |X |X |X |X |X |X |X | | |FCC0h-FCDFh|1 |1 |1 |1 |1 |1 |0 |0 |1 |1 |0 |X |X |X |X |X | | |FEA0h-FEAFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |0 |X |X |X |X | | |FF90h-FF97h|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |X |X |X |X | |8 |3800h-3FFFh|0 |0 |1 |1 |1 |X |X |X |X |X |X |X |X |X |X |X | | |AC00h-AFFFh|1 |0 |1 |0 |1 |1 |X |X |X |X |X |X |X |X |X |X | | |E600h-E7FFh|1 |1 |1 |0 |0 |1 |1 |X |X |X |X |X |X |X |X |X | | |FCEOh-FCFFh|1 |1 |1 |1 |1 |1 |0 |0 |1 |1 |1 |X |X |X |X |X | | |FEB0h-FEBFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |1 |X |X |X |X | | |FF98h-FF9Fh|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |X |X |X |X | |9 |4000h-47FFh|1 |0 |1 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |B000h-B3FFh|1 |0 |1 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |E800h-E9FFh|1 |1 |1 |0 |1 |0 |0 |X |X |X |X |X |X |X |X |X | | |FD00h-FD1Fh|1 |1 |1 |1 |1 |1 |0 |1 |0 |0 |0 |X |X |X |X |X | | |FEC0h-FECFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |0 |X |X |X |X | | |FFA0h-FFA7h|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |X |X |X |X |.

Прошивання ПЛМ 2.

|Область |Діапазон |Розряди адреси | | |адрес | | | | |1 |1 |1 |1 |1 |1 |9 |8 |7 |6 |5 |4 |3 |2 |1 |0 | | | |5 |4 |3 |2 |1 |0 | | | | | | | | | | | |10 |4800h-4FFFh|0 |1 |0 |0 |1 |X |X |X |X |X |X |X |X |X |X |X | | |B400h-B7FFh|1 |0 |1 |1 |0 |1 |X |X |X |X |X |X |X |X |X |X | | |EA00h-EBFFh|1 |1 |1 |0 |1 |0 |1 |X |X |X |X |X |X |X |X |X | | |FD20h-FD3Fh|1 |1 |1 |1 |1 |1 |0 |1 |0 |0 |1 |X |X |X |X |X | | |FED0h-FEDFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |1 |X |X |X |X | | |FFA8h-FFAFh|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |X |X |X | |11 |5000h-57FFh|0 |1 |0 |1 |1 |X |X |X |X |X |X |X |X |X |X |X | | |B800h-BBFFh|1 |0 |1 |1 |1 |0 |X |X |X |X |X |X |X |X |X |X | | |EC00h-EDFFh|1 |1 |1 |0 |1 |1 |0 |X |X |X |X |X |X |X |X |X | | |FD40h-FD5Fh|1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |0 |X |X |X |X |X | | |FEE0h-FEEFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |0 |X |X |X |X | | |FFB0h-FFB7h|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |X |X |X | |12 |5800h-5FFFh|0 |1 |0 |1 |0 |X |X |X |X |X |X |X |X |X |X |X | | |BC00h-BFFFh|1 |0 |1 |1 |1 |1 |X |X |X |X |X |X |X |X |X |X | | |EE00h-EFFFh|1 |1 |1 |0 |1 |1 |1 |X |X |X |X |X |X |X |X |X | | |FD60h-FD7Fh|1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |1 |X |X |X |X |X | | |FEF0h-FEFFh|1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |1 |X |X |X |X | | |FFB8h-FFBFh|1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |X |X |X | |13 |6000h-67FFh|0 |1 |1 |0 |1 |X |X |X |X |X |X |X |X |X |X |X | | |C000h-C3FFh|1 |1 |0 |0 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |F000h-F1FFh|1 |1 |1 |1 |0 |0 |0 |X |X |X |X |X |X |X |X |X | | |FD80h-FD9Fh|1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |0 |X |X |X |X |X | | |FF00h-FFOFh|1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |0 |X |X |X |X | | |FFC0h-FFC7h|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |X |X |X | |14 |6800h-6FFFh|0 |1 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X |X | | |C400h-C7FFh|1 |1 |0 |0 |0 |1 |X |X |X |X |X |X |X |X |X |X | | |F200h-F3FFh|1 |1 |1 |1 |0 |0 |1 |X |X |X |X |X |X |X |X |X | | |FDA0h-FDBFh|1 |1 |1 |1 |1 |1 |0 |1 |1 |0 |1 |X |X |X |X |X | | |FF10h-FF1Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |1 |X |X |X |X | | |FFC8h-FFCFh|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |X |X |X | |15 |7000h-77FFh|0 |1 |1 |1 |1 |X |X |X |X |X |X |X |X |X |X |X | | |C800h-CBFFh|1 |1 |0 |0 |1 |0 |X |X |X |X |X |X |X |X |X |X | | |F400h-F5FFh|1 |1 |1 |1 |0 |1 |0 |X |X |X |X |X |X |X |X |X | | |FDC0h-FDDFh|1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |0 |X |X |X |X |X | | |FF20h-FF2Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |0 |X |X |X |X | | |FFD0h-FFD7h|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |X |X |X | |16 |7800h-7FFFh|0 |1 |1 |1 |0 |X |X |X |X |X |X |X |X |X |X |X | | |CC00h-CFFFh|1 |1 |0 |0 |1 |1 |X |X |X |X |X |X |X |X |X |X | | |F600h-F7FFh|1 |1 |1 |1 |0 |1 |1 |X |X |X |X |X |X |X |X |X | | |FDE0h-FDFFh|1 |1 |1 |1 |1 |1 |0 |1 |1 |1 |1 |X |X |X |X |X | | |FF30h-FF3Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |0 |1 |1 |X |X |X |X | | |FFD8h-FFDFh|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |X |X |X |X | |17 |8000h-87FFh|1 |0 |0 |0 |1 |X |X |X |X |X |X |X |X |X |X |X | | |D000h-D3FFh|1 |1 |0 |1 |0 |0 |X |X |X |X |X |X |X |X |X |X | | |F800h-F9FFh|1 |1 |1 |1 |1 |0 |0 |X |X |X |X |X |X |X |X |X | | |FE00h-FE1Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |0 |X |X |X |X |X | | |FF40h-FF4Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |0 |X |X |X |X | | |FFE0h-FFE7h|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |X |X |X |X | |18 |8800h-8FFFh|1 |0 |0 |0 |0 |X |X |X |X |X |X |X |X |X |X |X | | |D400h-D7FFh|1 |1 |0 |1 |0 |1 |X |X |X |X |X |X |X |X |X |X | | |FA00h-EBFFh|1 |1 |1 |1 |1 |0 |1 |X |X |X |X |X |X |X |X |X | | |FE20h-FE3Fh|1 |1 |1 |1 |1 |1 |1 |0 |0 |0 |1 |X |X |X |X |X | | |FF50h-FF5Fh|1 |1 |1 |1 |1 |1 |1 |1 |0 |1 |0 |1 |X |X |X |X | | |FFE8h-FFEFh|1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |1 |0 |X |X |X |X |.

Через війну отримана таблиця прошивки ПЛМ потреби ділити адресного простору 64 кБ на 18 несуцільних рівних частей.

З необхідної кількості творів (18 * 6 = 108) і кількості вихідних функцій (18), вибираємо як елементної бази випущену фірмою ADVANCED MICRO DEVICES мікросхему ПЛМ PLS30S16. Ця мікросхема дозволяє з допомогою мультиплексування чотирьох адресних входів з виходами мати від 12 до 17 входів і зажадав від 8 до 12 виходів при кількості творів до 64.

Аби вирішити поставленого завдання беремо дві ПЛМ, запараллеленные входи яких під'єднані до шині адреси, а виходи — до входам вибору кристала відповідних микросхем.

Технічні дані на ПЛМ PLS30S16 фірми AMD :

— IC MASTER/Windows ;

(Title) :PLD|BIP||OTPRC.

Section :PROGRAMMABLE LOGIC DEVICES.

CAT0 :PLD.

Category :Bipolar.

CAT1 :BIP.

MinorA :One-Time.

Programmable~Registered/Combinatorial Outputs.

CAT3 :OTPRC.

MDD Code: AMD.

Manufacturer «p.s Name: ADVANCED MICRO DEVICES.

Device Number: PLS30S16−40.

Disc :*93.

Date :10/26/92.

Oper :BAC.

Transcode :E.

RBASE :30S16.

MBase :PLS30S16.

Data Book: DATASHEET.

Propagation Delay (:40.

Maximum Clock (MHz):22.2.

Product Terms :64.

Flip-Flops :12.

Dedicated Inputs :12−17.

Bidirectional I/Os :8−12.

Standby Current (mA:225.

Active Current (mA):225.

Pins :28.

Has Image: N.

———————————- [pic].

Показати весь текст
Заповнити форму поточною роботою