Компьютер қалай жұмыс істейді? Жұмыс істеу принциптері
Бұл тақырыпта көптеген мақалалар бар. Осы тақырыпқа тағы оралғым келіп тұрғаны. Оқып шықсаңыз, мені түсінесіз деп ойлаймын.
Қандай жазба болмасын кіріспе, негізгі, соңғы бөлімнен тұрады. Жазбадағы ойдың шарықтауы негізгі немесе соңғы бөлімге сәйкес келеді. Кіріспе бөлімнің мақсаты жазбадағы ойдың шарықтауына дейін оқырман жазбаны оқып жеткенше оның көңілін, ықыласын соған дайындау. Егер мұндай мақаланы оқуға дайындықтың қажеті жоқ десеңіз, бірден негізгі бөлімнен бастап оқыңыз.
Ойлау қабілеті адамға ғана тән. Қазір машина адамның есептеу қабілетімен ғана бәсекеге түседі. Әрине, бұл жетістік машиналардың жетістігі емес. Адамның есептеу жүргізгендегі тәжірибесін машина тетіктерімен орындаттыру. Бірақ компьютермен кино көріп немесе музыка тыңдап отырғанда, оның есептеу мүмкіншілігімен байланыстыру қиын. Есеп дегеніміз не? Сандармен жұмыс. Тағы да, солай жалғастыра беруге болады. Түбінде «жоғарғы» деген ұғыммен қорғалған білім саласына келіп тірелеміз. Қаншалықты білу қажет? Қазір көбінде мынандай әңгімелер көп:
-Оқушыларға өмірге қажеті жоқ көп жайттарды айтады, бойларыңа сіңіреді, одан пайда жоқ,- дейді.
Барлық жауапкершілікпен айта аламын. Орта мектептегі қазіргі информатика сабағы зиян келтірмесе, пайда әкелмейді. Меніңше, компьютер қалай жұмыс істейді деген негізгі сұрақ жауапсыз қала береді.
Негізгі бөлім
Машина адам ойын қоспай қалай есептейді? Формальді алгоритмді адами ой деп айту қиын. Формальді алгоритмді әдеби шығарманы елестету қиын-ақ. Адамның ойы әлде –қайда күрделі. Мектеп оқулығында «компьютер процессорын адамның миымен салыстыруға болады» деген сөз мүлдем қате. Алда –жалда жиырма жастағы адамнан сұрай қалсаң, «компьютер ойлай ала ма?» десем, не деп жауап беретінін сезетін шығарсыз. Компьютер тек атқарушы. Осыны ұмытады.
Мектепте оқытатын алгоритмдер қасиетіне келсек. Алгоритм қасиеттерін түсіндіргенде, оның қалай анықталғаны туралы жалған ой қалыптастырады. Уикипедиядағы деректер былай дейді. Өткен ғасырдың басында алгоритм және оның қасиеті деген ұғым таныс болмаған. Давид Гельберт «екінші дүниежүзілік математиктер конгресінде» математиканың шешілмеген 23 мәселелерін ұсынған. Екінші мәселесі математиканың аксиомаларының қарама-қайшылықтарын анықтау. Кейінірек оны (математикалық) «мәселенің шешімі барын анықтау» депті. Барлық мәселелердің шешімі бары немесе жоқтын келесідегідей анықтауға болар еді. Арифметиканың барлық аксиомалары бір-біріне қарама –қайшы келмесе, онда есептің шешімін табу жолының моделін құруға болады. Алан Тьюринг жиырма бес жасында Гильберттің екінші мәселесі жөнінде мақала жазады. Онда адамның тікелей қатысуынсыз, яғни, адам ойын есептеу барысында араластырмай кез –келген есепті есептеуге мүмкіндік беретін абстракты машинасын сипаттайды. Есептеу барысы ережелер мен символдар алфавитімен анықталады. Алан Тьюрингпен қатар Эмиль Лион Пост өзінің абстракты машинасын ұсынады. Посттың машинасы Тьюрингтің машинасына ұқсас, бірақ жұмыс істеуі оңай сипатталады.
Посттың машинасында қозғалатын бөлігі бар. Оны «карета» дейді (карета -жолаушыларды таситын ат арба). Тек мұнда жолаушылардың орнына символдар тасымалданады. Жолаушылардың орнына символдар болғандықтан карета оларды оқиды «яғни өзіне отырғызып алады». Каретаның жеті түрлі бұйрығы бар (1-ші кестені қара):
Кесте 1 –Пост машинасының бұйрықтары
Ескерту: белгі қой дегенде лента үстіне «1», сөндір дегенде «0» символдары жазылады деп есептейміз.
Каретамыз жүретін жол тор көздерге бөлінген. Соның үстінде программада көрсетілген бұйрықтарды орындай отырып жылжиды. Тура мағынада жол болмағандықтан, оны тор көздерге бөлінген лента дейік. Лента ұзындығы шексіз деп есептелінеді.
Қарапайым программа:
1 -> 2
2? 1;3
3 < — 4
4 V 5
5!
Бес жолдан тұрады. Лента үстіндегі әр тор көзге сәйкес келесі белгілер жазылып тұр: 00000001110. Карета лентаның басында (сол жағында) орналасты. Байқап қарасақ программаның 1 және 2 жолы алты мәрте қайталанып орындалады. Жетінші рет 2-ші жолды орындаған соң, үшінші жолға көшеді. Өйткені, каретаның астындағы лентаның тор көзінде «1» символы жазылған. Солға қарай «0» символының үстіне карета тоқтайды. Яғни, программаның 4 жолы орындалып аяқталды. Бесінші жолға көшеміз. «!» -бұйрығын көреміз. Яғни программаның аяғына жеттік. Пост машинасының жұмысы аяқталғанын білдіреді. Нәтижесінде 00000011110 символдар тізбегін аламыз. Жоғарыдағы қарастырған программа «1» символынан тұратын тізбектің сол жағына жаңа бір символды қосады. Егер лентада барлық белгілер ноль болса, программаны орындауды Посттың машинасы ешқашан аяқтамайды. 1-ші және 2-ші жол тоқтамай орындала береді. Оны «қайлана беру» немесе «шырғалану» құбылысы деп атайды.
Тьюринг және Пост машиналары алгоритм ұғымын нақтылады. Есептің шешімі болса, онда оның нәтижесін осы аталған машиналар тауып береді.
Қорытынды
Қазіргі компьютерлер Фон Нейман принциптерімен (1940 жылдары) жұмыс істейді. Принциптерінде «программа және оның деректері бір есте сақтау құралында және бір күйде сақталады» деп көрсетілген. Посттың машинасын талдағанда, байқаған шығарсыз: бір күйде бір жерде! Біркелкі әдіспен машина программаны орындай отырып лента үстінде іс -әрекетер орындайды.
Компьютер Пост машинасы. Intel 8086 процессорының бұйрықтарының саны жүзден асады (116). Ассемблер тіліндегі кейбір бұйрықтар Пост машинасының бұйрықтарының мағынасындай:
MOV DS, AX
Мұнда DS ұяшығындағы санды AX ұяшығына көшіру керек. DS және AX ерекше ұяшықтар, оларды қолдану ережелері бар (8086 процессорында бұл ұяшықтарды регистрлер деп аталады).
Компьютерлерді процессорларының жылдамдығының физикалық шегіне жақындады, сол себепті параллель есептеу жүргізу арқылы жылдамдықтарын арттырады. Егер қазір біреу Пост машинасынан басқа абстракты машина жасап, оның тиімділігін дәлелдесе, нағыз революция болар еді. Компьютер темір-тетік (темір –терсек емес) деңгейінде қалай жұмыс істейтінін қарастырдық.
Алгоритмнің қасиеттерін талдаған қарапайым программадан оп –оңай шығарып алуға болады.
P.S.: Бірден күрделісін қарастырып, тілдері күрмеліп жатады.
inf1.info/machinepost -Пост машинасының программасы алынды
Қандай жазба болмасын кіріспе, негізгі, соңғы бөлімнен тұрады. Жазбадағы ойдың шарықтауы негізгі немесе соңғы бөлімге сәйкес келеді. Кіріспе бөлімнің мақсаты жазбадағы ойдың шарықтауына дейін оқырман жазбаны оқып жеткенше оның көңілін, ықыласын соған дайындау. Егер мұндай мақаланы оқуға дайындықтың қажеті жоқ десеңіз, бірден негізгі бөлімнен бастап оқыңыз.
Ойлау қабілеті адамға ғана тән. Қазір машина адамның есептеу қабілетімен ғана бәсекеге түседі. Әрине, бұл жетістік машиналардың жетістігі емес. Адамның есептеу жүргізгендегі тәжірибесін машина тетіктерімен орындаттыру. Бірақ компьютермен кино көріп немесе музыка тыңдап отырғанда, оның есептеу мүмкіншілігімен байланыстыру қиын. Есеп дегеніміз не? Сандармен жұмыс. Тағы да, солай жалғастыра беруге болады. Түбінде «жоғарғы» деген ұғыммен қорғалған білім саласына келіп тірелеміз. Қаншалықты білу қажет? Қазір көбінде мынандай әңгімелер көп:
-Оқушыларға өмірге қажеті жоқ көп жайттарды айтады, бойларыңа сіңіреді, одан пайда жоқ,- дейді.
Барлық жауапкершілікпен айта аламын. Орта мектептегі қазіргі информатика сабағы зиян келтірмесе, пайда әкелмейді. Меніңше, компьютер қалай жұмыс істейді деген негізгі сұрақ жауапсыз қала береді.
Негізгі бөлім
Машина адам ойын қоспай қалай есептейді? Формальді алгоритмді адами ой деп айту қиын. Формальді алгоритмді әдеби шығарманы елестету қиын-ақ. Адамның ойы әлде –қайда күрделі. Мектеп оқулығында «компьютер процессорын адамның миымен салыстыруға болады» деген сөз мүлдем қате. Алда –жалда жиырма жастағы адамнан сұрай қалсаң, «компьютер ойлай ала ма?» десем, не деп жауап беретінін сезетін шығарсыз. Компьютер тек атқарушы. Осыны ұмытады.
Мектепте оқытатын алгоритмдер қасиетіне келсек. Алгоритм қасиеттерін түсіндіргенде, оның қалай анықталғаны туралы жалған ой қалыптастырады. Уикипедиядағы деректер былай дейді. Өткен ғасырдың басында алгоритм және оның қасиеті деген ұғым таныс болмаған. Давид Гельберт «екінші дүниежүзілік математиктер конгресінде» математиканың шешілмеген 23 мәселелерін ұсынған. Екінші мәселесі математиканың аксиомаларының қарама-қайшылықтарын анықтау. Кейінірек оны (математикалық) «мәселенің шешімі барын анықтау» депті. Барлық мәселелердің шешімі бары немесе жоқтын келесідегідей анықтауға болар еді. Арифметиканың барлық аксиомалары бір-біріне қарама –қайшы келмесе, онда есептің шешімін табу жолының моделін құруға болады. Алан Тьюринг жиырма бес жасында Гильберттің екінші мәселесі жөнінде мақала жазады. Онда адамның тікелей қатысуынсыз, яғни, адам ойын есептеу барысында араластырмай кез –келген есепті есептеуге мүмкіндік беретін абстракты машинасын сипаттайды. Есептеу барысы ережелер мен символдар алфавитімен анықталады. Алан Тьюрингпен қатар Эмиль Лион Пост өзінің абстракты машинасын ұсынады. Посттың машинасы Тьюрингтің машинасына ұқсас, бірақ жұмыс істеуі оңай сипатталады.
Посттың машинасында қозғалатын бөлігі бар. Оны «карета» дейді (карета -жолаушыларды таситын ат арба). Тек мұнда жолаушылардың орнына символдар тасымалданады. Жолаушылардың орнына символдар болғандықтан карета оларды оқиды «яғни өзіне отырғызып алады». Каретаның жеті түрлі бұйрығы бар (1-ші кестені қара):
Кесте 1 –Пост машинасының бұйрықтары
Ескерту: белгі қой дегенде лента үстіне «1», сөндір дегенде «0» символдары жазылады деп есептейміз.
Каретамыз жүретін жол тор көздерге бөлінген. Соның үстінде программада көрсетілген бұйрықтарды орындай отырып жылжиды. Тура мағынада жол болмағандықтан, оны тор көздерге бөлінген лента дейік. Лента ұзындығы шексіз деп есептелінеді.
Қарапайым программа:
1 -> 2
2? 1;3
3 < — 4
4 V 5
5!
Бес жолдан тұрады. Лента үстіндегі әр тор көзге сәйкес келесі белгілер жазылып тұр: 00000001110. Карета лентаның басында (сол жағында) орналасты. Байқап қарасақ программаның 1 және 2 жолы алты мәрте қайталанып орындалады. Жетінші рет 2-ші жолды орындаған соң, үшінші жолға көшеді. Өйткені, каретаның астындағы лентаның тор көзінде «1» символы жазылған. Солға қарай «0» символының үстіне карета тоқтайды. Яғни, программаның 4 жолы орындалып аяқталды. Бесінші жолға көшеміз. «!» -бұйрығын көреміз. Яғни программаның аяғына жеттік. Пост машинасының жұмысы аяқталғанын білдіреді. Нәтижесінде 00000011110 символдар тізбегін аламыз. Жоғарыдағы қарастырған программа «1» символынан тұратын тізбектің сол жағына жаңа бір символды қосады. Егер лентада барлық белгілер ноль болса, программаны орындауды Посттың машинасы ешқашан аяқтамайды. 1-ші және 2-ші жол тоқтамай орындала береді. Оны «қайлана беру» немесе «шырғалану» құбылысы деп атайды.
Тьюринг және Пост машиналары алгоритм ұғымын нақтылады. Есептің шешімі болса, онда оның нәтижесін осы аталған машиналар тауып береді.
Қорытынды
Қазіргі компьютерлер Фон Нейман принциптерімен (1940 жылдары) жұмыс істейді. Принциптерінде «программа және оның деректері бір есте сақтау құралында және бір күйде сақталады» деп көрсетілген. Посттың машинасын талдағанда, байқаған шығарсыз: бір күйде бір жерде! Біркелкі әдіспен машина программаны орындай отырып лента үстінде іс -әрекетер орындайды.
Компьютер Пост машинасы. Intel 8086 процессорының бұйрықтарының саны жүзден асады (116). Ассемблер тіліндегі кейбір бұйрықтар Пост машинасының бұйрықтарының мағынасындай:
MOV DS, AX
Мұнда DS ұяшығындағы санды AX ұяшығына көшіру керек. DS және AX ерекше ұяшықтар, оларды қолдану ережелері бар (8086 процессорында бұл ұяшықтарды регистрлер деп аталады).
Компьютерлерді процессорларының жылдамдығының физикалық шегіне жақындады, сол себепті параллель есептеу жүргізу арқылы жылдамдықтарын арттырады. Егер қазір біреу Пост машинасынан басқа абстракты машина жасап, оның тиімділігін дәлелдесе, нағыз революция болар еді. Компьютер темір-тетік (темір –терсек емес) деңгейінде қалай жұмыс істейтінін қарастырдық.
Алгоритмнің қасиеттерін талдаған қарапайым программадан оп –оңай шығарып алуға болады.
P.S.: Бірден күрделісін қарастырып, тілдері күрмеліп жатады.
inf1.info/machinepost -Пост машинасының программасы алынды
2 пікір