Машинада деректер бойынша операцияларды орындау



1. Кіріспе ... ... ... ... ... ..3
2. ЭЕМ архитектурасы ... ... ... ... ... ... ... ... ..4
3. Машиналық кодтар және бағдарламалау тілдері ... ... ... ... ... ... ... ... ...6
4. Машина тілі. Машина тілінің командалар жүйесі ... ... ... ... ... ... ... ... 10
5. Машина кодтарымен жұмыс істеуіне мысал ... ... ... ... ... ... ... ... ... ... 14
6. Бағдарлама мен деректер ... ... ... ... ... .22
7. Қорытынды ... ... ... ... ... ... ... ... ... ... ... ..23
8. Қолданылған әдебиет ... ... ... ... ... ... 24
Біз деректрді сақтау және жадыны ұйымдастыру әдістерімен таныстық. Деректерді сақтау қабілетімен қатар, компьютер оларды берілген алгоритм бойынша өңдеуге қабілеті болуы керек.
Бұл дегеніміз, машинада деректер бойынша операцияларды орындау құрылғысы және сол операциялардың ретін бақылайтын құрылғы болуы керек. Қысқаша айтқада деректерді айла пайдалануы.
Мұндай есептер – біз білетін орталық процессормен орындалады.
Деректерге байланысты әртүрлі (қосу, алу, т.б.) опрацияларды орындайтын, компьютер жадысының ұяшықтарына тікелей байланыспаған компьютер схемасы.
Бұның орнына ол орталық процессорда орналастырылған (CPU — Central Processing Unit), немесе ОП (көбінесе - процессор).
Ол, өз кезегінде:
• Арифметика - логикалық құрылғыдан (arithmetic/logic unit), өзінде деректі басқаратын схеманы сақтайды.
• Басқару құрылғысы (control unit), машина қызметін үйлестіретін схеманы сақтайды.
1. https://metanit.com
2. https://professorweb.ru
3. https://msdn.microsoft.com
4. https://dnf.su

Мазмұны
1. Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
2. ЭЕМ архитектурасы ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 4
3. Машиналық кодтар және бағдарламалау тілдері ... ... ... ... ... ... ... ... ...6
4. Машина тілі. Машина тілінің командалар жүйесі ... ... ... ... ... ... ... . ...10
5. Машина кодтарымен жұмыс істеуіне мысал ... ... ... ... ... ... ... .. ... ... ..14
6. Бағдарлама мен деректер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .22
7. Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23
8. Қолданылған әдебиет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..24

Кіріспе
Біз деректрді сақтау және жадыны ұйымдастыру әдістерімен таныстық. Деректерді сақтау қабілетімен қатар, компьютер оларды берілген алгоритм бойынша өңдеуге қабілеті болуы керек.
Бұл дегеніміз, машинада деректер бойынша операцияларды орындау құрылғысы және сол операциялардың ретін бақылайтын құрылғы болуы керек. Қысқаша айтқада деректерді айла пайдалануы.
Мұндай есептер - біз білетін орталық процессормен орындалады.

ЭЕМ архитектурасы
Деректерге байланысты әртүрлі (қосу, алу, т.б.) опрацияларды орындайтын, компьютер жадысының ұяшықтарына тікелей байланыспаған компьютер схемасы.
Бұның орнына ол орталық процессорда орналастырылған (CPU -- Central Processing Unit), немесе ОП (көбінесе - процессор).
Ол, өз кезегінде:
* Арифметика - логикалық құрылғыдан (arithmeticlogic unit), өзінде деректі басқаратын схеманы сақтайды.
* Басқару құрылғысы (control unit), машина қызметін үйлестіретін схеманы сақтайды.
Жады
Ақпаратты процессорда уақытша сақтау үшін ұяшықтар немесе жедел жад ұяшықтарына ұқсас регистрлер (registers) қолданылады.
Олар бөлінеді:
* Жалпы мақсаттағы регистрлер (general-purpose registers)
* Арнайы регистрлер (special-purpose registers).
Жад құрылымдарын пайдаланудын айырмашылықтарын еске алайық:
* Жедел жады - жақын арада қажет болатын акпаратты сақтайды.
* Сақтау құрылғылары - жақын арада қажет болмайтын деректерді сақтайтын жады.
Жалпы мақсаттағы регистрлер
Жалпы мақсаттағы регистрлер - орталық процессормен өңделген деректерді уақытша сақтау үшін пайдаланылады. Олар арифметика - логикалық құрылғының кіріс деректерің сақтайды және осы құрылғы шығаратын нәтижелерді сақтауға арналған жад аймағын қамтамасыз етеді.
Басқару құрылғысы - деректерді жедел жадыдан жалпы мақсаттағы регистрге тасымалдап, деректер қай регистрде сақталатының арифметика - логикалық құрылғыға хабарлайды. АЛҚ- да керек схеманы іске қосып, мәнді қай регистрде сақтайтының хабарлайды.
Шина арқылы процессор жедел жадыда сақталатын деректі алуға немесе оқуға мүмкіндік болады. Деректі оқуымен қатар, бріден сол сигналмен жады ұяшығының адресін жібереді. Сол сияқты, орталық процессор деректі жадыға енгізу және оқу мүмкіндіктері болады. Енгізу сигналымен қатар жадыға деректі қай ұяшықта сақтайтын, ұяшық адресін жібереді.

Сур. 1. Шинамен қосылған орталық процесор және жедел жады.
Екі сан қосылудын орындалуы
Компьютердің осындай құрылымына сәйкес, жедел жадыда сақталған екі санның қосу операциясы, қарапайым қосу операциясынан мүлдем басқа.
Бұл процесс басқару құрылғы мен арифметика - логкалық құрылғылардын жұмысын қамтиды. Басқару құрылғысы орталық процессорда орналасқан регистр мен жедел жады арасындағы ақпараттын тасымалдануын бағытандырады, ал АЛҚ қосу операциясын, басқару құрылғының командасы бойынша орындайды.
Жедел жадыда сақталатын екі санның қосу процессін, суретте көрсетілгендей, бес қадамға бөлуге болады. Бір сөзбен айтқанда, деректі жадыдан процессорға жіберіп, процессорда екі айнымалынын мәнің тауып, жады ұяшығында мәнді сақтау керек.

Нейманға дейін және кейін
Ертеде компьютерлер икемді болған жоқ. Олардын орындалған командалары алдын ала орталық процессорлға жазылған және машинаның бөлігі болған.
Бұндай механизм әрқашан бір әнді ойнайтын шкатулкаға ұқсайды. Бірақ икемділік үшін, бізге ән ауыстыратын тасымалдаушы құрылғы қажет. Ерте компьюторлардың икемділігін үлкейту үшін, оларды құрылғысы, орталық процессор алынатындай етіп құрастырылған. Машинаның икемділігі коммутативті панель арқылы жетілдірілген. Бұндай коммутаторлар ескі телефондарда қолданған.
Бағдарлама мен деректер бөлек тұлға ретінде қабылданды: деректер жадыда сақталған және бағдарлама орталық процессор бөлігі болды.
Бұл саладағы жаңалық (Джон фон Неманға арналған) мынандай оймен келді. Бағдарламаны дерек тәрізді кодтап жадыда сақтауға болады. Ол үшін, бағдарламаны жадыдан алып, нұсқауларды декодтап орындау тиіс, онда компьютердің іс-шара тізбегін орталық процессорды ауыстырмай-ақ тек жадыда жазылған мазмұнын ғана өзгерту керек еді. Мұндай әдіспен бағдарламаны жедел жадыда сақтайды.
Қазіргі уақытта бағдарламаны жадыда сақтау (stored-program concept) әдісі ең қарапайым болып көрінеді.

Машиналық кодтар және бағдарламалау тілдері.
Машиналық кодтар және олардың үйлесімділігі
Машиналық код, машина тілі (ағлш. machine code, machine language) - кодтар (командалар) жүйесі, процессорға тікелей түсінікті, яғни, аударманы талап етпейтін, бірден қосылатын, екілік код.
Әрбір процессор моделінің өз машина тілі болады. Көп жағдайда бұл командалар жиыны бір - бірімен қатты ұқсас.
Үйлесімділік үйлесімді емес
А және В процессоры үйлесімді дейді. Егер А процессоры толықтай В процессорының машина кодын түсінсе. Ал А процессоры В процессоры түсінбейтін команда білсе, онда В процессоры А процессорға үйлесімді емес.
Машина нұсқаулары және олардың орындалуы
Машина тілінің сөздер машиналық нұсқаулар болып табылады (machine instruction) (яғни машина тілінде жазылған нұсқаулар). Әр бір нұсқау процессор орындайтын команданы сипаттайды. Мысалы: жадыдан регистрге байт жібіру.
Бұл жағдайда бағдарлама - ол қарапайым процесор орындайтын ұзын нұсқаулар тізімі. Бұрын процессорлар нұсқауларды бірінен сон бірін орындаған, ал қазіргі суперскалярлы процессорлар бір уақытта бірнеше нұсқауларды орындай алады.
Команда ағындарының тікелей орындалуы, көшу (jump) нұсқауымен өзгертілуі мүмкін. Ол команданы орындалуын басқа нұсқауға (берілген адрес бойынша) көшіреді. Көшу нұсқауы шартты болуы мүмкін. Од дегеніміз көшірілу қандай да бір шарт орындалғанда ғана көшіреді.
Сондай-ақ, нұсқаулыар тұрақты ұзындықты (RISC-архитектураларда) және тұрақты ауқымы бар (CISC-архитектуралары; мысалы, x86 биті архитектура үшін, команда ұзындығы 8 ден 108 битке жетеді).
Бағдарламалау тілдеріне шолу.
1. Машиналық код - процессор тілі.

Бағдарлама (0 және 1 пайдаланады) еуілік кодта жазылған командалардан тұрады.

Әрбір команда екі бөліктен тұрады:
* Операция коды;
* Адрестік бөлік;
Операция коды процессордың қандай команданы орындайтынын анақтайды.
Адрестік бөлік компьютер жадысында операндтарды көрсетеді және операция нәтижесін қайда орналасатынын көрсетеді.(Операнд - операцияға қатысатын деректер).
Қазіргі уақытта программисттер бағдарлама жазғпнда машина кодын қолданбайды, өйткені ол көп уақытты тұтынады және нақты болмайды. Бірақ қай тілде бағдарлама жазылғанымен, орындалу алдында ол машина кодына аударылады.
Аударылу автоматты түрде бағдарламамен - компилятормен (транслятор) немесе интерпретатормен (Basic үшін) орындалады.
Компилятор бағдарламаны машина кодына аударып, оны файл түрінде сақтайды. Сондай нәтижеге жету үшін интерпретаторды да қолдануға болады. Ол сол мезетте тура сондай жұмысты орындайды және бағдарламаның алынған машина кодың сақтамай-ақ қосады.
Компилятор және интерпретатор әр компьютер типі үшін бөлек құрастырылған. Сонда да оларды бірақ рет жазуға тура келген, содан кейін жоғарғы деңгейдегі тілде жазлған бағдарламаларды өндеуге мүмкіндік болатын.
2. Ассемблер - машиналық кодқа жақын, төменгі деңгей тілінің отбасысы.
Мұндай тілді тек процессор архитектурасын білетін жоғары білікті программисттер қолданады.
Ассемблердің машина кодынан айырмашылығы, екілік код әріптермен алмастырылады (мнемокод), операция мәнің ұсынатын, ал опрендтардың екілік адрестері айнымалы аттарымен алмастырылады.
Мысалы: MOV X1, C командасы - жады ұяшықтағы мәнді X1-ге көшіру, С процессор регистірі.(ағылшынша MOVE - қадам, жылжыту).
3. Жоғары деңгейдегі алгоритмдік тілдер, ағылшын сөйлеу тіліне жақын.
Бұл тілдер программисттер үшін оңай болып табылады. Алгоритмнің әрбір блок үшін бағдарламалау тілінде жазылған команда болады. Программисттің негізгі міндеті, алгоритмнің блок-схемасын арнайы конструктор тілі арқылы сипаттау.
Мұндай тілдерге ертеден танымал Fortran (Formuler Translater), Algol (Algoritmic Language) және қазіргі Basic, Pascal, C тілдер жатады.
4. Объектіге бағытталған тілдер.
Windows ортасы үшін бағдарламаларды құру мүмкіндігі болады. Программист бағдарламаның кодын ғана жазбай, сонымен қатар графикалық интерфейсті, әр түрлі объектілерді қосуға және оларды керек әдістермен, қасиеттерімен байланыстыруға мүмкіндік болады. Бұның бәрі барынша автоматтандырылған.
Бұл жағдайда бағдарламалық өнім (жобасы) бір бағдарлама болып тұрған жоқ. Бағдарлама объектілермен байланысқан процедуралар жиыетығын құрайды, процедуралар анықталған оқиғалар арқылы қосылады.
Объектіге бағытталған тілдер: Visual Basic, VBA (Visual Basic for Application), Delphi.
5. Сиволдық өңдеу тілдері.
Математикалық логикасына негізделген. Аналитикалық және интеллектуалды жүйелерді құрастыруға мүмкіндік береді. Оларды ең жоғары деңгейдегі тілдер деп атайды.
Мысалы - Пролог тілі.

Машина тілі. Машина тілінің командалар жүйесі.
Команда - компьютердің орындауға тиісті қарпайым операцияның сипаттамасы. Комада жады ұяшықтарында екілік кодта сақталады.
Жалпы, команда қамтитыны:
* Орындалатын операция коды;
* Операндтарды (адрестерін) анықтау үшін нұсқаулар;
* Нәтижені орналастыру үшін ұсынымдар;
Команда нәтижесі, компьютер құрылысына орнатылған нақты ережелер бойынша орындалады.
Опернадтар санына байланысты командалар: бір адресті, екі адресті, үш адресті және айнымалы адресті деп ажыратылады.
Қосымша ақпарат
Сіз, бәлкім, таң қаласыз. Орталық процессор декодтайтын және орындайтын командалар тізімі өте қысқа !!!
Шын мәнінде, есептеу техниканың ең жақсы жері ол, қарапайым және мұқият таңдалған тапсырманы орындай алса, онда қандайда бір қасиеттерді қосқанда ол машинаның базалық мүмкіндіктерін соншама өзгертпейді.
Қысқаша айтқанда, қосымша мүмкіндіктерді қосса, ол машинаны қолдануды ынғайландырады. Бірақ базалық мүмкіндіктерді өзгерпейді.
Процессорды түсінудін 2 тәсілі.
Орталық процессор қандай болу керек екенін екі көзқарас бар
Бірінші көзқарас бойынша, процессор машиналық кодтын минималды жинағын орындау керек. Бұндай әдісті қысқартылған командалар жинағын қолданаты есептеу техникасы жатады (Reduced Instruction Set Computer -- RISC-машина). RISC процессорын қолданудағы себеп, ол процессор тиімді және жылдам екені дәлел.
Сонымен қатар, орталық процессордың жақтастары үлкен көлемдегі қиын командаларды, артық болса да, орындай алады. Бұндай жетістік қиын командалар жинағын пайдаланатын есептеу техникасының нәтижесі (Complex Instruction Set Computer -- CISC-машина). CISC-архитектураның қолданудағы себеп, қиын процессорларды бағдарламалау оңай, өйткені қандай да бір есепті бір командамен шешуге болады, ал RISC-процессорларда бір команданын орнына, ұзын тізімді командалар тізбегін қолдану керек еді.
CISC - процессоры да, RISC - процессоры сериялы шығарылуда. Intel компаниясымен шығарылған Pentium процессоры CISC архитектураның үлгісі; Apple Computer, IBM және Motorola компанияларымен шығарылған PowerPC процессоры RISC архитектураның үлгісі болады. Түсіндіруде ыңғайрақ болу үшін, RISC архитектурасын қарастырайық.
Машина командаларының жіктелуі
Барлық машина кодтарын үшке бөлуге болады:
* Деректерді жіберу командасы;
* Арифметика - логикалық командалар;
* Басқару командалары;
Деректерді жіберу командалары
Бұл топқа деректерді бір жерден екіншіге көшуін бұйыратын командалар жатады. Қосу алгоритмге кіретін, жедел жадыда сақталған 1,2 және 4 қадамдардың мәндері осы топқа жатады. (сур. 1 еске түсірейік)

Жедел жадыдағыдай, деректердің бір ұяшықтан екіншіге көшкенде, бастапқы ұяшықта деректер өшірілмейді. Деректерді жіберу процессі тасымалдау процесске қарағанда көшіру процесске жақын болады. Бұл жағдайда қолданыстағы жіберу (transfer) және жылжыту терминдері қате. Сондықтан көшіру (сору) және клондау (clone) терминдері әлдеқайда дұрыс болады.
Терминология
Терминология туралы айтатын болсақ, орталық процессордан жедел жадыға деректерді тасымалдау үшін арнайы терминдер бар екенін атап өткен жөн.
Жалпы мақсаттағы регистрдің жад ұяшығын толтыру командасы - жүктелу, және керісінше регистр мазмұнын жады ұяшығына жылжыту командасы - сақтау деп атайды. 1,2 қадамдар жүктелу болса, 4 қадам сақтау командасы болады.
Маңызды командалар тобы, деректі жіберу командаларына жатады. Олар өздерінде орталық процессормен сыртқы құрылғыларды (принтер, клавиатура, монитор, дисковод және т. б.) байланыстыратын нұсқауларды сақтайды.
Осы командалар арқылы енгізу - шығару процессі орындалады, бұндай командалар енгізі - шығару командалары деп аталады. Кейбір кезде ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Технологиялық машиналар және жабдықтар
Өндірістің икемді модулі және машина жасаудағы автоматтандырылған желі жайлы мәлімет
Windows операциялық жүйелері
Машина инешаншым тігімдері
Зияткерлік ақпараттық жүйелер
Программаларды техникалық жобалау
Логикалық операцияларға арналған регистр
Python бағдарламалау тілі жайлы
Web-құжат туралы түсінік
ЭЛЕКТРОНДЫ ЕСЕПТЕУІШ МАШИНА
Пәндер