RISC және CISC архитектурасы




Презентация қосу
Дәріс тақырыбы:

RISCжәне CISC архитектурасы

Дәрісте қарастырылатын сұрақтар
1. Архитектура ұғымы
2. CISC және RISC архитектуралары
3. CISC процессорының сипаттамасы
4. Командалар жүйесі
5. Адрестеудің мүмкін режимдері
6.Процессорлардың
функционалды
мүмкіндіктерінің
топтастырылуы

Негізгі әдебиеттер
1. Колесниченко О.В., Шишигин И.В. Аппаратные средства РС. – 5-е
изд., перераб. и доп. – СПб.: БХВ-Петербург, 2004. – 1152 с.: ил.
2. Айден К., Фибельман Х., Крамер М. Аппаратные средства PC.
СПб.:BHV – С-Петербург, 1997.
3. Вебер Р. Конфигурирование ПК на процессорах Pentium, MMX,
AMD. – М.: Мир,1998.
4. Борзенко А.Е. IBM PC: устройство, ремонт, модернизация. – М.:ТОО
фирма “КомпьютерПресс”, 1996.
5. Вильховченко С. Современный компьютер: устройство, выбор,
модернизация. – СПб.: Изд-во “Питер”, 2000.
6. Чепурной В. Устройства хранения информации. – СПб.:BHV – СПетербург, 1998.
7. Гук М., Юров В. Процессоры Pentium III, Athlon и другие. – СПб.:
Изд-во “Питер”, 2000.
8. Смирнов А.Д. Архитектура вычислительных систем. -М.: Наука,
1990. -320 с.

Архитектура – аппараттық құрылғы және берілген
құрылғының бағдарламалық қамтамасыз етуі.
“жүйе архитектурасы” термині осы сөздің тар және кең
мағынасында қолданылады. Тар мағынада архитектура деп командалар
жүйесінің архитектурасы түсініледі.
Командалар жиының архитектурасы аппаратура мен
бағдарламалық қамтамасыз ету аралығындағы шекараға қызмет етеді.
Және бағдарламашыға көрінетін жүйенің бөлігін көрсетеді.
Кең мағынада архитектура – ол жүйенің ұйымдастырылуы
түсінігін білдіреді, оған компьютердің жады жүйесі, жүйелік шина
құрылымы, енгізу/шығарудың ұйымдастырылуы және т.б. жоғары
деңгейлі құру аспектілері де жатады.
Есептеуіш техниканың қазіргі даму деңгейінде компьютр
өрісінде қолданылатын командалар жиынының екі негізгі
архитектурасы CISC және RISC болып табылады.

RISC (Reduced (Restricted) Instruction Set Computer) –
командалардың азайтылған жиыны, оны қарапайым командалары ғана
бар компьютердің микропроцессоры қолданылады.
Бұл процессорларда көбінесе әмбебаб белгіленген бірдей
регистрлердің жиыны болады. Олардың саны көп болуы мүмкін.
Командалар жүйесі қатыстық қарапайымдылықпен ерекшеленеді;
инструкциялар коды фиксерленген ұзындықтағы айқын құрылымды
жүзеге асыруы аз шығындала отрып, синхронизация тактісінің аз
санын қолданып осы инструкцияларды регистрлердің үйлесімділігі де
береді.
CISC (Complete Instruction Set Computer)– микропроцессордың
толық командалар жиыны.
Олардың регистрлерінің құрамы мен белгіленуі бірдей емес,
командалардың кең жиыны инструкцияларды декодтауды қиындатады,
оған аппараттық ресурстар шығындалады. Инструкциялардың
орындалуына қажет тактілер саны өседі. Инструкциялардың толық
жиыны бар процессорларына Х86 жанұясын жатқызуға болады.
CISC процессорларын құрастыруда Х86 және Pentium
серияларымен Intel компаниясы лидер деп саналады.

Бұл архитектура микрокомпьютерлер нарығында тәжірибелі стандарт
болып табылады. CISC процессорының сипаттамасы:
жалпы белгіленген регистрлердің салыстырмалы аздаған саны;
машиналық командалардың көптеген көлемі, олардың кейбіреуі жоғары деңгейлі
бағдарламалау тілінің семантикалық аналогты операторымен жүктелген және
көптеген такт бойында орындалады;
адрестеу тәсілдерінің көптеген көлемі;
әр түрлі разрядты командалар форматының көптеген көлемі;
командалар форматының екі адрестілігінің болуы;
регистр-жады типті өңдеу командаларының бар болуы.
Қазіргі жұмыс станцияларының және серверлердің архитектураларының
негізі RISC-архитектура болып табылады. RISC түсінігі үш зерттеу жобалары
негізінде қалыптасты: IBM компаниясының 801 процессоры, Беркли
университетінің RISC поцессоры және Стенфорд университетінің MIPS
процессоры. Бұл машиналардың басты идеясы жоғары жылдамдықты
регистрлерден ақырын жадыны бөлу және регистрлік терезелерді қолдану болды.
Бұл үш процессордың көп ұқсастықтары көп болды. Олардың барлығы өңдеу
командаларын жадымен жұмыс жасайтын командалардан бөлетін архитектураға
сүйенді және тиімді конвейерлік өңдеуге табандылық көрсетті. Командалар жүйесі
кез келген команданың орындалуы машиналық тактінің аз көлемін алатындай етіп
құрастырылды. Команданың орындалу логикасы өнімділікті жоғарылату
мақсатында микробағдарламалық емес, аппараттық іске асыруға бағытталды.
Командаларды декодтау логикасын жеңілдету үшін фиксирленген ұзындық пен
фиксирленген формат командалары қолданылды.

Университет жобалары аяқталғанға дейін (1983-84 жж.) үлкен
интегралды схемаларды дайындау технологиясында үлкен жетістіктер
бар. Архитектураның қарапайымдылығы мен тиімділігі компьютерлік
индустрияға үлкен қызығушылық тудырды, 1986 жылдан бастап RISC
архитектурасын жүзеге асырудың активті өндірісі басталды. Қазіргі
уақытта бұл архитектура әлемдік компьютерлік нарықтың жұмыс
станциялары мен серверлерде басты орынға ие.
RISC архитектурасының дамуының қандай да бір деңгейі
оптималдаушы компиляторларды құру облысымен анықталды.
Компиляциялаудың қазіргі техникасы үлкен регистрлік файлдардың
артықшылықтарын, конвейерлік ұйымдастыруды және командалардың
орындалуының үлкен жылдамдығын тиімді қолдануға мүмкіндік
береді. Қазіргі компиляторларды басқа оптималдаушы техниканың
өнімділігін жоғарылату үшін де қолданады, көбінесе RISC
процессорында
қолданылатындарда:
бір
уақытта
бірнеше
командаларды орындауға беруге мүмкіндік беретін суперскалярлы
өңдеу мен кідіртілген өтуді жүзеге асыру болып табылады.

Командалар жүйесі
Командалар жүйесі – процессордың берілген типі. Бұл дербес компьютер
архитектурасында термин жиі қолданылады.
Жалпы белгіленген регистрлі машиналарда объектілерді адрестеу әдісін
константаны, регистрді және жады ұяшығын беретін команда басқарады. Жады
ұяшығына сұраныс беру үшін процессор алдымен нақты немесе тиімді жады адресін
анықтауы керек, ол командада берілген адрестеу әдісімен анықталады.
32 разрядты процессорлардың командалар жүйесі адрестеудің 11 режимін
қарастырады. Бұлардың 2 жағдайында ғана операндлар жадымен байланысты емес.
Регистрдің бұл операндылары процессордың кез келген 8-, 16- немесе 32-битті
регистрінен алынады. Қалған 9 режим жадыға сұраныс жасайды.
Жадыға сұраныс жасауды тиімді адрес келесі компоненттерді қолдану
арқылы жүзеге асырылады:
1. Ығысу (Displacement немесе Disp) – командаға енгізілген 8-, 16-, 32-битті сан.
2. База (Base) – базалық регистрдегі бар мәлімет. Көбінесе кейбір массивтің басына
сілтеу үшін қолданылады.
3. Индекс (Index) – индекс регистріндегі бар мәлімет. Көбінесе массив элементін
таңдау үшін қолданылады.
4. Масштаб (Scale) – код инструкциясында көрсетілген көбейткіш (1, 2, 4 немесе 8).
Бұл элемент массив элементінің өлшемін көрсету үшін қолданылады, 32 битті
адрестеу кезінде ғана мүмкін.

Тиімді адрес мына формула бойынша есептеледі.
EA=Base+Index 4 Scale + Disp.
Адрестеудің мүмкін режимдері төменде көрсетілген.
Кесте-4. Адрестеудің мүмкін
режимдері
Режим

Адрес

Тура адрестеу

EA=Disp

Қосымша регистрлік адрестеу

EA=Base

Базалық адрестеу

EA=Base+Disp

Индекстік адрестеу

EA=Index+Disp

Масштабталған индекстік адрестеу

EA=Scale Index+Disp

Базалы-индекстік адрестеу

EA=Base+Index

Масштабталған базалы-индекстік
адрестеу
Ығыстырылған базалы-индекстік адрестеу

EA=Base+Scale Index

Ығыстырылған масштабталған базалыиндекстік адрестеу

EA=Base+Scale
Index+Disp

EA=Base+Index+Disp

Адрестердің қиын әдістерін қолдану бағдарламадағы
команда санын азайтуға көмектеседі, бұл кезде аппаратураның
қиындығы ұлғаяды. Кез келген командалар жүйесін құрудағы
негізгі сұрақ-командаларды оптималды кодтау болып табылады.
Ол регистрлер санымен және адрестеуде қолданылатын
әдістермен, сонымен қатар декодтау үшін қажет аппаратура
қиындығымен
анықталады.
Сондықтан
қазіргі
RISCархитектураларда командаларды декодтауды тез жеңілдететін
адрестеудің жеткілікті қарапайым әдістері қолданылады. Аса қиын
және сирек кездесетін адрестеу әдістері бағдарлама кодының
өлшемін үлкейтетін қосымша командалардың көмегімен жүзеге
асырылады.

32
разрядты
процессордың
командаларында
инструкцияның бір немесе екі байтты коды болады, оның
артынан операнд пен командалардың орындалу режимін
анықтайтын бірнеше байт тізбектелуі мүмкін. Командалар 3
операндыға дейін қолдана алады (немесе біреуін де
қолданбайды). Операндтар жадыда, процессор регистрінде,
сонымен қатар команданың өзінде де болуы мүмкін. 32 разрядты
процессордағы сөздің разрядтылығы (word) үнсіздік бойынша 32
битті құрайды. Бұл барлық инструкцияларға, жолдық
инструкцияны қоса алғанда, таратылған. Нақты режимде және
8086 процессорының виртуалды режимінде үнсіздік бойынша
16-битті адрестеу және 16-битті операнд-сөздер қолданылады.
Қорғалған режимде адрестеу режимімен сөз разрядтылығы
үнсіздік бойынша кодтық сегмент дескрипторымен анықталады.
Кез келген инструкцияның алдында адрес немесе сөздің
разрядтылығын ауыстырып-қосу префиксі қолданылады.

Командалар жүйесінде бірнеше жүздеген инструкциялар
бар, оларды әр түрлі белгілері бойынша топтастыруға болады.
Ыңғайлы
болу
үшін
мұнда
барлық
инструкциялар
функционалды ортақтықтары бойынша топтастырылған.
1. Деректерді жіберу инструкциясы константа немесе
айнымалыларды регистр мен жады, сонымен қатар әр түрлі
комбинацияларда енгізу/шығару порттары арасында жіберуге
мүмкіндік береді, бірақ жадыда бір операндыдан артық болмауы
керек. Бұл топқа форматтарды құрастыру – кеңтараулар мен
байттарды алмастыру инструкциялары да жатқызылады.
Стектегі операциялар ағымдағы режиммен анықталатын
разрядты сөздермен орындалады.
2. Екілік арифметика инструкциясы белгілі немесе белгісіз бүтін
сандарды кодтайтын байт, сөз және екілік сөзді арифметикалық
әрекеттердің барлығын орындайды.
3. Ондық арифметика инструкциясы алдынғы инструкцияға
қосымша болып табылады.

4. Логикалық операциялар инструкциясы байт, сөз, екілік сөздердің
бульдік алгебрасының барлық функцияларын орындайды.
5. Жылжу мен айналулар (циклдік жылжу) жадыдағы регистр немесе
операндыда орындалады. Солға және оңға жылжу кезінде босатылған
биттер нөлдермен толтырылады. Оңға арифметикалық жылжу кезінде
үлкен бит (белгі) өз мәнін сақтап қалады. Циклдік жылжу кезінде
итерілетін биттер босаған позицияларға келіп түседі.
6. Бит пен байтты өңдеу инструкциясы көрсетілген операндының
мәнін орнатуға, тексеруге және орнатылған битті іздеуге мүмкіндік
береді. Биттік операциялар 16 немесе 32 битті сөздермен орындалады.
Тестілеу инструкциясы байт, сөз немесе екілік сөзбен орындалуы
мүмкін.
7. Басқаруды жіберу шартты және шартсыз өту инструкцияларының,
процедуралар мен үзулерді шақырудың көмегімен жүзеге асырылады.
Шартсыз өту (JMP) сегментішілік (жақын немесе қысқа) және
сегментаралық (ұзақ) болуы мүмкін. Өту адресі команданың өзінде
көрсетілуі мүмкін, ал қосымша адрестеу кезінде ол регистр немесе
жадыда болады.

Қысқа өту (shord) басқаруды ағымдағы аралық -128...+127
байт болатын белгіленген адреске ғана бере алады, ал жақын (hear) –
сегменттің шегі бойынша береді. Ұзақ (far) өту кезінде белгіленген
адрес (өзіндік немесе жанама) көрсеткіштің жаңа мәнін және код
сегментінің мәнін қосып алады, ол кезде жадының кез келген нүктесіне
енуге мүмүкіндік болады (рұқсат етілген қорғаныс шегінде).
8086 және 80286-ларда шартты өту қысқа (8 байтты ығыстыру) ғана
болады, 386+ процессорларында адрестеу режиміне байланысты 16
немесе 32 байтты ығыстыру шегінде өту мүмкіндік берілген.
Процедураны шақыру инструкциясында өзінен кейінгі
инструкция адресін стекке сақтап, басқаруды берілген нүктеге береді.
8. Жолдық операциялар жадыда операндылармен орындалады.
Операциялар шартты немесе шартсыз қайталау префикстерімен де
қолданылуы мүмкін. Қайталау префиксі бар енгізу/шығару жолдық
инструкциялары процессордың толық жүктелу шарты кезінде
порттармен алмасудың жоғарғы жылдамдығына жетуге мүмкіндік
береді.
9. Жалаушалармен операция – жеке жалаушалардың мәнін өзгертуге,
олардың мәнін стекке сақтауға және сақталған мәндерді қалпына
келтіруге мүмкіндік береді.

10. Көрсеткіштерді жүктеу инструкциясы ұзақ көрсеткіштерді
жадыдан жалпы белгіленген регистрге және сәйкес сегменттік
регистрге жүктеуге мүмкіндік береді.
11. Жүйелік инструкцияларға қорғауды басқару инструкциялары
жатады, олар – дескрипторлар регистрлерін және тапсырма регистрін
сақтау және жүктеу; привелигияларды тексеру және түзету; басқарушы,
кідіртуші және моделді-спецификалы регистрлермен алмасу; кэштеуді,
шинаны басып алуды және процессордың тоқтап қалуын басқару.
Қолданбалы бағдарламалар үшін бұл инструкцияларды қолдану тән
емес.
Операнд типін анықтаудың 2 альтернативті әдісі бар.
Біріншісінде операнд типі командада операция кодымен берілуі
мүмкін. Бұл операнд типін берудің көп қолданылатын әдісі. Екінші әдіс
операнд типін тег көмегімен көрсетеді, онда ол деректермен бірге
сақталады және деректерге қолданған операциялардың орындалуы
кезінде аппаратурамен интерпретацияланады. Бұл әдіс қазіргі уақытта
көп қолданылмайды және қазіргі процессорлардың барлығы бірінші
әдісті қолданады.

Әдетте операнд типін оның өлшемі анықтайды (мысалы, бүтін,
нақты немесе символ). Бірақ процессорлар көбінесе ұзындығы 8, 16,
32, 64 бит болатын бүтін сандармен жұмыс жасайды. Ереже бойынша
бүтін сандар қосымша кодта көрсетіледі. Символдарды беру үшін IBM
компаниясының машиналары EBCDIC кодыт қолданады, ал басқа
өндірушілердің машиналарында ASCII коды қолданылады. Қазіргі
уақытта процессорды өндірушілердің көпшілігі нақты сандарды
көрсету үшін IEEE754 стандартын қолданады.
Кейбір процессорларда ондық сандарды екілік кодтау
қоданылады, Олар топталған және топталмаған форматта беріледі.
Топталған форматта 0-9 цифрларын кодтау үшін 4 разряд қоланылады
және 2 ондық цифр әр байтқа топтастырылады. Топталмаған форматта
байт әдетте ASCII символдық кодында көрсетілетін бір ондық цифрді
береді.
Сонымен қатар процессорлардың көбінде бит, байт, сөз және
екілік сөздердің тізбегіне операциялар қолдану жүзеге асырылады.

Дәрісті пысықтау сұрақтары
1. Архитектура дегеніміз не?
2. CISC және RISC архитектураларына сипаттама беріңіздер?
3. CISC процессорының сипаттамасы қандай?
4. Командалар жүйесі дегеніміз не?
5. Адрестеудің мүмкін режимдері?
6.Процессорлардың функционалды мүмкіндіктерінің неше топқа
жіктеледі?


Ұқсас жұмыстар
RIsC/CISC микропроцессоры
Серверлі орталық процессордың сәулеті мен өнімділігі
МИКРОПРОЦЕССОР ТУРАЛЫ ТҮСІНІК
МИПС
GFLOPS (ГФЛОПС)
Сайып келгенде, Intel 8080 процессор
Операциялық жүйені құру принциптері
Мультимедиалық технология
Кәсіпорынның архитектерасы
Дербес электронды есептеу техникасының архитектурасы және құрылымы
Пәндер