Негізгі арифметикалық амалдарды орындаудың эффектифті қолданылуы



КІРІСПЕ 3
1 БІР ПРОЦЕССОРЛЫҚ ЖӘНЕ КӨП ПРОЦЕССОРЛЫҚ ЖҮЙЕЛЕР СӘУЛЕТІНІҢ ЕРЕКШЕЛІКТЕРІ 4
1.1 БІР ПРОЦЕССОРЛЫ ЖҮЙЕНІҢ СӘУЛЕТІ 4
1.2 МУЛЬТИПРОЦЕССОРЛАР МЕН МУЛЬТИКОМПЬЮТЕРЛАР 8
1.3 КЛАСТЕР ЖӘНЕ ОНЫҢ ЕРЕКШЕЛІГІ 16
2 КОПЬЮТЕРДЕ ЕСЕПТЕУІШ ПРОЦЕССОРЛАРДЫҢ БАСҚАРЫЛУЫ 18
2.1 КОМПЬЮТЕР ЖАДЫ 18
2.2 КОМПЬЮТЕР ЖАДЫН БАСҚАРУ 19
2.3 БЕТТІК ЖҮЙЕЛЕР. СЕГМЕНТТІК.БЕТТІК ЖҮЙЕЛЕР 23
3 АРИФМЕТИКАЛЫҚ АМАЛДАРДАҢ ТӨМЕНГІ ДЕҢГЕЙДЕ ОРЫНДАУЛАРЫ 30
3.1 ЭЛЕКТРОНДЫ ЕСЕПТЕУІШ МАШИНАДА БЕКІТІЛГЕН ЖӘНЕ ЖЫЛЖЫМАЛЫ НҮКТЕЛІ САНДАРДЫҢ КӨРСЕТІЛУІ 30
3.2 НҮКТЕСІ АЙНЫМАЛЫ САНДАРМЕН АРИМЕТИКАЛЫҚ АМАЛДАРДЫ ОРЫНДАУДЫ ТӨМЕНГІ ДЕҢГЕЙДЕ ҮЛГІЛЕУ 47
3.3 БІРІКТІРІЛГЕН АМАЛДАРЫҢ НЕГІЗІНДЕ ҚҰРЫЛҒАН ТИІМДІ СУММАТОР МИКРОСХЕМАСЫ 58
ҚОРЫТЫНДЫ 61
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 62
А ҚОСЫМШАСЫ 64
Электронды есептеуіш машиналарды жетілдіру қазіргі таңда да өз қызығушылығын жоғалтпаған. Техникалық және ғылыми есептер көлемінің үлкен болуына байланысты ЭЕМ өнімділігінің қажеттілігі артуда. Ең үлкен өнімді мультипроцессорлық есептеуіш жүйелер алып жатыр. Өткен он жылдықта жалпы параллель есептеуіш жүйелері сирек кездесетін даналары жасалып, ал компьютерлік индустрия бір процессорлық немесе бірнеше процессорлар жүйесін шапшаң түрде жетілдіріп жатты. Қазіргі таңда көппроцессорлы жүйесі алдыңғы қатарлы компьютерлік ұйымдардың негізгі өнімі болып табылады. Алғашқы кезде бұл қалыпты даму микроэлектрониканың өрлеу мерзімімен болды, яғни микропроцессорлар, микросұлба жады және сыртқы адаптерлік құрылғылар стандартты интерфейстері жаппай түсінікті зияткерлік элементтерге айналды.
Есептуіш машиналардың өрлеу ортасы мынадай қағиданы ұстанады: «төмен бағаға үлкен өнім». Осыдан кейін есептеуіш жүйелердің параметрлерін жақсарту үшін техникада жаңа жетістіктер қолданыла бастады. ЭЕМ өнімділігінің екі тәсілі бар: экстенсивті және интенсивті. Дамудың экстенсивті жолы ЭЕМ эксплуатациялық мінездемелерін жақсартады, яғни жеке элементтердің тез әрекет ету үрдісін күшейтеді. Ал дамудың интенсивті жолы ЭЕМ құрылымдарын жаңартуға негізделеді. ЭЕМ мінездемелерін экстенсивті даму жолымен жақсарту технологиялық мүмкіншіліктер, конструкторлық қордың даму жолымен шектелген және бұдан басқа элементтердің әрекет ету ерекшелігін күшейту толығымен ЭЕМ маңызды деңгейде әсер етпейді. Осыған байланысты бұл әдіс өзінің маңыздылығын жояды және ЭЕМ өнімділігін күшейтуге басқа жол іздеуге мәжбүрлейді. Қазіргі уақытта ЭЕМ өнімділігін арттыру саласында бұрын қымбат болып есептелген және ЭЕМ өнімділігінің үлкеюі оның құнының қатынасына беретін коэффициенті аз болатын қағидаларды қолданысқа енгізіп жатыр. Бірақ қазір бұрын есептеуіш машиналардың өнімділігін бірнеше аздаған пайыздарға өсіретін онша танымал емес әдістер қолданыла бастаған кезде микроэлектрондық қордың дамуы күшті деңгейге жетіп отыр. Үлкен интегралдық сұлбалар негізінде қазір жылдамдығы 0.3 немесе бір миллиард операция секундына жұмыс жасай алатын микропроцессорлар жүзеге асып жатыр. Қазіргі кезде компьютерлерді құрастыру үшін бір жүйеден бірнеше ондаған, жүздеген микропроцессорлық модульдерді жинақтау негізгі бағытқа айналып бара жатыр. Бірақ дамудың бұл жолында есептеуіш жүйелер үшін тез әрекет етудің күшейуі сонымен қатар есте сақтау жады көлемінің үлкею мәселелері актуалды болып отыр. Бұл мәселені шешу үшін келесі мүмкін болатын тәсілдері бар. Ол үшін компьютердің жадын бірнеше қабаттарға бөлу керек, компьютердің виртуалды жадымен және жадының иерархиясын пайдалану, тез әрекет ететін және көлемі үлкен жады кристалдарын жасап шығару керек. Сонымен қатар кэш жадын қолдану керек.
1.Дюсембаев А.E. Архитектура компьютеров: Учебное пособие.-Алматы: Изд. TOO “Dair”,2011.-165с.
2.Яблонский С.В. Введение в дискретную математику.-М.: Наука, Физматлит,2003 Изд.2-е. -314с.
3.Таненбаум Э. Архитектура компьютеров.-Питер.: Изд.4-е, 2005
4. Stolings W. Computer organization and Architecture. -Prentice Hall, 2003
5. Каган Б.М. Электронные вычислительные машины и системы.М.: Энерго-атом Изд. 1991 592с
6.Адельсон –Вельский Г.М. ,Ландис Е.М.Один алгорифм организации информации. ДАН СССР , т.146 ,№2,1962,с.263-266
7.Ахо А., Хопкрофт Дж.,Ульман Дж.,Структуры данных и алгоритмы.-М: Изд. «Вильямс»,2000
8.Братчиков И.Л.Синтаксис языков программирования. М: Физматлит, Наука,Серия «Библиотечка программиста»,1975,с.
9.Вирт Н.Алгоритм структуры данных =программа.М: Мир,1985
10.Гасанов Э.,Кудрявцев В.Б. Теория хранения и поиска информации. М: Физматлит(МАИК,Наука), 2003
11.Дюсембаев А.Е. Математические модели сегментации программ. М.: Физматлит (МАИК Наука),Серия " Библиотечка программиста ",2001,208 с.
12.Дискр Дюсембаев А.Е. Архитектура компьютеров. Computer Architecture.Учеб.пособие. Tempus-Tacis , EuroCom.Project,Contract #CDJEP 22207-2001, 2004,111с.
13. Дюсембаев А.Е Об одном подходе к задаче сегментации программ. Доклады АН России.Т. 329, №6, 1993 г., стр. 712-714.
14. Ершов А.П. Введение в теоретическое программирование.
15.Журавлёв Ю.И. Об алгебраическом подходе к задачам распознавания и классификации. Сб. Проблемы кибернетики, вып.33 ,1978,с.5-68
16. Журавлёв Ю.И.и др. Задачник по теории графов.
17.Лавров С.С. Автоматическая обработка данных.Хранение информации в памяти ЭВМ. М:Физматлит ,Наука ,1971 г.
18. Лавров С.С. Введение в программирование. М: Наука,1977.
19.ЛавровС.С.Программирование.Математическиеосновы,средства,теория. Санкт –Петербург:Изд.BHV,серия " Мастер",2001, 318 с.
20.Лэнгсам Й.,Огенстаин М.,Тененбаум М.Структуры данных для персональных ЭВМ. М:Мир ,1989,567с.
21.Каган Б.М.Электронные вычислительные машины и системы. М: Энергоатомиздат.,1991,591с.
22.Кнут Д. Искусство программирования. Сортировка и поиск .Т.3, М: Изд.Вильямс,2000.
23.Королёв Л.Н. Типовые программы цикла программистских дисциплин для бакалавров специальности " Прикладная математика и информатика" Журнал Программирование .№1, 1996 ,с.66-74
24.Королёв Л.Н.,Миков А.И. Информатика.Введение в компьютерные наукиМ:Высшая школа ,2003,342с.
25.M.Ласло.Вычислительная геометрия и компьютерная графика на С++. М:Изд. БИНОМ,1997,304с. Машинная графика.
26.Поспелов Д.А.Введение в в теорию вычислительных систем. М: «Сов.Радио» , 1972г.
27.РомановскийИ.В.Дискретныйанализ.С-П:Изд.Невский диалект,2000, 240с.
28. Серебряков В.А., Галочкин М.П. Основы конструирования компиляторов. М: Изд.УРСС,2001, 222с.
29.Таненбаум Э. Архитектура компьютеров. М: Изд.ПИТЕР,2003, 698с.
30.Феррари Д. Оценка производительности вычислительных систем. М.: Мир, 1981 г., 585с.
31.ХIII Международная научная конференция молодых учённых, аспирантов и студентов « Ломоносов 2006». М: МГУ им. М.В.Ломоносова, Сб.тезисов, МОиН РФ, 12-15арпреля 2006, изд.ф-та ВМиК
32. Яблонский С.В. Введение в дискретную математику. М: Наука, Физматлит, Изд. 2, 2000г.
33. Denning P.Working set
34. Drozdek A. Data structures and C++.
35.Korman . Построение и анализ алгоритмов. Thopson Learning Inc ,2001.
36.Heuring V.P., Jordan H.F.,Murdocca. Computer Systems Design and Architecture. Addison-Wesley Longman Inc.1997.
37.Hopcroft J., Motwani R., Ulman J. Introduction into Automata Theory,Languages, and Computation. 2nd Edition. Addisson-Wesley Publ.House.
38. Rayward-Smith. V.J.A First Course in Formal Language Theory. Blackwall Scientific Publications.Oxford Press.(Имеется перевод:Теория фрмальных языков.Вводный курс. М: Изд.«Радио и связь»,1988г.128с.)
39.W.Stollings
40. S. Baase. Computer Algorithms. Introduction to Design and Analysis. 2nd edition, Prentice Hall. 2001
41.Peter Andras. Kernal-Kohonen Networks.Int.Journal of Neural Systems.Vol.12,No.2,2002,p.101-119

қазақстан республикасы
білім және ғылым министрлігі

әл-фараби атындағы қазақ ұлттық университеті

Механика-математика факультеті

Ақпараттық жүйелер кафедрасы

Кафедра меңгерушісінің міндетін атқарушы
т.ғ.д., профессор _________________ У.А.Тукеев
(қолы)

рұқсатымен ________________ қорғауға жіберілді
(күні)

ДИПЛОМДЫҚ ЖҰМЫС

НЕГІЗГІ АРИФМЕТИКАЛЫҚ АМАЛДАРДЫ ОРЫНДАУДЫҢ ЭФФЕКТИФТІ ҚОЛДАНЫЛУЫ

050703 – Ақпараттық жүйелер мамандығы

Орындаған ____________________ Б.Д. Рахымжанова

(қолы)
Ғылыми жетекші
ф.-м.ғ.к., прфессор ____________________ А.Е. Дюсембаев
(қолы)

Норма бақылаушы ____________________ А.М. Қожанова
(қолы)

Алматы 2012

МАЗМҰНЫ

КІРІСПЕ 3

1 БІР ПРОЦЕССОРЛЫҚ ЖӘНЕ КӨП ПРОЦЕССОРЛЫҚ ЖҮЙЕЛЕР СӘУЛЕТІНІҢ ЕРЕКШЕЛІКТЕРІ
4

1.1 Бір процессорлы жүйенің сәулеті 4
1.2 Мультипроцессорлар мен мультикомпьютерлар 8
1.3 Кластер және оның ерекшелігі 16

2 КОПЬЮТЕРДЕ ЕСЕПТЕУІШ ПРОЦЕССОРЛАРДЫҢ БАСҚАРЫЛУЫ 18

2.1 Компьютер жады 18
2.2 Компьютер жадын басқару 19
2.3 Беттік жүйелер. Сегменттік-беттік жүйелер 23

3 АРИФМЕТИКАЛЫҚ АМАЛДАРДАҢ ТӨМЕНГІ ДЕҢГЕЙДЕ ОРЫНДАУЛАРЫ 30

3.1 Электронды есептеуіш машинада бекітілген және жылжымалы нүктелі
сандардың көрсетілуі 30
3.2 Нүктесі айнымалы сандармен ариметикалық амалдарды орындауды төменгі
деңгейде үлгілеу 47
3.3 Біріктірілген амалдарың негізінде құрылған тиімді сумматор
микросхемасы 58

ҚОРЫТЫНДЫ 61

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 62

А ҚОСЫМШАСЫ 64

КІРІСПЕ

Электронды есептеуіш машиналарды жетілдіру қазіргі таңда да өз
қызығушылығын жоғалтпаған. Техникалық және ғылыми есептер көлемінің үлкен
болуына байланысты ЭЕМ өнімділігінің қажеттілігі артуда. Ең үлкен өнімді
мультипроцессорлық есептеуіш жүйелер алып жатыр. Өткен он жылдықта жалпы
параллель есептеуіш жүйелері сирек кездесетін даналары жасалып, ал
компьютерлік индустрия бір процессорлық немесе бірнеше процессорлар жүйесін
шапшаң түрде жетілдіріп жатты. Қазіргі таңда көппроцессорлы жүйесі алдыңғы
қатарлы компьютерлік ұйымдардың негізгі өнімі болып табылады. Алғашқы кезде
бұл қалыпты даму микроэлектрониканың өрлеу мерзімімен болды, яғни
микропроцессорлар, микросұлба жады және сыртқы адаптерлік құрылғылар
стандартты интерфейстері жаппай түсінікті зияткерлік элементтерге айналды.
Есептуіш машиналардың өрлеу ортасы мынадай қағиданы ұстанады: төмен
бағаға үлкен өнім. Осыдан кейін есептеуіш жүйелердің параметрлерін
жақсарту үшін техникада жаңа жетістіктер қолданыла бастады. ЭЕМ
өнімділігінің екі тәсілі бар: экстенсивті және интенсивті. Дамудың
экстенсивті жолы ЭЕМ эксплуатациялық мінездемелерін жақсартады, яғни жеке
элементтердің тез әрекет ету үрдісін күшейтеді. Ал дамудың интенсивті жолы
ЭЕМ құрылымдарын жаңартуға негізделеді. ЭЕМ мінездемелерін экстенсивті
даму жолымен жақсарту технологиялық мүмкіншіліктер, конструкторлық қордың
даму жолымен шектелген және бұдан басқа элементтердің әрекет ету
ерекшелігін күшейту толығымен ЭЕМ маңызды деңгейде әсер етпейді. Осыған
байланысты бұл әдіс өзінің маңыздылығын жояды және ЭЕМ өнімділігін
күшейтуге басқа жол іздеуге мәжбүрлейді. Қазіргі уақытта ЭЕМ өнімділігін
арттыру саласында бұрын қымбат болып есептелген және ЭЕМ өнімділігінің
үлкеюі оның құнының қатынасына беретін коэффициенті аз болатын қағидаларды
қолданысқа енгізіп жатыр. Бірақ қазір бұрын есептеуіш машиналардың
өнімділігін бірнеше аздаған пайыздарға өсіретін онша танымал емес әдістер
қолданыла бастаған кезде микроэлектрондық қордың дамуы күшті деңгейге
жетіп отыр. Үлкен интегралдық сұлбалар негізінде қазір жылдамдығы 0.3
немесе бір миллиард операция секундына жұмыс жасай алатын микропроцессорлар
жүзеге асып жатыр. Қазіргі кезде компьютерлерді құрастыру үшін бір жүйеден
бірнеше ондаған, жүздеген микропроцессорлық модульдерді жинақтау негізгі
бағытқа айналып бара жатыр. Бірақ дамудың бұл жолында есептеуіш жүйелер
үшін тез әрекет етудің күшейуі сонымен қатар есте сақтау жады көлемінің
үлкею мәселелері актуалды болып отыр. Бұл мәселені шешу үшін келесі мүмкін
болатын тәсілдері бар. Ол үшін компьютердің жадын бірнеше қабаттарға бөлу
керек, компьютердің виртуалды жадымен және жадының иерархиясын пайдалану,
тез әрекет ететін және көлемі үлкен жады кристалдарын жасап шығару керек.
Сонымен қатар кэш жадын қолдану керек.
1 БІР ПРОЦЕССОРЛЫҚ ЖӘНЕ КӨП ПРОЦЕССОРЛЫҚ ЖҮЙЕЛЕР СӘУЛЕТІНІҢ
ЕРЕКШЕЛІКТЕРІ

1.1 Бір процессорлы жүйенің сәулеті

30-шы жылдардан бастап есептеуіш машиналарын қаржылық мақсаттарда
қолдану моментіне дейін, XX ғасырдың 50-ші жылдардың ортасында, ЭЕМ
ұйымдастыру проблемасы және оның архитектурасы тек кішкене топ мамандардың
айналасу ісі болған. Дербес компьютерлер шыға бастаған уақыттан осы
мәселелер үлкен топ қолданушыларды қызықтырды. Осы саладағы кез-келген
жетістік, техникалық шешім немесе жай программалық өнім болса да, зертхана
қабырғаларынан шықаннан кейін міндетті түрде үлкен дискуссияға ие болып,
көптеген програмисттер мен инженерлердің жетістігі болып табыла қалады.
Сонымен қатар қазіргі таңда осындай дискуссиларға мыңдаған қарапайым
қолданушылар қатысады, оның ішінде мектеп оқушылары мен жоғарғы оқу орын
студенттері ат салысады. Ерте жастан бастап, жас програмисттер дербес
компьютер, оның құрылымы және жеке түйіндерді орындайтын функциялары туралы
өздерінің алғашқы білімін мектеп қабырғаларынан алады. Кейбіреулері мектеп
қабырғасында жүріп-ақ компьютерлік ғылымның кейбір құпияларын ашып,
практикалық программалаудың негіздерін меңгеріп те алады. Өздерінің ДК-ін
жаңартумен бастарын қатырып жүрген мектеп оқушылары мен студенттер өз тіл
байлықтарын маңызды терминдер – компьютер компоненттерінің аттарымен
толықтырып алды: Орталық процессор-ОПр, жады (жедел және көмекші), аналық
плата, диск, монитор, шина, модем, операциялық жүйе, кэш, видеотақташа,
жүйелік тақташа, және т.б. Сонымен қатар олар осы құрылғылардың соңғы
модельдерінің сипаттамаларымен, соңғы программалық өнімдермен, олардың
артықшылықтары мен кемшіліктерімен жақсы таныс. Қолданушылардың осы
контингенті программалық қамтамасыздандыру және аппараттық
қамтамасыздандыру өнімдерін шығаратын фирмалардың негізгі тұтынушылары
болып табылады. Г. Айкен, Д. Атанасов, К. Берри, Д. Моучли, П. Эккерт,
К. Цузе, С. А. Лебедев және сонымен қатар Джон фон Нейман компьютерлік
архитектура саласының негізін салғандардың бірі болды. Сонымен қатар
Дж. Буль, А. Тьюринг, Э. Пост, Дж. фон Нейман, К. Шеннон, А. А. Марков,
Н. Хомский, В.М. Глушков, А. М. Ляпунов, Журавлёв, Ю.И.,Яблонский С.В.,
Лупанов О.Б., С. С. Лавров, А.П. Ершов, Ю. И. Яновтың жұмыстары
компьютерлік технологиялар – компьютерлік математика саласының негізі
болды. Компьютер архитектурасы ғылым мен технологияның түрлі салаларының
айнасы болып та табылады. Ең басты электрондық сұлбалар, физикалық
құрылғылардың математикалық модельдері және осы құрылғыларды басқару
алгоритмдері мен программалар салаларын атап айтса болады. Осы саланың
программалық немесе тілдік компонентасының негізгі бөлігі болып табылатын
құрылғыларды проектілеу тілдері Verilog және VHDL кең таралымда. Осы
бөлімдердің әр қайсысына қалың кітаптар жазылған, сондықтан осы оқу
құралының авторына пәннің ең негізгі бөліктерін осы кітапта атап көрсетуге
зор еңбек болды. Бірінші бөлімнің мазмұнына компьютер архитектурасы,
автордың қызықты тақырыптары кірді. Осы бөлім Дискретті математика,
электроника, микропроцессорлар, цифрлық сұлбалардың дизайны және
бакалаврларға арналған автоматтар теориясымен тығыз байланыста. Дербес
компьютердің аппараттық бөлімін(1.1-сурет) қарапайым түрде келесідей
көрсетсе болады:

1.1.1-сурет. Дербес компьютердің перифериялық құрылғыларымен
берілген жалпы құрылымы

АЛҚ – арифметико-логикалық құрылғы; БҚ – басқару құрылғысы; ТЖ –
тұрақты жад; ЖЖ – жедел жад; СҚ – сыртқы құрылғы; ИМДЖ – иілгіш магниттік
дискіге жинақтағыш; ҚМДЖ – қатты магниттік дискіге жинақтағыш; МЛЖ –
магниттік лентаға жинақтағыш; ББҚ – баспаға беру құрылғысы.
Компьютердің ең негізгі және маңызды құрылғысы орталық процессор (ОПр).
Орталық процессор компьютердің миы болса, оның жүрегі тактілік
импульстер генераторы болады-ГТИ. Осы генератордың тактілерімен компьютерде
орындалатын барлық процесстер келістірілген. Орталық процессорда Басқару
Құрылғысы (БҚ) және Арифметика-Логикалық құрылғысы (АЛҚ) бар. Соңғысы
арифметикалық, логикалық және де басқа операцияларды орындауға бейімделген.
Өте жылдам регистрлердің және басқару микросұлбалардың бар болуы осы
операциялардың дұрыс орындалуын қамтамасыз етеді. Басқару құрылғысы
компьютердің барлық компоненттері мен түйіндерінің жұмысын басқарып реттеп
отырады. Басқару құрылғысы компьютердің орталық жүйке жүйесі болып
табылады. Басқару құрылғысының компоненттері күрделі құрылғылар, мысалға
үзілісті өңдеу блогы, командалардың дешифраторы, сонымен қатар есептеу
процессін оптимизациялауға арналған таралымды болжайтын блогы болып
табылады. Басқару құрылғысында сонымен қатар регистрлер бар, олардың
арасында командалар есептеуіші (PC) мен командалар регистрін (IR) бөліп
айтса болады. Процессор құрылғылары бір-бірімен шиналар көмегімен
байланысқан, олар сигналдар мен ақпаратты жеткізіп таратуға арналған.
Компьютердің негізгі түйіндері мен компоненттері бір-бірімен параллельді
сымнан тұратын жалпақ ленталы шинамен байланысқан. Орталық процессорда КЭШ
деп аталатын регистрлермен салыстырғанда үлкен көлемді жоғары өнімді жад
орналастырылған, және де осы жад регистрлерден өзгеше, оны деңгейлермен
бөлуге келісілген. Бұл L1,L2,L3 деңгейлер 1.1.1-суретте көрсетілген, көлемі
мен жету жылдамдығымен ажыратылады. Кэш жадының, процессордың тактік
жиілігі және компьютердің басқа да құрылғыларының параметрлері осы кездегі
технологиялардың даму деңгейіне байланысты екені түсінікті.
Регистрлер, кэш жады, негізгі және көмекші жады барлығы қосыла бір
жағында негізгі жады НЖ-ның өте жылдам регистрлері, бір жағында диск
жадысы орналасқан жады иерархиясын құрады. Оперативті (жедел) жадымен
салыстырғанда диск жадысы аса көлемді. ЖЖ(Диск арасындағы алмасу ЖЖ(КЭШ
немесе ОПр(КЭШ арасындағы алмасумен салыстырғанда өте баяу. Орталық
проссерден басқа компьютерде енгізу-шығару процессоры, диск процессоры,
аудиопроцессор, графикалық процессор бар. Соңғысы орталық процессор сияқты
өте күрделі құрылғы. Графикалық процессор компьютер өнімділігіне
айтарлықтай септігін тигізіп, оның түрлі құрылғыларбен бірлесе жұмыс
істейді. Графикалық процессордың ішкі жұмысы бейне жадымен және аналогті
цифрлік өңдеу құрылғысымен байланыса жүреді, осы құрылғылардың барлығы
бейнекарта құрылғысының құрамына кіреді. Аналогті цифрлік өңдеу құрылғысы
виде жадыда жазылған цифрлік ақпаратты монитор экранында көрсетуді
қамтамасыз етеді. Сонымен қатар бейне жады оперативті жүйенің бөлігі болып
та табылады.
Операциялық жүйе деңгейіндегі компьютер жадысы виртуал түрде
ұйымдастырылады. Бірақ операциялар физикалық жадыда жазылған ақпаратпен
жұмыс істейді және MMU(memory management unit-виртуал жадыны басқаратын
диспетчер) микросұлбасы виртуалды адресті физикалық адреске ауыстыруды
қамтамасыз етеді. Орындалатын операциялардың ең маңыздысы ақпаратты жазу
жіне оқу операциялары болып табылады. Осы операцияларды орындау кезінде
қателіктер туындау мүмкін, Оларды түзету үшін арнайы шараларды қолдану
керек.
Тарихи мағлұмат. 20-шы ғасырдың 30-шы жылдардың соңында және 40-жылдар
басында АҚШ, Англия, Германия елдерінің зерттеушілері мен инженерлері
компьютер деп аталатын есептеуіш құрылғыларын жасауға кірісті.
1937 жылы Горвард Айкен Гарвард университетімен және IBM фирмасының
спонсорлық көмегімен МАРК I компьютерін құрап шығарды. МАРК I компьютері
электр тогымен басқарылатын бинарлық қосылғыштар болатын мыңдаған
механикалық релелерден құрылды. Реленің бинарлық қосылғыш екеніне
қарамастан осы компьютердің санау жүйесі ондық болды. Осы компьютердің
жадысы 23-разрядты 72 ондық саннан тұрды. Осы компьютердің концепциясы
Бэббидждің құрылғыларына және IBM фирмасының калькуляторының механикалық
бөлігін негізденді. Г. Айкена жұмыстарынан бөлек Германияда осы құрылғыға
ұқсас 1937 жылы Конрад Цузенің басшылығымен Z1 машинасын құрастырылды.
Толық электронды цифрлік компьютер Айова университетінің физигі Джон
Атанасовтың басшылығымен және Клиффорд Берри студент-магистрантының
көмегімен 1939 жылы құрастырылып шығарылды. Олар бинарлы қосылғыштың
ретінде электронды вакуумдық лампаларды қолданды.
Бұл Компьютер өз құраушыларының атына сай АВС деп аталды. Атанасов-
Берри машинасы универсалды машина болған жоқ, ол оны қазіргі кезде
атағандай профессор Атанасов айналысқан теңдеулерді шешуге арналған құрылғы
болды.
АВС машинасы АЛҚ кірістірілген екілік жүйедегі машина болды. Ол 30
компоненттен тұрды, және садарды қосу және алу амалдарын орындарды. Жад
айналу барабанына түйінделген 30 бинарлы 50 разрядты сандардан тұрды.
Енгізу үшін перфокарталар қолданылды.
Ең бірінші универсалды электронды компьютер болып ENIAC есептеледі. Ол
1943-1946 жылдар арасында Джон Моучли және Проспер Эккерт басшылығымен
Атанасов идеяларының негізінде Пенсильвания университетінде құрастырылды.
ENIAC жадысы 10-разрядты ондық саны бар 20 ұяшықтан тұрды. Оқуға арналған
мыңдаған сан жадысы қосымша орналыстырылды. ENIAC 18*103 электронды
лампыларынан құралып, 30 тоннадан аса салмақты болып кең орынды алып жатты.

1945 жылдан бастап ENIAC проектісінің консультанты болып Джон фон
Нейман тағайындалды. Ол бірнеше жаңа енгізулердің авторы болды, осы
енгізулер қазіргі таңдағы компьютерлер фон-нейман архитектурасымен
құрылған. Осы архитектураның негіздерін Джоном фон Нейманом ойлап тапқан.
ЭЕМ-ның жадысы программалармен қатар мәліметтерді цифрлық кодта сақтау
керек және олар керек кезде қолданылуы керек. Осылайша сақталатын
программаның концепциясы құрылған.
Оқуға және жазуға арналған кез-келген ұяшыққа кездейсоқ қол жеткізуі
ЭЕМ-ның концепциясы.
Фон Нейман концепциялары жүзеге асырылған компьютер EDVAC деп аталды.
EDVAC Орталық процессорының құрылымына: ариметика-логикалық құрылғы, жады
және басқару құрылғысы кірді. Басқару құрылғысы жадыдан алынған
командаларды оқып, оларды ариметика-логикалық құрылғысы орындады.
EDVAC командаларының тізбегінде қазіргі таңда қолданылатын
компьютерлерде орындалатын командалардың негізін қалаған көптеген
ерекшеліктері болды. Сонымен қатар сол уақытта фон Нейман архитектурасы
бойынша IAS машинасы құрылды. Осы екі машина 1951-52 жылдары құрылып, ЭЕМ-
сын коммерциялық мақсатпен қолдану эрасын ашты.
Алғашқы операциялық жүйелер мен программалау тілдерінің алғашқы
версиялары 1950 жылдардың басында пайда бола бастады. Сол уақыттан бастап
софт пен технологияның қарқынды дамуы басталды.
60-шы жылдар басында IBM фирмасының өндірушілері IBM-360 компьютерлер
сериясының командалар жүйесінің архитектурасы атты терминді қолдана
бастады.
Компьютерлердің дамуы лампалық ЭЕМ-нен басталып, транзисторлар
негізіндегі ЭЕМ-дер пайда болды. Бүгінгі таңда бұл өте үлкен интегралды
сұлбалардың негізінде құрылған (СБИС) компьютерлер, ал болашақта жаңа
мүмкіншіліктері бар квантты және нейрокомпьютерлер болады.
Джон фон Нейман математигін жалпыға бірдей компьютер архитектурасының
концепцияларын іске асырған, осы саланың ғылымдық және өндірушілік негізін
салған адам ретінде санайды.
Байқасақ, фон-нейман типті емес құрылымы бар есептеу жүйесіне
нейрокомпьютерлер жатады.

1.2 Мультипроцессорлар мен мультикомпьютерлар

Ақпараттық модельдер. Параллельді өңдеудің кез-келген жүйесінде
процессорлар бір мәселенің әр түрлі бөліктерін орындау кезінде, бір бірімен
ақпарат алмасу үшін өзара қарым-қатынаста болуы тиіс. Бұл алмасу қалай
жүруі тиіс? Екі ұсыныс берілді: мультипроцессорлар және мультикомпьютерлер.
Біз оларды төменде қарастырамыз.
Параллельді іс-әрекет компьютерінің классификациясы
Классификация негізінде екі түсінік жатыр: командалар ағыны және
деректер ағыны. Командалар ағыны команда есептеуішіне сәйкес келеді. N
процессорлы жүйеде n командалар ағыны мен n командалар есептеуіші бар.
Деректер ағыны операндалар жиынынан тұрады.
Деректер мен командалар ағыны қандай да бір дәрежеде бір – біріне
тәуелсіз, сондықтан төрт түрлі амал қарастырылады. SISD (Single Instruction
stream Single Data stream — команданың бір ағыны,деректердің бір ағыны) –
бұл фон Нейманның классикалық тізбектелген компьютері. Ол бір команда ағыны
мен бір дерек ағынынан тұрып, бір сәтте бір ғана әрекет орындай алады. SIMD
(Single Instruction stream Multiple Data stream —командалардың бір
ағыны,деректердің бірнеше ағыны) бір команда арқылы берілетін басқару
бөлігінен тұрады, сонымен қатар деректердің бірнеше жиынын бір уақыт
аралығында өңдей алатын АЛҚсы бар. ILLIAC IV —SIMD машинасының көшірмесі.
MISD (Multiple Instruction stream Single Data stream – командалардың
бірнеше ағыны, деректердің бір ағыны) — біршама қызық дәреже. Бұл жерде
бірнеше командалар деректердің бір жиынымен жұмыс жасайды. MIMD (Multiple
Instruction stream Multiple Data stream — командалардың бірнеше ағыны,
деректердің бірнеше ағыны). Бұл жерде бірнеше тәуелсіз процессорлар үлкен
бір жүйенің бөлігі ретінде жұмыс жасайды. Бұл категорияға көптеген
параллельді процессорларды жатқызуға болады. Мультипроцессорлар мен
мультикомпьютерлер MIMD машинасы болып табылады.
Біз Флиннің жіктеуін кеңейттік (1.2.1-сурет). SIMD машиналары екі
топшаға бөлінді. Бірінші топшаға көптеген суперкомпьютерлер мен вектордың
әрбір элементіне бірдей операция орындайтын машиналар жатады. Екінші
топшаға негізгі басқарушы бөлік командалары бірнеше тәуелсіз АЛҚ-ға
бағыттайтын ILLIAC IV типтегі машиналар жатқызылады.

1.2.1-сурет. Параллельді компьютерлер классификациясы

Мультипроцессорлардың үш түрі бар. Олар бір бірінен ортақ қолданыстағы
жадыны құру әдісімен ерекшеленеді. Олар UMA (Uniform Memory Access — жадыға
бірегей қолжетімділік құрылымы), NUMA (NonUniform Memory Access —
(неоднородным) жадыға бірегейлі емес қолжетімділік құрылымы) және СОМА
(Cache Only Memory Access — кэш-жадыға ғана қолжетімділік құрылымы).
Мультипроцессорлар.Барлық процессорлар жалпы физикалық жадыны бөледі.
Мұндай жүйені мультипроцессор немесе ортақ қолданатын жадысы бар жүйе деп
атаймыз.
Программалық қамтамасыз етуге мультипроцессорлық үлгі таралады.
Мультипроцессорда жұмыс істейтін барлық процесстер ортақ жадыда бейнеленген
бір виртуалды адрестік кеңістікті бөлісе алады. Кез келген процесс LOAD
және STORE командаларының көмегімен жадқа сөзді жаза алады немесе жадтан
сөзді оқи алады. Басқа ешнәрсе қажет етілмейді. Егер бір процесс жадқа
мәліметтерді жай жазатын болса, ал екіншісі сол мәліметтерді оқитын болса,
онда екі процесс ақпарат алмаса алады.

а
б

1.2.2-сурет. Ортақ жадыны бөлісетін 16 процессорды қамтитын
мультипроцессор (а); 16 секцияға бөлінген, олардың әрқайсысын жеке
процессор талдайтын сурет (б)
Мультипроцессорлар екі немесе одан да көп процесстердің өзара
әрекеттесу мүмкіндігіне байланысты өте танымал. Бұл үлгі программисттерге
түсінікті және міндеттердің кең ауқымына қосыла алады. Битті бейнелеуді
зерттейтін және оның объектілерінің барлық тізімін құратын программаны
қарастырамыз. Бейненің бір көшірмесі жадта сақталады (1.2.2-сурет,б сурет).
16 секцияның беруін талдау үшін 16 процессорлардың әрқайсысы бір процессті
қосады. Егер процесс оның объектілерінің бірі секция шекарасынан өтетінін
байқаған болса, бұл процесс объекті соңынан келесі секцияға өтеді, осылайша
секция сөзін оқиды. Біздің мысалда кейбір объектілер бірнеше процесстермен
өңделеді, сондықтан соңында үйлердің, ағаштардың және ұшақтардың санын
анықтау үшін қандай да бір координация қажет.
Мультипроцессорлардың мысалы ретінде Sun Enterprise 10000, Sequent NUMA-
Q, SGI Origin 2000 және HPConvex Exemplar атауға болады [2].
Sequent NUMA-Q мультипроцессоры
Sequent NUMA-Qда кэштеу когеренттігінің қызықты протоколы қолданылады –
SCI (Scalable Coherent Interface — масштабталатын когерентті интерфейс).
Бұл хаттама стандартты (IEEE 1569 стандарты), сондықтан бұл хаттама CC-NUMA
басқа машиналарында да қолданылады. NUMA-Q машинасының негізінде Intel
компаниясы өндірген quard board стандартты тақшасы жатыр. Тақшада Pentium
Proның 4 процессоры мен 4 Гбайтқа дейінгі ЖЕСҚ бар. Әрбір процессордың
бірінші деңгейдегі және екінші деңгейдегі кэш-жады бар. Кэштердің
үйлесімділігі MESI хаттамасын қолдану арқылы quard board тақшасындағы
жергілікті шинаны бақылау негізінде сақталады. Жергілікті шинада деректерді
жіберу жылдамдығы 534 Мбайтс. Кэш-жады жолының өлшемі 64 байтқа тең.
Мультикомпьютерлер. Параллельді архитектураның екінші типінде әр
процессор өзінің меншікті жадына ие, ол тек осы прцессорға ғана қолжетімді.
Мұндай зерттеме мультикомпьютер немесе үлестірілген жад жүйесі деп аталады.
Ол 1.4 суретте бейнеленген. Мультикомпьютерлер, әдетте, әлсіз байланысы бар
жүйе болып табылады. Мультипроцессордан мультикомпьютерлердің негізгі
ерекшелігі – мультикомпьютердің әрбір процессорында өзінің жеке жергілікті
жады бар, ол жерге бұл процессор LOAD және STORE командаларын орындай
отырып қатыса алады, бірақ бұдан бөлек ешқандай процессор LOAD және STORE
командаларының көмегімен бұл жадыға жол аша алмайды. Осылайша,
мультипроцессорлар барлық процессорлармен бөлінетін физикалық адресті
кеңістікке ие, ал мультикомпьютерлер әрбір орталық процессор үшін жеке
физикалық адресті кеңістікке ие. Мультикомпьютердегі процессорлар бір
бірімен ортақ жадтан оқу мен ортақ жадқа жазу арқылы өзара әрекеттесе
алмайтындықтан, өзара қарым-қатынас жасауға қажет басқа механизм қажет
болды. Олар бір-біріне хабарлама жіберіп, байланыс аралық торапты
қолданады. Мультикомпьютерлердің мысалы ретінде IBM SP2, IntelSandia
Option Red және Wisconsin COW атауға болады.

1.2.2-сурет. Әрқайсысы меншікті жадына ие 16 процессордан тұратын
мультикомпьютер (а); 1.2.1-сурет жадтың 16 учаскесімен бөлінген биттік
бейне (б)

Мультикомпьютерлерде LOAD және STORE командаларымен барлық процесстер
ақпаратты оқи алатындай және барлық процесстер ақпаратты жаза алатындай бір
виртуалды адресті кеңістіктің болуы мүмкін емес. Аппаратты қамтамасыз етуде
ортақ қолданатын жадтың болмауы кезінде программалық қамтамасыздандырудың
белгілі бір құрылымы ұсынылады. Мысалы, 1.2.1-суреттегі 0 процессордың
(үстіңгі сол жақ бұрыштағы) объектісінің бір бөлігі 1 процессорға қатысты
секцияға түсетін болса, онда ол ұшақтың артқы бөлігін алу үшін жадтан
ақпаратты оқуды жалғастыра береді. Егер 1.2.2-суреттегі 0 процессор осындай
жағдайды байқаса, онда ол 1 процессор жадынан ақпаратты жай оқи алмайды.
Оған керекті мағлұматтарды алу үшін басқаша әрекет ету керек [10].
Ол үшін процессор 0 ең алдымен қай процессор оған керек ақпаратқа ие
екендігін анықтап алуы қажет, содан соң сол процессорға мағлұматтар
көшірмесін сұрау хабарламасын жіберуі тиіс. Жауапты алғанша 0 процессор
блокқа түседі. 1 процессор хабарламаны алған кезде программалық қамтамасыз
ету осы хабарламаны талдап, керекті мәліметтерді кері қайтаруы қажет. 0
процессор жауабы бар хабарламаны қабылдаған кезде программалық қамтамасыз
ету блоктан шығып, жұмысын жалғастырады.
Мультикомпьютерлерде процессорлар арасында өзара әрекеттесу үшін send
және receive примитивтерін жиі қолданады.Сондықтан мультикомпьютерлердің
программалық қамтамасыз етуі мультипроцессордің программалық қамтамасыз
етуіне қарағанда күрделі құрылымға ие. Сонымен қатар, негізгі проблема
мағлұматтарды дұрыс үлестіру мен оларды тиімді орналастыру мәселесі болып
қалады. Мультипроцессорда бөліктерді орналастыру мәселесі орындаудың
дұрыстығына ықпал етпейді, бірақ өнімділікке әсерін тигізуі мүмкін.
Мультикомпьютерлерді прогаммалау мультипроцессорды прогараммалауға
қарағанда едәуір күрделі екендігі байқалады.
Егер мультипроцессорларды программалау едәуір жеңіл болса,
мультикомпьютерлердің қажеті қаншалықты деген сұрақ тууы мүмкін. Бұл
сұрақтың жауабы: сонша процессоры бар мультипроцессорды жасағанша, үлкен
бір мультикомпьютерлерді жасау оңай және арзанға түседі. Бірнеше жүздеген
прцессорлармен бөлініп тұратын ортақ жадты құру – бұл өте күрделі мәселе,
ал 10000 немесе одан да көп процессорға ие мультикомпьютерді жасау оңай
және тиімді.Осылайша, біз дилеммаға соқтығысамыз: мультипроцессорды жасау
қиын, программалау оңай, ал мультикомпьютерлерді жасау оңай, бірақ
программалау қиын. Сондықтан құрастырылуы оңай және программалануы жеңіл
гибридті жүйелерді жасау қадамдары жасалына бастады. Бұл ортақ жадты
әртүрлі іске асыруға болатындығын және әрбір жағдайда қандай да бір
артықшылықтары мен кемшіліктері бар екенін көрсетті. Параллельді өңдеу
құрылымы саласындағы барлық зерттеулер екі құрылымның артықшылықтарын
үлестірген гибридті формаларды жасауға бағытталған. Бұл жерде жаңа
процессорларды қосуға мүмкіндік беретін, жаңа процессорлар қосылған кезде
жұмысын жалғастыра беретін, кеңейтілетін жүйе алу маңызды болды.
Қазіргі компьютерлік жүйе монолитті емес, бірқатар деңгейлерден тұратын
жүйе болуына негізделген. Бағыттардың бірі осыны сипаттайды. Бұл 1.2.3-
суретте көрсетілгендей бірнеше деңгейлерде ортақ жадты іске асыруға
мүмкіндік береді. 1.2.2-суреттен шынайы мультипроцессор түрінде іске
асырылған аппараттық қамтамасыз етуде жадты ортақ қолдануын көреміз. Бұл
өнімде бір кесте жинағы бар операциялық жүйенің бір көшірмесі бар, жеке
алғанда жадты үлестіру кестесімен. Егер процесске үлкен жад қажет болса,
онда ол операциялық жүйенің жұмысын үзеді. Ал операциялық жүйе кестеден бос
бетті іздеуді бастайды және осы бос бетті шақырылған программаның адрестік
кеңістігінде бейнелейді. Операциялық жүйеге келетін болсақ, бүтін бір жад
бар, және операциялық жүйе прогаммалық қамтамасыздандырудағы қай беттің
қандай процесске тиесілі екенін қадағалайды. Ортақ жадты іске асырудың
ақпараттық жабдықтауда көптеген амалдары бар.
Екінші тәсіл мультикомпьтерлердің аппаратық қамтамасыздандыруын және
операциялық жүйені қолдануға негізделген, ол беттерге бөлінген виртуалды
кеңістікті қамтамасыз етеді. Бұл бағыт кезінде DSM (Distributed Shared
Memory — үлестірілген ортақ қолданушы жад) деп аталатын, әбір бет жадтың
бір блогында орналасады (1.2.2,а- сурет). Әр машинаның өзінің меншікті
виртуалды жады және меншікті бет кестесі бар. Егер процессор өзінде жоқ
бетке LOAD немесе STORE командасын орындайтын болса, онда операциялық жүйе
үзіледі. Содан соң, операциялық жүйе қажет бетті тауып, процессордың оны
бастапқы формаға келтіріп, байланыс аралық торап арқылы жіберуін талап
етеді. Бет қажетті жеріне жеткізілген кезде, ол жадта бейнеленеді, және
үзілген команданың орындалуы жаңара түседі. Шын мәнінде, операциялық жүйе
жетіспей жатқан бетті дискіден емес, жадтан шақырады. Ал тұтынушыда машина
ортақ үлестірілген жадты қамтиды деген пікір қалыптасады.
Үшінші тәсіл программалық қамтамасыз ету деңгейінде бөлінген ортақ
жадты құрастыру. Мұндай тәсілде бөлінген жад абстракциясын программалау
тілі құрастырады, және бұл абстракция компилятормен іске асырылады. Мысалы,
Linda моделі кортеждердің бөлінген жад абстракциясына негізделген (өрістер
жиынтығындағы мәліметтер жазбасы). Кез келген машинаның процесстері ортақ
кеңістіктен кортежді ала алады немесе оны ортақ кеңістікке жібере алады.
Бұл кеңістікке қол жеткізу мүмкіндігі программалық қамтамасыз етумен (Linda
жүйесімен) толық бақыланатындықтан, арнайы аппараттық жабдықтар немесе
операциялық жүйе қажет емес [6].
Жадыны ортақ қолданудың басқа мысалы ретінде программалық жабдықта іске
асырылған Огса жүйесіндегі ортақ объектілер моделін көрсетуге болады. Огса
моделінде процесстер кортежді емес объектілерді бөледі, және қандай да бір
процедураларды орындай алады. Егер процедура объектінің ішкі жағдайын
өзгертетін болса, онда операциялық жүйе барлық машиналарда бұл объектінің
барлық көшірмелерінің өзгертілуін қадағалауы тиіс. Объектілер – бұл таза
программалық түсінік, оларды операциялық жүйенің және аппараттық қамтамасыз
етудің қатысуынсыз программалық қамтамасыз етудің көмегімен іске асыруға
болады.

1.2.3-сурет. Ортақ қолданылатын жадты іске асыруға болатын деңгейлер:
аппараттық қамтамасыз ету (а); операциялық жүйе (б); программалық
қамтамасыз ету (в)

Барлық мультикомпьютерлердің бір ұқсастықтары бар: программа send
примитивін орындап жатқан кезде мәліметтерді жіберу процессоры ескертуді
алады және мәліметтер блогын мақсатталған машинаға жібереді (мүмкін, алдын-
ала сұраныстан және рұқсат берілгеннен кейін). Мультикомпьютердің құрылымы
1.6 суретте көрсетілген.

1.2.4-сурет. Мультикомпьютер сызбасы

Мультикомпьютерлер көлемі және типтері бойынша әртүрлі. Дегенмен, ортақ
екі типті қарастыруға болады: МРР және COW.
МРР — жаппай параллельді процессор
МРР (Massively Parallel Processors — жаппай параллельді процессор) —
бұл бірнеше миллиондаған доллар тұратын үлкен суперкомпьютерлер. Олар
әртүрлі ғылым салаларында, өндірісте күрделі есептерді орындауға, бір
секундтағы транзакциялардың үлкен санын өңдеуге немесе үлкен деректер қорын
сақтауға және оны басқаруға арналған. Бұндай машиналардың көбінде
стандартты процессорлар қолданылады. Олар Intel Pentium, Sun UltraSPARC,
IBM RS6000 и DEC Alpha процессорлары болуы мүмкін.
Мультикомпьютерлардың өзгешелігі хабарламаны жіберу үшін аз уақыт күту
мен жоғары өтімділік мүмкіндігі бар желінің қолданылуында.
МРР ерекшелігі – енгізу-шығару процессінің өнімділігінде. Жиі үлкен
деректер жиынын өңдеуге тура келеді,кейде терабайтқа тең жиындарды да. Бұл
деректерді машинада дисктерге өте жоғары жылдамдықта орналастыру керек.
Үлкен МРРларда жүйені бақылауға, қандай да бір ауытқуларды табуға және
оларды орнына келтіруге арналған арнайы аппараттық және программалық
жабдықтары бар. МРР жоғары жылдамдықты желімен байланысқан стандартты
түйіндер жиынын бейнелейді.
COW — Clusters of Workstations (жұмыс станциясы кластерлері)
Мультикомпьютерлардың екінші типі — бұл COW (Cluster of Workstations
—жұмыс станциясы кластерлері) немесе NOW (Network of Workstations — жұмыс
станциялар желісі) жүйесі. Әдетте ол желілік тақшалармен байланысқан
бірнеше жүздеген дербес компьютерлерден немесе жұмыс станцияларынан тұрады.
МРР мен COW арасындағы айырмашылық үлкен есептегіш машина мен дрбес
компьютердің айырмашылығындай. Екуінде де ЖЕСҚ, диск, операциялық жүйе
және т.б. бар, бірақ үлкен есептегіш машинасында бұның бәрі едәуір жылдам
жұмыс істейді (операциялық жүйеден басқалары). COWдың МРРдан артықшылығы:
оның барлық компоненттері қолжетімді, оларды сатып алуға болады.
COWдың әртүрлі түрлері бар, олардың екеуі негізгісі болып табылады:
орталықтанған және орталықтанбаған.
Орталықтанған COW жүйесі бір бөлмеде үлкен блокқа біріктірілген жұмыс
станциясы кластерлерін немесе дербес компьютерлерді бейнелейді. Кейде олар
физикалық көлемін және кабель ұзындығын қысқарту үшін кішірейтіліп
жинақталады. Бұл машиналар гомогенді, сондықтан желілік карта,мүмкін,
дисктен басқа перифериялық құрылғылары болмайды.
Орталықтанбаған COW жүйесі ғимарат бойынша орналастырылған жұмыс
станциясы кластерлерінен немесе дербес компьютерлерден құралады. Әдетте
олар жергілікті желі арқылы байланысқан. Олар гетерогенді және перифериялық
құрылғылардың толық жиынына ие. Ең бастысы, көптеген компьютерлердің өз
иелері бар.

1.3 Кластер және оның ерекшелігі

1.3.1-сурет. Кластер жүйесі

Ең алғаш рет классификациялық есептеуіш жүйесінде "кластер" терминін
Digital Equipment Corporation (DEC) серіктестігі анықтады.
DEC анықтамасы бойынша кластер дегеніміз- бұл есептеуіш машиналар тобы,
бір бірімен сабақтас байланысқан және ақпаратты өңдеуде бір түйін сияқты
жұмыс істейді. Кластер біртұтас жүйе сияқты, яғни қолданушы немесе
қолданбалы есептер жиынтығы есептеуіш техникада бір компьютер сияқты жұмыс
істейді. Кластер жүйесін құруда осы маңызды болып табылады.
Digital серіктестігінің ең алғашқы кластері VAX машинасында құрылды.
Бұл машиналар қазір өңделмейді, бірақ бұрын соңды орналасқан ортада әлі
қызмет атқарады. Қазіргі таңда да олардың жобалауында салынған маңызды
жалпы қағидалар кластер жүйесін құруда негіз болып қалады.
Көрсетілетін кластер жүйелерінің ортақ талаптарына төмендегілер
жатады:
1.Жоғарғы дайындық
2.Жоғарғы жылдамдық
4.Масштабтау
5.Жалпы қорға рұқсат
6.Қызмет көрсету ыңғайлылығы
Кластер жүйесі кезінде маңыздысы жоғарғы жылдамдықта жұмыс
істеуі,қорды үнемдеуде жоғарғы дайындық аз көңіл бөледі.
Жалпы жағдайда кластер мультипроцессорлық жүйе сияқты жұмыс жасайды,
сондықтан мұндай жүйелер классификациясының программа аппараттық қордағы
бөлінуін түсіну маңызды.

2 КОПЬЮТЕРДЕ ЕСЕПТЕУІШ ПРОЦЕССОРЛАРДЫҢ БАСҚАРЫЛУЫ

2.1 Компьютер жады

Компьютердің барлық құралдарының жұмысы өзара келісілген болуы керек.
Бұл мақсат үшін басқару құралы (БҚ) қызмет етеді. Басқа құрлдардың
жұмысының келісімділігенен бөлек БҚ сонымен қатар командаларды және негізгі
жадыдан (НЖ) немесе кэштен мәліметтерді таңдауды жүзеге асырады және
олардың типін анықтайды. Сонымен қатар БҚ (басқару құралы) АЛҚ-да
операциялардың орындалуын бақылап отырады. Арифметикалық-логикалық құрылғы
(АЛҚ) арифметикалық, логикалық операциялардың және басқа операциялар
қатарының орындалуын жүзеге асырады. БҚ және АЛҚ орталық процессордың (ОПр)
маңызды компоненттері болып табылады. Сонымен қатар, ОПр аз жадыға қатысты
ағымдық нәтижелер мен мәліметерді, сонымен бірге кейбір басқарушы ақпаратты
сақтау үшін жоғары жылдамдықты жадыдан тұрады. Бұл жадыны регистрлер қатары
құрады, олардың көбінің өзіндік арнайы тағайындалулары және аттары бар,
бірақ көп функционалды да регистрлер бар.
Жад (memory) – компьютерде ақпаратты сақтау тәсілін анықтайтын
жалпы термин;компьютердің әр түрлі мәлімет сақтайтын бөлігі; мәліметтерді
қабылдау, сақтау жөне беруге арналған компьютер құрылғысы. Ол
компьютердің жедел (ішкі) немесе сыртқы (магниттік) жадынан тұрады;
акпаратты сақтауға және қолданбалы программаларды  жүктемелеуге арналған
аймақ. Компьютер жады ақпарат сақтайтын құрылғының бір немесе бірнеше түрі
арқылы жүзеге асырылады; ақпаратты тұрақты немесе уақытша сақтайтын орын.
ОПр барлық компоненттері бүтін арналар жиынтығынан тұратын сыммен
байланыстырылған, нәтижесінде мекен-жайлар, мәліметтер, командалар,
операциялардың орындалуының аралық нәтижелері және басқарушы сигналдар
жіберіледі.
Бұл сымдар ОПр микросұлбасының өзінде микросұлбаға кiрiстiрiлген
жіңішке мыс өткiзгiштер түрінде орналастырылуы да, және оны құрайтын
өткiзгiштерден құралған жеке жолақ болуы да мүмкін. Ішкі немесе
жергілікті сымдар ОПр-да ақпаратты процессор ішінде орналастыруды жүзеге
асырады, мысалы регистрден регистрге.
Басқа сыртқы сымдар арқылы ақпарат ОПр құрылғыларына қатысты
ауыстырылады, мысалға айтсақ, АҚ немесе БҚ регистрлеріне. Ортақ жүйелік
мәні бар сымдардың атттары болады, мысалы USB, РСI сымдар, басқа сымдардың
мұндай аттары болмайды. Сымдарды жиі мәліметті жіберу үшін қодануға жеке,
мекен-жайларды жіберуге жеке, басқару сигналдарын жіберуге жеке бөледі.
БҚ регистрлерінің арасында маңызды болып табылады: РС – командалар
есептеуiшi регистрі, ол келесіде орындау керек болатын командалар мекен-
жайынан тұрады, IR командалар регистрі ағымдағы орындалатын командадан
тұрады. ОПр-дағы екі арнайы регистр: мысалы, біріншісі МАR, екіншісі МDR
және компьютер жадысы арасындағы интерфейс ретінде әсер етеді. ОПр-да басқа
әр түрлі мақсаттарға қолданылатын көптеген регистрлер бар, мысалы,
операндтар регистрі, нәтижелер (операциялар) регистрі. Барлық көптеген
регистрлердің ішінен ортақ тағайындау регистрлері, және машинаға немесе
программалаушыға есептеу үрдісіне араласуға және тиімді етуге көмектесетін
қолданушылық деңгей регистрі ретінде танымал регистр ерекшеленеді, мысалы,
жады.
БҚ сонымен қатар тасымалдау, толтыру, желiдегi кернеуiн тербелiс,
компьютер және бағдарлама құралдарының жұмысының тоқтауы сияқты арнайы
оқиғаларды бақылау үшін бір биттік тулы регистрлердің кейбір санынан
тұрады. Тулы регистрлер және командалар есептеуішінің жиыны PSW программасы
жағдайының сөздерi регистрінің мазмұнын анықтайды. Қолданушылық деңгей
регистрлері арасында стектің ағымдағы шыңы туралы ақпараттан тұратын стек
нұсқағышы-регистрін белгілеуге болады.
Өнімділікті көтеру мақсатында программаның орындалуын жеделдету үшін
компьютер құрастырушылары әр түрлі тәсідлдерді қолданады, онң біреуі -
командалардың орындалуын қиғаштау, яғни бiр уақытта екіден артық
программа командаларының бір уақытта орындалу процесі. Мұны бір процессорда
да, немесе бірнеше процессорларда да жасауға болатыны айқын. Сондықтан жиі
қиғаштау туралы сөз қозғағанда, бір немесе бірнеше процессорлар туралы сөз
қозғалғандығын анықтайды.

2.2 Компьютер жадын басқару

Жадыны басқаруда жауап беретін операциялық жүйенің бір бөлігі жадыны
басқару модулі немесе жады менеджері деп аталады. Менеджер нақты уақытта
жадының қай бөлігі жұмыс жасап жатқанын бақылайды және аяқталуымен қорды
босатады, ОЗУ және дискі арасындағы дерек алмасуын басқарады.
Жадыны басқару жүйесі екі класқа бөлінеді. Бірінші класқа оперативті
жады мен дискі арасындағы процесстердің алмасу жүйелері жатады, яғни
процессті түгелімен үстемелейтін ( swapping ) немесе бет бойынша ( paging
). Кәдімгі және бет бойынша үлестіру варианты жасанды процесс болып
табылады, барлық программаны бір уақытта сақтауда жеткілікті оперативті
жадының болиауынан шақырылады. Екіншіге бұны жасамайтындар жатады. Екінші
класты жүйе қарапайым. Себебі, ПО жадыға қарағанда жылдам дамуда. Жадыны
тиімді басқаруда қажеттілік әрдайым болады.
Конвейерлер. Егер машинаның қарапайым циклiне зейін салып талдасақ,
онда қандай да командалар санының бiр уақытта өңдеулін iске қосу мүмкiндiгi
бар екенін байқауға болады, бірақ ағымдық уақыт сәтінде олардың
орындалуының әр түрлі деңгейлерінде табылатын болады. Еске түсірейік, өте
ұзақ (ұзақ уақытты талап ететін) процестер жадыдан командаларды да, олардың
операндыларын да шақыру, және командалар жазбасын жәненемесе ОПр
регистрлерінен операндыларды жадыға кері қайтару болып табылады. Бұл
ерекшелікті пайдалану үшін орындау үшін командаларды шақырудың алдын алу
механизмі жасалды. Командалардың орындалуының конвейерлі қағидасының жүзеге
асырылуы жеке команданың орындалуы уақыт бойынша өзара байланысқан бiрнеше
процестерге бөлiнуiн ұйғарады, бiрақ орындау кезеңдердi бойынша тәуелсiз.
Жеке кезеңнің орындалуына ОПр-ң бiр бөлiгi болып табылатын аппараттық
жабдықтаудың белгiлi бөлiгi жауап бередi.

2.2.1.- cурет. Бес кезеңді конвейер бейнеленген.

Осындай жолмен, есептеу процесінің (программаның орындалу процесі) жеке
алған сәтінде орындалудың әр түрлі кезеңдерінде командалар санының нақты
есептеуiш жүйесiнiң нақтылы конструктивтiк ерекшелiктерi болады.
Конвейер С1 кезеңінен командалардың орындауы бойынша өз жұмысын
бастайды, бұл жадыдан ағымдағы команданы шақырады және оны буферге
орналастырады. Ол буферде осы команда орындалуға қажет болған сәтке дейін
сақталады. С2 кезеңінде бұл команда декодталады, бұл командалармен нақтылы
іс-әрекеттер орындалатын оның типі және операндылары анықталады. С3
кезеңінде операндылардың тұрған орны анықталады және регистрлерден немесе
жадыдан олардың шақырулары жүзеге асырылады. С4 кезеңінде сигналдар бойынша
БҚ -нан команданың жеке орындалуы болады. С5 кезеңінде операция нәтижесі
керек регистрге немесе жады ұяшығына жазылады.
Нағыз жүйелерде конвейердегі кезеңдер саны бестен көп болуы мүмкін және
сол сәттегі технологияның даму деңгейіне тәуелді болады. Конвейер идеясының
дамунұсқалардың бірі конвейер санының екіге дейін өсуі болып табылады.
Мсыалы, басты конвейер (U-конвейер) кездейсоқ командаларды орындауы мүмкін.
Екінші конвейер (V-конвейер) негiзiнен бүтiн санды аргументтер үшiн
арналған.
Жалпы жағдайда екі конвейер үшін командаларды шақырудың ортақ блогы
жадыдан бірден екі командадан шақырады да олардың әрқайсысын
конвейерлердің біреуіне орналастырады. Әрбір конвейер қатар операцияларрды
орындау үшін әрине, өзінің жеке АЛБ -нан тұрады. Мұндай орындалу болу үшін,
негізінде, мүмкін, бұл екі команда қорларды пайдаланғаны үшін шешiлмейтiн
келіспеушілікті тудырмауы керек, мысалы, регистрлер үшін, және олардың
ешқайсысы басқа команданың орындалу нәтижесіне тәуелді болмауы керек.
Бұл мәселе не статикада шешілуі керек, яғни программаның орындалғанына
дейін, сонымен қатар даулардың шешiлуне копмилятор жауап береді, немесе
динамикада шешілуі керек, яғни бұл жағдайда даулар аппараттық жабдықтаудың
немесе иілгіш интерпретация арқасында команданың орындалуына қатыссыз
ашылады және шешіледі.
Конвейер идеясын дамытатын басқа жол - бұл кезеңдерді қиғаштау; мысалы,
біздің жағдайда С4 кезеңінде функционалды блоктар санын көбейту арқылы
қиғаштау және бұл кезеңде АЛБ-ң да санын көбейтеміз. Бұл тәсілдің мәні
суперскалярлы процессор негізінде жатыр.
Конвейерлiк есептеулердi iске асыруда оның тиімділігіне қатты әсер
ететін маңызды мәселе командалардың өтуі жағдайында өткелдердi болжау және
тармақтау болып табылады. Тармақтауды дұрыс болжамау конвейерлік
есептеулердің тиімділігін кәдімгідей төмендетеді және мұнда программаның
бөлiмшелерiн есепке алатын, осы тармақтардан тұратын тармақталу
командаларының ерекшеліктеріне негізделген әр түрлі әдістер жасалған.
Программаның жұмысын жеделдететін тағы бір тәсіл процессорлар
деңгейінде олардың қиғашталуы болып табылады. Еске түсірейік, есептердің
үлкен саны бар болады, олардың шешімі үшін сандық әдістер қолданылады. Бұл
есептердің ерекшеліктерін есепке алсақ, мұндай әдістер жиі алгебралық
теңдеулерді шешу есептерiне алып келеді, мысалы, сызықты алгебралық
теңдеулер жүйесіне. Осыған байланысты бір-бірінен аз ғана тәуелсіз бір
типті есептеулер жиыны пайда болады және жеке процессорларда қатар
орындалуы мүмкін, осы арқылы есептің шешімін есептеудің ортақ уақытын
төмендетеді. Бұл негізде векторлы компьютерлер және мультипроцессорлар және
мулътикомпьютерлер құрылды, олар бір-бірінен конструктивті ерекшеліктері
және есепті шешу жолы арқылы ажыратылады. Еске түсірейік, мультипроцессор –
бұл ортақ жадыны бөлетін параллелді процессорлар жүйесі. Осылай әрбір
процессор жадының кез-келген бөлігінен ақпаратты жазуы және есептеуі
мүмкін, бұл процессорлардың жұмысы келіспеушілікті шешумен айналысатын
программалық жабдықтаумен келісілген болуы керек. Бұл үлгінің әрбір
процессорында басқа процесорларға қол жетімсіз жергілікті жадысы болуы
мүмкін.
Мультикомпьютерлер – бұл өзара байланыста болса да, қатар жұмыс
жасайтын процессорлардың үлкен сандар жүйесі аз ғана тәуелді, олардың
әрқайсысы өз жады бар жеке машина болып табылады, процессорларда ортақ жады
құратын мультикомпьютер жоқ.
Векторлы процессордың ыңғайлылығы векторлық формада есептеу бөліктерін
қатар орындау үшін оны әдеттегі процессорға қосымша процессор ретінде
қосуға болады.
Мультипроцессорларды программалау жеңіл, ал мультикомпьютерлерді
құрастыру жеңiлдеу болғандықтан екі машинаның да құндылықтарын үйлестірген
гибритті жүйелер пайда болды.
Алайда, қарапайым бір процессорлы жүйеге оралайық. Еске түсірейік, жүйе
және қолданушы орналастыратын командалар жиынтығы - бұл командалар жиыны.
Командалардың үлкен жиыны - жақсы болуы міндетті емес. Екі тұжырым пайда
болды - RISC архитектурасының тұжырымдамасы (компьютердің қысқартылған
командалар жиыны), онда 50-100 команда, және CISC тұжырымдамасы
(компьютердің толық командалар жиыны) - 200-300 команда. RISC
архитектурасының командалары, ереже бойынша, түсiндiрiлмейдi, нәтижесінде
жылдам орындалады, сонымен қатар, RISC архитектурасындағы әрбір команда
әмбебап. CISC архитектурасының идеяларын DEC, IВМ, INTEL фирмаларының
өңдеушiлерi дамытты. INTEL процессорлары CISC архитектурасына негізделген,
алайда өте қарапайым операцияларды оныдау үшін RISC ядросын енгізген, ал
әдеттегі технология бойынша CISC күрделірек командалармен түсіндіріледі.
Нәтижесінде өте қарапайым, бірақ жиі қолданылатын командалар тез
орындалады, ал стрек қолданылатын күрделілері - ақырын орындалады.
Орындалатын командалардың негізгі типтерін келтіреміз:
- ерекше құқықты командалар (операциялық жүйенің деңгейі);
- мәліметтерд жіберу командалары;
- арифметикалық командалар;
- логикалық командалар;
- бір операндыны басқару командалары;
- биттерді басқару командалары;
- жылжыту және қайтару командалары;
- программаның орындалуын бақылайтын командалар;
- стекті бақылайтын командалар;
- көптеген мәліметтер ағынын басқаратын командалар (SIMD, MIMD-
архитектуралары, SIMD – бір команда ағыны - көптеген мәліметтер ағыны; MIMD
– көптеген командалар ағыны - көптеген мәліметтер ағыны).
Командалардың басқа да типтері болады, мысалы, ММХ командалары. Сонымен
бірге айта кететін жайт, компьютерде ОПр -дан бөлек басқа да процессорлар
бар болады, мысалы, мұнда қарастырылмаған енгізу-шығару процессоры,
графикалық процессор. Лекцияның қорытындысында қарастырамыз - машинаның
қарапайым циклі (такт), команданың РС-есептеуіш регистрінің ақпараты
бойынша БҚ жадыдан (ЖЖ, КЕШ) IR регистріне, яғни команда регистріне кезекті
команданың таңдамасын қамтамасыз етеді;
- БҚ команданы талдайды және операция типін анықтайды;
- БҚ берілген команданың орындалуына қандай да бір мәліметтер керек па
екенін тексереді, егер керек болса - оның жадыдағы орны анықталады*
- егер бұл қажет болса, iшкi АЛБ регистрлері тиiстi мәлiметтердi
жадыдан операндтар регистріне жүктеу, бұл этапта MAR, MDR регистрлері
қолданылады адрестік сым және мәліметтер сымы.
- АЛБ-да сигналдар бойынша БҚ-нан операция нәтижесi жасалып
шығарылады және нетиже регистріне орналастырылады (нәтиже, ереже бойынша,
жадыға жазылады, бірақ БҚ-на немесе АЛБ жіберілуі мүмкін);
- командалар есептеуiшiнiң өзгерiсi ол деректен кейінгі команданы
нұсқамау үшін;
- цикл басына өту.
Қорыта келе, бірпроцессорлы жүйенің негізгі параметрлері
төмендегілер болатындығын атап өтейік: процессордың жұмыс тактілік жиілігі,
оның разрядтылығы, жұмыс кернеуі, тактілік жиіліктің ішкі көбею
коэффициенті және кэш жадының көлемі.

2.3 Беттік жүйелер. Сегменттік-беттік жүйелер

Қазіргі ЖЖ (жедел жады, негізгі жады) көбінде виртуалды жады беттік
адрестеу көмегімен ұйымдастырылады. Беттік ұйымдастыру кезінде ЭЕМ
физикалық, сонымен бірге виртуалды жадысы да бірдей көлемдегі беттерге
бөлінеді. Олардың көлемдері 512, 2048, 4096 байт болады. Беттің көлемінің
4Кб болуы стандартқа сәйкес болып табылады, бірақ беттің көлемі 2Гб дейін
анықталатын кездер болады.

2.3.1-сурет. Виртуалды жады мен негізгі жады арасындағы байланыс

Бағдарламаны виртуалды жадының беттеріне орналастыру кезінде
бағдарламаның әрбір элементі өзінің виртуалды адресін алады. Ал виртуалды
адрес пен физикалық адрес арасындағы сәйкестік операциялық жүйе көмегімен
автоматты тәртіпте іске асырылады. Операциялық жүйе әрбір бағдарламаға,
оның өз көлемінен әлдеқайда аз бөлікті негізгі жадыдан бөліп береді.
Негізгі жады мен қосымша жады арасындағы айырбас толық бет арқылы
орындалады. Айырбас кезінде орталық процессор (ОПр) басқа бағдарламаның
бұйрығын орындауға ауысады.
Егер бағдарламаны орындау барысында негізгі жадыда жоқ бетке сілтеме
жасалған болса, онда беттік үзілу болады. Бағдарламаның орындалуы қажетті
бетті негізгі жадыға жүктеуге кететін уақыт аралығына үзіледі. Сонымен
қатар бағдарламаның бір беті немесе оның бөлігі негізгі жадыдан “жойылады”,
демек олар орын алып тұрған жады бос болып есептелінеді. Егер жойылуға
жіберілетін беттің құрамы негізгі ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Физикалық есептер-оқушы мен студенттің физикалық білімі құрылымының маңызы
Арифметикалық амалдар мен олардың қасиеттері
ҚОСУ МЕН АЗАЙТУДЫ ОҚЫТУ ƏДІСТЕМЕСІ
Арифметикалық амалдар
«Математика» оқу пәнінің базалық мазмұны
Математика оқу бағдарламасы 1 - 4 сыныптар
Арифметикалық амалдарды жазбаша есептеу тәсілдері
МАТЕМАТИКАНЫ БАСТАУЫШ МЕКТЕПТЕ ОҚЫТУ ТЕХНОЛОГИЯСЫ
Баланың жиын, сан және санау туралы алғашқы математикалық білімдерін дамыту жолдары
ТАРАУ МАТЕМАТИКАНЫ БАСТАУЫШ МЕКТЕПТЕ ОҚЫТУ ТЕХНОЛОГИЯСЫ
Пәндер