
- •Дәрістік сабақтар конспектілері
- •RisCсәулетін 32 разрядты мү-де қолдану.
- •Бақылау сұрақтары:
- •Бақылау сұрақтары:
- •Ауыспалы сөздердің ұзындығы мен мөлтікүрдістердің тіркелген жиынтығы бар көпкристалды(секциялы) бағдарламалағыш мөлтікүрдісші.
- •Бақылау сұрақтары:
- •90 Micro сериялы бақылағыштармен General Electric Fanuc Automation;
- •Бақылау сұрақтары:
- •Бақылау сұрақтары
- •6.4. Дабылдарды өңдейтін үрдісшінің типтік құрылысы (аст және сат қатынасынсыз)
- •Адрестік кеңістіктің(ак) логикалық бөлінуі
- •Бағдарламаның үзілісі және мөлтікүрдісшілік жүйелердегі үзілістерді өңдеу принциптері.
- •Үзіліс бақылағышының құрылысы.
- •Үрдісші мен үзіліс бақылағышының бірге әрекет етуі
- •Үзілісті өңдеу процедурасына векторлы-бағдарламалық өту
- •Үзілісті өңдеу процедурасына векторлы өту
- •Периодтық есептеуді іске асыруда уақыт өлшегіштерді қолдану.
- •Бақылау сұрақтары:
- •Ieee 802.4 (Token Passing Model) стандарты ретінде маркерді жіберуші модель.
Дәрістік сабақтар конспектілері
1-дәріс тақырыбы: МӨЛТІКҮРДІСШІ ЖҮЙЕЛЕР.
Тақырып мазмұны: Мөлтікүрдісші жүйелердің (МҮЖ) сәулеті. МҮ-ң негізгі типтерінің сәулетінің ерекшеліктері. 8-разрядты МҮ-ні ұйымдастыру. 16-разрядты МҮ-ні ұйымдастыру. 32-разрядты МҮ-ні ұйымдастыру. 64-разрядты МҮ-ні ұйымдастыру. Біркристалды МҮ.
Мөлтікүрдісшілердің (МҮ), мөлтік ЭЕМ-ң және жүйелердің пайда болуы және қарқынды дамуы мөлтікэлектрондық технологиялардың жетістіктерінің арқасында қол жетіп отыр. Жартылай өткізгіштік электрониканың жетістіктері бір кристаллда оннан жүз мыңдаған транзистірлер компоненттерінде өте үлкен интегралдық сұлбалардың пайда болуына алып келді. Бұл сұлбаларды қолдану сандық жүйелердің тиімділігін жоғарылатты: олардың өнімділігі мен сенімділігін жоғарылату, габариттерді, массаларды, тұтынылатын қуат және бағаның төмендеуі. Екі он жылдық ішінде ЭЕМ-ң жұмыс істеу жылдмадығы 6-7 есе өссе, жедел жадының көлемі 5-6 есе өсті.
Мөлтікүрдісші жүйелердің дамуы одан да қарқынды болып табылады. Мөлтікүрдісші үлкен интегралдық жүйелер комплектілерінің бірінші түрлері нақты жүйелердегі үлкен көлемді шығарылымда қолданылуға бағытталған қатты құрылымды модульдер жиынтығынан тұрды. Келесі комплектілер мөлтікбағдарламалау қағидаларін қолдану арқасында бағытталған мүмкіндіктердің пайда болуына байланысты кең ауқымды қолданысқа ие болды. Жоғарғы қарқынмен интегралдық технологиялар дамуда. ҮИЖ (БИС) интеграциясының дәрежесі жыл сайын екі есе өсуде, вентильдің құны - ҮИЖ-ң қарапайым функционалдық элементі әр 10 жыл сайын 103-104 есе кемуде, қарапайым функцияларды орындау құны жыл сайын 2 есе төмендеуде.
МҮ, мөлтік ЭЕМ және оның негізіндегі жүйелер қолданудың екі түрлі бағыты бар:
ЕТ (ВТ ) құралдары үшін дәстүрлі;
Дәстүрлі емес - МҮ-ні пайда болуына дейін ЕТ құралдарын қолданылмаған.
ЕТ(ВТ ) құралдарының құрамындағы МҮ және мөлтік ЭЕМ-нің орны мен ролі жайлы айтқанда екі бағытты да ескеру керек.
Мөлтікүрдісші техниканың жетістіктері ХХ ғасырдағы 70-80ж. кезеңінде қазіргі заманғы ғылым мен техниканың дамуына үлес қосқан дәстүрлі ЭЕМ-мен салыстырғанда үлкен тезәрекеттесуі бар мультимөлтікүрдісші жүйелердің (ММҮЖ) дамуы мен пайда болуына әкелді.
ММҮЖ-ң өте жоғары өндіргіштігіне байланысты нейрокомпьютинг, робототехника, өріс теориялары, радио және гидролокация, геофизика, дабылдарды сандық өңдеу және өзне де ғылыми және техникалық тапсырмаларды шешуде үлкен жетістіктерге жетуге мүмкіндік береді.
Өзге жағынан қарағанда мөлтікүрдісші құралдардың дамуы есептегіш техниканы жобалау теория облысының дамуына әсер етеді: МҮЖ-ң перспективті сәулеттері және олардың компоненттері пайда болуда (RISC-үрдісшілер, транспьютерлер, дабылдық үрдісшілер және т.с.с).
Қазіргі заманғы МҮЖ –ң бағаланбас мәні жергілікті және ауқымды есептегіш желіні теория және тәжірибе жүзінде жобалайды, сонымен қатар қазіргі ЕТ құралдарын тиімді түрде қолдануға аумағын кеңейтуге мүмкіндік береді.
МҮ мен мөлтік ЭЕМ –нің көптеген қолдану облысы МҮЖ-ні жүйелік деңгейде келесі түрде жіқтелуыне мүмкіндік береді:
енгізілген бақылау және басқару жүйелері;
ақпаратты өңдеу мен енгізудің жергілікті жүйелері;
күрделі жүйелерді басқару жүйелерін тарату;
параллельді есептеудің жоғары өнімді жүйелерін бөлу;
Осылайша қазіргі кезде МҮЖ-ң келесідей қолдану аумақтары анықталған:
басқару жүйелері;
бақылау-өлшегіш құрылғылар;
байланыс техникасы;
тұрмыстық және сауда құралдары;
коліқ;
әскери техника,
есептегіш машиналар, жүйелер, кешендермен желілер.
МҮЖ-ні әртүрлі басқару жүйелерінде қолдану, бірінші ретте аз өлшемділігі, аз қуат тұтыну, басқару арналарына көп санды үрдісшінің қосылуының мүмкіндігі, бағдарламалық құрудың қарапайымдылығы.
МҮЖ-ні бақылау-өлшегіш құралдарына енгізу өлшеу дәлдігін жоғарылатып, құрылғылардың функционалдық мүмкіндігін кеңейтеді және келесі функциялардың орындалуын қамтамасыздандырады:калибровка, реттеу және температуралық өтеу, өлшегіш кешен арқылы бақылау және басқару, шешімдерді қабылдау және мәліметтерді өңдеу, қателер диагностикасы,индикация, құралдарды тексеру.
МҮЖ-ні байланыс жүйелеріне енгізу аналогтық әдістерінің орнын сандық әдістер ығыстырып шығуымен байланысты және олардың мультиплексор, код түрлендіргіштерде, қателерді бақылау құрылғыларында, басқару блоктарында және қабылдау құрылғыларында кең түрде қолдануға әкелді.
МҮЖ кең түрде сауда орталықтарының бақылау-есептегіш терминалдарында, автоматтандырылған электрондық таразыларда, банктердегі терминалдар мен кассалық аппараттарда қолданылады. МҮ мен МҰЖ-ні тұрмыстық техникада қолдану сенімділік, тиімділік және қолданудың түрлілігіне кең түрде мүмкіндіктер береді.
МҮЖ-ні әскери техниканың әртүрлі облыстарында қолдану жыл сайын өсіп келеді - ұшатын аппараттардың навигациялық жүйелерінен қөліқ роботтардың қозғалысын басқаруға дейін өсуде.
Егер МҮЖ-ң барлық қолдануын пайыздық түрде анықтасақ, онда бұл келесі түрде көрінеді: ақпараттық-өлшегіш техника – 16%, өндірісті басқару – 18%, авиация және ғарыш 15%, байланыс желісі – 14%, есептегіш техника -20%, әскери техника – 3%, медицина -3%, транспорт -2%, өзге облыстар – 7%.
Ғылыми-техникалық прогресстің үдеуі және өндірістің белсенділігі автоматтандыру құралдарын қолданбаса мүмкін емес. Автоматтандырудың қазіргі заманғы ерекше сипаттамасы ол есептегіш техниканың революциясына, сонымен қатар ең маңыздысы ол мөлтікүрдісші бақылауыштардың кең түрде қолданылуы мен робототехниканың дамуына, SCADA-жүйелердің интегралданған жүйелерін жобалау мен басқаруға негізделген.
Автоматтандырудың қазіргі заманғы құралдары мен жүйелерін қолдану келесі түрдегі тапсырмаларды шешуге мүмкіндік береді:
технологиялық параметрлердің үздіксіз өзгеруін, оператор қателігін, қоршаған ортадағы өзгерістерді автоматты түрде ескере отырып үрдісті өнімділікпен жүргізу;
шығарылатын өнім номенклатуралары үшін өндіру жоспарының динамикасын ескере отырып, технологиялық құрылғының жедел режимін өзгерту жолымен үрдісті басқару;
адамға зиян және қауіпті шарттарында үрдістерді автоматты түрде басқару.
Автоматтандыру жүйесін кең түрде қолдану бір жағынан өндірісте бос емес жұмысшылар санын азайтса, ал бір жағынан автоматтандыру жүйесін қадағалап, қызмет көрсететін жұмысшылар санын көбейтті. Осыған орай автоматтандырылған жүйенің өте жоғары өнімділігі тіпті қарапайым жүйенің аз уақыты бойынша зор экономикалық шығындарға әкелді.
Бұл мәселені шешу технологиялық жүйелердің автоматтандыру жүйесінің бүкіл диагностикалау, техникалық қамтамасыздандыру сияқты біршама сұрақтарды қарастырады.
Бұл оқулықта бағдарламаланушы бақылауыштар негізінде құрылған мөлтікүрдісші жүйелер қарастырылған.
Адамның ЭЕМ-н өзара әсерлесуі шамамен 40 жылды құрайды. Осы уақытқа бул үрдісте тек қана арнайы мамандандырылған инженерлер, математик-бағдарламалаушылар, операторлар ғана қарастырылды. Соңғы жылдары есептегіш техника саласында үлкен өзгерістер болды.
ЭЕМ құрылымына мөлтікүрдісшілерді құрастырып, енгізуіне байланысты аз өлшемді, қолдануға ыңғайлы дербес компьютерлер пайда болды. Қазіргі кезде жағдай өзгерді, қолдагушы ретінде есептеу техникасының маманы ғана емес, сонымен қатар кез келген адам, оқушыдан бастап, үй шаруасындағы әйел, дәрігер немесе мұғалім, жұмысшы немесе инженер де бола алады. Жиі бұл жағдайда дербес компьютердің феномені деп атайды. Қазіргі уақытта дербес компьютерлердің әлемдік саябағы 20млн.
Неге бұл феномен пайда болды? Бұл сұраққа жауапты дербес компьютердің нақты не екенін және оның негізгі белгілерін анықтасақ табуға болады. «Дербес» деген сөздің өзін дұрыс түсіну керек, ол компьютердің адамға тиесілі деп түсінбеу керек. «Дербес» түсінігі адамның ЭЕМ-мен еш арнайы бағдарламалаушысыз өздігінше, дербес түрде жұмыс істеуге қол жеткізгендіктен пайда болды. Алайда ЭЕМ-ң арнайы тілін білу қажет емес.
Қазіргі заманда ең танымал компьютерлердің ішінде IBM PC модельдері болып табылады және оның жаңартылған түрі IBM PC ХТ сәулеті, бағдарламалық қамтамасыздануы, сыртқы көрнекілігі бойынша дербес компьютердің базалық моделі болып табылады. Қолданушы жүйелік блоктың қалай жұмыс істейтінін білудің қажеті жоқ. Бұл арнайы мамандардың жұмысы. Бірақ ол компьютердің нақты қандай функционалдық блоктан тұратынын білу қажет. Бізді қорщаған заттардың- тоңазытқыш, газ плитасы, кір жуғыш машинасы, көліктердің ішкі функционалдық блоктарының әсерлесу қағидасі жайлы нақты білмейміз, бірақ та бұл құрылғылардың жұмыс негізіне не кіретінін білу қажет.
Ғылымның қарқынды дамуы және адам ойының жаңа облыстардың барлығына кіруі, сонымен қатар қойылған мәселені шешу, үлкен жаңа, күрделірек сұрақтар мен шешімдерді қажет етеді. Алғашқы компьютерлер заманында, олардың тезәрекеттесін 100 есе жоғарылату көп мәселелерді шешуге көмектеседі деп саналды, алайда қазіргі заманғы суперЭЕМ-ң гигафлопты өнімділігі көптеген ғалымдар үшін жеткіліксіз болды. Электр және гидродинамика, сейсмобарлау және ауа- райы, химиялық байланыстар модельдері, виртуалды анықтылықты зерттеу зерттеушілер үшін өздерінің бағдарламаларын орындауды жоғарылату мүмкіндігін берді.
Қолданбалы тапсырмаларды шешудегі жылдамдығын жоғарылату перспективті және динамикалық бағыты есептегіш техника жұмысының параллелизм ойларын енгізуімен байланысты. Осы кезеңде өзінің сәулетінде қандай да бір параллельді берілген мәліметтерді өңдеуді қолданушы жүздеген компьютерлер өңделіп, жобаланған. Ғылыми әдебиеттер мен техникалық құжаттамаларда параллельді машиналардың функционалдану қағидасін сипаттайтын әр түрлі ондаған аттарды табуға болады: векторлі-конвейерлі, массивті-параллельді кең командалық сөзі бар компьютерлер, систоликалық массивтер, гиперкубтар, арнайыүрдісшілер және мультиүрдісшілер, иерархиялық және класстерлі компьютерлер, dataflow, матрицалық ЭЕМ және де т.б Егер де мұндай аттарға толықтыру үшін тағы да олардың маңызды параметрлерін қоссақ, мысал үшін жадыны ұйымдастыру, үрдісшілер арасындағы байланыс топологиясы, жеке құрылғылардың жұмыс істеу синхрондығы немесе арифметикалық амалдарды орындау әдістері, онда әр түрлі сәулеттер саны мүлдем көп болып кетеді.
Мөлтікүрдісші жүйелердің сәулеті. «Сәулет» термині екі түрлі мағынасы бар. Бірінші жағдайда сәулет мағынасында мөлтікүрдісші орындайтын командаларды жинау сәулеті түсініледі. Екінші жағдайда сәулеті жады құрылымын енгізетін ұйымдастыру жүйесін, жүйелік шинасын, енгізу/шығаруды ұйымдастыру және т.с.с түсініктерді қамтиды. Есептегіш жүйелерінде «сәулет» термині жүйе деңгейлерінің арасындағы функцияларды бөлумен анықтала алады.
Мысал үшін бірінші деңгейлі сәулеттер МҮ –де қандай мәліметтерді өңдеу функциялар жүреді, ал қалғандары сыртқы ортаға қайсысы тәуелді екенін көрсетеді (қолданушылар, операторлар, мәліметтер базасының әкімшілігі). МҮ сыртқы ортамен интерфейстер арқылы әсерлеседі: (оператор, бағдарламалау, бейнелеу, мәліметтер базасын манипуляциялау, тапсырмаларды басқару) тілдері және жүйелік бағдарламалар (реттеу, сұрыптау, ақпаратты сақтау және қайта қосу).
Екінші деңгейлі сәулеті бағдарламалық қамтамасыздандырудың ішіндегі нақтыланған деңгейлерді шектей алады. Мысал үшін логикалық ресурстарды басқару деңгейі мәліметтер базасын, файлдарды, басқару, желілі телеөңдеу сияқты функцияларды қосады. Физикалық ресурстарды басқару деңгейіне сыртқы және жедел жадыны басқару функциялары, жүйеде орындалатын үрдісін басқару сияқты функциялары жатады.
Келесі, үшінші деңгейі жүйенің негізгі сызықтарын шектеуін бейнелейді, дәлірек айтсақ жүйелік бағдарламалық қамтамасыздану мен құралдар арасындағы шекараны анықтайды. Бұл ойды әрі қарай дамытып, физикалық жүйенің жеке бөліктерінің арасындағы функцияларды бөлуге болады. Мысал үшін кейбір интерфейстер орталық үрдісшілер қандай функцияларды іске асыратынын, ал қайсысы енгізу/шығару функциясын анықтайтынын көрсетеді.
Төртінші деңгейлі сәулеті енгізу/шығару үрдісшілер мен сыртқы құрылғылар бақылағыштарының арасындағы шектеу функцияларын анықтайды. Өз кезегінде бақылағыштар мен енгізу/шығару құрылғыларының арасындағы функцияларды шектеуге болады (терминалдар, модемдер, магнитті дисктегі жинақтар). Мұндай деңгейлер сәулеті физикалық енгізу/шығару сәулеті деп аталады.
МҮ сәулеті түсінігі бағдарламалаушы үшін маңызды құралдар, бағдарламалық және мөлтікбағдарламалық мүмкіндіктерінің жиынтығы болып табылады. Микроүрдісші аппаратураларды құрастырушылар үшін, МҮ сәулеті жағынан қарастырғанда оның аппаратуралық ұйымдастырулары мен электрондық сұлбалардың логикалық құрылымы, блок бөлімдері мен ақпараттық шиналарды байланыстырулар маңызды болып табылады.
МҮЖ-н құрастырылған екі ішкі үрдісші сәулетінің типі бар: көлденең жән тік. Тік сәулеті жағдайында секция функционалды түрде аяқталған және разрядты үрдісші болып саналады және сөз разрядтылығы секцияларға бөлінген. Көлденең сәулеті үрдісшіні құруда секция re-разрядты үрдісші алу үшін біріккен буындарының бірі ретінде қарастырылады.
МҮ-ң сыртқы сәулеті негізінен дәстүрлі: бір командалар жиыны басқа командалар жиынынын өңдейді –SISD (ағыл. Single Instruction Single Data stream). Қазіргі заманғы МҮ мөлтікүрдісші жүйелерді жобалаушылар үшін жаңа мүмкіндіктер береді, себебі олардың көбісі мөлтікүрдісші жүйелерді құру үшін аппараттық және бағдарламалық құралдары бар. Осылайша SIMD типті сәулеттері ( ағыл.Single Instruction Multiple Data stream), MISD (ағыл.Multiple Instruction Single Data stream) және MIMD (ағыл.Multiple Instruction Multiple Data stream) мүмкін болып отыр.
МҮ-ң функционалдану қағидасі. МҮ келесі цикл нұсқауларын орындай отырып жұмыс жасайды - МҮ жұмысын басқаратын нұсқауларды жадынан кезектесіп алу, олардың талдаумен оларды орындау. Сонымен бірге цикл басында МҮ жадыға нұсқауды оқу үшін назар аударады, сосын керек болған жағдайда қайтадан бірнеше рет жадының мәліметтерін оқу үшін немесе ақпаратты енгізу-шығару құрылғылары арқылы оқиды.
МҮ-да негізінен жады мен КШҚ(УВВ)-ға қатысты бір шина ғана қолданылады (1.1,а сурет), алайда, бір уақыт мезетінде мәліметтердің бір сөзі мен нұсқауы жазылады, яғни нұсқаулар мен мәліметтер кезектесіп өңделеді (1.1,б сурет).
МҮ-ні құру кезінде оның даму уақытысындағы архитектураның үш түрі қолданылады: тіркегіш, стектік және жедел жадына бағытталған.
1.1-сурет. (а) сәулеті және біркристаллды мөлтікүрдісші нұсқаудың уақытша диаграмма циклі.
ЖМҮ-де мөлтікнұсқаулар сақталатын жадының мәліметтер шинасы, ереже бойынша бөлінген (1.2,а- сурет) және нұсқау ізін таңдау процессі қолданыстағы нұсқауларды уақыт бойынша орындау арқылы қосылуы мүмкін (1.2,б-сурет).
1.2-сурет. Сәулеті (а) және секциялық мөлтікүрдісші нұсқау циклінің уақытша диаграммасы.
МҮ-ні жасау технологиясы. МҮ-ні шығару кезінде МҮ-ң түрлі шығыс сипаттамаларын беретін барлық белгілі технологиялар (ТТЛ, ТТЛШ, И 2 Л, И 3JI, ЭСЛ, n -МОП, к-МОП и р -МОП [3-4])қолданылады. ТТЛШ технологиясы тез әрекеттесуші жоғары радиацияға төтеп бере алатын МҮ алуға мүмкіндік береді,бірақ үлкен тұтыну қуаты және жоғары емес интеграция дәрежесі бар n- МОП технологиясы тиянақты тұтыну қуатының жоғары дәрежелі интеграциясын қамтамасыз етеді. к-МОП технологиясы бойынша сапфирде жасалынған МҮ жоғары тұтынушылық қасиеттері бар,ал р-МОП технологиясы бойынша жасалынғандар төмен бағада болғанмен, аз тез әсерлесуге ие.
Әмбебап және арнайы МҮ. Әмбебап МҮ көп функционалды үлкен интегралды жүйені немесе олардың бағдарламаланатын жұмыс логикасын көрсетеді. Өзінің әмбебаптылығының арқасында әр түрлі облыстарда қолдануына байланысты төмен қолдану тиімділігі бар.
Бұған балама ретінде арнайы МҮ болып табылады, оның архитектурасы нақты тапсырмаларды шешуге бағытталған. Мұндай МП-ң пайда болуы ҮИС(БИС) технологиясын вентильді матрица базасында немесе базалық матрицалық криссталдар базасының негізінде өндіру арқылы қол жеткізіліп отыр. Яғни бір немесе бірнеше төменгі ҮИС(БИС) қабаттары өзгеріссіз қалып, оның тек жоғарғы қабаты өзгереді.
Арнайы МҮ арнайы мәліметтерді өңдеу алгоритмдерін іске асыратын МҮ құру жолында дамуда(алгоритмдік МҮ). Дәстүрлі архитектура үшін алғашқы қадам болып, бұл бағытта қысқартылған нұсқаулар жиынтығынан тұратын МҮ құрастыру (RISC) және жоғары деңгейлі бағдарламалау тілдер нұсқаулықтарын жинау болып табылады.
Алгоритмдік МҮ- өзінің бағыты бойынша жоғарыда бағытталған. Мысал үшін физика тапсырмалары үшін арнайы алгоритмдік МҮ құрастырылады, олар өз кезегінде бейнелер мен сөздерді өңдеп, сигналдарды сандық фильтрациясы, сонымен қатар аналитикалық есептер үшін МҮ, ең кіші квадраттар әдісін іске асыру, сызықты бағдарламалау, фактографтік мәліметтер базасымен жұмыс жасау қызметін атқарады.
Осы кезге дейін біз тек микропроцессорлік жүйенің тек бір архитектурасын қарастырдық - мәліметтер мен командалар үшін жалпы, бір шина архитектурасы (біршиналы, принстондік, фон-неймандік архитектура). Сәйкесінше, бұл жағдайда жүйе құрамында командалар мен мәліметтер үшін тек бір ортақ жады орналасады. (1.3-сурет).
1.3-сурет. Ортақ мәліметтер мен командалар сәулеті.
Сонымен бірге мөлтікүрдісші жүйе сәулеті балама типі бар – ол мәліметтер мен командалардың бөлек шиналы архитектурасы (екішиналы, гарвардтық, архитектура). Бұл архитектура жүйеде мәліметтер үшін жеке жады және командалар үшін жеке жады болуын қарастырады (1.2- сурет).Үрдісшінің жадының әр жады типімен өзара алмасуы өз шинасында жүріп жатады.
Ортақ шина сәулеті өте кең тараған, мысал үшін дербес компьютерлерде және күрделі компьютерлерде. Жеке шина сәулеті көбінесе біркриссталды мөлтікбақылағыштарда қолданылады.
Екі шина сәулетті шешімдердің кейбір артықшылықтары мен кемшіліктерін қарастырайық.
Ортақ шина сәулеті қарапайымдырақ, себебі ол үрдісшіден бірмезетте екі шинаға қызмет көрсетуді және екі шинаның алмасуын бақылауды қажет етпейді. Берілген мәліметтер және командалар жадының бірыңғайлығы мәліметтер мен командалар кодының арасындағы көлемді қолайлы түрде тарату. Мысал үшін кейбір жағдайда үлкен және күрделі бағдарламалар қажет, ал жадыға мәліметтерді көп емес сақтау қажет. Өзге жағдайда, керісінше, қарапайым бағдарлама етіледі, бірақ үлкен мәліметтер көлемі қажет. Жадыны қайта бөлудің еш қиындығы жоқ, ең бастысы - бағдарламалар мен мәліметтер бірге жүйе жадында сыйуы керек. Ереже бойынша, мұндай архитектурасы бар жүйелерде жады үлкен көлемде болады. Бұл ең күрделі тапсырмаларды шешуге көмектеседі.
1.4-сурет. Мәліметтер мен командалардың әр түрлі шиналарының сәулеті.
Мәліметтер мен командалардың әр түрлі шиналарының архитектуралары күрделірек, ол процессорды бір мезетте кодтардың екі ағымымен де жұмыс істеуге және екі шиналардың бір уақытта алмасуын мәжбүрлейді. Бағдарлама тек командалардың жадында орналаса алады, ал мәліметтер - тек мәліметтер жадында орналасады. Мұндай тар мамандану шешілетін жүйенің тапсырмалар шеңберін шектейді, себебі ол еш жадыны ыңғайлы түрде бөлуге мүмкіндік береді. Мәліметтер мен командалар жады үлкен емес көлемде, сондықтан мұндай архитектурасы бар жүйелерді қолдану, көп жағдайда күрделі емес тапсырмалармен шектеледі.
Қазіргі заманғы кең қолданыстағы және борттық және технологиялық құрылғыларды басқару үшін қолданылатын есептегіш құрылғылар Фон Нейман және Гарвард сәулетінің екі базалық қағидаларына сәйкес құрылады. Әр сәулет негізінде үрдісші қолданылған – сандық мәліметтерді өңдеу үшін құрылғылар. Есептегіш шегіндегі үрдісшілер және басқа да құрылғылар арасындағы ақпарат алмасуы шина немесе ақпаратты жіберу магистралі бойынша параллельдік өткізгіштер жиынында іске асырылады.
Фон Нейман сәулет негізіндегі есептегіштің типтік құрылымы 1.5-а суретінде берілген (ақпаратты жіберу құжаттамасы берілген).
1.5-сурет. Фон Нейман (а) және Гарвард сәулеттерінің (б) негізіндегі есептегіш құрылымы
1- үрдісші блогы; 2- тұрақты есте сақтағыш құрылғы; 3- жедел есте сақтағыш құрылғы; 4- сыртқы жинағыш бақылағышы; 5- енгізу-шығару порттары; 6- сыртқы дисктік жинағыштар; 7- нысанмен бірігу құрылғы
Үрдісші үш есте сақтағыш құрылғыларымен әсерлеседі – мөлтіксұлбадағы тұрақты жады, мөлтіксұлбадағы жедел жады және дисктік жинағыш түрінде сыртқы есте сақтағыш құрылғылар. ТЖҚ(ПЗУ) көлемі бірліктер немесе ондаған килобайтқа дейін жетеді. Негізгі бағдарламалық қамтамасыздандыру сыртқы дисктік жинағыштарда таралады. ЖЖҚ-ң үлкен көлемі бар және үрдісшіде орындалатын бағдарламаны тарату үшін қызмет етеді. Осылайша, кез келген бағдарлама орындалмас бұрын ЖЖҚ(ОЗУ)-ға көшіріледі. Үрдісші СЖЖҚ(ВОЗУ)- мен салыстырғанда аз уақытпен іске асырылуымен сипатталатын,ЖЖҚ-н орындалатын командаларды есептейді. Фон Нейман негізіндегі есептегіштер стандартты енгізу/шығару құрылғылар жиындарынан тұрады (типтік шиналар, параллельді және кезектескен порттар). Барлық дербес ЭЕМ осы сәулет негізінде құрылған.
Гарвардтық сәулеті негізіндегі типтік құрылым 1.5-б суретте көрсетілген. Оның негізгі ерекшелігі СЖЖҚ-ң жоқтығы және ТЖҚ мен ЖЖҚ(ОЗУ)көлемдерінің қатынасы. Тұрақты жады көлемі ЖЖҚ көлемінен бірнеше рет жоғары. Барлық орындаушы бағдарламалық қамтамасыздандырулар ЖЖҚ мөлтіксұлбаларда беріледі және ЖЖҚ-ға көшіру орындалмас бұрын жүрмейді. Үрдісші ТЖҚн бағдарламалар командаларын есептейді. Бұл сәулетте ТЖҚ(ПЗУ)-ді бағдарлама жады деп атау қабылданған. ЖЖҚ датчиктерден немесе басқа борттық жүйелерден алынған мәліметтерді тарату үшін, орындаушы құрылғыға берілетін аралық мәліметтер мен есептеулер нәтижелері үшін арналған. Бұл облысты мәліметтер жады деп атау қабылданған. Гарвардтық сәулет негізіндегі есептегіштер үшін ақпараттарды түрлендіру және датчиктермен, орындаушы құрылғылармен және басқа да есептегіштермен байланысқан түрлі құрылғылар саны тән. Борттық және арнайы жерге қосылған есептегіш жүйелер гарвардтық сәулет негізінде құрылды. Сонымен қатар, борттық есетегіштер көпшартты режимдегі бағдарламалар мен нақты уақыт масштабындағы бағдарламаларды орындайды.
Сонымен, екі шинасы бар архитектураның қандай артықшылықтары? Алдыңғы ретте тез әрекеттесуінде.
Негізінен, жалғыз команда мен мәліметтер шинасы болғанда, үрдісші бір шина арқылы мәліметтерді алып, сол мәліметтерді жіберіп, командаларды жадыдан оқуы қажет. Әрине бұл кодтарды бір уақытта магистрал бойынша тарату мүмкін емес, олар кезегімен жүріп отырады. Қазіргі заманғы үрдісшілер уақыт бойынша командалардың орындалуын және жүйелік шиналар бойынша циклдер алмасуынының өткізілуін біріктіре алады. Конвейерлік технологиялар мен жылдам кэш-жадыны қолдану салыстырмалы түрде жай жүйелік жадылардың әсерлесу процессін жылдамдатады. Тактілік жиілікті жоғарылату және үрдісшілердің құрылымын дамыту командалардың орындалу уақытын қысқартуға мүмкіндік береді. Бірақ жүйелердің тез әсерлесуін көбейту тек мәліметтерді жіберу мен командаларды оқуды біріктіргенде ғана мүмкін.
Екішиналық сәулеттерде екі шиналарымен алмасу тәуелсіз, уақыт бойынша паралелльді болуы мүмкін. Сәйкесінше, шина құрылымы (мекен-жай кодының разрядтар саны, ақпараттардың алмасу жылдамдығы мен реті) әр шинада шешілетін сол тапсырмаға тиімді түрде таңдала алады. Сондықтан бірдей шарттарда екішиналы сәулетке өту МҮЖ жұмысын жылдамдатады. Алайда құралдарға қосымша шығындар мен үрдісшінің құрылымын күрделендіруді қажет етеді. Бұл жағдайда мәліметтер мен командалар жадында өзіндік мекен-жайды таратуы бар.
Екі шиналы сәулеті артықшылығы бір мөлтіксұлбаның ішінде іске асырылады. Бұл жағдайда бұл сәулеттің кемшіліктерін азайтуға болады. Сондықтан да оны тым күрделі тапсырмаларды шешу қажеттігі жоқ болса, бірақ берілген тактілік жиіліктің максималды тез әрекетін қажет етпесе де мөлтікбақылағыштарды қолдану.
Тіркелуші сәулеті («тіркегіш» типтегі сәулеті) мөлтікүрдісшінің ішіндегі үлкен интегралдық сұлбалары тіркегіштердің жеткілікті үлкен жиынын анықтайды. Бұл тіркегіштер жиыны өзіндік жазбасы мен ақпарат таңдауымен бірге өте тез жедел жады аумағын түзеді.
Тіркегіш сәулеті бар мөлтікүрдісшілерде тіркегіштердің жұмыс облыстары үрдісшілердің логикалық бөліктерінде орнығады. Алайда логикалық жүйелердің аз тығыздығы жадының тығыздық сұлбаларымен салыстырғанда тіркегіш архитектураның мүмкіндігін шектейді. Жадыға бағытталған МҮ сәулеті, контекстілерді ауыстыру қажет болғанда, жұмыс облыстарына тез қосылуын қамтамасыз етеді. Контекстілерді өзгерту үш регистрлердің векторлерін өзгерту арқылы іске асырылады – командалар есептегіші, күй тіркегіші және жұмыс облысының көрсеткіші. Бұл архитектураның контекстілерді өзгертуіне байланысты қатынас артықшылығы контекстілердің толық векторын жіберу үшін тек бір командаларды орындаумен байланысты болып табылады.
Тіркегіш архитектурасы бар микроүрдісшілер ғылыми-техникалық тапсырмаларын шешудің жоғары эффектілігі бар, ӨЖЖҚ жұмысының жоғары жылдамдығы арифметика-логикалық блоктарының жылдам мүмкіндіктерін тиімді түрде қолданады. Алайда басқару тапсырмаларын шешуге өткенде, мұндай микродүрдісшілердің эффиктивтілігі түседі, себебі бағдарламаларды ауыстыру кезінде ӨЖЖҚ тіркегіштерін жүктеп және түсіру қажеттігі туады.
Мөлтікүрдісшінің стектік сәулеті- жады өрісінің реттелген жазба кезектестігін және ақпарат таңдауын құруға мүмкіндік береді. Бұл сәулеті кезектегі бағдарламадан қандай да бір ЕҚ(ВУ)-ге қызмет көрсетуші бағдарламаға дейін өтіп келесі бағдарламаға көшетін бағдарламалармен жұмысты ұйымдастыру үшін тиімді. Қайтару мекен-жайларын сақтау стекте енгізілген бағдарламадағы кезектескен эффективті өңдеуді ұйымдастыру мүмкіндігін береді.
Бұл типтегі МҮ-ң негізгі кемшілігі, мөлтікүрдісшілердегі кристаллда іске асырылатын стек, негізінен аз ақпараттық сыйымдылығы бар. Жұмыс кезінде жүйе жұмысының бұзылу мүмкіндігі пайда болып,тез толтырылады. Сондықтан МҮ-ң ең дұрыс сипаттамалары, стек микроүрдісшілерден тыс- оперативті жадыда іске асырылады.
Жедел жадыға бағытталған мөлтікүрдісшілер сәулеті, жұмыстың жоғары жылдамдығын және жұмыс регистрлерінің үлкен ақпараттық сыйымдылығын қамтамасыз етеді. МҮ-гі мұндай сәулеті барлық өңделетін сандар мөлтікүрдісшілердегі амалдардан соң, мөлтікүрдісшілерден шығарылып және қайтадан жадыға оралады, сондықтан да ол осылай аталады.
«жады- жады» типіндегі МҮ тезәрекетін бағалағанда, физикалық іске асырылуын, элементтерді және олардың арасындағы байланысты ескеру қажет. Интегралды сұлбалардағы логикалық элементтердің жоғары жылдамдығы МҮ-ң жоғары жылдамдықта жұмыс істеуін әрдайым қамтамасыз ете алмайды, себебі баспалы платалардағы индуктивтісыйымдылықтың үлкен шама параметрлерінің байланысы дабылдарды еш бұрмалаусыз беруге мүмкіндік береді. Қазіргі заманғы МҮ-ң жоғарғы деңгейлі технологиялары үлкен интегралды жүйелердің көлемдерін бірнеше микрондарға дейін кішірейтіп, байланыстардың паразитті параметрлерін азайтты. Сондықтан да регистрлер блогы мен стектерді арифметика-логикалық блоктардан бөліп қарастыруға мүмкін болып отыр және сонымен қатар біріккен жоғары жылдамдықты жұмысты қамтамасыз етеді. Бір кристаллды МҮ-ді құрғанда тіркелетін ӨЖЖҚ және ЖЖҚ МҮЖ тәжірибелік түрде бір параметрлері бар. ЖЖҚ жұмысының жылдамдығын жоғарылату тіркегіштер жиындарын және микроүрдісшілердің криссталындағы стектерін өшіруге мүмкіндік береді және командалардың жүйесін дамыту ресурстерін қолданады. Жұмысшы тіркегіштерді және ЖЖҚ стегін ұйымдастыру ақпарататты тарату жылдамдығын азайтуға әкеледі, алайда бұл кезде регистрлік және стектік жадының ақпараттық сыйымдылық аумағындағы шешімнің жалпы эффектілігі жоғарылайды, командалар және үзілістер жүйесінің даму мүмкіндігі жоғарылайды.
Жедел жадыға негізделген мөлтікүрдісші сәулеті МҮ кристалл ауданының үнемделуін қамтамасыз етеді. Бұл жағдайда кристаллдағы тіркегіштерде бастапқы файлдардың тіркеуші-көрсеткіштері ғана бөлінеді. Қалған тіркегіштерді адрестеу арнайы командадағы көрсеткіш-код жылжуын көрсету арқылы іске асырылады. Жұмысшы тіркегіштерге қол жеткізу бұл жағдайда жұмысшы тіркегіште жазылатын үрдістің уақыттық шығындарын жасауға тырысып, жылдамдығы төмендейді. Алайда мұндай архитектурасы бар мөлтікүрдістегі контекстік ауысып қосу тез өтіп жатады, үзу кезінде жадының жұмыс аумағындағы тіркегіш-көрсеткіші мазмұнының мағынасын ғана өзгертуге болады.
МҮ сәулеті өзге ерекшелігі, жедел жадыға бағытталған екі адресті командалар қалпы болып табылады. Бұл МҮ-де барлық екіоперандты командалардың нәтижесінің ұяшықтарының функцияларын орындаушы арнайы жинақтық тіркегіші жоқ. Нәтиже 1.6,а суретте көрсетілген мысалдғы алгоритммен сәйкестеліп құралады,мұндағы Х және Y нөмірлеріндегі жадыдағы екі ұяшықтарының құрамын қосу операциясы «ХY қосу» командасы арқылы іске асырылады.
«жады-жады» типіндегі архитектурада кез-келген жады ұяшығы бастапқы операндтантан тұруы мүмкін, не болмаса операнд-нәтиже, онда бұл операция тек бір командамен орындалады. Сол уақытта бірадресті тіркегіштер архитектурасындағы үрдісшілерде сол мақсатқа жету үшін келесі екі командаларды қолдануға тура келеді:
Y жіберу операнды командасын Рг ішкі тіркегішіне,
Рг ішкі регистрлерінің қосу командаларының құрамын Х жады ұяшығын және Х ұяшықтарының нәтижелері. (1.6,б).
1.6-сурет. Ішкі тіркегіштердің құрамын қосу командасы
Бірінші жағдайда жоғары деңгейлі тілдер компиляторлары үшін бағдарламаларды компиляциялауда шамаларды айнымалыларға мән беру шарты әлдақайда жеңілдейді, осы арқылы объектілік бағдарламалардың қысқа модульдері алынады.
Контекстілерді ауыстыру мүмкіндіктерін қолдану және МҮ сәулетінің оперативті жадыға бағытталған шексіз жұмыс аумағы, нақты уақыт масштабында жұмыс істейтін МҮЖ-де оңай қолдануға мүмкіндік береді.
Жедел жадыға бағытталған МҮ-ң сәулетінің негізгі артықшылығы ретінде БҚ(ПО)-ң жасау уақытын азайтатын жүйенің даму мүмкіндігін жатқызуға болады. Бұл жерде даму мағынасында жүйенің функционалдық бағдарлама модулі түрінде және бағдарламалық- аппараттық және аппараттық құрылғылар, яғни оларды аппаратуралық құрылғыларды дамыту шамасының жүйесін қолдануға болады.
Таралған басқару жүйелерi нақтылы иерархиялық құрылымдарда сыюы керек болатын жартылай автономды контроллерлердiң қолдануын жиi талап етедi. Соған қарамастан жадыға бағытталған МҮ сәулеті бір деңгейде орналасқан бақылағыштар арасындағы табиғи және тиімді интерфейсті қамтамасыз етеді, ал бақылағыштар арасындағы байланыс құрылымы дамыған ақпараттық магистральдар есебі арқылы қамтамасыз етілуі мүмкін.
МҮ НЕГІЗГІ ТИПТЕРІНІҢ НЕГІЗГІ ЕРЕКШЕЛІКТЕРІ.
8- разрядты МҮ-ні ұйымдастыру. Көпкристалды (секциялы)СМҮ – 2,4,6,8 немесе 16 битті секция разрядтылығы әртүрлі және өзгермелі разрядты сөздері бар үрдісшіні құру үшін нұсқаулар жиынтығы. СМҮ нақты қолдануға бағытталған нұсқаулар жиынтығы бар арнайы үрдісшілерді құруға мүмкіндік береді. Мұндай арнайы үрдісшілердің әр нұсқаулары ЖМҮ(СМП)-ң кезектескен нұсқауларынан тұрады. Бұл жағдайда ЖМҮ нұсқауларын микронұсқаулар деп атау қабылданған, ал үрдісшінің нұсқауын жасау үрдісі- мкробағдарламалау деп аталады.
ЖМҮ қолданылуының ыңғайлығы қандай да бір қиындықтармен байланысты: үрдісшінің нұсқауын микробағдарламалау қажет етіледі. Сондықтан да ең кең таралған ол ЖМҮ. Сол уақытта, ЖМҮ-н тұратын үрдісшінің нұсқаулары микробағдарламалау арқасында, оның максимал өнімділігіне жетуге болады. Бұл бағыттағы ең перспективті болып, RISC қысқартылған нұсқаулар жиынтығын жасау болып табылады (ағыл. Reduce Instruction Set).
RISC сәулетіндегі микроүрдісшілер. МҮ сәулетін дамытудың екі түрі бар. Оның біріншісі алғашқы үрдісшілер моделіне жатады және МҮ CISC(Complete Instruction Set Computer) сәулеті атына ие - бұл толық нұсқаулар үрдісшілері болып есептеледі. Оларға 80.86 үрдісшілерінің тобы жатады. Бұл тіркеушілердің құрамы мен бағыты біртекті емес, командалардың кең таралуы нұсқауларды декодтауды күрделендіреді. Нұсқауларды орындайтын тактілер саны да өседі.
80.86 үрдісшілері күрделі командалар жүйесіне ие, сонымен қатар оны МҮ 8-16 разрядында қолдану төзімді болып келеді. 80 жылдардың басында CISC сәулеті «бір криссталда бір үрдісші» жаңа идеясын іске асыру үшін үлкен бөгет болды, себебі «дәстүрлі» командалар тізбегімен жұмыс жасау үшін өте күрделі орталық басқару құрылғысы қажет етілді, ол бүкіл криссталдың 60% ауданын алып жатты.
80.86 тобындағы үрдісшілер і80486 дан бастап CISC құрамалы сәулеті қолданылады- ол RISC ядросына ие. RISC сәулеті – қысқартылған нұсқаулар компьютерлері ең алғаш 1979жылы IBM801 шағынкомпьютерінде іске асырылды. Оның ішінде үш негізгі принциптер жүзеге асырылды:
- дамыған компилятор көмегімен жоғары деңгейлі тілді қолдау үшін жүйеге бағытталу;
- аппаратты құралдармен толық жүзеге асырылатын нұсқауларды қолдану үшін қарапайым жиын қолдану;
- бір такт ішінде үрдісші көмегімен көп нұсқауларды орындауға мүмкіндік беретін кіріс-шығыс жадын ұйымдастыру.
RISC сәулеті бар алғашқы микроүрдісшілері 80жылдың басында Калифорниялық және Стандфорд университеттерінде жасалынған болатын. Бұл МҮ-ні жасаушылар ең аз күрделікте ең жоғарғы өнімділікке жету мақсатын алдына қойды. Мәселені шешу жолында екі шешім табылды.
Бiрiншiсi ол жадыға қатысты сандарды азайту тіркегіш файлдар арқылы сыйымдылықты азайту және оны тіркегіш терезе түрінде ұйымдастыру. Бұл негізде жасалынған сәулет ең алғаш рет МП RISC І-де іске асырылған.
Өзге жолы, ол конвейердің кешігулерін нұсқауларды тізбектеу арқылы тыйу және компилятордың тиімді көмегі арқылы МП тіркегіштерін қарқынды түрде қолдану. Бұл әдісті іске асырушы сәулет алғаш рет Стэнфордта өңделіп, қолданысқа ие болған еді.
Құрудың жалпы қағидаларі. RISC база концепциясының негізінде құрылған жұмыс бекеттері мен серверлері өздерінің ерекше сипаттамаларының арқасында озық қатарлы орындарға қол жеткізілді. Тіпті мәселе дәстүрлі CISC- жүйелерінің жойылуын болжауға дейін барды. 80жылдардағы RISC сәулетіне жай қызығушылық 90жылдары RISC –жүйелерінің өнеркәсібінің өндірісінің қарқынды түрде өсуіне септігін тигізді. Жалпы барлық өндірушілер - IBM, Hewlett-Packard, DEC, Silicon Graphics – RISC-сәулетінің үрдісшісін құрды және нарыққа олардың базасының негізінде жаңа жұмыс бекеттері мен серверлердің топтарын шығарды. Сонымен қатар RISC-жүйелері тар кәсіби қосымшалар шекарасынан шығып, қарапайым қолданушылар арасында да кең қолданысқа те болды.
Сандық логикалық жүйелердің теориясында белгілі аксиома бар ол кез-келген компьютер тек бір тип вентиль-элементін қолданылуы арқылы құрылуы мүмкін «ЖӘНЕ-ЕМЕС», «НЕМЕСЕ-ЕМЕС». 60-70жылдардың машиналарын құрушылардың біреуінің ойына он немесе жүздеген микросұлбалардың тізімінен бас тартып, тек бір венитль типінен компьютер жобалау келмеген.
Сеймур Крейден басқа. Нәтиже белгілі: CRAY-1 компьютері рекордты қысқа уақытта құрылып, оның алдындағылардан кішірек және жылдамдырақ болып шықты. Мұндай сияқты құбылыс RISC-сәулетінің құрылу үрдісінде де кездескен еді. RISC-сәулетінің негізіне қойылған идея келесіден тұрды: ол командалар жүйесінде тек бірнеше көбірек қолданылатын және әмбебап нұсқауларды қалдырып, күрделі және аз қолданылатындар алып тастау.
Нәтижесінде орталық басқарудың оңайланып, мәліметтерді өңдейтін қуатты құрылғыларды орнату үшін үрдісшінің беткі бет криссталының босатылуы. Осылайша RISC-сәулетінің философиясы – «аз команда - жоғарырақ жылдамдық », екі іргелі постулаттарға негізделген:
Компьютерлік өңдеу жылдамдығы аппараттық құрылғылардың тез әрекетімен ғана емес, бағдарламалық қамтамасыздандырудың және құрылғылардың жақсы тезәсерлесуімен анықталады
Жылдамдық үшін әрдайым не құрылғыны күрделендіру арқылы не болмаса бағдарламалық құрылғылар арқылы, не болмаса екеуін де күрделендіру арқылы төлеу керек.
Оларды іске асыру бұрыннан МҮЖ жасаушыларын қызықтырды. Компьютерлерді RISC және CISC топтарына бөлгенге дейін есептеудің екі әдісі меңгерілді – «жылдам» технологиялар және өңдеу параллелизмі. Мәліметтерді өңдеуді жылдамдату жолындағы мақсаттар жақсы белгілі: арсенид галлийдегі сұлба кремнийлік негіздегі сұлбаларға қарағанда өнімдірек, тезәсерлесудегі қаныққан логика қалады, компилинирленген теория кодты тиімділеу 2-4 есе бағдарламаның орындалу уақытын қысқартуға мүмкіндік береді.
RISC- сәулетінің концепциясы анық логикалық формула негізінде жасалынған: егер «жылдам» технологиялар және бүкіл командалар тізімін параллельді өңдеу жоғары деңгейлі шығындарға жетуге болады, жиі орындалатын операцияларды жылдамдатып, ал сирек қолданылатындар мен күрделілермен жалпы өнімділікті жоғарылату үшін бас тартуға мәжбүр болады. 80-90 жылдардың RISC- компьютерлері мен 60-жылдардағы CISC- машиналарының арасындағы айқын айырмашылығы нұсқауларға келетін аппараттық қадамдар санында жатыр. RISC- үрдісшілерде нұсқау бір қадамда орындалады, CISC-те сол нұсқау жүздеген және мыңдаған аппараттық әрекеттерді шақыра алады.
Осындай қаныққан үрдістер көмегімен бағдарламалау тығыз орындаушы модульді алуға болады, бірақ осыдан сұрақ шығады: «жай нұсқаулары бар қысқа бағдарламалар дұрыс па, әлде тез нұсқаулары бар ұзын бағдарламалар ма?». Бұған жауап ІВМ фирмасындағы зертханалардағы қолданбалы зертееулер көмегін берді. PL/8 атты PL/1 тілінің ішкі жиыны құрылған еді және гипотетикалық компьютерлер үшін тиімділеу коды бар компиляторлар жазылған, «тіркегіш-тіркегіш» қысқа нұсқаулар типін қолданылатын командалар жүйесін қолданады. Бұл компьютерлер жұмыс имитациясы 168 моделінің ІВМ/370 мэйнфреймде іске асырылған. Бұл тәжірибе аса ерекше нәтиже берді: стандартты PL/1 тілінің нұсқасының көмегімен бағдарламаланған IBM 370/168 қарағанда жиі қолданылатын бағдарламалық операторлардың көбісімен компьютер 2-3 есе тез жасайды.
ІВМ өндірісінің келесі мэйнфреймдер тобы үшін берілген қатынас үрдісшілерді және кэш-жадының үлкен көлемін конвейерлеу арқасында азайды, бірақ ІВМ-нен тәжірибеден шығатын мақсаттық нәтиже еш өзінің мағынасын жоғалтпады: сирек нұсқауды қолданудан бас тарту және тіркегіштерді қолдану тиімділігі есептеу үрдісін екі есе жылдамдатады.
Сонымен, сирек қолданылатын нұсқаулардан командалар жүйесін алу және «тіркегіш-тіркегіш» типіндегі операциясының аппараттық және бағдарламалық құрылғыларына бағытталу өнімділіктен еш жоғалтпау құрылғыларын үнемдеу үшін кең мүмкіндіктер ашады. Бірақ үрдісші криссталында қалай бос орын пайда болысымен, одан да жылдам қуатты өңдеу құрылғыларының орнын басатындар шыға келді. Осылай 1995 жылы Acorn Corporation of England фирмасы 32-разрядты ARM RISC-үрдісшісін шығарды, шамамен 8-разрядты CISC-үрдісшісінің Intel 8080 эквивалентті, бірақ әлдақайда үлкен тезәсерлесуі бар.
Шындығында, бұл RISC- сәулетінің негізгі заңдары құрылған кейін ғана болған еді. RISC заңдары 80 жылдардың басында Калифорниялық университетте жүрген RISC- сәулетінің теориялық зерттеулері бір уақытта аяқталды. Дәл сол кезде RISC- сәулетінің негізгі төрт принциптері құрылған:
Әр команда өзінің типіне қарамастан бір машина циклінде орындалады, оның ұзақтығы үрдісшінің тактілік жиілігіне кері пропорционал және максимал қысқа болуы керек. RISC- үрдісшілері үшін стандартты болып екі толық уақытты қосқанға тең машиналық циклдің ұзақтығы болып есептеледі (қазіргі заманғы технологияларды дамыту үшін бұл көлем 3 тен 10нс-ке дейін құрады).
Барлық командалар бірдей ұзындықта болуы керек және минимум адрестік форматты қолданады; бұл орталық басқару логикасын бірден оңайлату. Адрестеудің қарапайымдылығының ең басты принципі, ол RISC-үрдісшісі өңдеу темпіндегі кезекті командасын таңдау мүмкіндігі, яғни команданы бір циклде орындау.
Жадыға арнау тек амалдарды оқып және жазғанда ғана орындалады, жадыдағы операндының модификациялау тек «жазба» командасы арқылы қол жеткізуге болады. Барлық мәліметтерді өңдеу үрдісшінің тіркегіш құрылымында жүзеге асырылады.
Командалар жүйесі жоғары деңгейлі тілдерді қолдауын қамтамасыз етеді. Командалар жүйесін таңдау, әртүрлі бағдарламалау тілдерінің тиімдісін таңдау.
Әрине айтылып кеткен RISC-сәулетінің базалық мақсаты RISC-ң негізгі заңдарынан бөлек болмайды: командалар жүйесі жиі қолданылатын мен ең қарапайым нұсқаулардан тұруы қажет.
Әрине, компьютерлік тәжірибеде, RISC мақсатын талдаудың аз емес мысалдарын табуға болады. Алайда RISC-сәулетінің RISC-сәулетінің бір заңы барлық жасаушылармен сақталынады. Мәліметтерді өңдеу тіркегіш құрылым негізінде іске асырылуы қажет және ол «тіркегіш-тіркегіш» форматында ғана іске асырылады.
Тіркегіштер - RISC-ң негізгі артықшылығы және оның ең басты мәселесі. Барлық RISC-үрдісшілері «тіркегіш-тіркегіш» мәліметтер форматының жалғыз өңдеу типінде іске асырылады, яғни «тіркегіш-тіркегіш-тіркегіш»: R1:=R2,R3. Бұл еш артық уақыт шығынынсыз адрестелетін жедел тіркегіштер арқылы операндыларды таңдауға мүмкіндік береді және тіркегішке операциялар нәтижелерін жазуға болады. Сонымен қатар, үшорынды үрдістер компиляторға CISC-тіркегішінің «тіркегіш-жады» типтік екі орынды үрдістерімен салыстырғанда үлкен иілгіштік береді. «Тіркегіш-тіркегіш» типіндегі RISC-операциясының тез әсерлесетін арифметикасымен бірге үрдісшінің өнімділігін жоғарылататын қуатты құралдар болып табылады. Ең басты мәселе, RISC-жүйесінің шараларын орындау үрдісінде үрдісшінің тіркегіш құрамын жаңалатып тұру қажет. CISC- жүйесі үшін мұндай қиындықтар кездеспейді, себебі тіркегіштер модификациясы «жады-жады» форматтарын өңдеу командалар желісінде іске асырылуы мүмкін.
RISC-сәулетінің тіркегіштерінің модификациялау мәселесін шешуде екі жол бар: аппараттық, Беркли университетінің RISC-1 және RISC-2 проекттерінде ұсынылған және бағдарламалық ІВМ мамандарымен және Станфорд университетімен ұсынылған. Олардың арасындағы мақсатты айырмашылғы, ол бағдарламалық шешімі үрдісті шақыру уақытын қосымша үрдісші құрылғылары арқылы уақытты азайтуға бағытталған, ал бағдарламалық болса, компилятор мүмкіндігіне негізделген және орталық үрдісшінің құрылғыларының көзқарасы жағынан үнемді болып табылады.
RISC-сәулетінде MORS (Multiple Overlapping RegisterSets) тіркеуші терезелерін жабушысын қосып отырушы механизм іске асырылады. Ол кейде Rolodex тіркеуші файлының құрылымы болып табылады. MORS механизмі RISC-1 сәулетінің негізгі сәулеті болып қызмет атқарды, осыған сәйкес үрдісші берілген мәліметтерді сақтау үшін 138 тіркеушіден тұрады. Оның оны жаһандық дер аталатындары, әрдайым бағдарламаға «көрініп» тұрады; олардың негізгі мақсаты – бағдарламаның кезекті контекстіндегі барлық үрдісшілер үшін жалпы болып табылатын мәліметтерді сақтау. Қалған 128 тіркеушілер 22 тіркеушіден тұратын сегіз жабық терезелерге бөлінген. Әр уақыт мезетінде RISC-1 де орындалатын бағдарлама он жаһандық тіркеушілерді «бақылайды» және бір толық терезе, яғни барлығы 32 тіркеуші.
MORS құрылымының негізгі идеясы процедураларға қатысты үрдісші уақытының шығынын үнемдеу. Ол үшін сегіз терезенің әрқайсысы нақты үрдістікпен байланысты болады, ал терезенің тіркеушілері жоғарғы, жергідікті және төменгі бөліктерге бөлінген. В үрдістік А үрдістікпен шақырған кезде тіркегіш файлдың белсенді терезесі, А үрдістіғімен жоғарғы тіркеушілері В үрдістікпен төменгі тіркеушілерін жауып тұратындай алты орынға жылжиды.
Терезе аумағын жауып тұрушылар - олар физикалық тұрғыда бір тіркеушілер екі процедураларға да қол жетімді болып келеді. Олар параметрлерді, қайтару адрестерін жіберу үшін қолданылады және жедел жадымен мәліметтер алмаспай-ақ үрдістікті қарауға мүмкіндік береді. Осылайша, үрдістікті шақыру тіркеуші операндыларды қосқаннан күрделі болмайды. Сонымен қатар операция негізінен бір мезетте орындалады: процедураға қарату үшін немесе шақыру нүктесін қайтару үшін тіркегіш файлдың белсенді терезесінің көрсеткішін жылжыту жеткілікті болып табылады. Осы RISC-1 сәулетінің негізгі ерекшелігі болып есептеледі.
RISC-1 сәулеті өзінің логикалық нақтылығының арқасында Pyramid және SPARC массалық үрдісшілерінің жасауының негізіне көп үлес қосты, алайда Rolodex тіркеуші файлының ұйымдастырылуында аздаған өзгерістерімен (SPARC-та бағдарлама сол 32 тіркеушіден тұратын терезені «көреді», бірақ жаһвндық, жоғарғы, жергілікті және төменгі тіркеушілердің саны бірдей- әр аумақта сегізден).
Алайда MORS құрылымының екі кемшілігі бар - ОС үшін үрдістікті тіркеуші файлдардың терезелеріне тиімді түрде орналастыру тривиалды шарт болып табылмайды. Ал тіркеуші файлдарда сақталушы сегіз үрдістіктің ішінен таңдалған сан, эмпирикалық білім арқылы көрсетіледі. Дегенмен де, берілеген шарт есептелгеннен көп процедуралардан тұратын және сонымен қатар жедел жадыда сақталып, үрдістікті белсенді ету үшін бір немесе бірнеше терезелердің модификациясымен қиындықтар туындайтын мысалдар да кездеседі.
RISC-1 компьютеріндегі жағдай, кезекті енгізілген үрдістікті шақыруды орындау қажет болып, ал барлық тіркегіш файлдар терезелері бос емес болса, арнайы бағдарламалық жағдайды құратын үрдісшінің логикасы арқылы рұқсат етіледі. Сонымен үрдісші бір немесе бірнеше тіркеуші терезелерінің ОС бағдарламасын қайталайды, яғни жедел жадыға тіркеушілердің құрамын жібереді. Жалпы тағайындалған машина ретінде RISC-1 қолдану жағдайында , мұндай шешімді қабылдау өте ыңғайлы болып есептеледі, себебі жалпы жағдайда trap үрдістікті жүз арнаулардың ішінен тек біреуінде ғана пайда болады.
Бірақ нақты уақыт ішіндегі жұмыс үшін бір пайыз жағдайда үлкен көлемі мүмкін болмайды. Расымен де, егер тоқтату барлық тіркегіш терезлер бос емес болғанда жүзеге асса, онда trap үрдістікті орындау жасалынады және реакция уақыты детерминирленбегенге айналады - жағдай нақты уақыт жүйесі үшін өте қауіпті болып табылады. Егер сонымен бірге бір шарттан басқаға контектстілік қайта қосылуы керек болған жағдайда, жадыға бірден сегізге дейін терезелерді жіберу қажет болады, бөлінген бағдарламаның күйіне байланысты. Ал бұл өз кезегінде, контекстілік қайта қосылулар уақыты кең шектер арасында өзгеріп жатады: 60-тан 840 машиналық циклге дейін (RISC-1 тіркеуші файлының ішінде орындалатын бөлу, үш циклден артық емес).
Дәл осы тарату реакциялар периоды қатал түрде детерминирленген болу қажет, нақты уақыт жүйесінде қабылданбайды. Бұл мәселені шешу талпыныстары Беркли университетіндегі Omega жобасында RISC-2 жобасы trap процедурасының дамуына әкелді. RISC-1 жобасынан аталмыш жобалардың негізгі айырмашылығы, арнайы жадыға тіркегіш терезлердің тез сақталатын динамикалық механизмдеріндегі компьютер сәулетіне енгізу болып табылады.
Берклийлік сәулет. Статистикаға жүгінсе, қолданылатын операндылардың 50-70% жергілікті айнымалылар мен процедуралар параметрлері құрайды. Олардың МП тіркегіш файлына тарату жадыға арнауларды анағұрлым азайтуға көмектеседі. RISC-те берклийлік сәулеті бар МП тіркегіштері, әр процедура үшін үрдісші өзінің тіркегіштер жиынын тағайындала алатындай бірнеше банктерге топталады, олардың ауысулары аппараттық көрсеткіштің модификациясы арқылы жүзеге асырылады.
Тіркегіш файлының ұйымдасуын RISC II МП мысалынан қарастыруға болады. Олар әр қайсысы 32 тіркегіштен тұратын виртуалды тіркегіш терезелерінен тұрады.
1.1-кесте
.
26-31(жоғарғы) тіркегіштері шақырылатын процедуралардан жіберілген параметрлерден тұрады. 16-25 тіркегіштері (жергілікті) жергілікті скалярлық айнымалыларды сақтау үшін қолданылады, 10-15 (төменгі) - шақырылған процедуралары жіберілетін айнымалылар мен параметрлерді сақтау үшін қоданылады. 0-9 тіркегіштері жаһандық айнымалыларды сақтау үшін арналған.
Осылайша, әр процедураның 32 тіркегішке арнауы мүмкін. Шақыратын және шақырылатын процедуралармен қолданылатын көрші тіркегіш банктер, параметрлер еш мәліметтердің көшуінсіз жіберіле алатындай жабылады. Әр үрдістікті арнау жаңа тіркегіштердің жиыны R10...R31 тағайындалады. Алайда шақырушы үрдістікті төменгі тіркегіштері жоғарғы шақырылатынға айналады, себебі олар физикалық түрде байланысқан.
Осылайша, ақпараттарды жылжытпастан 10-15 тіркегіштерде сақталатын шақырушы процедуралардың парамтерлері, 26-31 шақырылатын тіркегіштерінде пайда болады. 1.7- сурет осы жағдайды бейнелейді, яғни А үрдістік В үрдістікті шақырады, ал ол өз кезегінде С-ні шақырады.
1.7- сурет.
Көп бағдарламаларда үрдістікті енгізу тереңдігі тіркегіш терезелердің санынан көп болады, сондықтан берклийлік сәулеті бар МҮ-ні тіркегіш банкттерді тіркегіш файлдарды толтыру кезінде босату, олардың құрамын жадыға жіберу арқылы жүзеге асырылады. Егер енгізу тереңдігі тіркегіштердің логикалық жиынының шегінен асып кетсе, тіркегіш файлдардың құрамы бағдарламалық немесе аппараттық үзу өңдеуі басталады. Бірнеше тіркегіштердің құрамы жадыға жіберіледі,оның бөлек облысында тіркегіштерді толтыру стегі ұйымдастырылған. Толтыру/толтырмау дабылдары стек көрсеткішін оның төбесіне орналастырады.
Үрдістікті мұндай арнауды ұйымдастыру тиімділігі толтыру/толтырмау пайда болу жиілігіне байланысты, олар көп дәрежеде оның абсолюттік тереңдігімен салыстырғанда, стектің логикалық өзгеру тереңдігімен байланысты.
Зерттеулер көрсеткендей, толтыру/толтырмау сегіз тіркегіш банкттерінде 1% кем үрдістіктерді арнаулар пайда болады. Тіркегіштердегі айнымалыларды көрсеткіш арқылы қарату үшін барлық тіркегіштер жадының адрестік кеңістігінде бейнеленеді.
Станфорд сәулеті. Конвейерлік сәулеті бар МҮ-ні нұсқауларды өңдеу жылдамдығы келесі типтегі конфликтілік жағдайлардың пайда болуынан төмендейді:
бағдарлама, конвейерді тазалануын және оны жаңа нұсқаулармен толықтыру қажет болатын өтпелерді жүзеге асырады (адрес бойынша тәуелділік).
конвейердегі нұсқауларға сол бір ресурсқа бір мезетте –жады шинасына, тіркегішке немесе АЛҚ(АЛУ) назарі қажет.
Конвейерді бөгеудің түрлі жағдайлары мүмкін, ол нұсқауды өңдеудің бес деңгейінен тұрады (1.8 сурет): нұсқау таңдауы (ІF), нұсқау дешифрациясы (ID), операндыны таңдау (OF), есептеу (ОЕ) және нәтижені есте сақтау (OS). Бірінші жағдайда JMP-ң сөзсіз өту нұсқауы орындалады, ол өз кезегінде конвейерді төрт этапты қоса, оның өңдеуі аяқталғанша тоқтатады:
JMP нұсқауының дешифрациясы,
РС бағдарламалық есептегішінен операндыны таңдау,
РС құрамын модификациялау,
бағдарламалық есептегішке кері нәтижелерді қайта жазу; бұл жағдайда төрт тактіге созылады.
Екінші жағдайда (1.8б- сурет) INC нұсқауы, алдыңғы ADD В,С, А нұсқауы А тіркегішіне операция нәтижелерінің жазбаларын аяқтағанша А операндын таңдай алмайды; бөгеу екі тактіге созылады.
1.8- сурет.
Мұндай конфликтілік жағдайлар - барлық нұсқаулардың конвейерлік өңдеуі бар МҮ-ге тән адрес және мәліметтерге тәуелділік. Дәстүрлі түрде бұл мәселелер өту нүктесіндегі нұсқауларды таңдауларын аппараттық түрде шешіледі немесе конфликтілік жағдайлар туындаған кезде конвейерлерді жабу арқылы.
Стандфорд сәулеті конвейер бөгеулерінен құтылуды тиімді компиляторлар көмегімен алдын ала қарастырады. Оларды конвейерде өңдеу мезетінде бір біріне тәуелді етпейтіндей етіп, нұсқауларды реттейді. Сонымен бірге берклийлік сәулеті бар кейбір RISC МП-де қолданылатын тиімді компиляторлар көмегімен бөгелген өтудің нұсқауы енгізіледі. Бөгелген өту нұсқауы, өту нұсқауының ізінен жүрген нұсқау басқаруды өту нүктесіне бергенше орындалады. Осы уақытта үрдісші өту адресі бойынша нұсқауды таңдауға және оны конвейерге жүктеге мүмкіндігі бар.
Дәстүрлі МҮ бұл бағдарламаның фрагментін жай өту ретінде іске асырады - нұсқаулар мына кезектестікте орындалады: 100, 101,102,105 және т.б. Мұндай эффектіні RISC МҮ-де алу үшін, бөгелген өтуге амалдарды орындамайтын NOP нұсқауын енгізу керек. Сонда, кезектестік мынадай болады: 100, 101,102,103,106 және т.б. ; ол мүмкіндігі бойынша бөгелген өтуден соң, циклді максималды түрде қолдана алатындай реттейтін тиімді компилятор арқылы өңделеді. Нұсқауларды орындау реті мына түрге ие болады:100,101,102,105 және т.б. Біздің нұсқау өту нұсқауынан соң жүретін болғандықтан, әрдайым орындалады және 101 адресі бойынша өтуі ADD нұсқауын орындаушы 102 адресіне тәуелді болмайды, бұл кезектестік бағдарлама фрагментіне эквивалентті.
1.2-кесте.
Бөгелген өтпелер концепциясы бір такт ішіндегі жадыға арналатын нұсқауларды орындайтын жағдайлар түрінде қолданылады. Бұл нұсқауларды орындау әдісі екі тактіні қажет етеді: біреуі адресті анықтау үшін қажет етсе, екіншісі - жадыға қатысты. Жадыға арналған модифицирленген нұсқаулар бөгелген жүктемелер деп аталады және құрылғылардың кейбір өзгерістерін қарастырады: МҮ жады мен тіркеушілері қосымша порттары бар болуы қажет. Мәлімттер бойынша тәуелділік, тиімділеуші компилятор көмегімен құтылады.
Станфордтық сәулеті бар RISC МҮ үшін аз шамадағы жалпы тағайындалған тіркеушілер тән, олар жергілікті айнымалылар мен процедуралар параметерлерін сақтау үшін қолданылады. Айнымалылар арасындағы тіркеушілерді тарату тиімділеуші компилятор арқылы орындалады.