СИСТЕМНЫЙ АНАЛИЗ, УПРАВЛЕНИЕ И ОБРАБОТКА ИНФОРМАЦИИ SYSTEM ANALYSIS, CONTROL, AND INFORMATION PROCESSING
УДК 621.396.6
DOI: 10.17586/0021-3454-2023-66-4-259-265
СТАТИСТИЧЕСКОЕ ОЦЕНИВАНИЕ МЕТРИК МАШИННЫХ КОМАНД ЭВМ И РЕАЛИЗУЮЩИХ ИХ МИКРОКОМАНД НА ОСНОВЕ АНАЛИЗА ПАРЕТО
А. В. Аверьянов*, И. Н. Кошель, В. В. Кузнецов, В. Т. Нгуен
Военно-космическая академия им. А. Ф. Можайского, Санкт-Петербург, Россия
vka_24kaf1@mail.ru
Аннотация. Определены метрики, позволяющие анализировать частоту использования машинных команд на примере 50 программ в машинных кодах учебной ЭВМ. Установленные в процессе анализа проценты использования и повторения микрокоманд при реализации микропрограммного управления подтверждают применимость принципа „20/80" — принципа Парето для работы процессоров. Сделан вывод об избыточности системы команд ЭВМ, которая приводит к усложнению архитектуры процессоров. Выявлены группы команд и микрокоманд с минимальным числом повторений (значимости), часть из которых может быть удалена с целью упрощения архитектуры ЭВМ.
Ключевые слова: архитектура ЭВМ, анализ, диаграмма и принцип Парето, программная модель ЭВМ, метрики машинных команд, система команд, мнемокоды, микропрограмма
Ссылка для цитирования: Аверьянов А. В., Кошель И. Н., Кузнецов В. В, Нгуен В. Т. Статистическое оценивание метрик машинных команд ЭВМ и реализующих их микрокоманд на основе анализа Парето // Изв. вузов. Приборостроение. 2023. Т. 66, № 4. С. 259—265. DOI: 10.17586/0021-3454-2023-66-4-259-265.
STATISTICAL ESTIMATION OF COMPUTER INSTRUCTIONS METRICS AND MICRO COMMANDS IMPLEMENTING THEM BASED ON PARETO ANALYSIS
A. V. Averyanov*, I. N. Koshel, V. V. Kuznetsov, V. T. Nguyen
A. F. Mozhaisky Military Space Academy, St. Petersburg, Russia vka_24kaf1@mail.ru
Abstract. On the example of 50 programs in the machine codes for an educational computer, metrics are defined that allow analyzing the frequency of use of machine instructions. The percentages of microinstructions used and repeated during micro-program control implementation established during the analysis, confirm the applicability of the 20/80 principle - the Pareto principle for processor operation. A conclusion is made about the redundancy of the system of computer commands, which leads to the complication of the processors architecture. Groups of instructions and microinstructions with a minimum number of repetitions (significance) are identified, and some of them can be removed in order to simplify the computer architecture.
Keywords: computer architecture, analysis, Pareto diagram and principle, program model of computer, metrics of machine instructions, system of commands, mnemonic codes, microprogram
For citation: Averyanov A. V., Koshel I. N., Kuznetsov V. V., Nguyen V. T. Statistical estimation of computer instructions metrics and micro commands implementing them based on Pareto analysis. Journal of Instrument Engineering. 2023. Vol. 66, N 4. P. 259—265 (in Russian). DOI: 10.17586/0021-3454-2023-66-4-259-265.
© Аверьянов А.В., Кошель И. Н., Кузнецов В. В., Нгуен В. Т., 2023
В сфере контроля качества для классификации проблем качества на немногочисленные существенно важные и многочисленные несущественные используется метод Парето. Анализ Парето относится к статистическим методам повышения качества, в его основе лежит процесс построения диаграммы — кумулятивной кривой Парето, позволяющей определить немногочисленные, но значимые факторы [1, 2]. Эта кривая описывает функцию распределения Парето, которая в теории вероятностей относится к усеченным непрерывным двухпараметри-ческим распределениям* [3]. Это распределение используется в исследовании научных, экономических, социальных, геофизических проблем и многих других видов наблюдаемых явлений. Вне области экономики это распределение называется также распределением Брэдфорда, в лингвистике оно известно под именем закона Цапфа.
Использование диаграммы Парето позволило выявить, что устранение в процессе проектирования, производства и эксплуатации интегральных микросхем факторов, приводящих к дефектам металлизации и к дефектам внутренних межэлементных соединений и контактов, приведет к двукратному сокращению количества отказов этих микросхем [4].
Подход, базирующийся на диаграмме и принципе Парето, может быть применен для анализа используемых в процессе обучения программных моделей ЭВМ [5] и обоснования нецелесообразности применения на начальном этапе обучения программированию модели ЭВМ с избыточным количеством команд. Предпочтение следует отдавать ЭВМ, система команд которой содержит минимальное число машинных команд-инструкций.
С помощью анализа Парето количественно оценивалась частота использования машинных команд ЭВМ. Объектом исследования являлась система команд программной модели учебной вычислительной машины [6]. В качестве примера проанализированы три программы в мнемокодах, соответствующие трем алгоритмам: обрабатывающему элементы массива, использующему подпрограмму и разветвляющемуся. Установленная доля использованных команд в процессе решения задач подтверждает справедливость и применимость принципа „20/80" — принципа Парето, который в наиболее общем виде можно сформулировать так: „ двадцать процентов усилий дают восемьдесят процентов результата, остальные восемьдесят процентов обеспечивают лишь двадцать процентов результата". Сделан вывод об избыточности системы команд ЭВМ, которая приводит к усложнению устройства управления ЭВМ [7].
Представленные результаты получены для ограниченной выборки, состоящей из 61 команды и относящейся к трем программам. Достоверность полученных результатов и выводов проверялась путем значительного увеличения числа команд, подлежащих статистической обработке. Для этого были проанализированы 50 программ в мнемокодах учебной ЭВМ [6, 8], реализующих разветвляющиеся алгоритмы (9 программ), обработку массивов данных — программирование циклов с переадресацией (8 программ), включающих подпрограмму и организацию стека (9 программ), программирование внешних устройств (10 программ) и реализующих различные способы адресации (14 программ).
Все использованные команды представлены в табл. 1, на основе которой строится диаграмма Парето. В первом столбце содержатся мнемокоды команд, а в скобках — соответствующие им машинные коды, представленные в десятичной системе счисления; во втором столбце — число повторений п конкретной команды (ее значимость); в третьем — накопленная сумма N числа повторений; в четвертом — доля г от суммарного числа повторений, выраженная в процентах; в пятом столбце — накопленная доля Я, выраженная в процентах. Рассматриваемые параметры п, N г и Я являются метриками машинных команд ЭВМ.
Учебная ЭВМ включает 42 команды. В табл. 1 приведены 37 команд, которые расположены в порядке убывания частоты (значимости) их использования. Таким образом, 5 команд
*
Распределение названо в честь итальянского экономиста и социолога Вильфредо Парето, который вывел эмпирическое правило, отражающее неравномерность распределения причин в природе.
в 50 исследуемых программах не использованы. Из таблицы следует, что восемь первых команд (примерно 20 % от общего количества) задействуются в процессе вычислений 850 раз, что составляет примерно 68 % от суммарного числа повторений. Применительно к статистике использования команд учебной ЭВМ принцип „20/80" не соблюдается — этому случаю соответствует отношение „20/70".
Изменение накопленной доли Я графически отражается диаграммой Парето (рис. 1). Ось абсцисс содержит 37 равных интервалов — число использованных команд. Левая ось ординат соответствует накопленной доле Я от числа повторений, выраженной в процентах, правая — накопленной сумме числа повторений команд N. Кумулятивная кривая Парето является по сути огибающей столбиковой диаграммы, построенной следующим образом.
Таблица 1
Команда (КОп) N n Я R, % Я r, %
RD (21) 283 283 22,532 22,532
WR (32) 152 435 12,102 34,634
WR (22) 124 559 9,873 44,507
SUB (24) 65 624 5,175 49,682
OUT (38) 63 687 5,016 54,698
ADD (33) 61 748 4,857 59,555
CALL (19) 54 802 4,299 63,854
RD (31) 48 850 3,822 67,676
JMP (10) 41 891 3,264 70,940
JS (13) 33 924 2,627 73,567
MUL (25) 31 955 2,468 76,035
HLT (09) 31 986 2,468 78,503
OUT (02) 31 1017 2,468 80,971
RET (08) 29 1046 2,309 83,280
IN (01) 29 1075 2,309 85,589
JNS (14) 26 1101 2,07 87,659
RDI (41) 25 1126 1,990 89,649
DIV (26) 23 1149 1,831 91,480
ADD (23) 19 1168 1,513 92,993
JNZ (12) 18 1186 1,433 94,426
PUSH (06) 10 1196 0,796 95,222
SUB (34) 9 1205 0,717 95,939
JRNZ (17) 8 1213 0,637 96,576
POP (07) 6 1219 0,478 97,054
JZ (11) 6 1225 0,478 97,532
IRET (03) 5 1230 0,398 97,930
EI (28) 5 1235 0,398 98,328
IN (37) 5 1240 0,398 98,726
MOV (30) 4 1244 0,318 99,044
MUL (35) 4 1248 0,318 99,362
DIV (36) 2 1250 0,159 99,521
ADI (43) 1 1251 0,08 99,601
SBI (44) 1 1252 0,08 99,681
MULI (45) 1 1253 0,08 99,761
DIVI (46) 1 1254 0,08 99,841
JO (15) 1 1255 0,08 99,921
JNO (16) 1 1256 0,08 100
Первый столбик соответствует команде КБ(21) - „Чтение", наиболее часто повторяемой (накопленная сумма числа повторений N = 283, накопленная доля от суммарного числа повторений Я = 22,532 %). Второй столбик соответствует двум командам КБ(21) и ШК(32) — „Запись в регистр", для которых N = 435, Я = 34,634 %, третий — трем командам КБ(21), ШК(32) и ШК(22) — „Запись в ячейку памяти", для которых N = 559 и Я = 44,50 7% и т.д.
Построение столбиковой диаграммы продолжается вплоть до 37-й команды ^0(16) — „Переход, если нет переполнения". Кумулятивная кривая (см. рис. 1) математически соответствует функции распределения Парето, которая задается равенством:
^Х(х) = Р(Х< х) = 1 - (хт/х)к для х> хт; хт> 0; к > 0, где X — случайная величина; х — значение случайной величины X; хт и к — параметры распределения Парето.
Семь последних команд Б1У(36), ЛБ1(43), БЫ(44), МИП(45), Б1У1(46), 10(15) и ^0(16) могут быть объединены в соответствии с методикой построения диаграмм Парето в группу „Прочие" [9], так как числовой результат повторений каждой из них меньше, чем самое малое значение п, полученное для остальных 30 команд.
R, % 90
80
70
60
50
40
30
20
10
0
>
A У
A /
/
f
11
ggssssss
fiSei-a-оь
* s з § | а * ?
8 « 5
N
1170 1040 910 780 650 520 390 260 130 0
IIя |з г I|I|1||S |
- I « 1 | I
Рис. 1
На следующем этапе статистического оценивания применялся анализ Парето для микрокоманд, реализующих рассмотренные команды ЭВМ. В табл. 2 представлены все микрокоманды, используемые в микропрограммах, соответствующих всем командам и пустой операции NOP.
Таблица 2
Команда (КОп) N n Ж R, % ж r, %
MRd 55 55 15,988 15,988
MAR := PC 47 102 13,663 29,651
PC := PC+1 47 149 13,663 43,314
CR := MDR 42 191 12,209 55,523
END COMMAND 42 233 12,209 67,732
ALU <-- COP 12 245 3,488 71,221
Start ALU 12 257 3,488 74,709
RAR := CR5 9 266 2,616 77,325
DR := MDR 8 274 2,326 79,651
RRd 7 281 2,035 81,686
MAR := SP 6 287 1,744 83,430
MAR := ADR 6 293 1,744 85,174
MWr 4 297 1,163 86,337
DR := RDR 4 301 1,163 87,500
SP := SP+1 3 304 0,872 88,372
SP := SP-1 3 307 0,872 89,244
RWr 3 310 0,872 90,116
PC := MDR 2 312 0,581 90,697
PC := ADR 2 314 0,581 91,278
Acc := MDR 2 316 0,581 91,859
Продолжение Табл. 2
Команда (КОп) N N Ж R, % ж R, %
OR := ACC 1 317 0,291 92,150
Fl := MDR[1:2] 1 318 0,291 92,441
INT RETURN 1 319 0,291 92,732
RB := ADR 1 320 0,291 93,023
SP := ADR 1 321 0,291 93,314
MDR := RDR 1 322 0,291 93,605
RDR := MDR 1 323 0,291 93,895
HALT 1 324 0,291 94,186
JZ 1 325 0,291 94,477
JNZ 1 326 0,291 94,767
JS 1 327 0,291 95,058
JNS 1 328 0,291 95,349
JO 1 329 0,291 95,640
JNO 1 330 0,291 95,931
RAR := CR2 1 331 0,291 96,222
DEC GR 1 332 0,291 96,513
JRNZ 1 333 0,291 96,804
MDR := 0.FL.PC 1 334 0,291 97,095
INT (PC := IVT[adr]) 1 335 0,291 97,386
MDR := PC 1 336 0,291 97,677
I := 1 1 337 0,291 97,968
I := 0 1 338 0,291 98,259
RAR := CR4 1 339 0,291 98,545
IORd 1 340 0,291 98,836
IOWr 1 341 0,291 99,127
MDR := ACC 1 342 0,291 99,418
ACC := RDR 1 343 0,291 99,709
RDR := ACC 1 344 0,291 100
Табл. 2 содержит 48 микрокоманд, расположенных в порядке убывания частоты их использования (значимости).
Диаграмма Парето, соответствующая табл. 2, приведена на рис. 2.
Я, % 90
80 70 60 50 40 30 20 10 0
280 240 200 160 120 80 40 0
г !«. £ 2 < w < ^ 2 ^ !'. <
Qf I. ■ 2 1 С И се ■
" 3 v i а " < ос
Рис. 2
Из табл. 2 и рис. 2 следует, что десять первых микрокоманд (примерно 21 % от общего количества) задействуются в процессе вычислений 281 раз, что составляет примерно 82 % от суммарного числа повторений. Установленная доля использованных микрокоманд в процессе
48535323232353485353234823
решения задач подтверждает применимость принципа Парето к микропрограммам, реализующим систему команд учебной ЭВМ. В группу „Прочие" можно отнести 28 микрокоманд, каждая из которых используется в микропрограммах лишь один раз. Эта группа составляет примерно 58 % от общего числа микрокоманд, представленных в табл. 2.
Диаграмма Парето для микрокоманд, содержащая группу „Прочие", представлена на рис. 3.
50 40 30 20 10 0
%
90 80 70 60 50 40 30 20 10 0
Рис. 3
Ось абсцисс диаграммы разбита на 21 одинаковый интервал. Убывающая столбиковая диаграмма начинается с микрокоманды MRd — „Чтение памяти", 55 раз используемой в командах учебной ЭВМ. Последний 21-й интервал соответствует группе „Прочие". Микрокоманды, образующие эту группу, добавляют примерно 8 % к накопленной доле Я повторений.
Сказанное выше позволяет сделать следующие выводы. Редко используемые машинные инструкции и микрокоманды, их реализующие на уровне микропрограмм, приводят к усложнению архитектуры микропроцессоров. Принцип Парето применительно к работе процессора формулируется следующим образом: „ в течение 80 % времени работы процессор выполняет 20 % от общего числа реализованных в нем команд".
Целесообразно освободить процессор от выполнения 80 % редко используемых команд и микрокоманд, их реализующих. Сокращению подлежат команды и микрокоманды из группы „Прочие". В табл. 1 и 2 соответствующие им строки выделены серым цветом. Этот выбор с последующим удалением может быть использован на этапе разработки RISC-компьютеров (компьютеров с сокращенным набором команд).
Уменьшение числа редко используемых машинных инструкций и микрокоманд приведет к упрощению устройств управления и архитектуры процессоров ЭВМ.
n
СПИСОК ЛИТЕРАТУРЫ
1. Статистические методы повышения качества / Пер. с англ.; под ред. X. Кумэ. М.: Финансы и статистика, 1990. 304 с.
2. Juran J. M. Product quality-a prescription for West // Management Review. 1981. June. P. 9—10.
3. Корн Г., Корн Т. Справочник по математике (для научных работников и инженеров). М.: Наука, 1973. С. 614—615.
4. Аверьянов А. В., Белая Т. И, Молчанов О. Е. Использование диаграммы Парето для обеспечения качества функционирования интегральных микросхем // Изв. вузов. Приборостроение. 2016. Т. 59, № 7. С. 558—562.
5. Аверьянов А. В., Белая Т. И, Молчанов О. Е. Анализ программных моделей учебных ЭВМ с использованием принципа Парето // Естественные и технические науки. 2016. № 6. С. 160—164.
6. Жмакин А. П. Архитектура ЭВМ. СПб: БХВ-Петербург, 2010. 352 с.
7. Аверьянов А. В., Калюжный А. В. Применение анализа Парето для количественного оценивания частоты использования машинных команд ЭВМ // Изв. вузов. Приборостроение. 2019. Т. 62, № 2. С. 101—105.
8. Басыров А. Г. Организация ЭВМ и систем: практикум. СПб: ВКА им. А.Ф. Можайского, 2012. 83 с.
9. Аверьянов А. В., Горичев Ю. В., Осипов Н. А. Надежность систем космических комплексов. Руководство к практическим и лабораторным занятиям / Под ред. В. А. Белозёрова. СПб: ВКА им. А.Ф. Можайского, 2006. 92 с.
10. Абель П. Ассемблер. Язык и программирование для IBM PC. К.: Век+, М.: ЭНТРОП, К.: НТИ, 2003. 736 с.
Алексей Васильевич Аверьянов Игорь Николаевич Кошель
Вадим Викторович Кузнецов Ван Тиен Нгуен
Сведения об авторах
канд. техн. наук, доцент; ВКА им. А. Ф. Можайского, кафедра информационно-вычислительных систем и сетей; E-mail: vka_24kaf1@mail.ru канд. техн. наук; ВКА им. А. Ф. Можайского, кафедра информационно-вычислительных систем и сетей; начальник факультета; E-mail: vka_24kaf1@mail.ru
канд. техн. наук, доцент; ВКА им. А. Ф. Можайского, кафедра информационно-вычислительных систем и сетей; E-mail: vka_24kaf1@mail.ru курсант; ВКА им. А. Ф. Можайского, кафедра информационно-вычислительных систем и сетей; E-mail: vka_24kaf1@mail.ru
Поступила в редакцию 27.12.22; одобрена после рецензирования 12.01.22; принята к публикации 28.02.23.
REFERENCES
1. Kume H. Statistical Methods for Quality Improvement, Madras, 2006.
2. Juran J.M. Management Review, 1981, June, pp.9-10.
3. Korn G.A., Korn Th.M. Mathematical Handbook for Scientists and Engineers: Definitions, Theorems, and Formulas for Reference and Review, 1968.
4. Averyanov A.V., Belaya T.I., Molchanov O.E. Journal of Instrument Engineering, 2016, no. 7(59), pp. 558-562. (in Russ.)
5. Averyanov A.V., Belaya T.I., Molchanov O.E. Natural and technical sciences, 2016, no. 6, pp. 160-164. (in Russ.)
6. Zhmakin A.P. Arkhitektura EVM Computer architecture, St. Petersburg, 2010, 352 p. (in Russ.)
7. Averyanov A.V., Kalyuzhny A.V. Journal of Instrument Engineering, 2019, no. 2(62), pp. 101-105. (in Russ.)
8. Basyrov A.G. Organizatsiya EVMi sistem: praktikum (Organization of Computers and Systems: Workshop), St. Petersburg, 2012, 83 p. (in Russ.)
9. Averyanov A.V., Gorichev Yu.V., Osipov N.A. Nadezhnost' sistem kosmicheskikh kompleksov. Rukovodstvo k prakticheskim i laboratornym zanyatiyam (Reliability of Systems of Space Complexes. Guide to Practical and Laboratory Classes), St. Petersburg, 2006, 92 p. (in Russ.)
10. Abel P. IBM PC Assembly Language and Programming, British Columbia Institute of Technology, 1998, 606 p.
Data on authors
Aleksey V. Averyanov — PhD, Associate Professor; A. F. Mozaisky Military Space Academy,
Department of Information Systems and Networks; E-mail: vka_24kaf1@mail.ru Igor N. Koshel — PhD, Associate Professor; A. F. Mozaisky Military Space Academy,
Department of Information Systems and Networks; Head of the Faculty; E-mail: vka_24kaf1@mail.ru Vadim V. Kuznetsov — PhD, Associate Professor; A. F. Mozaisky Military Space Academy,
Department of Information Systems and Networks; E-mail: vka_24kaf1@mail.ru
Van Tien Nguyen — Student; A. F. Mozaisky Military Space Academy, Department of Information
Systems and Networks; E-mail: vka_24kaf1@mail.ru
Received 27.12.22; approved after reviewing 12.01.22; accepted for publication 28.02.23.