Реферат: 16-разрядный генератор псевдослучайных чисел
Нет
Уменьшение счетчика 1
Обмен данными между регистрами H и L
Да
1.2 Листинг программы
Адрес | Код | Метка | Мнемокод | Комментарий |
1000 | 0E 02 | FRANDOM: | MVI C,2 | ;Занесение числа в регистр C ;(установили первый счетчик). |
1002 | 7D | MALKOT1: | MOV A,L | ;Заносим содержимое регистра L в ;аккумулятор. |
1003 | E6 07 | ANI 7 | ;Все биты кроме трех младших ;устанавливаем в 0. | |
1005 | 3C | INR A | ||
1006 | 71 | MOV B,A | ;Заносим содержимое аккумулятора ;в регистр B(установили счетчик2). | |
1007 | 7D | MOV A,L | ;Заносим содержимое регистра L в ;аккумулятор. | |
;Производим действия над ;аккумулятором, такие как: | ||||
1008 | C6 41 | MALKOT2: | ADI 41H | ;Сложения байта с содержимым ;аккумулятора. |
100A | 07 | RLC | ;Циклический сдвиг содержимого ;аккумулятора влево. | |
100B | 0B | DCR B | ;Уменьшаем первый счетчик рег.В | |
100C | C2 08 10 | JNZ MALKOT2 | ;Если содержимое счетчика не 0, ;переход по метке MALKOT. | |
100F | 6F | MOV L,A | ;Иначе, заносим содержимое ;аккумулятора в регистр L. | |
1010 | 0D | DCR C | ;Уменьшаем второй счетчик рег.С | |
1011 | CA 1A 10 | JZ END | ;Если счетчик равен нулю то переход ;на конец программы, по метке END | |
1014 | 44 | MOV B,H | ;Меняем местами содержимое | |
1015 | 65 | MOV H,L | ;регистров Н и L при помощи | |
1016 | 68 | MOV L,B | ;промежуточного регистра В | |
1017 | C3 0210 | JMP MALKOT1 | ;Если содержимое регистра не 0, ;переход по метке FRANDOM | |
101A | C9 | END: | RET | ;Иначе выход из подпрограммы |
2 Быстродействие
Оценим временные затраты на выполнение программного модуля генерации случайного числа на БИС КР580ИК80. Так как в программе блок «действия над аккумулятором» работает в цикле число проходок которого может быть случайное число раз от 8 до 1, то и программа выполняется соответственно за:
· минимальное количество тактов -188,
· максимальное - 552 такта.
Максимальная тактовая частота процессора КР580ИК80 составляет 2.5 МГц
T = 1 / n (2)
т.е. один такт выполняется за 0.4 мкС., следовательно блок будет выполнятся за:
· минимальное время выполнения программы - 75.2 мкС
· максимальное время выполнения программы - 220.8 мкС
3 Себестоимость
Себестоимость схемы генератора псевдослучайных чисел рассчитывается с учетом заработной платы всех работников, которые принимали участие в создании данного устройства и материальных затрат на изготовление самой схемы.
Данные по зарплате приведены в табл. 4. Стоимость материалов приведена в табл.5.
Таблица 4
Должность | Оплата за 1 час | Кол-во часов | Итого |
Инженер-схемотехник | 5 р. | 40 | 200 р. |
Электронщик | 3 р. | 8 | 24 р. |
Монтажник | 8 р. | 4 | 32 |
Таблица 5.
Микросхема | Количество, шт. | Затраты на 1 шт., р. | Общие затраты, р. |
К555ИР16 | 4 | 7 | 28 |
К155ЛП5 | 2 | 2.4 | 4.8 |
К155ЛЛ1 | 4 | 3.5 | 14 |
К555ЛА7 | 3 | 3 | 9 |
К555ЛН1 | 3 | 3.2 | 9.6 |
АЛ307Г | 16 | 1.5 | 24 |
Таким образом находим с помощью таблицы находится общая стоимость S путем суммирования всех затрат.
S = 28+4.8+14+9+9.6+24+200+24+32 = 345.40
Себестоимость программы генерации случайного числа так же рассчитывается с учетом заработной платы программиста, который принимал участие в создании данного продукта.
Таблица 6
Должность | Оплата за 1 час | Кол-во часов | Итого |
Инженер-программист | 10р. | 16 | 160 р. |
4 Надежность
Схема содержит:
42 логических элемента;
4 запоминающих устройства
1 кнопку
235 паек
Величина интенсивности отказа для логических элементов составляет 10-9 час-1 , для запоминающих устройств – 10-7 час-1 , для пайки 10-9 час-1 , для выключателей и кнопок 10-7 час-1 .
l=åli* n, (3)
где
li – интенсивность отказа для i-го элемента, а n – количество элементов.