Учебное пособие москва мади 2020 ббк 32. 81 В 683 Волосова, А. В. В683


Информационная структура программы есть совокупность



Download 2,31 Mb.
Pdf ko'rish
bet101/108
Sana01.03.2022
Hajmi2,31 Mb.
#476325
TuriУчебное пособие
1   ...   97   98   99   100   101   102   103   104   ...   108
Bog'liq
ПАРАЛЛЕЛЬНЫЕ МЕТОДЫ И АЛГОРИТМЫ

Информационная структура программы есть совокупность 
сведений о том, как отдельные элементы программы связаны между 
собой.
 
 
16.2.
Графовые модели программ
 
Целью рассмотрения моделей для программ на последовательных 
языках программирования является решение таких вопросов, как:

проведение реорганизации программы, с целью минимизации числа 
используемых переменных, 

оптимальное использование кэш
-
памяти, 

минимизация числа обменов с медленной памятью и т.д. 

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


164 
Денотационный подход опирается на исследование состояния памяти 
программ. В практических приложениях он используется редко. 
Операционный подход, при котором исполнение (развитие) любой 
программы представляется в виде набора выполненных действий (операций), 
некоторым образом связанных между собой. Содержание действий, их 
вычислительная мощность и способ связи в рамках данного подхода не 
фиксируются. Они определяются в каждом конкретном случае по
-
своему в 
зависимости от целей исследования. Операционный подход в практических 
приложениях используется очень часто. Этот подход порождает класс 
моделей программ, называемых графовыми. В этом классе каждая модель 
представляет граф, в котором вершины соответствуют каким
-
то множествам 
действий программы, а дуги (ребра) так или иначе связаны с отношениями 
между ними. Диапазон уровней сложности графовых моделей огромен. 
Отдельная вершина может представлять и программу целиком, и какие
-
то ее 
большие или малые фрагменты и даже отдельные элементарные операции. 
Также приходится учитывать многообразие связей. 
В программе можно выделить два типа действий:
-
преобразователи, которые осуществляют переработку информации. 
Например, операторы присваивания. Их левая часть определяет область 
памяти программы, подвергающейся
воздействию преобразователя, а 
переменные из правой части показывают на необходимые для выполнения 
данного действия аргументы.

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


165 
Пример. Пусть решается система линейных алгебраических уравнений 
Ах = b с левой двухдиагональной матрицей порядка n. Обозначим через а
1
, ..., 
а
n
диагональные элементы матрицы А, через c
1
, ..., c
n

ее поддиагональные 
элементы, через b
1
, ..., b
n

правые части, через x
1
, ..., x
n

координаты 
решения. Необходимо найти максимальную координату вектора
-
решения.
Запишем алгоритм 1:
y=b
1
/a
1
х
=
у
DO i=2, n 
х
=(b
i
-
с
i
x/a
i
)
if (
х
<=
у
) go to 7
у =х 
END DO 
После выполнения программы значение переменной 
у
будет равно 
максимальному из чисел х
1
, ..., х
n
. Здесь операторы с метками 1, 2, 4, б 
являются преобразователями, операторы с метками 3, 5, 7 ‒
распознавателями.
Между действиями программы существуют связи двух типов:

связь по управлению или операционная связь определяется фактом 
выполнения одного действия непосредственно за другим. 

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


166 
передач управления или просто 

Download 2,31 Mb.

Do'stlaringiz bilan baham:
1   ...   97   98   99   100   101   102   103   104   ...   108




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish