Програмски језик parallaxis

31
Програмски језик Parallaxis Parallaxis преводилац и PARZ симулатор. Parallaxis модел вишепроцесорског система. Структура програма у Parallaxis-у. Кључне речи језика. Типови података. Приоритет оператора. Управљачке структуре.

Upload: erelah

Post on 13-Jan-2016

60 views

Category:

Documents


3 download

DESCRIPTION

Програмски језик Parallaxis. Parallaxis преводилац и PARZ симулатор. Parallaxis модел вишепроцесорског система. Структура програма у Parallaxis -у. Кључне речи језика. Типови података. Приоритет оператора. Управљачке структуре. Типови спрежних мрежа. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Програмски језик  Parallaxis

Програмски језик Parallaxis

Parallaxis преводилац и PARZ симулатор.Parallaxis модел вишепроцесорског

система.Структура програма у Parallaxis-у.Кључне речи језика.Типови података.Приоритет оператора.Управљачке структуре.Типови спрежних мрежа.

Page 2: Програмски језик  Parallaxis

Parallaxis преводилац и PARZ симулатор

Програмски систем Parallaxis има два основне компоненте: Parallaxis преводилац. PARZ интерпретатор-симулатор.

Page 3: Програмски језик  Parallaxis

Parallaxis преводилац и PARZ симулатор

Програм написан на овом језику садржи: Блокове секвенцијалне обраде. Блокове паралелне обраде. Опис архитектуре паралелне машине

на којој се извршава.

Page 4: Програмски језик  Parallaxis

Parallaxis преводилац и PARZ симулатор

Parallaxis преводилац преводи програм у псеудоасемблерски облик.

На основу тога PARZ симулатор извршава паралелне и секвенци-јалне делове програма на описаној машини.

Page 5: Програмски језик  Parallaxis

Parallaxis преводилац и PARZ симулатор

Превођење програма врши се командомPA [opcije] ul_dat [-o izl_dat]

Изворни програм треба да има наставак .p.

Page 6: Програмски језик  Parallaxis

Parallaxis преводилац и PARZ симулатор

Преведени програм има наставак .z.

Извршење програма обавља се позивањем PARZ симулатора

PZ [opcije] ime_dat

Page 7: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Омогућено је паралелно програ-мирање независно од архитектуре на којој се програм извршава.

Сваки програм садржи функцио-нални опис вишепроцесорске структуре као и паралелни алгоритам за тако описану структуру.

Page 8: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Апстрактни Parallaxis модел вишепроцесорске структуре симу-лира SIMD процесорско поље састављено од произвољног броја процесних елемената.

У програму се дефинишу: Број процесних елемената. Димензионо уређење процесорског

поља. Везе између процесних елемената.

Page 9: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Процесорска поља су хомогена, тј. процесорски елементи су

функционално идентични, и имају исти број улазних и излазних

портова. У зависности од специфициране

спрежне мреже процесни елементи су, преко портова, повезани или не са портовима других елемената.

Page 10: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

PE1

PEM1

PE2

PEM2

PEn

PEMn

Процесорска спрежна мрежа

Централнауправљачка

јединица

...

Управљачка магистрала

Магистрала података

Улаз/излаз

Сл. 1. Parallaxis модел SIMD структуре рачунара.

Page 11: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Карактеристике модела су: Симулира SIMD процесорску

структуру која се састоји од централне управљачке јединице, променљивог броја процесних елемената и флексибилне спрежне мреже.

Централна управљачка једница управља целокупним радом процесорског поља.

Page 12: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Процесни елементи су идентични по процесорској и меморијској струк-тури.

Процесни елементи имају једнак број и исти распоред портова.

Сваки процесни елемент има своју локалну меморију.

Све операције у пољу извршавају се синхроно.

Page 13: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Сви процесни елементи истовремено извршавају исту инструкцију над различитим подацима, тј. подацима из својих локалних меморија.

Процесорска мрежа служи за повезивање процесних елемената и пренос података између њих.

Page 14: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Избор топологије процесорске спрежне мреже зависи од алгоритма за дати проблем.

На почетку сваког програма врши се специфицирање спрежне мре-же да би се обезбедила стати-чност њене топологије за дату апликацију.

Page 15: Програмски језик  Parallaxis

Parallaxis модел вишепроцесорског система

Хост свим процесним елементима шаље истоветну инструкцију коју они извршавају над локалним подацима.

Из тог разлога не постоји могу-ћност индивидуалног програми-рања процесних елемената.

Page 16: Програмски језик  Parallaxis

Структура програма у Parallaxis-у

Сваки кориснички програм има следећу структуру:

SYSTEM Ime_programa;--- definicija konstanti--- definicija tipova podataka--- specifikacija procesorske mreze--- deklaracija skalarnih i vektorskih promenljivih--- definicija potprogramaBEGIN

--- telo programaEND Ime_programa.

Page 17: Програмски језик  Parallaxis

Структура програма у Parallaxis-у

Карактеристични делови програма су:

1. Специфицирање спрежне мреже процесорског поља.

2. Декларације скаларних и векторских података.

Page 18: Програмски језик  Parallaxis

Структура програма у Parallaxis-у

3. Извршење скаларних и векторских наредби.

4. Селеција процесних елемената.5. Паралелни пренос података.6. Редукција података.7. Рад са потпрограмима.

Page 19: Програмски језик  Parallaxis

Структура програма у Parallaxis-у

Већина језичких конструкција преузета је из програмских језика Pascal и Modula2.

Осим тога, постоје и нове језичке конструкције за дефинисање паралелних блокова обраде.

Page 20: Програмски језик  Parallaxis

Структура програма у Parallaxis-у

Присутне су и разлике при: дефинисању типова, одређивању приоритета оператора, увођењу констати и променљивих и имплементацији управљачких струк-

тура.

Page 21: Програмски језик  Parallaxis

Кључне речи језика

Осим кључних речи које су веома сличне онима у језику Pascal, карактеристичне су оне намењене за паралелну обраду података:

CONFIGURATIONCONNECTIONSCALARVECTOR

Page 22: Програмски језик  Parallaxis

Кључне речи језика

PARALLELENDPARALLELSTORELOADPROPAGATEREDUCE

Page 23: Програмски језик  Parallaxis

Типови података

Елементарни типови података: Нумерички. Логички. Знаковни.

Нумерички типови: Целобројни. Реални.

Page 24: Програмски језик  Parallaxis

Типови података

Целобројни типови података: INTEGER CARDINAL

Реални тип: REAL

Логички тип: BOOLEAN

Page 25: Програмски језик  Parallaxis

Типови података

Знаковни тип: CHAR

На основу елементарних типова дефинишу се и изведени типови.

Структурни типови података су: Поља. Записи. Скупови.

Page 26: Програмски језик  Parallaxis

Приоритет оператора

1. NOT, - (унарни), + (унарни);2. ^;3. *, /, DIV, MOD, AND или &;4. +, -, OR;5. =, <> или #, <, <=, >, >=, IN;

Page 27: Програмски језик  Parallaxis

Управљачке структуре

IF … THEN … [ELSEIF … THEN …] [ELSE …] END

CASE … OF … [ELSE …] END WHILE … DO … END REPEAT … UNTIL FOR … TO … [BY …] DO … END LOOP … END WITH … DO … END

Page 28: Програмски језик  Parallaxis

Типови спрежних мрежа

Програмски језик Parallaxis дозвољава специфицирање основ-них топологија спрежних мрежа: Линеарна листа. Матрица. Хексагонална мрежа.

Page 29: Програмски језик  Parallaxis

Типови спрежних мрежа

Ако се ове спрежне мреже допуне спрежним функијама које повезују крајње елементе у пољу могу се описати и сложеније топологије мрежа: Циклична листа. Торус.

Page 30: Програмски језик  Parallaxis

Типови спрежних мрежа

Уз помоћ компонованих спрежних функција описују се сложене мреже као: Бинарно стабло. Квадратно стабло. Мрежа “потпуно мешање – замена”.

Page 31: Програмски језик  Parallaxis

Типови спрежних мрежа

Коришћење параметарских спреж-них функција где се смер преноса одређује на основу вредности параметра омогућује специфици-рање мрежа вискоке симетрије као што је: Хиперкоцка.