Научная статья на тему 'Применение анализа Парето для количественного оценивания частоты использования машинных команд ЭВМ'

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

CC BY
148
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ МАШИН / АНАЛИЗ / ДИАГРАММА И ПРИНЦИП ПАРЕТО / СИСТЕМА КОМАНД / МНЕМОКОДЫ / ПРОГРАММНАЯ МОДЕЛЬ / ARCHITECTURE OF COMPUTERS / ANALYSIS / DIAGRAM AND PARETO PRINCIPLE / COMMAND SYSTEM / MNEMONIC CODES / SOFTWARE MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аверьянов А. В., Калюжный А. В.

Проведен анализ частоты использования машинных команд ЭВМ при реализации трех типовых алгоритмов. Объектом исследования является система команд программной модели учебной вычислительной машины. В качестве примера проанализированы три программы в мнемокодах, соответствующие трем алгоритмам: обрабатывающему элементы массива, использующему подпрограмму и разветвляющемуся. Установленная доля использованных и повторенных команд в процессе решения задач подтверждает справедливость и применимость принципа „20/80“ принципа Парето, который в наиболее общем виде можно сформулировать так: „двадцать процентов усилий дают восемьдесят процентов результата, остальные восемьдесят процентов обеспечивают лишь двадцать процентов результата“. Сделан вывод об избыточности системы команд ЭВМ, которая приводит к усложнению устройства управления ЭВМ. Одним из возможных путей уменьшения количества команд является сокращение команд условного перехода, что приведет к уменьшению состава и структуры устройств управления как аппаратного, так и микропрограммного типа.

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

The frequency of use of computer commands in implementation of three typical algorithms is analyzed. The object of the study is the command system of software model of a training computer. As an example, analysis of three programs in mnemonics is carried out, the programs correspond to three algorithms: a branching algorithm, an algorithm that handles elements of an array, and an algorithm using a subroutine. The established proportion of used and repeated commands in the process of solving problems confirms the validity and applicability of the principle "20/80" the Pareto principle, which in the most general form can be formulated as "twenty percent of the efforts give eighty percent of the result, the remaining eighty percent provide only twenty percent of the result". Based on the results, the conclusion is made about the redundancy of the computer command system, leading to complication of the computer control device. As one of the possible ways to reduce the number of commands, it is suggested to reduce the conditional jump commands. The approach is supposed to provide a reduction in composition and structure of control devices of both hardware and firmware types.

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

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 621.396.6

DOI: 10.17586/0021-3454-2019-62-2-101-105

ПРИМЕНЕНИЕ АНАЛИЗА ПАРЕТО ДЛЯ КОЛИЧЕСТВЕННОГО ОЦЕНИВАНИЯ ЧАСТОТЫ ИСПОЛЬЗОВАНИЯ

МАШИННЫХ КОМАНД ЭВМ

А. В. Аверьянов, А. В. Калюжный

Военно-космическая академия им. А. Ф. Можайского, 197198, Санкт-Петербург, Россия

E-mail: Aver957@mail.ru

Проведен анализ частоты использования машинных команд ЭВМ при реализации трех типовых алгоритмов. Объектом исследования является система команд программной модели учебной вычислительной машины. В качестве примера проанализированы три программы в мнемокодах, соответствующие трем алгоритмам: обрабатывающему элементы массива, использующему подпрограмму и разветвляющемуся. Установленная доля использованных и повторенных команд в процессе решения задач подтверждает справедливость и применимость принципа „20/80" — принципа Парето, который в наиболее общем виде можно сформулировать так: „двадцать процентов усилий дают восемьдесят процентов результата, остальные восемьдесят процентов обеспечивают лишь двадцать процентов результата". Сделан вывод об избыточности системы команд ЭВМ, которая приводит к усложнению устройства управления ЭВМ. Одним из возможных путей уменьшения количества команд является сокращение команд условного перехода, что приведет к уменьшению состава и структуры устройств управления как аппаратного, так и микропрограммного типа.

Ключевые слова: архитектура вычислительных машин, анализ, диаграмма и принцип Парето, система команд, мнемокоды, программная модель

Современные технологии программирования ориентированы на языки высокого уровня. Характерные для этих языков операции отличаются от операций, реализуемых машинными командами. Это отличие получило название „семантический разрыв", пытаясь преодолеть который, разработчики вычислительных машин расширяют систему команд командами, реализующими сложные операторы языков высокого уровня, вводят дополнительные способы адресации. Подобный подход реализован в вычислительных машинах, которые принято называть „вычислительные машины с полным набором команд" (CISC, Complex Instruction Set Computer).

Преодоление проблемы семантического разрыва ведет к усложнению архитектуры вычислительных машин и устройств управления. Сложные команды, соответствующие операторам языков высокого уровня, требуют увеличения емкости памяти в микропрограммном устройстве управления. Микропрограммы сложных команд занимают до 60 % управляющей памяти, а их доля в общем объеме программ часто не превышает 1 % [1—3]. Системы команд современных вычислительных машин избыточны, они содержат инструкции, употребляемые редко или крайне редко.

Какова доля редко используемых команд в общем количестве? Ответ на этот вопрос можно получить с помощью анализа, базирующегося на использовании диаграмм и принципа

Парето. Анализ Парето относится к статистическим методам повышения качества, его основу составляет построение диаграммы (кумулятивной кривой, или кривой Парето), т.е. определение немногочисленных, но существенно важных факторов [4, 5].

Этот метод применим при решении различных практических задач. Например, использование диаграмм Парето позволило выявить, что устранение в процессе проектирования, производства и эксплуатации интегральных микросхем факторов, приводящих к дефектам металлизации и к дефектам внутренних межэлементных соединений и контактов, приведет к двукратному сокращению количества отказов этих микросхем [3].

С помощью диаграмм и принципа Парето могут анализироваться применяемые в процессе обучения программных моделей ЭВМ [6] и обосновываться нецелесообразность использования на начальном этапе обучения программированию модели ЭВМ с избыточным количеством команд. Предпочтение следует отдавать ЭВМ, система команд которой содержит минимальное число машинных команд-инструкций.

Применим анализ Парето для количественного оценивания частоты использования инструкций, составляющих систему команд вычислительной машины. Объектом исследования является программная модель учебной вычислительной машины, содержащая 42 команды [7, 8]. Эти команды образуют следующие классы:

— арифметико-логические команды, перерабатывающие информацию. Они выполняют арифметические действия: сложение, вычитание, умножение, деление, а также реализуют математическую логику, сдвиги. Всего в этом классе 12 команд;

— команды пересылки и загрузки: чтение, запись, пересылка (из регистра в регистр), помещение в стек, извлечение из стека, загрузка базового регистра (11 команд);

— команды ввода/вывода (4 команды);

— команды управления: безусловный и шесть условных переходов, вызов подпрограммы, возврат из подпрограммы, цикл, программное прерывание, возврат из прерывания (12 команд);

— системные команды: пустая операция, разрешить прерывание, останов (3 команды).

Проанализируем в качестве примера три программы в мнемокодах учебной ЭВМ, реализующих разветвляющийся алгоритм (20 команд), алгоритм, связанный с обработкой массива (19 команд), и алгоритм, использующий подпрограмму (22 команды). В третьей программе вызов подпрограммы осуществляется командой CALL M. Мнемокоды программ представлены в табл. 1. Команды подпрограммы не учитывались.

_Таблица 1

№ п/п Программирование разветвляющегося процесса Программирование цикла с переадресацией (обработка массива) Программа с подпрограммой

1 IN RD #40 RD #85

2 WR 30 WR 30 WR R1

3 SUB #16 RD #10 RD #14

4 JS 010 WR 31 WR R2

5 RD 30 RD #0 CALL M

6 SUB #11 WR 32 WR R6

7 WR 31 M1: RD 32 RD #100

8 MUL 31 ADD @30 WR R1

9 SUB #125 WR 32 RD #4

10 JMP 020 RD 30 WR R2

11 RD 30 ADD #1 CALL M

12 MUL 30 WR 30 WR R7

13 WR 31 RD 31 RD #110

14 RD 30 SUB #1 WR R1

15 MUL #72 WR 31 RD #9

Продолжение таблицы 1

№ п/п Программирование разветвляющегося процесса Программирование цикла с переадресацией (обработка массива) Программа с подпрограммой

16 ADD 31 JNZ M1 WR R2

17 ADI 10640 RD 32 CALL M

18 DIVI100168 OUT ADD R7

19 OUT HLT ADD R6

20 HLT DIV #3

21 OUT

22 HLT

На основе табл. 1 в соответствии с методикой построения диаграммы Парето заполним табл. 2 N — число повторений, / — накопленная сумма числа повторений, А/ — доля от числа повторений, Е — накопленная доля) [9]. В первом столбце содержатся мнемокоды команд, а в скобках соответствующие им машинные коды, представленные в десятичной системе счисления.

_Таблица 2

Команда N f Af % S, %

RD (21) 16 16 23,2 23,2

WR (32) 10 26 14,5 37,7

WR (22) 9 35 13,0 50,7

SUB (24) 4 39 5,8 56,5

OUT (38) 3 42 4,3 60,8

HLT (09) 3 45 4,3 65,1

CALL (19) 3 48 4,3 69,4

ADD (23) 3 51 4,3 73,7

MUL (25) 3 54 4,3 78,0

RD (31) 3 57 4,3 82,3

ADD (33) 2 59 2,9 85,2

IN (01) 1 60 1,4 86,6

RET (08) 1 61 1,4 88,0

JS (13) 1 62 1,4 89,4

JNZ (12) 1 63 1,4 90,8

JRNZ (17) 1 64 1,4 92,2

DIV (36) 1 65 1,4 93,6

MOV (30) 1 66 1,4 95,0

SUB (34) 1 67 1,4 96,4

ADI (43) 1 68 1,4 97,8

DIVI (46) 1 69 1,4 99,2

Табл. 2 является исходной для построения диаграммы Парето (см. рисунок). Ось абсцисс содержит 21 интервал — в соответствии с числом использованных команд, число неиспользованных команд также равно 21.

Из анализа табл. 1, 2 и диаграммы Парето следует, что:

— десять команд (24 % от общего числа инструкций в таблице системы команд учебной ЭВМ) с кодами операций 21, 32, 22, 24, 38, 09, 19, 23, 25 и 31 используются 57 раз в трех программах, представленных в табл. 1, что составляет примерно 82 % от общего числа использованных команд при программировании;

— установленные доли использования (24 %) и повторения (82 %) команд в процессе решения задач, представленных в табл. 1, позволяют сделать вывод о справедливости и применимости принципа „20/80" — принципа Парето. В наиболее общем виде этот принцип формулируется как „20% усилий дают 80 % результата, а остальные 80 % — лишь 20 % результата";

— система команд учебной ЭВМ включает 42 команды. Табл. 2 содержит только 21 команду. Таким образом, половина команд при программировании не использована.

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

90

80 70 60 50 40 30 20 10

■ ■ 1

<Nm<N<NmO'—i<N<NmmOO'—-——

pqHHjQ _i

о ^

Q g

Одним из возможных путей преодоления проблемы является сокращение количества команд условного перехода. Основными отношениями, через которые можно выразить все остальные, являются два — „равно" и „больше". Эти два отношения обладают функциональной полнотой, т. е. они достаточны для описания любого алгоритма. В рассматриваемой системе команд учебной ЭВМ шесть команд условного перехода. Сокращение можно провести за счет удаления команд (переход, если содержимое аккумулятора не равно нулю), (переход, если содержимое аккумулятора отрицательно) и 10 (переход, если есть переполнение аккумулятора).

Сокращение числа машинных инструкций в системе команд ЭВМ позволит упростить состав и структуру устройств управления как аппаратного, так и программного типа.

0

СПИСОК ЛИТЕРАТУРЫ

1. Цилькер Б. Я., Орлов С. А. Организация ЭВМ и систем: Учебник для вузов. СПб: Питер, 2004. 668 с.

2. Таненбаум Э. Архитектура компьютера. СПб: Питер, 2011. 844 с.

3. Аверьянов А. В., Белая Т. И., Молчанов О. Е. Использование диаграммы Парето для обеспечения качества функционирования интегральных микросхем // Изв. вузов. Приборостроение. 2016. Т. 59, № 7. С. 558—562.

4. Juran J. M. Product quality-a prescription for West // Management Review. 1981. June. P. 9—10.

5. Статистические методы повышения качества / Пер. с англ.; под ред. X. Кумэ. М.: Финансы и статистика, 1990. 304 с.

6. Аверьянов А. В., Белая Т. И., Молчанов О. Е. Анализ программных моделей учебных ЭВМ с использованием принципа Парето // Естественные и технические науки. 2016 № 6. С. 160—164.

7. Жмакин А. П. Архитектура ЭВМ. СПб: БХВ-Петербург, 2010. 352 с.

8. Басыров А. Г. Организация ЭВМ и систем: практикум. СПб: ВКА им. А.Ф. Можайского, 2012. 83 с.

9. Аверьянов А. В., Горичев Ю. В., Осипов Н. А. Надежность систем космических комплексов. Руководство к практическим и лабораторным занятиям / Под ред. В. А. Белозёрова. СПб: ВКА им. А.Ф. Можайского, 2006. 92 с.

Сведения об авторах

Алексей Васильевич Аверьянов — канд. техн. наук, доцент; ВКА им. А. Ф. Можайского, кафедра информационно -вычислительных систем и сетей; E-mail: Aver957@mail.ru

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

Алексей Викторович Калюжный — ВКА им. А. Ф. Можайского, кафедра информационно-вычислительных систем и сетей; начальник лаборатории

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

Ссылка для цитирования: Аверьянов А. В., Калюжный А. В. Применение анализа Парето для количественного оценивания частоты использования машинных команд ЭВМ // Изв. вузов. Приборостроение. 2019. Т. 62, № 2. С. 101—105.

APPLICATION OF PARETO ANALYSIS FOR QUANTITATIVE EVALUATION OF THE FREQUENCY OF COMPUTER COMMANDS USAGE

A. V. Averyanov, A. V. Kaliujnii

Mozhaisky Military Space Academy, 197198, St. Petersburg, Russia E-mail: Aver957@mail.ru

The frequency of use of computer commands in implementation of three typical algorithms is analyzed. The object of the study is the command system of software model of a training computer. As an example, analysis of three programs in mnemonics is carried out, the programs correspond to three algorithms: a branching algorithm, an algorithm that handles elements of an array, and an algorithm using a subroutine. The established proportion of used and repeated commands in the process of solving problems confirms the validity and applicability of the principle "20/80" - the Pareto principle, which in the most general form can be formulated as "twenty percent of the efforts give eighty percent of the result, the remaining eighty percent provide only twenty percent of the result". Based on the results, the conclusion is made about the redundancy of the computer command system, leading to complication of the computer control device. As one of the possible ways to reduce the number of commands, it is suggested to reduce the conditional jump commands. The approach is supposed to provide a reduction in composition and structure of control devices of both hardware and firmware types.

Keywords: architecture of computers, analysis, diagram and Pareto principle, command system, mnemonic codes, software model

REFERENCES

1. Tsil'ker B.Ya., Orlov S.A. Organizatsiya EVM i sistem (Organization of the Computers and Systems), St. Petersburg, 2004, 688 р. (in Russ.)

2. Tanenbaum A.S. Computer Networks, 4th edition, Prentice Hall, PTR UpperSaddle River, New Jersey, 2003.

3. Averyanov A.V., Belaya T.I., Molchanov O.E. Journal of Instrument Engineering, 2016, no. 7(59), pp. 558-562. (in Russ.)

4. Juran J.M. Management Review, 1981, June, рp. 9-10.

5. Kume H. Statistical Methods for Quality Improvement, Tokyo, Association for Overseas Technical Scholarship, 1985, 231 р.

6. Aver'yanov A.V., Belaya T.I., Molchanov O.E. Natural and technical sciences, 2016, no. 6, pp. 160-164. (in Russ.)

7. Zhmakin A.P. Arkhitektura EVM (Computer Architecture), St. Petersburg, 2010, 352 р. (in Russ.)

8. Basyrov A.G. Organizatsiya EVM i sistem: praktikum (Computer Organization and Systems: Practical Work), St. Petersburg, 2012, 83 р. (in Russ.)

9. Aver'yanov A.V., Belozerov V.A., Gorichev Yu.V., Osipov N.A. Nadezhnost' sistem kosmicheskikh kom-pleksov: Rukovodstvo k prakticheskim i laboratornym zanyatiyam (Reliability of Systems of Space Complexes: A Guide to Practical and Laboratory Courses), St. Petersburg, 2006, 92 р. (in Russ.)

Data on authors

Aleksey V. Averyanov — PhD, Associate Professor; Mozhaisky Military Spaсe Academy, Department of Information Systems and Networks; E-mail: Aver957@mail.ru

Aleksey V. Kaliujnii — Mozhaisky Military Spaсe Academy, Department of Information Systems and Networks; Head of Laboratory

For citation: Averyanov А. V., Kaliujnii А. V. Application of Pareto analysis for quantitative evaluation of the frequency of computer commands usage. Journal of Instrument Engineering. 2019. Vol. 62, N 2. P. 101—105 (in Russian).

DOI: 10.17586/0021-3454-2019-62-2-101-105

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