Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Микропроцессорные средства и системы

Тип Реферат
Предмет Информатика и программирование
Просмотров
743
Размер файла
64 б
Поделиться

Ознакомительный фрагмент работы:

Микропроцессорные средства и системы

Контрольное задание, вариант № 7

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

Министерство Образования Украины

Кременчугский Государственный Политехнический Институт

Кременчуг 1998

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

Десятичная системаДвоичная системаШестнадцатеричная система
500004001015
3800010011026
930010111015D
175010101111AF
264100001000108

Задача № 2

Преобразовать числа, записанные в прямом двоичном коде в десятичный и шестнадцатеричный код : 0011 ; 1000010 ; 00011011000 .

Прямой двоичный кодДесятичный кодШестнадцатеричный код
0000000001133
000010000106642
00011011000216D8

Задача № 3

Выполнить следующие арифметические действия с двоичными числами, заданными в прямом коде : 0011 + 1000110 ; 10000001 - 1000110

+

0011

+

3

-

10000001

-

129
100011070100011070
1001001730011101159

Задача № 4

Выполнить следующее арифметическое действие в 8-ми разрядной сетке ( старший бит содержит знак числа ) : 5 х 25

х

0. 0011001

х

25
0.00001015
0011001
0000000
0011001
0.1111101125

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

Задача № 1

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

Для решения определим вначале кол-во ячеек памяти, адресуемых одним разрядом при 16- теричной системе адресации.

4-й разряд3-й разряд2-й разряд1-й разрядH
4096256161H

Таким образом, начальный и конечный адреса в десятичной системе будут :

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

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

61237 - 41198 = 20039.

20039 = 19 * 1024 + 583.

Итак, размер памяти будет 20039 байт или 19 кБ. 583 байт

Задача № 2

Символьная строка расположена в ОЗУ начиная с адреса 0006H. Известно, что под каждый символ отводится одна ячейка памяти. Число символов в строке = 731. Определить адрес для обращения к последнему символу строки.

Порядковый номер последней ячейки памяти в десятичной системе будет 731 + 6 = 737. Переведем 738 из десятичной системы в двоичную :

73710 = 0010111000012

Теперь переводим в 16 - теричную : 0010111000012 = 02E116

Ответ : адрес последнего символа 02E1H

Задача № 3

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

Подсчитать число символов в строке, расположенной в области начиная с адреса 1000H и заканчивая адресом 2000Hбез учета пробелов, если известно, что каждый символ занимает одну ячейку памяти и пробел кодируется как 01H.

Максимальное число символов в строке 2000h -1000h=1000h=409610

После выполнения программы результат будет помещен в HL.

LXISP,3000h ; указание вершины стека

LXIH,1000h ; адрес 1-го элемента => в HL

LXID,1000h ; загрузка счетчика в D,E

XRAA ; обнуление аккумулятора

STA 2001h ; обнуление счетчика количества символов

STA 2002h ; обнуление счетчика количества символов

MVIB,01h ; код пробела => в В

LOOP:

MOVA,M ; загрузить символ из ячейки М в аккумулятор

CMPB ; проверка на код пробела

JNZCOUNT ; если не совпадает, переход к COUNT, иначе - дальше

INXH ; адрес следующего символа

DCXD ; уменьшить счетчик

JZEXIT ; если счетчик = 0, на выход

JMPLOOP ; в начало цикла

COUNT:

PUSHH ; выгрузить содержимое HL в стек

LHLD 2001h ; загрузить HL содержимым счетчика количества символов

INXH ; увеличить счетчик на 1

SHLD 2001h ; сохранить счетчик количества символов в 2001h, 2002h

POPH ; восстановить в HL сохраненный адрес

RET ; возврат из подпрограммы

EXIT:

LHLD 2001h ; загрузить HL содержимым счетчика количества символов

END

Задача № 4

Составить программу на Ассемблере, направленную на решение математической функции :

Z = lg(x+1)

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

lgx = Mlnx , где M = 1/ln10 = 0,434294481903252…

т.е., десятичный логарифм числа x = натуральному логарифму этого же числа, умноженному на постоянный множитель M = 0,434294481903252…, называемый модулем перехода от натуральных логарифмов к десятичным.

В соответствии с вышесказанным, lg (x+1) = 0,434294481903252…* 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.

Формат представления чисел с плавающей запятой :

SPPPPPPPPMMMMMMMMMMMMMMM
76543210123456789101112131415
1-й байт2-й байт3-й байт

Где : S – знак числа ( 1-отрицательный, 0-положительный ), P0…P7 – 8-битный смещенный порядок, M1 … M15 – мантисса . Скрытый бит целой части мантиссы в нормализованных числах содержит 1

1000hX
1001h
1003h
1003hX2
1004h
1005h
1006hX3
1007h
1008h
1009hX4
100Ah
100Bh
100ChX5
100Dh
100Eh
100FhX6
1010h
1011h
1012hX7
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

MOVC,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

MOVL,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/NCALC4: 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

MOVC,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

MVIC,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 ; Останов

;

;

;

;Загрузка Х в EHLLOAD: 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 C ;

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 C ;

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 C ;

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 C ;

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 C ;

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 C ;

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-разрядной шины адреса.

Выходы дешиф-ратораРазряды адресаДиапазоны адресов
1514131211109876543210
Y00XX0XX0XXXXXXXXX

0000h-01FFh, 0400h-05FFh, 0800h-0DFFh

2000h-21FFh, 2400h-25FFh, 2800h-2DFFh

4000h-41FFh, 4400h-45FFh, 4800h-4DFFh

6000h-61FFh, 6400h-65FFh, 6800h-6DFFh

Y10XX0XX1XXXXXXXXX

0200h-03FFh, 0600h-07FFh, 0A00h-0FFFh

2200h-23FFh, 2600h-27FFh, 2A00h-2FFFh

4200h-43FFh, 4600h-47FFh, 4A00h-4FFFh

6200h-63FFh, 6600h-67FFh, 6A00h-6FFFh

Y20XX1XX0XXXXXXXXX

1000h-11FFh, 1400h-15FFh, 1800h-1DFFh

3000h-31FFh, 3400h-35FFh, 3800h-3DFFh

5000h-51FFh, 5400h-55FFh, 5800h-5DFFh

7000h-71FFh, 7400h-75FFh, 7800h-7DFFh

Y30XX1XX1XXXXXXXXX

1200h-13FFh, 1600h-17FFh, 1A00h-1FFFh

3200h-33FFh, 3600h-37FFh, 3A00h-3FFFh

5200h-53FFh, 5600h-57FFh, 5A00h-5FFFh

7200h-73FFh, 7600h-77FFh, 7A00h-7FFFh

Y41XX0XX0XXXXXXXXX

8000h-81FFh, 8400h-85FFh, 8800h-8DFFh

A000h-A1FFh, A400h-A5FFh, A800h-ADFFh

C000h-C1FFh, C400h-C5FFh, C800h-CDFFh

E000h-E1FFh, E400h-E5FFh, E800h-EDFFh

Y51XX0XX1XXXXXXXXX

8200h-83FFh, 8600h-87FFh, 8A00h-8FFFh

A200h-A3FFh, A600h-A7FFh, AA00h-AFFFh

C200h-C3FFh, C600h-C7FFh, CA00h-CFFFh

E200h-E3FFh, E600h-E7FFh, EA00h-EFFFh

Y61XX1XX0XXXXXXXXX

9000h-91FFh, 9400h-95FFh, 9800h-9DFFh

B000h-B1FFh, B400h-B5FFh, B800h-BDFFh

D000h-D1FFh, D400h-D5FFh, D800h-DDFFh

F000h-F1FFh, F400h-F5FFh, F800h-FDFFh

Y71XX1XX1XXXXXXXXX

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

Требуется выделить зоны адресного пространства для размещения в них адресов для устройств, указанных в таблице. В качестве адресного дешифратора используется ПЗУ. Построить схемы выделения соответствующих блоков адресов и таблицу диапазонов адресов.

Наименование устройстваДиапазон адресовЕмкость (Кбайт)
ПЗУ10000h-03FFh1
ОЗУ10400h-0BFFh2
УВВ12000h-2FFFh4
ПЗУ23000h-4FFFh8
ОЗУ25000h-6FFFh8
УВВ28000h-FFFFh32

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

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

Разрабатываем прошивку ПЗУ.

УстройствоДиапазон адресовАдресные входыВыходы
A5A4A3A2A1A00 1 2 3 4 5
ROM 10000h-03FFh0000000 1 1 1 1 1
RAM 10400h-07FFh0000011 0 1 1 1 1
0800h-0BFFh0000101 0 1 1 1 1
-0C00h-0FFFh0000111 1 1 1 1 1
1000h-13FFh0001001 1 1 1 1 1
1400h-17FFh0001011 1 1 1 1 1
1800h-1BFFh0001101 1 1 1 1 1
1C00h-1FFFh0001111 1 1 1 1 1
IN-OUT 12000h-23FFh0010001 1 0 1 1 1
2400h-27FFh0010011 1 0 1 1 1
2800h-2BFFh0010101 1 0 1 1 1
2C00h-2FFFh0010111 1 1 1 1 1
ROM 23000h-33FFh0011001 1 1 1 1 1
3400h-37FFh0011011 1 1 1 1 1
3800h-3BFFh0011101 1 1 1 1 1
3C00h-3FFFh0011111 1 1 1 1 1
4000h-43FFh0100001 1 1 1 1 1
4400h-47FFh0100011 1 1 1 1 1
4800h-4BFFh0100101 1 1 1 1 1
4C00h-4FFFh0100111 1 1 1 1 1
RAM 25000h-53FFh0101001 1 1 1 1 1
5400h-57FFh0101011 1 1 1 1 1
5800h-5BFFh0101101 1 1 1 1 1
5C00h-5FFFh0101111 1 1 1 1 1
6000h-63FFh0110001 1 1 1 1 1
6400h-67FFh0110011 1 1 1 1 1
6800h-6BFFh0110101 1 1 1 1 1
6C00h-6FFFh0110111 1 1 1 1 1
-7000h-73FFh0111001 1 1 1 1 1
7400h-77FFh0111011 1 1 1 1 1
7800h-7BFFh0111101 1 1 1 1 1
7C00h-7FFFh0111111 1 1 1 1 1
УстройствоДиапазон адресовАдресные входыВыходы
A5A4A3A2A1A00 1 2 3 4 5
IN-OUT 28000h-83FFh1000001 1 1 1 1 1
8400h-87FFh1000011 1 1 1 1 1
8800h-8BFFh1000101 1 1 1 1 1
8C00h-8FFFh1000111 1 1 1 1 1
9000h-93FFh1001001 1 1 1 1 1
9400h-97FFh1001011 1 1 1 1 1
9800h-9BFFh1001101 1 1 1 1 1
9C00h-9FFFh1001111 1 1 1 1 1
A000h-A3FFh1010001 1 1 1 1 1
A400h-A7FFh1010011 1 1 1 1 1
A800h-ABFFh1010101 1 1 1 1 1
AC00h-AFFFh1010111 1 1 1 1 1
B000h-B3FFh1011001 1 1 1 1 1
B400h-B7FFh1011011 1 1 1 1 1
B800h-BBFFh1011101 1 1 1 1 1
BC00h-BFFFh1011111 1 1 1 1 1
C000h-C3FFh1100001 1 1 1 1 1
C400h-C7FFh1100011 1 1 1 1 1
C800h-CBFFh1100101 1 1 1 1 1
CC00h-CFFFh1100111 1 1 1 1 1
D000h-D3FFh1101001 1 1 1 1 1
D400h-D7FFh1101011 1 1 1 1 1
D800h-DBFFh1101101 1 1 1 1 1
DC00h-DFFFh1101111 1 1 1 1 1
E000h-E3FFh1110001 1 1 1 1 1
E400h-E7FFh1110011 1 1 1 1 1
E800h-EBFFh1110101 1 1 1 1 1
EC00h-EFFFh1110111 1 1 1 1 1
F000h-F3FFh1111001 1 1 1 1 1
F400h-F7FFh1111011 1 1 1 1 1
F800h-FBFFh1111101 1 1 1 1 1
FC00h-FFFFh1111111 1 1 1 1 1

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


Карта памяти :

3FFh7FFhBFFhFFFh
0000hROM 1RAM 1-0FFFh
1000h-1FFFh
2000hIN-OUT 12FFFh
3000hROM 23FFFh
4000h4FFFh
5000hRAM 25FFFh
6000h6FFFh
7000h-7FFFh
8000hIN-OUT 28FFFh
9000h9FFFh
A000hAFFFh
B000hBFFFh
C000hCFFFh
D000hDFFFh
E000hEFFFh
F000hFFFFh
000h400h800hC00h

Задача № 3

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

Размер одной части 65536 / 18 = 3640 байт. Т.к. 3640 * 18 = 65520, последние 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

5

1

4

1

3

1

2

1

1

1

0

9876543210
10000h-07FFh00000XXXXXXXXXXX
9000h-93FFh100100XXXXXXXXXX
D800h-D9FFh1101100XXXXXXXXX
FC00h-FC1Fh11111100000XXXXX
FE40h-FE4Fh111111100100XXXX
FF60h-FF67h1111111101100XXX
20800h-0FFFh00001XXXXXXXXXXX
9400h-97FFh100101XXXXXXXXXX
DA00h-DBFFh1101101XXXXXXXXX
FC20h-FC3Fh11111100001XXXXX
FE50h-FE5Fh111111100100XXXX
FF68h-FF6Fh1111111101101XXX
31000h-17FFh00010XXXXXXXXXXX
9800h-9BFFh100110XXXXXXXXXX
DC00h-DDFFh1101110XXXXXXXXX
FC40h-FC5Fh11111100010XXXXX
FE60h-FE6Fh111111100110XXXX
FF70h-FF77h1111111101110XXX
41800h-1FFFh00011XXXXXXXXXXX
9C00h-9FFFh100111XXXXXXXXXX
DE00h-DFFFh1101111XXXXXXXXX
FC60h-FC7Fh11111100011XXXXX
FE70h-FE7Fh111111100111XXXX
FF78h-FF7Fh1111111101100XXX
52000h-27FFh00100XXXXXXXXXXX
A000h-A3FFh101000XXXXXXXXXX
E000h-E1FFh1110010XXXXXXXXX
FC80h-FC9Fh11111100100XXXXX
FE80h-FE8Fh111111101000XXXX
FF80h-FF87h1111111110000XXX
62800h-2FFFh00101XXXXXXXXXXX
A400h-A7FFh101001XXXXXXXXXX
E200h-E3FFh1110001XXXXXXXXX
FCA0h-FCBFh11111100101XXXXX
FE90h-FE9Fh111111101001XXXX
FF88h-FF8Fh1111111110001XXX
73000h-37FFh00110XXXXXXXXXXX
A800h-ABFFh101010XXXXXXXXXX
E400h-E5FFh1110010XXXXXXXXX
FCC0h-FCDFh11111100110XXXXX
FEA0h-FEAFh111111101010XXXX
FF90h-FF97h111111111001XXXX
83800h-3FFFh00111XXXXXXXXXXX
AC00h-AFFFh101011XXXXXXXXXX
E600h-E7FFh1110011XXXXXXXXX
FCEOh-FCFFh11111100111XXXXX
FEB0h-FEBFh111111101011XXXX
FF98h-FF9Fh111111111001XXXX
94000h-47FFh101100XXXXXXXXXX
B000h-B3FFh101100XXXXXXXXXX
E800h-E9FFh1110100XXXXXXXXX
FD00h-FD1Fh11111101000XXXXX
FEC0h-FECFh111111101100XXXX
FFA0h-FFA7h111111111010XXXX

Прошивка ПЛМ 2

ОбластьДиапазон адресовРазряды адреса

1

5

1

4

1

3

1

2

1

1

1

0

9876543210
104800h-4FFFh01001XXXXXXXXXXX
B400h-B7FFh101101XXXXXXXXXX
EA00h-EBFFh1110101XXXXXXXXX
FD20h-FD3Fh11111101001XXXXX
FED0h-FEDFh111111101101XXXX
FFA8h-FFAFh1111111110101XXX
115000h-57FFh01011XXXXXXXXXXX
B800h-BBFFh101110XXXXXXXXXX
EC00h-EDFFh1110110XXXXXXXXX
FD40h-FD5Fh11111101010XXXXX
FEE0h-FEEFh111111101110XXXX
FFB0h-FFB7h1111111110110XXX
125800h-5FFFh01010XXXXXXXXXXX
BC00h-BFFFh101111XXXXXXXXXX
EE00h-EFFFh1110111XXXXXXXXX
FD60h-FD7Fh11111101011XXXXX
FEF0h-FEFFh111111101111XXXX
FFB8h-FFBFh1111111110111XXX
136000h-67FFh01101XXXXXXXXXXX
C000h-C3FFh110000XXXXXXXXXX
F000h-F1FFh1111000XXXXXXXXX
FD80h-FD9Fh11111101100XXXXX
FF00h-FFOFh111111110000XXXX
FFC0h-FFC7h1111111111000XXX
146800h-6FFFh01100XXXXXXXXXXX
C400h-C7FFh110001XXXXXXXXXX
F200h-F3FFh1111001XXXXXXXXX
FDA0h-FDBFh11111101101XXXXX
FF10h-FF1Fh111111110001XXXX
FFC8h-FFCFh1111111111001XXX
157000h-77FFh01111XXXXXXXXXXX
C800h-CBFFh110010XXXXXXXXXX
F400h-F5FFh1111010XXXXXXXXX
FDC0h-FDDFh11111101110XXXXX
FF20h-FF2Fh111111110010XXXX
FFD0h-FFD7h1111111111010XXX
167800h-7FFFh01110XXXXXXXXXXX
CC00h-CFFFh110011XXXXXXXXXX
F600h-F7FFh1111011XXXXXXXXX
FDE0h-FDFFh11111101111XXXXX
FF30h-FF3Fh111111110011XXXX
FFD8h-FFDFh111111111101XXXX
178000h-87FFh10001XXXXXXXXXXX
D000h-D3FFh110100XXXXXXXXXX
F800h-F9FFh1111100XXXXXXXXX
FE00h-FE1Fh11111110000XXXXX
FF40h-FF4Fh111111110100XXXX
FFE0h-FFE7h111111111110XXXX
188800h-8FFFh10000XXXXXXXXXXX
D400h-D7FFh110101XXXXXXXXXX
FA00h-EBFFh1111101XXXXXXXXX
FE20h-FE3Fh11111110001XXXXX
FF50h-FF5Fh111111110101XXXX
FFE8h-FFEFh111111111110XXXX

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

Исходя из требуемого количества произведений ( 18 * 6 = 108 ) и количества выходных функций (18), выбираем в качестве элементной базы выпускаемую фирмой ADVANCEDMICRODEVICES микросхему ПЛМ 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'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


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
СПбГУТ
Оформил заказ 14 мая с сроком до 16 мая, сделано было уже через пару часов. Качественно и ...
star star star star star
Красноярский государственный аграрный университет
Все сделано хорошо, а самое главное быстро, какие либо замечания отсутствуют
star star star star star
РЭУ им. Г. В. Плеханова
Алексей пошел на встречу, и сделал работу максимально быстро и качественно! Огромное спасибо!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

Организации профилактики травматизма в спортивных секциях в общеобразовательной школе

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

Исследование методов получения случайных чисел с заданным законом распределения

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно