Научная статья на тему 'Программное средство для анализа характеристик преобразователей кодов по методу досчета'

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

CC BY
82
16
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Какурин Николай Яковлевич, Лопухин Юрий Владимирович, Вареца Виталий Викторович, Катасонов Валерий Вячеславович, Макаренко Анна Николаевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Какурин Николай Яковлевич, Лопухин Юрий Владимирович, Вареца Виталий Викторович, Катасонов Валерий Вячеславович, Макаренко Анна Николаевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Software for analysis characteristics of code transformers by the method “to accounting to zero”

The structure and functioning of multiblockes of code transformers by the method “to accounting to zero” are examined. The algorithm for searching of fundamental breaking up and software for its implementation and analysis of basic characteristic are offered.

Текст научной работы на тему «Программное средство для анализа характеристик преобразователей кодов по методу досчета»

УДК 681.325.53: 37: 004.5

Н.Я. КАКУРИН, Ю.В.ЛОПУХИН, В.В. ВАРЕЦА, В.В. КАТАСОНОВ, А.Н. МАКАРЕНКО

ПРОГРАММНОЕ СРЕДСТВО ДЛЯ АНАЛИЗА ХАРАКТЕРИСТИК ПРЕОБРАЗОВАТЕЛЕЙ КОДОВ ПО МЕТОДУ ДОСЧЕТА

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

1. Постановка задачи

Рост быстродействия высокопроизводительных вычислительных систем в настоящее время невозможен без использования быстродействующих преобразователей цифровых кодов.

Известно, что в современных универсальных ЭВМ преобразование чисел выполняется программным способом, что ведет к снижению их производительности. Переход на быстродействующие аппаратурные способы преобразования кодов позволяет значительно увеличить быстродействие вычислительных устройств и является перспективным.

Достоинством преобразователей кодов по методу досчета (ПК ДСЧ), относящихся к аппаратурным способам преобразования, является схемная простота, малые аппаратурные затраты, низкая стоимость и линейный рост аппаратурных затрат от разрядности входного кода [1].

Основными характеристикам ПК ДСЧ являются: система счисления на входе и на выходе, разрядность входного и выходного кодов, быстродействие, аппаратурные затраты и стоимость.

Характеристика стоимости является вторичной по отношению к показателю аппаратурных затрат и выражает качество схемы по типам применяемых элементов.

Целью настоящей работы являются:

- анализ структурных особенностей и основных характеристик ПК ДСЧ;

- алгоритмизация нахождения структуры ПК ДСЧ с наибольшим быстродействием;

- рассмотрение программного средства для нахождения оптимальной по быстродействию структуры ПК ДСЧ.

Быстродействие ПК ДСЧ в дальнейшем будем оценивать не по абсолютным единицам времени (нс, мкс, мс), а по относительным (по количеству тактов преобразования максимального числа).

2. Многосекционная схема ПК по методу досчета

Простейшим преобразователем по методу досчета является односекционная схема, содержащая один входной вычитающий счетчик и один выходной суммирующий.

Недостатком односекционного ПК ДСЧ является значительное число тактов на преобразование максимального числа.

Пусть система счисления на входе - р; число входных разрядов длительность

периода импульсов генератора ТГ .

Тогда при р=2; п7=20 время преобразования определяется формулой (1):

t пр = Тг • N макс = Тг • (рп2 -1), (1)

при Тг = 1 • 10-6с.; t^ = 1 -10-6(220 -1) = 1 -10-6 •1,048575 -106 « 1,05с.

Для ускорения процесса преобразования чисел можно использовать различные приемы, в частности разбиения входных и выходных счетчиков на две секции [2,3] или на большее число [4].

Перевод чисел в многосекционных ПК ДСЧ происходит путем последовательно-возвратного обнуления каждого входного счетчика. При этом способе обнуление входного

счетчика второй секции начинается только после полного обнуления входного счетчика первой секции, обнуление третьей секции возможно после полного обнуления предыдущих входных секций, т.е. второй и первой.

Структура многосекционного ПК ДСЧ показана на рис. 1.

Рис. 1. Структура многосекционного ПК ДСЧ

Преобразователь содержит N преобразующих секций I; каждая преобразующая секция I - декаду (при К =10) двоично-десятичного счетчика 2, двоичный счетчик 3, дешифратор нуля 4, элемент И 5. Все секции I, кроме младшей, содержат элемент ИЛИ 6; все секции, кроме старшей, элемент НЕ 7. Все преобразующие секции, кроме двух старших, содержат шифраторы 8.

Преобразователь содержит генератор импульсов 9 и вход пуска 10. Обозначим коэффициент пересчета двоичных счетчиков 3^ через М;(1 = 1^). Устройство работает следующим образом. В исходном состоянии в двоичных счетчиках 3;(1 = 1^) записаны числа аьа2,...,ап преобразуемого двоичного кода, а декады двоично-десятичных счетчиков 2;(1 = 1^) установлены в нуль. При этом на выходе дешифратора нуля 4i появляется запрещающий потенциал, если в двоичном счетчике 3^ записано какое-либо число, отличное от нуля. По сигналу "Пуск" импульсы с выхода генератора 9 поступают через элемент И 51 на счетный вход вычитания счетчика 3^ и на счетный вход сложения счетчика 21 и производят вычитание единиц из счетчика 3^ и прибавление единиц в счетчик 21 (по единице на каждый импульс) до тех пор, пока в счетчике 3^ не установятся нули. Таким образом, число а^ будет перенесено в счетчик 21. Если а^ > 10, то возникает единица переноса, которая поступает через элемент ИЛИ 62 на счетный вход счетчика 22 , а в счетчике 21 останется число т1 = а1 -10.

Если а^ < 10, то в счетчике 21 остается число т1 = а1.

На выходе дешифратора нуля 41 появляется разрешающий потенциал, а на выходе элемента НЕ 71 - запрещающий. Импульс с выхода генератора 9 проходит через элемент И 52 и производит вычитание единицы из счетчика 3 2, прибавление единицы в счетчик 2 2 и через шифратор 8 установку числа Я2 = Я21 = М1 -10 в счетчик 31. На выходе дешифратора 41 снова появляется запрещающий потенциал, а на выходе элемента НЕ 71 -разрешающий. Следующая серия импульсов производит вычитание числа Я21 из счетчика 31 и прибавление этого числа в счетчик 21. Если при этом возникает переполнение счетчика 21, то единица переноса через элемент ИЛИ 62 поступает на счетный вход счетчика 22. Такая последовательность действий циклически продолжается до тех пор, пока число из счетчика 32 не будет полностью перенесено в счетчик 22. После этого открывается элемент И 5 следующей секции I и начинается вычитание единиц из счетчика 3 и прибавление единиц в счетчик 2 этой секции.

При этом первый импульс с выхода генератора 9, пройдя через элемент И 5; (1 = 2, К) и шифратор 8; (1 = 1, N - 2), при р=2 и К=10 устанавливает число , представленное формулой (2):

Я: = Я: :

1=1-1

1=1-1 2 П1

1,1-1*4,1-2 • •

.Яп = П М1 - К = 2

1-1 1=1

-10

1-1

(2)

1=1

(п1 - количество двоичных разрядов в двоичном счетчике секции 1) в двоичные счетчики 31(1 = 1,1 -1) соответствующих предыдущих секций. В результате на выходе дешифраторов 41(1 = 1,1 -1) соответствующей секции, в которой содержимое счетчика 31 не равно нулю, появляется запрещающий потенциал. Дальнейшая работа устройства происходит аналогично: каждый импульс, поступающий на входы счетчиков 21 и 31 (1 = 2, К), одновременно устанавливает число Я; = Я^м^,^ ••• ^д в счетчиках 31(1 = 1,1 -1), после чего очередная серия импульсов производит вычитание числа Я у из счетчика 3j и прибавление этого числа в счетчик 2j. Причем этот процесс начинается в младшей по номеру секции 11, в которой состояние счетчика 31 не равно нулю (1 = 1,1 -1). После вычитания последней единицы из счетчика 3К и последнего числа из счетчиков 31(1 = 1,1 -1) на выходе дешифратора нуля 4К появляется сигнал, останавливающий работу генератора импульсов 9. На этом преобразование кода заканчивается.

Граф-схема алгоритма преобразования числа в многосекционном (3 секции) ПК ДСЧ показана на рис.2:

[ Лупк ^

Ог-чн^р

сгех^Р^ ствк^-Н,

Рис. 2. Граф-схема алгоритма преобразования числа в многосекционном ПК ДСЧ

Преобразование называется возвратным, так как прохождение одного импульса на обнуление второй секции приводит к записи корректирующей поправки Я21 в первый входной счетчик. Затем вновь начинается обнуление первого входного счетчика.

Разбиение ПК по методу досчета на секции выполняется таким образом, чтобы сохранилось счетчиковая структура выходных счетчиков (чтобы перенос был строго равен 1). При р=2 и К Ф10 требуется выполнение общего условия:

2П1 = (1а)к ;2"1+"2 = (1аЬ)к;2"1+П2 +П3 = (1аЬс)к . (3)

Это возможно в случае выполнения неравенства:

рЬ > К1-1,(1 = 2К), (4)

где 1 - номер секции; N - максимальное число секций; Ь - наименьшее целое число, при котором выполняется неравенство (4). При этом Ь не должно превышать заданное число разрядов п7.

Как только Ь > nZ, процесс разделения на секции прекращается. В результате получим:

Ь = 2п1 , (5)

где п - число входных р-ичных разрядов в секции 1. Если обозначить М1 = рп1, то

корректирующие поправки из 1-й секции 1-1,1-2,....., 1 определяются по формуле:

1=1-1

1=1-1 . , 2п1 . ]

Я! = Я1,1-1Я1,1-2 • • • Я1Д = п М1 - К1-1 = р 1=1 - К1-1 (6)

1=1

Например, при р=2; К=10; nZ=10 имеем 24 > 101 и п1 = 4; Я2 = Я21 = 16 -10 = 6 Далее 27 > 102; п2 = 7 - 4 = 3 ; Я3 = 128 -100 = 2810. Для нахождения поправок

Яз2;Яз1 число 28ш переводится в двоичную систему счисления 28ш = 0011 11002 и разделяется на секции по числу входных разрядов и переводится вновь в десятичную систему Яз2 = 1;Яз1 = 12.

10 3

На следующем шаге имеем 2 > 10 ;п3 = 3. Поправки

Я4 = 210 -1000 = 1024-1000 = 2410 = 000 0011100 и Я43 = 0;Я42 = 1;Я41 = 8. На последнем шаге разбиения на секции, если Ь > nZ, число р-ичных разрядов секции nN находят по формуле:

ПN = п2-2 П1(1 = 1,N -1). (7)

Преобразование числа в многосекционной схеме ПК ДСЧ аналогично счету импульсов

в неоднородной позиционной системе счета с весами Ql (1 = 1^).

Весовые коэффициенты секций Qi определяют по формуле:

1-1 _

^ =1 +2 ЯА^ = 1, N, (8)

]=1

где Яу - корректирующая поправка из секции 1 в секцию )

При числе разрядов каждой входной секции п 1 и р=2 максимальное число тактов преобразования ПК ДСЧ рассчитывается по формуле:

N

TN =2 (2п1 -1) • Qi (9)

1=1

Величины поправок Я у определяют системой счисления р на входе, К на выходе, числом разрядов на входе и числом разрядов И; каждой секции.

При разбиении ПК ДСЧ на секции в разбиении указывают число выходных Ш; и входных И; разрядов каждой секции в виде:

шк,ШК-1,ШК-2,--",Ш2Ш1 ,

(10)

2, 1

пм п>

'М,пМ-1,пМ-2,......, п2 , п1 .

Многосекционное разбиение называют фундаментальным (основным), если в каждой секции находится по одному выходному разряду. Фундаментальному разбиению(ФР) соответствует минимальное число тактов.

Все другие разбиения ПК ДСЧ на секции можно получить из фундаментального. ФР можно отобразить в виде:

1,1,- •••,1,1,

И]Ч,пм-1, ••••,И2,П1. (11)

3. Алгоритм нахождения фундаментального разбиения ПК ДСЧ

Анализ рассмотренной выше методики позволяет сформулировать алгоритм нахождения ФР в виде:

1. Находится разрядность каждой секции и число секций всего ПК по заданным основаниям входной и выходной систем счисления, и разрядности на входе.

2. Строится матрица корректирующих поправок Яу (1 = 2, К;: = 1, N -1).

3. Вычисляются весовые коэффициенты Q; (1 = 1,К) секций.

4. Определяется максимальное число тактов преобразования фундаментального разбиения ТК .

В соответствии с приведенным выше алгоритмом для р=2; nZ=20; К=10 найдем, что 24 > 101, следовательно п1 = 4. Далее 24+3 > 102 ; п2 = 3; 24+3+3 > 103 ; п3 = 3;

24+3+3+4 > ю4 ; п4 = 4; 24+3+3+4+3 > 105; п5 = 3; 24+3+3+4+3+3 > 106 ; п6 = 3.

Таким образом, ФР в данном случае имеет вид:

1,1,1,1,1,1 3,3,4,3,3,4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Корректирующие поправки Я:: находят способом вычисления общей поправки Я; и разделение ее на поправки по секциям : = 1,1 -1. Общая поправка Я; вычисляется по формуле (6).

Затем поправку Я; переводят во входную систему счисления р и представляют п1 + п2 +-----+ И; разрядными числами. Полученное число разбивается на группы по И; разрядов в каждой. Каждая группа двоичных разрядов представляет собой чистую поправку Яу, которая для удобства вычислений переводится в десятичную систему счисления.

Поправочные коэффициенты в общем виде записываются по матрице:

Я2 0 0 ••• 0 0 Я21

Я3 0 0 ... 0 Я32 Я31

Я4 0 0 Я43 Я42 Я41

ЯУ= :

ЯК ЯК,К-1 ЯК,К-2 ЯК,3 ЯК,2 Я^1

Для рассматриваемого примера р =2; К=10; N=6 получим

(12)

Я2 = 24 - 101 = 610 = 01102;Я21 = 01102 = 610 Я3 = 24+3 -102 = 2810 = 00111002; Я32 = 1; Я31 = 12 ; Я4 = 24+3+3 -103 = 2410 = 0000110002; Я43 = 0; Я42 = 1; Я41 = 8

R5 = 2

4+3+3+4

-104 = 638410 = 011000111100002 ; R54 = 6; R53 = 1; R52 = 7; R51 = 0

R6 = 2

4+3+3+4+3

-105 = 3107210 = 001111001011000002;R65 = 1;R64 = 14 ;R63 = 2; R62 = 6;R61 = 0.

В итоге получим следующую матрицу корректирующих поправок:

2 3

Rj= 4

5

6

6

1 12 0 1 8 6 17 0 1 14 2 6 0

(13)

и следующие веса секций Q1 = 1;Q2 = 7;Q3 = 20;Q4 = 16;Q5 = 166;Q6 = 473 .

Максимальное число тактов преобразования ПК ДСЧ составит 4917 тактов.

4. Программное средство для анализа ПК ДСЧ «PREOBRAZOVATEL»

В качестве инструмента для разработки программного пакета «Preobrazovatel» была использована среда программирования Microsoft Visual Studio 2005. Microsoft Visual Studio 2005 - средство быстрой разработки приложений, позволяющее создавать программы на языке C#. Данная среда программирования частично использует принципы RAD. RAD означает быструю разработку приложений. Это концепция позволяет создавать программные продукты, причем особое внимание уделяется быстроте и удобству программирования, созданию технологичного процесса, позволяющего программисту максимально быстро писать компьютерные программы.

При разработке программного средства использовались следующие структуры данных:

Класс Convertor: Calculate() - функция для преобразования; Convertor(int, int, int) -конструктор класса Convertor; GenerateList() - генерирует списки значений n и z; GenerateMatrix() - генерирует матрицу R; GenerateQList() - формирует список значений Q; GenerateR() - формирует список значений R; GenerateT() - находит число тактов преобразования; GetBoolArray(int, int) - преобразует целое число из десятичной системы счисления в двоичную с учетом выделенного количества разрядов; GetInt(bool[]) - преобразует число из двоичной системы счисления в десятичную; GetN(int, int) - формирует значение N; IsEndOfListGeneration() - проверяет условие конца генерации списка.

После запуска программы появятся три текстовых поля для ввода данных. С помощью этих элементов управления необходимо задать исходные данные для режима преобразования чисел (рис.3).

Рис. 3. Интерфейс для ввода исходных данных программы «РгеоЬга70уа1е1» Результат работы программного средства «РгеоЬга20уа1е1» для р=2; К=10; п7=20 приведен на рис.4.

Программное средство работает при р=2; К=3-60; п7=2-32. С помощью данной программы получен и проанализирован ряд основных характеристик многосекционных ПК ДСЧ для

р=2; п7=20; А1 = Т1 /ТФР;А2 = Т2 /ТФР (таблица).

Резул ьтаты в ы ч нсле ним

Помощь

Матрица корректирчющик поправок

00

Номер 5 ■8 3 1 2 1 л I

► 2 - В

Г- 1 1.2

4 г 0 1 3

5 Г_ в 1 р_I 0

е I и к П

В модные данные

Массив значении п

п1 =4 л

п2 = 3

пЗ = з

п4 = 4

ПЁ = 3 —

пб =3 V

Массив значений г

МассиБ значений 13

Р,1 = 6 Я3=28 П4 = 24 Я 5 = 6384 ие = 072

Количество тактов' -4917

01 = 1 л

52 = 7

РЗ = 20

Ц4 = 16

55е16В

96 - 473

Рис. 4. Результат работы программного средства «РгеоЬга70уа1е1»

К Число двоичных разрядов секции Число секций N Количество тактов А1 А2

3 2,2,1,2,1,2,2,1,2,1,2,2 12 1807 580,28 14,72

5 1,2,3,2,2,3,2,2,3 9 2003 518,33 13,08

6 1,3,3,2,3,2,3,3 8 4145 252,97 6,42

7 3,2,3,3,3,3,3 7 6495 161,44 4,095

9 4,3,3,3,3,4 6 12415 84,5 2,14

10 3,3,4,3,3,4 6 4917 213,26 5,409

11 2,4,3,4,3,4 6 5955 176,1 4,466

12 2,3,4,3,4,4 6 6424 163,23 4,14

13 1,4,3,4,4,4 6 8631 121,49 3,082

15 4,4,4,4,4 5 7185 145,9 3,7018

24 1,5,4,5,5 5 20498 51,15 1,297

60 2,6,6,6 4 8700 120,52 3,057

Из таблицы следует, что быстродействие ПК ДСЧ увеличивается с уменьшением основания выходной системы счисления К. Многосекционный ПК ДСЧ на базе ФР дает существенный выигрыш (на 1 - 2 порядка), даже по сравнению с двухсекционным ПК.

Выводы

1. Рассмотрена структура и функционирование многосекционного преобразователя кодов по методу досчета.

2. Предложен алгоритм нахождения фундаментального разбиения ПК ДСЧ и найдены основные характеристики этого ПК для ряда исходных значений входных и выходных параметров.

3. Предложено новое программное средство «РЯЕ0ВКА70УАТЕЬ», позволяющее автоматизировать этапы системного проектирования и нахождения основных характеристик.

4. Показано, что реализация ПК ДСЧ по фундаментальному разбиению позволяет сократить число тактов преобразования максимального числа по сравнению с односекци-онной схемой на 3-4 порядка, а по сравнению с двухсекционной схемой на 1-2 порядка.

Научная новизна состоит в формулировке алгоритма нахождения фундаментального разбиения ПК ДСЧ на секции и реализация этого алгоритма на языке программирования С#.

Практическая значимость результатов заключается в возможности автоматизированного нахождения основных характеристик ПК ДСЧ, что позволяет на несколько порядков повысить его быстродействие.

Список литературы: 1. СухомлиновМ.М., ВыхованецВ.Н. Преобразователи кодов чисел. Киев: Техника, 1965. 136 с. 2. А.С. 468236 5в06Р 5/02. Устройство для преобразования кодов /В.М.Гусятин, Н.В. Али-пов, А.П.Руденко // Открытия, изобретения. 1975.№15. С. 108. 3. МакаренкоА.Н. Алгоритмизация разбиений преобразователей кодов // АСУ и приборы автоматики.1990. Вып. 94. С.103-109. 4. А.С. 1153323 5в06Р 5/00. Преобразователь двоичного кода в двоично-К-ичный код / Н.Я.Какурин, Ю.К. Кирьяков, В.М.Гусятин // Открытия, изобретения. 1985. №16. С.167

Поступила в редколлегию 05.09.2010

Какурин Николай Яковлевич, канд. техн. наук, профессор кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: прикладная теория цифровых автоматов, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.

Лопухин Юрий Владимирович, ст. преподаватель кафедры АПВТ ХНУРЭ. Научные интересы: проектирование программного обеспечения, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.

Вареца Виталий Викторович, аспирант кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: проектирование программного обеспечения, автоматизация проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр.Ленина, 14, тел. 70-21-326.

Катасонов Валерий Вячеславович, студент группы КИ-07-6 ХНУРЭ. Научные интересы: автоматизация проектирования цифровых устройств, проектирование программного обеспечения. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. Макаренко Анна Николаевна, канд. техн. наук, доцент кафедры информационных технологий Харьковского банковского института. Научные интересы: информационные технологии, анализ и синтез преобразователей код-код. Адрес: Украина, 61074, Харьков, пр. Победы, 55, тел. 336-05-64.

УДК 681.51

О.Я. КУЗЬОМ1Н, В.В. ЛЯШЕНКО

1ДЕНТИФ1КАЦ1Я СКЛАДОВИХ ЕКОНОМ1ЧНИХ КЛАСТЕР1В У ПРОСТОР1 ПЕРЕТВОРЕНИХ ДАНИХ

Розглянуто формалiзоване подання сутносп економiчного кластеру. Запропоновано шдхщ щодо щентифжацп елеменпв економiчного кластеру та надано його iмовiрнiсну штерпретацш. Визначено похибку щентифжацп елеменпв економiчного кластеру на ос-новi запропонованого тдходу.

Вступ

Сучасш методи анал1зу д1яльносп суб'екпв господарювання передбачають застосуван-ня досить широкого кола статистичних даних, що визначасться наявнютю цшо! сукупносп внутршшх та зовшшшх вплив1в на сталють функцюнування суб'екпв ринкових вщносин. Разом з цим обробка статистичних даних визначаеться не лише простим узагальненням д1яльносп функцюнування окремих суб'екпв господарювання з погляду одного з показ-ниюв. Для отримання зважених висновюв доцшьно використовувати для вщповщного аналь зу як низку показниюв за одним ¡з дослщжуваних суб'ектом, так й низку р1зних суб'екпв господарювання, як у тдсумку { визначають економ1чну змютовнють наявних зв'язюв у ринкових умовах ведення господарсько! д1яльносп. 48

i Надоели баннеры? Вы всегда можете отключить рекламу.