Жедел жадты йымдастырылуы
Процессор адрес шинасы арылы катынайтын компьютерді натылы (іс жзіндегі) жады жедел жад (немесе жедел сатау рылысы- ЖС) деп аталады. Жедел жад микросхема трінде жасалан жне программалар мен мліметтерді уаытша сатауа арналан. Компьютерді жедел жады байт деп аталатын, 8 разрядтан тратын яшытара блінеді. Байтты разрядтары онан сола арай 0-ден 7-ге дейін нмірленеді. р разряда 0 немесе 1 шамалары жазылады, оларды бит деп атау келісілген.
байт | ||||||||
Байттар 0-ден бастап нмірленеді, байтты реттік нмірі оны адресі (жадтаы орны) деп аталады. Адрестерді мндер аралыы процессорды адрестік шинаны разрядтылыына байланысты. Ол аралы: І8086 шін 0 ден 220-1 дейін (1 Mбайт); I486 жне Pentium шін 0 ден 232-1 дейін (4 Гбайт); Pentium/II/III/IV процессорлары шін 0 ден 236-1 дейін (64 байт).
Жадты е кіші адрестелетін блігі - байт. Біра компьютерде оданда баса ірірек адрестелетін яшытар олданылады: сз, екіеселі сз, тртеселі сз.
Сз (word) - атар жатан екі байт. Сзді зындыы 16 разряд(0-15). Сзді адресі бірінші байтты адресі болып саналады.
А | А+1 | |
А сзі | ||
15 8 | 7 0 |
Екіеселі сз (double word) - атар жатан трт байт. Екі еселі сзді зындыы 32 разряд(0-31). Екі еселі сзді адресі оны байтарыны бірінші байтыны адресімен аныталады.
А | А+1 | А+2 | А+3 | |
А екіеселі сзі | ||||
31 24 | 23 16 | 15 8 | 7 0 |
Тртеселі сз (quadruple word) - атар жатан сегіз байт. Тртеселі сзді зындыы 64 разряд (0-63). Тртеселі сзді адресі оны байтарыны бірінші байтыны адресімен аныталады.
А+6 | А+7 | |
А тртеселі сзі | ||
15-8 | 7-0 |
Жадты басару механизімі толыымен аппаратты дегейде. Бл дегеніміз адрестік шинадаы жад адресін программада алыптастыруа болмайды, процессорды рылымды ерекшеліктерін ескеру керек. Мндай маханизм:
· машиналы командада адресті ышамды сатауды;
· адрестеу маханизміні ыайлылыын;
· кпесептік жйеде адрестік айматы орауды;
· виртуальды жадты олдауды
амтамасыз етеді.
Микропроцессорда аппаратты дегейде жедел жадты олдануды сегметтік жне стандартты модельдерін жзеге асырылады.
Сегметтік модельде программада зіліссіз жад айматарына (сегметтерге) блінеді, ал программаны зі осы сегметтердегі мліметтерге ана атынайды.
Стандартты модельде жедел жад траты лшемді (4Кбайт жне одан жоары) бліктер жиынтыы трінде арастырылады. Оны негізгі олданысы виртуальды жадты йымдастырылуымен байланысты, бл операцияты жйені программаны жмысына натылы жадтан арты орын беруге ммкіндік береді. Intel486 жне Pentium микропроцессорлары шін виртуальды жадты ммкін аумаы 4 Тбайта жете алады.
Мліметтерді кескіндеуді негізгі форматтары
ДКкптегенбелгілі бір форматаы р трлі мліметтермен амалдар жасайды. Ол форматтар мліметті саталатын яшыыны лшемі жне оны сынылу тсілімен аныталады. олданылатын мліметтерді форматтары ДК-ны моделі мен оларды деуге арналан командалар жиынтыына байланысты. Алашыда базалы (Intel 8088/8086 процессорыны) мліметтер мен командалар жиынтыын арастырамыз. Бл базалы жиынты 16 разрядты программалауды амтамасыз ететін Win16 платформасын райды. Мліметтерді йымдастыруды базалы принциптерін ынып алып, ДК-ны i386, i486, i586 жне олармен бірегей модельдеріні Win32-дегі жмысын амтамасыз ететін мліметтер мен командалар жиынтыынны келешектегі кеейтілулерін мегеру жеілге тседі.
Символдар
Символдар, баса да мліметтер трізді, компьютер жадында биттар тізбегі трінде саталады. р символа, сол символды коды деп аталатын екілік о бтін сан сйкес келеді. Символдар мен оларлы кодтарыны арасындаы сйкестік кодтау жйесі деп аталады. Компьютерде, детте, ASCII (American Standart Code for Information Interchange-)кодтау жйесі олданылады. Бл негізі 7 биттік екілік код. Онда алфавиттік, симолды жне арнайы белгілер бейнеленеді. Символдар басарушы (0..31, 127 кодтары ) жне дисплей экранында немесе баспаа шыарыланда ааз бетінде крінетін(32.. 126 кодтары) болып екіге блінеді. Кесте 1.1, Кесте 1.2
Символдарды кескіндеу шін бір байт жеткілікті. Бір байтта сегіз бит бар, сондытан барлыы 256 символды кодтауа болады. Кодты кестені жартысынан астамы іске асырылмай алады. Сондытан 128... 255 кодтары арнайы лтты символдар шін блінеді. Мысалы, DOS операциялы жйесінде кирилица шін кп уаыт бойы ш ртрлі кодты кестелер олданылан. Кейін альтернативті бірыай стандартты кодтау абылданды. Кесте 1.3
Кейін Windows шеберінде жаа символарды кодтау кестесі - стандарты Windows ANSI абылданды. Бл кодтау кестесі де бір байтты кесте. Алашы 0..127 символдары ASCII кодтарына, ал аландары лтты алфавитке блінген. Кесте 1.4
Бтін сандар
Жалпы жадайда бтін сандар шін, оларды лшемдеріне байланысты, бірнеше кез келген атар жатан байттар тізбегін блуге болады. Негізінде дербес компьютерде кбінде байт, сз жне еселі сз тріндегі мліметтермен жмыс жасалады: байт типті мліметке 1 байт; сз типті мліметке 2 байт; еселі сз типті мліметке 4 байт орын беріледі.
Компьютерде табасыз жне табалы сандарды арасы ажыратылады. Себебі бір лшемді яшытарда табасыз сандарды згеру аралыы табалы сандарды згеру аралыынан лкен болады.
Табасыз бтін сандар. Табасыз бтін сандар - о сандар немесе нл. Олар компьютерді жадыны 8, 16 немесе 32 битын алады, 0 – ші бит тменгі бит, ал 7, 15 немесе 31 – ші бит сйкесінше жоары бит болып есептеледі. Табасыз сандар шін табаа байт блінбейді, яни барлы разрядтар санны цифрларын жазуа олданылады. Мысалы, сз лшемді табасыз санны кескінделу форматы:
Санны апаратты аймаы {0.1} | ||||||||||||||||||
… | ||||||||||||||||||
жоары | биттар | тменгі |
15-мысал. Айталы 80000 онды саны берілсін. Бл сана анша бит керек жне оны машиналы крінісі андай болады?
Алдымен бл санды екілік санау жйесіне аудару керек.
80000d ® 1 0011 1000 1000 0000b ® 13880h
Алынан нтижеден кретініміз бл санды сатау шін 17 екілік разряд керек. С++ алгоритімдік тілі терминінде бл unsigned int форматы, ал Pascal тілінде word фоматы тип болады.
Осы санды 32 разряда да орналастыруа болады:
80000d ® 0000 0000 0000 0001 0011 1000 1000 0000b ® 9C40h
Алашы нлдерге назар аударыыз!
Табалы бтін сандар. Табалы бтін сандар о да, теріс те бола алады. Нлді оса аланда. Жне олар ммкін мндер диапазоны бойынша табасыз мліметтерден екі есе кіші (о мндер шін):
Биттарды барлыы табасыз сандардаыдай цифрлара берілмейді. Жоары бит рашан таба шін блінеді. Бл S (Signum) биты деп аталады:
S=0 о сандар шін; S=1 теріс сандар шін.
S | Санны цифрлар аймаы {0.1} | |||||||||||||||||
… | ||||||||||||||||||
Таба | биттер |
Сондытан санны цифрлары шін бір бит кем орын блінеді. Егер екілік санды бір екілік разряда оа жылжытатын болса алашы сан екі есе кемиді, сол себепті ммкін мндер диапазоны згереді.
Табалы бтін сандар осымша кодта кескінделеді: о сандар танбасыз сандар трізді, ал теріс Х саны 2k - |x| танбасыз санымен бейнеленеді,
мндаы k- сана берілетін яшытаы разрядтар саны. Мысалы, X=+87, k=8 болсын, онда формула бойынша:
+87d = 57h = 01010111b,
ал Х=-87 болса,
-87d=(28-87)=256-87=169d=A9h=10101001b
Егер k=16 болса,
-87d=(216-87)=65536-87=65449d=FFA9h=1111111110101001b
Командалар жйесі.
Командалар жйесі компьютерді архитектурасыны маызды блігі болып табылады. Оны кмегімен тікелей процессорды жмысы басарылады. Процессорды р жаа моделі пайда болуымен, жаа модельді архитектурасыны жаалытарын жзеге асыратындай, командалар саны артып отырады.
Машиналы командалар жйесімен танысу барысында екі мселені ескеру керек - процессор дегейінде оны машиналы командаларды жиынтыын жне осы командаларды кескінделу ережелерін, яни машиналы командаларды форматын. Компьютерді процессорына тек бір тіл ана тсінікті - машиналы командалар тілі. Машиналы командалар белгілі бір ережелерге сйене отырып растырылан нлдер мен бірлерді тізбегі. Процессора андайда бір амалды орындату шін оан машиналы командалар трінде ажетті нсау беріледі. Осындай машиналы командалар тізбегі машиналы программа райды. Алашы компьютерлерде программалау міне осы жолмен жрген. Екілік кодта программалауды иыншылыы айтпасада тсінікті. Программа жазу процесін жеілдету шін маниналы тілді баламасы ретінде ассамблер тілі ойластырылан, ал компьютерді архитектурасына микропрограммалы басару блогы енгізілген. р машиналы команда шін микропрограммалы басару блогы да жеке микропрограмма болады. Олар арылы командамен берілген рекеттер процессорды ажетті блогына жіберілетін сигналдара аударылады. Адам программаны зіне тсінікті символды тілде жазады, арнайы программа – оны машина тіліне аударады (трансляциялайды), ал микропрограммалы басару блогы машиналы команданы процессор шін ажетті трге келтіреді, процессор оны орындайды.
Сонымен, машиналы командалар мен ассемблер командаларыны арасында бірден-бір зара сйкестілік болады. Ассемблер командаларынан машиналы командаларды рылу ережелерін білу тек ассемблер тілін оуды ажетті шарттарыны бірі емес, сонымен атар компьютерді жалпы жмыс жасау логикасын тсінуге ммкіндік береді.