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

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

CC BY
173
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / ЭВМ / CPU / ПОЛУМАРКОВСКИЕ ПРОЦЕССЫ / ВЕРОЯТНОСТНОЕ РАСПРЕДЕЛЕНИЕ / КОНВЕЙЕР КОМАНД / ALGORITHM / COMPUTER / SEMI-MARKOV PROCESSES / PROBABILITY DISTRIBUTION / THE INSTRUCTION PIPELINE

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

Описывается процесс выполнения программы на ЭВМ. Даётся детальный анализ моделирования алгоритмов на основе полумарковских цепей.

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

SEMI-MARKOV MODELING OFALGORIJHMS

A process program execution on a computer is described. ТИе detailed analysis o/ modeling algorithms based on semi-Markov chains is given.

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

The algorithm branch and bound method for solving the problem of unification, of the software. A method for calculating the lower limit for the evaluation of the objective function based on an effective strategy for building evaluation matrix. The results of testing the developed strategy.

Key words: the task of unification of the software, minimizing polynomials with Boolean variables, branch and bound algorithm, the construction of an evaluation matrix, the function of branching.

Izotov Viktor Nikolaevich, doctor of technical sciences, professor, izotovvn-tula@mal.ru, Russia, Tula, Tula branch of the Russian Presidential Academy of National Economy and Public Administration,

Morozova Elena Vladimirovna, candidate of technical sciences, docent, mevsautul-gu@mail.ru, Russia, Tula, Tula State University,

Morozova Tatiana Vladislavovna, chief of analytical department, 1712_t@,mail.ru, Russia, Tula, Tula State Institution of the Tula region "Tulauprador"

УДК 004.021

ПОЛУМАРКОВСКОЕ МОДЕЛИРОВАНИЕ АЛГОРИТМОВ ВЫПОЛНЕНИЯ ПРОГРАММЫ НА ЭВМ

Г.Н. Клинцов, Е.В. Ларкин

Описывается процесс выполнения программы на ЭВМ. Даётся детальный анализ моделирования алгоритмов на основе полумарковских цепей.

Ключевые слова: алгоритм, ЭВМ, CPU, полумарковские процессы, вероятностное распределение, конвейер команд.

Для выполнения на ЭВМ любого алгоритма необходимо иметь «место», где храниться и откуда извлекаются правила для выполнения очередного оператора, язык описания этих правил, а также некоторого их «исполнителя». В абстрактной машине Тьюринга [1] каждое последующее правило алгоритма извлекается из бесконечной ленты и интерпретируется головкой машины. В реальной ЭВМ (рис. 1) правила описываются последовательностью машинных команд, представляющих собой массивы двоичной информации, специальным образом организованной, хранимой в запоминающих устройствах (как постоянных, так и оперативных) и извлекаемой процессором из указанных устройств по частям для дальнейшей расшифровки и интерпретации [3].

Рис. 1. Структура типовой вычислительной машины: GEN - системный генератор; CPU - процессор; RAM - оперативное запоминающее устройство; ROM - постоянное запоминающее устройство; C's - контроллеры внешних устройств;

BUS - шина для подключения блоков ЭВМ

Для решения сколько-нибудь сложной задачи должна быть выполнена достаточно длинная последовательность команд, вводимых в RAM/ROM для начала решения задачи. Каждая отдельная команда заставляет CPU производить одну из множества операций с содержимым указанных в ней внутренних регистров CPU, информацией из определённой области RAM/ROM или с одним из контроллеров, обеспечивающих логическую связь ЭВМ с внешними (периферийными) устройствами. Каждая команда состоит из двух частей: кода операции и адресной части. Код операции определяет действие, которое необходимо произвести над информацией, определённой в адресной части.

Выполнение каждой команды производиться CPU в последовательности, строго определённой кодом операции, и синхронизируется по времени сигналами GEN [3]. Период между двумя соседними фронтами u синхросигнал в дальнейшем будет называться машинным тактом. Цикл выполнения команды начинается с её выборки в регистр команд, выходы которого связанны непосредственно с дешифратором команд блока управления CPU.

Процессоры более ранних разработок при их функционировании извлекают каждую очередную команду из RAM/ROM. Более современные CPU имеют конвейер команд, входящих в структуру шинного интерфейса, что позволяет считывать очередную команду из конвейера или RAM/ROM. Каждое обращение к RAM/ROM происходит в несколько машинных тактов, число которых зависит от структуры CPU, а также от типа и степени готовности RAM/ROM к обмену информацией (обращение к RAM с элементами памяти динамического типа [2] может произойти во время незавершённого цикла регенерации информации в ячейках, в результате чего заявка на считывание очередной команды ставиться схемой управления RAM в очередь и выполняется после завершения цикла регенерации).

При выборке команд из конвейера происходит экономия машинных тактов за счёт отсутствия обращения к запоминающим устройствам. Так в конвейере микропроцессора КР1810ВМ86 может быть записано до шести байт кодов команд, что соответствует максимальной длине команды. Это позволяет выдавать коды в дешифратор команд блока управления микропроцессора по мере необходимости без обращения к памяти в конце цикла выполнения предыдущей операции. Коды команд считываются в регистры конвейера по два байта в том порядке, в котором они хранятся в запоминающем устройстве. Шинный интерфейс микропроцессора инициирует выборку следующего командного слова автоматически, как только в конвейере освободятся два байта. Если в программе встречается команда передачи управления в другую область памяти (jump с различными условиями и без них, loop, call, int [4]), то конвейер команд освобождается, код очередной команды извлекается из запоминающего устройства и шинный интерфейс микропроцессора начинает выполнять конвейер заново. Временные диаграммы функционирования приведены на рис. 2.

Рис. 2. Временные диаграммы функционирования CPU: а - без конвейера; б - при наличии конвейера команд

В той части цикла выполнения команды, которая следует за периодом её выборки, производится собственно преобразование информации. При этом каждая команда разбивается на ряд микроопераций, выполняемых исполнительным устройством CPU последовательно-параллельно (последовательно выполняются группы параллельных микроопераций). Под параллельными микрооперациями понимаются операции, выполняемые в исполнительном устройстве в течение одного и того же машинного такта,

145

результаты которых фиксируются фронтом или срезом одного и того же тактового импульса. Под последовательными микрооперациями понимаются операции, результаты которых фиксируются последовательными тактовыми импульсами. Количество машинных тактов, затрачиваемых на преобразование информации, определяется целым рядом факторов, а именно типом выполняемой операции, форматом команды (регистр-регистр, регистр-память и т.п.), длинной обрабатываемых операндов (операции со строковыми переменными), принципом формирования исполнительного адреса в команде формата регистр-память, количеством значащих цифр множества в командах типа muí (умножение) и возможностью деления операндов нацело в командах типа div (деление), необходимостью выравнивания порядков (суммирование, вычитание) и нормализации результатов в операциях с плавающей запятой [4].

Кроме того, на количество тактов команд, выполнение которых связано с обращением к RAM/ROM, влияют тип и степень готовности запоминающего устройства к обмену, а в процессорах с конвейером команд -ещё и работа шинного интерфейса процессора по заполнению конвейера команд.

Заключительный этап выполнения команды - запись результата -также определяется форматом команды, а для команд формата регистр-память - объёмом вычислений при формировании исполнительного адреса и типом RAM.

Таким образом, можно предположить, что для внешнего по отношению к ЭВМ наблюдателя количество машинных тактов, затрачиваемое процессором на выполнение каждой команды, является случайной величиной. Характеристики этой случайной величины определяются целым рядом вышеупомянутых факторов.

Если рассматривать импульсы GEN как случайный сигнал с высокой степенью стабильности частоты и фазы (как правило, актовые генераторы ЭВМ являются кварцованными), то время между импульсами может быть описано вырожденным законом распределения

/имп (0 = Нт^о {expKí " ' 2D] / V1/2tüD} , где t - время; u - период следования тактовых импульсов; D - дисперсия периода последовательных тактовых импульсов.

Вырожденный закон распределения описывается 5-функцией Дирака:

б(/-»)4°'пр,,"!"- (о

I ооз при t = и :

+оо

J 5(/ - ii)dt = 1.

Время, затрачиваемое процессором на выполнение команды от выборки кода команды до записи результата, может быть определено как взвешенная сумма вырожденных законов распределения:

I

/к(t) = Z Pid(t - u ■ m к (2)

i=1

где i - индексы для обозначения вариантов выполнения команды; I - количество вариантов; Pi - вероятности появления соответствующих вариантов; 0 < mmin £ mi £ mmax; mi - количество машинных тактов при i-м варианте выполнения команды (целое число).

Из (1) следует, что /к (t) обладает следующими свойствами:

/к(t) = 0 при t < 0, (3)

¥

J /к (t )dt = 1. 0

Выполнение каждой команды может быть охарактеризовано следующими числовыми характеристиками:

минимальным временем выполнения Тк min = u mini {mi} = ummin;

максимальным временем выполнения Тк max = u max i {mi} = u mmax;

средним временем выполнения и дисперсией соответственно

I 2 I 2 2

Тк = u Z pmi; dk = u z pmi - (tk ) . i=1 i=1 Здесь и ниже под средним временем выполнения понимается математическое ожидание времени, вычисляемое для закона распределения /(t) по общеизвестной зависимости [5]:

¥

Т = J t/(t)dt. (4)

0

Дисперсия времени для закона распределения /(t) также вычисляется по известной зависимости

¥

D = J (t - Т)2 /(t)dt. (5)

0

Несложные выкладки показывают, что для вырожденного закона распределения 5(t - u) математическое ожидание равно u. Дисперсия вырожденного закона равна нулю по определению.

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

х< X; х < X; х> X; х > X; х = X; хф X,

где х - обрабатываемые данные; X - некоторая наперёд заданная величина.

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

Вероятность выбора 1-го продолжения вычислительного процесса определяется законом распределения данных, анализируемых при принятии решения, и условиями перехода:

Рг = | ф( х) dx,

х (/)

где ф(х) - закон распределения обрабатываемых данных х; Х(1) - область действия 1-х условий перехода 1 < г < J(х); 3(х) - количество условий перехода.

Очевидно, что для того чтобы обеспечить массовость и детермени-рованность алгоритма при переходах, должны соблюдаться условия

Го при / Ф у J (х)

X(/) п X(у) = ] Д \ ., и X(/) = X, [X(/) при г = у /=1

где X - область определения обрабатываемых данных х.

Из свойств массовости и детерминированности алгоритмов следует,

что

J(х) J(х)

£ Рг = £ I Ф(х^ = 1. (6)

г=1 i=1X (г)

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

Список литературы

1. Котов В.Е., Сабельфельд В.К. Теория схем программ. М.: Наука, 1991. 246 с.

2. Лебедев О.Н. Микросхемы памяти и их применение. М.: Радио и связь, 1990. 158 с.

3. Микропроцессоры. Кн.1. Архитектура и проектирование микроЭВМ. Организация вычислительных процессов: учебник для втузов / под ред. Л.Н. Преснухина. М.: Высшая школа, 1986. 495 с.

148

4. Скенлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера. М.: Радио и связь, 1989. 336 с.

5. Ширяев А.Н. Вероятность. М.: Наука, 1989. 640 с.

Клинцов Григорий Николаевич, асп., argon-eldaramail.ru, Россия, Тула, Тульский государственный университет,

Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elarkinamail.ru, Россия, Тула, Тульский государственный университет

SEMI-MARKOV MODELING OF ALGORITHMS THE PROGRAM EXECUTION ON A COMPUTER

G.N. Klintsov, E. V. Larkin

A process program execution on a computer is described. The detailed analysis of modeling algorithms based on semi-Markov chains is given.

Key words: algorithm, computer, CPU, semi-Markov processes, probability distribution, the instruction pipeline.

Klintsov Grigoriy Nikolaevich, postgraduate, argon-eldaramail. ru, Russia, Tula, Tula State University,

Larkin Eugene Vasilyevich, doctor of technical sciences, professor, head of chair, elarkina mail. ru, Russia, Tula, Tula State University

УДК 622.236.732

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

Г.Н. Клинцов, Е.В. Ларкин

Описывается общая схема управления проходкой тоннелепроходческого комплекса КТПМ 5,6. Рассмотрены вопросы реализации алгоритма управления в системе SCADA. Также описывается интерфейс удалённого управления роторного тоннелепроходческого комбайна, который является сложным мехатронным комплексом.

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

Тоннелепроходческий комплекс КТПМ - 5,6 является сложной динамической системой, включающей в себя многие параметры контроля процессов проходки, что означает наличие функций, выполняемых человеком (оператором).

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