Оқулық Қазақстан Республикасы Білім және ғылым министрлігі бекіткен Алматы, 2011



Pdf көрінісі
бет22/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   18   19   20   21   22   23   24   25   ...   121
Байланысты:
duisembiev-parallel-esep

аппараттық ортасының әрбір құраушысы бағдарлама жұмысына өз үлесін 
қосады, ал ол жақсы ма әлде жаман ба, ол басқа сұрақ.
Сонымен, бағдарлама жұмысының тиімділігін кӛтеру туралы айтатын 
болсақ, бірінші - арнайыпроцессорларды құрастыру жайында айтылу керек.
Компьютер архитектурасын құрастырушылардың алдында әрдайым 
дилемма қойылады: қандай да бір операцияны аппаратура деңгейінде 
ұйымдастыру керек пе, әлде бұл функцияны бағдарламалық жабдыққа 
жүктеу қажет пе.
Аппаратура жағынан демеу (процессордың арнайы командалар жүйесі, 
жадтың ерекше құрылымы, разрядтылық, деректерді беру (кӛрсету) тәсілдері
ішкі процессорлық коммуникацияның топологиясы және т.б.) анықталған 
операциялар жинағын орындау жылдамдығын арттыруда кӛп ұтымды болады 
Алайда, егер процессор байттық бүтін сандарды ӛте тиімді ӛңдей алатын 
болса, онда ол бір разрядты деректердің үлкен массивтерімен, я болмаса 
жылжымалы нүктелі нақты сандармен де соншалықты тиімді жұмыс істей 
алады деп анық айта алмаймыз. Алгоритмдер әртүрлі, ал архитектурада бәрін 
алдын–ала ескеру (кӛрсету) мүмкін емес, сондықтан да құрастырушыларға 
әмбебаптық және мамандандырылу арасында компромисс іздеуге тура 
келеді. Осы жайында есептеуіш құрылғылардың ӛлшемдері мен олардың 
бағалары да ойлануға мәжбүр етеді. 
Арнайы процессорлардың жоғары мамандандырылуын ескерсек, олардың 
ӛнімділік кӛрсеткішін бағалау аса үлкен ұқыптылықты қажет ететіні айқын.
Арнайы процессорлардың қолданылу бағыттары кең - сигналдарды ӛңдеу, 
сӛзді тану, бейнені және сейсмологиялық деректерді талдау, графикалық 
үдеткіштер және т.б. Нақты алгоритмдердің ерекшеліктерін тиімді пайдалана 
отырып, арнайы процессорлар кӛптеген (жүздеген, мыңдаған, он мыңдаған, 
жүз мыңдаған) параллель жұмыс істейтін элементар функциональді 
құрылғыларды біріктіреді. Мұнда үлкен иілгіштік жоқ, оның орнына үлкен 
жылдамдықпен жұмыс істеу мүмкіндігі бар.
Алғашқылардың бірі және осы уақытқа дейін кең қолданыста жүрген 
арнайы процессорлардың қатарына, Фурье түрлендіруін тез іске асыруға 
аппараттық қолдау негізінде құрылған процессорларды жатқызуға болады. 
Пайдаланушыдан жасырын параллельділік - машиналық команда 
деңгейіндегі параллельділікті (Instruction–Level Parallelism) пайдалану идеясы 
параллельділіктің даму бағытына қызықты серпін берді. Пайда ӛте кӛп, 
олардың ішіндегі ең бастыларының қатарына пайдаланушыға арнайы 
параллель бағдарлама жасау қажеттілігінің жоқтығын айтуға болады. 
Сонымен қатар, мұнда тасымалдау мәселесі тізбекті машиналар класындағы 
бағдарламаны тасымалдаудың жалпы мәселелерінің деңгейінде қалады. 
Машиналық 
команда 
деңгейінде 
параллельділкті 
пайдаланатын 
процессорлар архитектурасын құрудың негізгі екі жолы бар. Екі жағдайда да 
процессор бір-біріне тәуелсіз жұмыс жасай алатын бірнеше функционалдық 


37 
құрылғыдан тұрады деп есептеледі және бұл құрылғылардың бірдей немесе 
әртүрлі екені маңызды емес.
Суперскалярлық процессорлар машиналық команда терминіндегі 
программа құрамында параллельділік туралы қандай да ақпараттың болуын 
қажет етпейді. Мұнда, машиналық кодтағы параллельділікті байқау, анықтау 
есебі аппаратқа жүктеледі және ол, сәйкесінше, командалардың орындалу 
тізбегін тұрғызады.
Тәжірибе жүзінде VLIW–процессорлары (Very Large Instruction Word) 
негізінен фон-неймандық компьютері ережесімен жұмыс істейді. 
Айырмашылығы: процессорге әр цикл сайын берілетін команда, бір ғана 
операцияны емес, бірден бірнешеуін анықтайды. 
VLIW-процесорының командасы ӛрістер жиынтығынан тұрады, олардың 
әрқайсысы ӛзінің операциясына жауап береді, мысалы, функционалды 
құрылғыларды активтеу, жадпен жұмыс істеу, регистрлермен операция және 
т.б. Егер процессордың қандай да бір бӛлігі, бағдарламаның орындалуы 
барысының ағымды этапында қажет етілмесе, онда команданың оған сәйкес 
ӛрісі әрекет етпейді. 
Осыған ұқсас архитектуралы компьютерлер қатарына Floating Point 
Systems фирмасының АР–120В компьютерін мысалға келтіруге болады. Оны 
алғаш пайдалану 1976 жылы басталып, 1980 жылы дүние жүзі бойынша 1600 
–ден аса данасы орнатылды. АР–120В компьютерінің командасы 64 
разрядтан тұрады және ол машинаның барлық құрылғыларының жұмысын 
басқарады. Әрбір тактіде (167 нс) бір команда беріледі, бұл бір секунд ішінде 
6 миллион команданың орындалуына эквивалентті. Әрбір команда бір 
уақытта бірнеше операцияларды басқара алатындықтан, нақты ӛнімділік 
жоғары болуы мүмкін. АР–120 В командасының барлық 64 разряды, әрбірі ӛз 
операциялар жиынына жауап беретін алты топқа бӛлінеді: 16-разрядты бүтін 
санды берілгендер және регистрлермен операциялар, нақты сандарды қосу, 
енгізу/шығаруды басқару, ӛту командалары, нақты сандарды кӛбейту және 
басты жадтағы жұмыс командалары. 
VLIW-процессоры үшін бағдарлама әрқашанда параллельділік туралы 
нақты, 
дәл 
ақпаратты 
қамтиды. 
Мұнда, 
компилятор, 
әрдайым 
бағдарламадағы параллельділікті ӛзі анықтап, қандай операциялар бір-біріне 
тәуелсіз екені туралы ақпаратты аппаратураға айқын түрде хабарлайды. 
VLIW-процессорына арналған кодта процессордың бағдарламаны 
қалай орындайтыны туралы нақты жоспары енгізілген: әр операция қай кезде 
орындалады, қандай функционалды құрылғылар жұмыс істейді, қандай 
регистрлерге қандай операндтар кіреді және т.б.
Екі бағыттың да ӛз артықшылықтары мен кемшіліктері бар және де 
VLIW архитектурасының шектелген мүмкіндіктері мен қарапайымдылығына 
суперскаляр жүйелердің күрделілігі мен динамикалық мүмкіндіктерін қарсы 
қоюдың қажеті жоқ. Әрине, компиляция кезінде операцияның орындалу 
жоспарын құру, суперскалярлық жүйелер үшін де жоғары дәрежедегі 
параллелділікті қамтамасыз ету үшін маңызды екені айқын. Сонымен бірге, 


38 
компиляция кезінде бірмәнді еместік туындайды, оны суперскалярлы 
архитектураға тиісті динамикалық механизмдер кӛмегімен тек қана 
бағдарламаның орындалуы кезінде ғана шешуге болады. 
50–ші жылдардың соңында суперскалярлық ӛңдеу идеясының дамуына 
IBM фирмасының STRECH жобасы үлкен ықпал етті, қазіргі таңда кӛптеген 
микропроцессорлардың архитектурасы осы қағидаға сүйеніп құрылған. 
VLIW-компьютерінің айқын ӛкілдері: Multiflow және Cydra компьютерлері 
ұрпағы. 
Жоғарыда келтірілген екі қағида да жеке процессорлардың ӛнімділігін 
арттыруға қатысты, олардың негізінде ӛз кезегінде кӛппроцесссорлы 
конфигурациялар құруға болады. Параллель компьютерлердің архитектурасы 
компьютерлік индустрияның пайда болуынан бастап, адам нанғысыз темппен 
және әртүрлі бағыттарда дамуда [24]. 
Дегенмен, егер детальдарын ескермей, ал кейінгі басым кӛпшілік 
параллель есептеу жүйелерінің жалпы құрылу идеясын бӛліп қарастыратын 
болсақ, онда тек екі класс қана қалатынын кӛреміз. 
Бірінші класс – бұл ортақ (жалпы) жадылы компьютерлер. Осы 
принциппен құрылған жүйелерді әдетте мультипроцессорлық жүйелер 
немесе жай мультипроцессорлар деп те атайды. Жүйеге, ортақ жадыға 
қатынауға тең құқылы бірнеше процессорлар кіреді (12 сурет). 
12 сурет. Ортақ жадылы параллель компьютерлер 
Барлық процессорлар ӛзара жалпы жадыны «бӛледі», осы себепті бұл 
класқа жататын компьютерлердің тағы бір атауы - бөлінген жадылы 


Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   121




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет