Програмски језик parallaxis
DESCRIPTION
Програмски језик Parallaxis. Parallaxis преводилац и PARZ симулатор. Parallaxis модел вишепроцесорског система. Структура програма у Parallaxis -у. Кључне речи језика. Типови података. Приоритет оператора. Управљачке структуре. Типови спрежних мрежа. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/1.jpg)
Програмски језик Parallaxis
Parallaxis преводилац и PARZ симулатор.Parallaxis модел вишепроцесорског
система.Структура програма у Parallaxis-у.Кључне речи језика.Типови података.Приоритет оператора.Управљачке структуре.Типови спрежних мрежа.
![Page 2: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/2.jpg)
Parallaxis преводилац и PARZ симулатор
Програмски систем Parallaxis има два основне компоненте: Parallaxis преводилац. PARZ интерпретатор-симулатор.
![Page 3: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/3.jpg)
Parallaxis преводилац и PARZ симулатор
Програм написан на овом језику садржи: Блокове секвенцијалне обраде. Блокове паралелне обраде. Опис архитектуре паралелне машине
на којој се извршава.
![Page 4: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/4.jpg)
Parallaxis преводилац и PARZ симулатор
Parallaxis преводилац преводи програм у псеудоасемблерски облик.
На основу тога PARZ симулатор извршава паралелне и секвенци-јалне делове програма на описаној машини.
![Page 5: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/5.jpg)
Parallaxis преводилац и PARZ симулатор
Превођење програма врши се командомPA [opcije] ul_dat [-o izl_dat]
Изворни програм треба да има наставак .p.
![Page 6: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/6.jpg)
Parallaxis преводилац и PARZ симулатор
Преведени програм има наставак .z.
Извршење програма обавља се позивањем PARZ симулатора
PZ [opcije] ime_dat
![Page 7: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/7.jpg)
Parallaxis модел вишепроцесорског система
Омогућено је паралелно програ-мирање независно од архитектуре на којој се програм извршава.
Сваки програм садржи функцио-нални опис вишепроцесорске структуре као и паралелни алгоритам за тако описану структуру.
![Page 8: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/8.jpg)
Parallaxis модел вишепроцесорског система
Апстрактни Parallaxis модел вишепроцесорске структуре симу-лира SIMD процесорско поље састављено од произвољног броја процесних елемената.
У програму се дефинишу: Број процесних елемената. Димензионо уређење процесорског
поља. Везе између процесних елемената.
![Page 9: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/9.jpg)
Parallaxis модел вишепроцесорског система
Процесорска поља су хомогена, тј. процесорски елементи су
функционално идентични, и имају исти број улазних и излазних
портова. У зависности од специфициране
спрежне мреже процесни елементи су, преко портова, повезани или не са портовима других елемената.
![Page 10: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/10.jpg)
Parallaxis модел вишепроцесорског система
PE1
PEM1
PE2
PEM2
PEn
PEMn
Процесорска спрежна мрежа
Централнауправљачка
јединица
...
Управљачка магистрала
Магистрала података
Улаз/излаз
Сл. 1. Parallaxis модел SIMD структуре рачунара.
![Page 11: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/11.jpg)
Parallaxis модел вишепроцесорског система
Карактеристике модела су: Симулира SIMD процесорску
структуру која се састоји од централне управљачке јединице, променљивог броја процесних елемената и флексибилне спрежне мреже.
Централна управљачка једница управља целокупним радом процесорског поља.
![Page 12: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/12.jpg)
Parallaxis модел вишепроцесорског система
Процесни елементи су идентични по процесорској и меморијској струк-тури.
Процесни елементи имају једнак број и исти распоред портова.
Сваки процесни елемент има своју локалну меморију.
Све операције у пољу извршавају се синхроно.
![Page 13: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/13.jpg)
Parallaxis модел вишепроцесорског система
Сви процесни елементи истовремено извршавају исту инструкцију над различитим подацима, тј. подацима из својих локалних меморија.
Процесорска мрежа служи за повезивање процесних елемената и пренос података између њих.
![Page 14: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/14.jpg)
Parallaxis модел вишепроцесорског система
Избор топологије процесорске спрежне мреже зависи од алгоритма за дати проблем.
На почетку сваког програма врши се специфицирање спрежне мре-же да би се обезбедила стати-чност њене топологије за дату апликацију.
![Page 15: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/15.jpg)
Parallaxis модел вишепроцесорског система
Хост свим процесним елементима шаље истоветну инструкцију коју они извршавају над локалним подацима.
Из тог разлога не постоји могу-ћност индивидуалног програми-рања процесних елемената.
![Page 16: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/16.jpg)
Структура програма у 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](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/17.jpg)
Структура програма у Parallaxis-у
Карактеристични делови програма су:
1. Специфицирање спрежне мреже процесорског поља.
2. Декларације скаларних и векторских података.
![Page 18: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/18.jpg)
Структура програма у Parallaxis-у
3. Извршење скаларних и векторских наредби.
4. Селеција процесних елемената.5. Паралелни пренос података.6. Редукција података.7. Рад са потпрограмима.
![Page 19: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/19.jpg)
Структура програма у Parallaxis-у
Већина језичких конструкција преузета је из програмских језика Pascal и Modula2.
Осим тога, постоје и нове језичке конструкције за дефинисање паралелних блокова обраде.
![Page 20: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/20.jpg)
Структура програма у Parallaxis-у
Присутне су и разлике при: дефинисању типова, одређивању приоритета оператора, увођењу констати и променљивих и имплементацији управљачких струк-
тура.
![Page 21: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/21.jpg)
Кључне речи језика
Осим кључних речи које су веома сличне онима у језику Pascal, карактеристичне су оне намењене за паралелну обраду података:
CONFIGURATIONCONNECTIONSCALARVECTOR
![Page 22: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/22.jpg)
Кључне речи језика
PARALLELENDPARALLELSTORELOADPROPAGATEREDUCE
![Page 23: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/23.jpg)
Типови података
Елементарни типови података: Нумерички. Логички. Знаковни.
Нумерички типови: Целобројни. Реални.
![Page 24: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/24.jpg)
Типови података
Целобројни типови података: INTEGER CARDINAL
Реални тип: REAL
Логички тип: BOOLEAN
![Page 25: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/25.jpg)
Типови података
Знаковни тип: CHAR
На основу елементарних типова дефинишу се и изведени типови.
Структурни типови података су: Поља. Записи. Скупови.
![Page 26: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/26.jpg)
Приоритет оператора
1. NOT, - (унарни), + (унарни);2. ^;3. *, /, DIV, MOD, AND или &;4. +, -, OR;5. =, <> или #, <, <=, >, >=, IN;
![Page 27: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/27.jpg)
Управљачке структуре
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](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/28.jpg)
Типови спрежних мрежа
Програмски језик Parallaxis дозвољава специфицирање основ-них топологија спрежних мрежа: Линеарна листа. Матрица. Хексагонална мрежа.
![Page 29: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/29.jpg)
Типови спрежних мрежа
Ако се ове спрежне мреже допуне спрежним функијама које повезују крајње елементе у пољу могу се описати и сложеније топологије мрежа: Циклична листа. Торус.
![Page 30: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/30.jpg)
Типови спрежних мрежа
Уз помоћ компонованих спрежних функција описују се сложене мреже као: Бинарно стабло. Квадратно стабло. Мрежа “потпуно мешање – замена”.
![Page 31: Програмски језик Parallaxis](https://reader036.vdocuments.net/reader036/viewer/2022070410/56814675550346895db39a12/html5/thumbnails/31.jpg)
Типови спрежних мрежа
Коришћење параметарских спреж-них функција где се смер преноса одређује на основу вредности параметра омогућује специфици-рање мрежа вискоке симетрије као што је: Хиперкоцка.