I/O مەشغۇلاتى نىمىنى كۆزدە تۇتىدۇ؟



 I/O مەشغۇلاتى نىمىنى كۆزدە تۇتىدۇ؟


تۇنجى بىلوگىمىزنى يېزىۋاتقىنىمىزدىن خۇشالمەن ھەمدە بىللە خۇشال بولىشىمىزغا تىلەكداشمەن


 كىرىش سۆز

مەقسىدىمىز بولسا ئۆزىمىز توختىماي باشقىلاردىن ئۆگىنىش بىلەن بىرگە بىزمۇ ئۆزىمىزنىڭ ئازغىنە تەجرىبىلىرىمىزنى كىشىلەر بىلەن ئورتاقلىشىش، ھەمدە تىخىمۇ كۆپ كىشىلەرنىڭ يۇمشاق دېتال كەسپىگە كىرىشىگە سەۋەب بولۇپ قىلىش، ئۆزىمىزگە ئوخشاش كىشىلەرنى قىزىپ چىقىپ ئۇلار بىلەن ھەمسۆھبەت بولۇش، ئاخىرىدا بىللە قول تۇتۇشۇپ ئورتاق ئىلگىرلەش،


تۆەندىكى يازما ئۆزىمىزنىڭ تەجرىبىلىرىمىز ئارقىلىق يەكۈنلەنگەن ۋە شۇ ئاساسىدا يېزىپ چىقىلغان ئىجادىي يازما بولۇپ ئەگەر تۈزىتىشكە تىگىشلىك جايلىرى بار دەپ قارىسىڭىز پىكىر-تەكلىپ بېرىشىڭىز قارشى ئېلىنىدۇ. (ug-project@outlook.com)


---

 يازما ھەققىدە


كەلگۈسىدە داۋاملىق بەزى قىممىتى بار دەپ قارالغان تەجرىبىلىرىمىزنى داۋاملىق ھەمبەھىرلىگىنىمىزدە پەيدا بولۇش ئىھتىماللىقى بولغان گۇڭگىلىق (غۇۋالىق) ۋە ناتوغرا چۈشىنىش پەيدا قىلىشنىڭ ئالدىنى ئېلىش ئۈچۈن بىز بۈگۈن بۇ ئەڭ ئاساسى يازمىنى تەييارلىدۇق، ئەمەلىيەتتە ھەر بىر مەزمۇن مەڭگۈلۈك ئايرىم بىر ساھە بولسىمۇ ئەمما بىزنىڭ مەقسىدىمىز كىيىنكى يازمىلارغا تەخمىنىي ھالدا چۈشەنچە ھاسىل قىلىش بولغاچقا كونكىرىت ھەمدە بەك ئىنچىكە بولىشىغا تەلەپ قويمىدۇق، قىززىقىدىغانلار بولسا مۇناسىۋەتلىك ماتېرىياللاردىن ئىچكىرلەپ ئىزدىنىشىنى تەۋسىيە قىلىمىز.


 ئالدىن چۈشەنچە


 ئاساسى مەزمۇن

ئالدىن چۈشەنچىدە ئىيتىلغاندەك I/O ھالقىلىق سۆزىنى يۇمشاق دېتال ساھەسى ياكى كومپىيۇتېر، قاتتىق دېتال ساھەسىدە ئىشلەتكەندە بۇ يەردىكى I/O سۆزى مەلۇم ئۈسكۈنە بىلەن مەلۇم ئۈسكۈنە ئارىسىدىكى سانلىق مەلۇمات ئالماشتۇرۇش مەشغۇلاتىنى كۆرسىتىدۇ،


مەسىلەن تۆۋەندە ئەڭ ئاددىي ھەم ئاددىيلاشتۇرۇلغان كومپىيۇتېر قۇرۇلمىسى بېرىلدى


(بۇ يەردىكى كومپىيۇتېر ئاتالغۇسى بىۋاستە ھالدا پەقەتلا بىز ئىشلىتىدىغان شەخسىي كومپىيۇتېرنى بىلدۈرمەيدۇ، بۇ يەردىكى كومپىيۇتېر دىگىنىمىز ئۆزىدە پەقەت كومپىيۇتېرنىڭ ئەڭ ئاساسى قۇرۇلمىسىنى ئۆزىدە ھازىرلىغان بارلىق نەرسىلەرنى كۆرسىتىدۇ، مەسىلەن مىكرو تىپلىق كونتىروللىغۇچ ئۆزىكى، تېلېفون، كومپىيۇتېر، مۇلازىمىتىر، ئەقلىي سائەت، تىلىۋىزور، بەلكىم ئۇ روتىر ياكى توڭلاتقۇ ئىچىدىكى كونتىروللىغۇچ بولىشىمۇ مۇمكىن)


BasicArchitecture0.jpg


 CPU

يۇقاردا رەسىمدە بىرىلگىنىدەك كومپىيۇتېرنىڭ ئەڭ ئاساسى قۇرۇلمىسىنى ئاددىيلاشتۇرساق ئۇلار ئىچكى ساقلىغۇچ (RAM)، مەركىزى بىر تەرەپ قىلغۇچ (CPU) ۋە ئوقۇشقىلا بولىدىغان ساقلىغۇچ (ROM) دىن تۈزۈلىدۇ،


- مەركىزى بىر تەرەپ قىلغۇچ (CPU) بولسا مەخسۇس سانلىق مەلۇماتقا قارىتا ئۆزگەرتىش ۋە بىر تەرەپ قىلىش ئېلىپ بارالايدىغان ئالاھىدە يادرولۇق بۆلەك بولۇپ تىرانزىستورلاردىن (Transistor كىرىستال لامپا) تۈزۈلگەن لوگىكىلىق توك يوللىرىدىن تۈزۈلۈپ ئارفىمىتكىلىق ئەمەل بەلگىلىرى قوشۇش، ئېلىش، كۆپەيتىش، بۆلۈش (Addtion, Subtract, Multiplication, Devision)(+ - * /) نى ھېسابلاشنى ئەمەلگە ئاشۇرىدۇ،

لوگىكىلىق ئەمەل بەلگىلىرىنى ھېسابلاش توك يولى (And, Or Not Nor, Xor, Greater then, Less then, Equal) قاتارلىق لوگىكىلىق ھېسابلاش ئەمەللىرىنى ئەمەلگە ئاشۇرىدۇ


- ئاندىن رىگىستىرلار  (Register) ئارقىلىق نۆۋەتتە بىر ھېسابلاۋاتقان ئۇچۇرلارنى CPU ئىچىدە ۋاقىتلىق ساقلايدۇ


- I/O ئىغىزلىرى بىلەن سىرتقى ئۈسكۈنىلەرگە سانلىق مەلۇمات چىقىرىدۇ ياكى ئۇلاردىن سانلىق مەلۇمات كىرگۈزىدۇ


- ھېسابتا CPU دىگىنىمىز مەخسۇس سانلىق مەلۇماتقا قارىتا بىر تەرەپ قىلىش، ئۆزگەرتىش كىرگۈزۈپ پىششىقلاپ ئىشلىيەلەيدىغان يادرولۇق زاپچاس بولۇپ مەخسۇس بەلگىلەنگەن بۇيرۇق توپلىمى بار بولىدۇ، ئەلۋەتتە كونكىرىت قۇرۇلمىسىغا ئاساسەن بۇيرۇق توپلاملىرىمۇ ئوخشاش بولمايدۇ،


بۇ يەردە Program counter, IO Register يەنە كۆپ نەرسىلەرنى قىسقارتىۋەتتۇق.



 RAM (ئىچكى ساقلىغۇچ)

يەنى CPU ئىچىدىكى رىگىستىرلار سىغىمى ۋە سانى ئىنتايىن چەكلىك بولغانلىقى ئۈچۈن كۆپ مىقداردىكى ئۇچۇرلارنى ۋاقىتلىق ساقلاش ئىھتىياجى بولغاندا ئىشلىتىلىدۇ،


(ئەلۋەتتە ھازىرقى يۇقىرى دەرىجىلىك كومپىيۇتېرلارغا نىسبەتەن ئىجرا ھۆججەت ۋە ئامبارلار (Executables and dynamic link libraries) لارمۇ ئىجرا بولۇشتىن بۇرۇن قاتتىق دىسكىدىن ئىچكى ساقلىغۇچقا نۇسقىلىنىپ كېلىنىدۇ)


تولۇق يېزىلىشى Random Access Memory (ئىختىيارىي زىيارەت قىلىشچان ساقلىغۇچ) بولۇپ CPU بىر تەرەپ قىلماقچى بولغان ۋە بىر تەرەپ قىلىپ بولغان سانلىق مەلۇماتلارنى ۋاقتىنچە ساقلاشقا ئىشلىتىدۇ، ئەسكەرتىش: پەقەت ۋاقىتلىقلا ساقلاشقا ئىشلىتىدۇ، مەڭگۈلۈك ساقلاش ئۈچۈن فىلەش ساقلىغۇچ (Flash drive) EEPROM قاتارلىق باشقا تۈردىكى ساقلىغۇچلار ئىشلىتىلىدۇ،



 ROM

تولۇق ئاتىلىشى Read Only Memory


بۇ ساقلىغۇچقا يېزىش مەشغۇلاتى قىلغىلى بولمايدۇ (يەنى Runtime دا، يەنى پروگرامما ئىجرا بولۇش جەريانىدا پروگرامما ئۆزى يېزىش مەشغۇلاتى قىلالمايدۇ) ئەمما پەقەت Runtime دىلا يېزىش مەشغۇلاتى قىلغىلى بولمايدۇ، ئەمما سىرتقى ئالاھىدە قاتتىق دېتاللارنىڭ قوللىشى بىلەن بۇ خىل تىپتىكى ساقلىغۇچنىڭ مەزمۇنىنى باستۇرۇپ يېزىۋەتكىلى بولىدىغان ئىھتىماللىق مەۋجۇت.


زۆرۈر بولغاندا CPU ئىچكى ساقلىغۇچ بۆلۈمچىسىگە مەلۇم ئۇچۇرلارنى ساقلايدۇ ياكى ئىچكى ساقلىغۇچتىن ئوقۇيدۇ


بىر تەرەپ قىلغۇچ يەنى CPU ئىنتايىن ئۇنۋىرسال توك يولىنىڭ توپلىمى بولۇپ بىز توك يولىنى ئۆزگەرتمەيلا CPU ئىچىدىكى غايەت زور لوگىكىلىق بۆلەكلەر ۋە رەقەملىك سىگنال بىر تەرەپ قىلىش توك يوللىرىنى قايتا گورۇپپىلاش ئارقىلىق ئۆزىمىز ئىھتىياجلىق ھەر قانداق توك يولىغا (يەنى ئىقتىدارغا) ئىرىشەلەيمىز، ئەمما زادى كونكىرىت قايسى-قايسى بۆلەكلەرنى گورۇپپىلاش، قانداق گورپىىلاپ ئۇلار ئارقىلىق سانلىق مەلۇماتلارنى قانداق بىر تەرەپ قىلىشنى CPU ئىجرا قىلىدىغان بۇيرۇقلار بەلگىلەيدۇ،

دىمەك CPU نۇرمال خىزمەت قىلىش ئۈچۈن ئۇنىڭ نىمە قىلىدىغانلىقىنى، قانداق قىلىدىغانلىقىنى تەسۋىرلەيدىغان بىر قاتار بۇيرۇقلار بولىشى كىرەك، ئۇنداقتا بۇ بۇيرۇقلار مەلۇم بىر جايدا مەڭگۈلۈك ساقلىنىشى كىرەك


بۇ بۇيرۇقلار دەل ROM رايۇنىدا ساقلىنىدۇ


يۇقىرى دەرىجىلىك كومپىيۇتېرغا نىسبەتەن قاتتىق دىسكا ROM سۈپىتىدە مەۋجۇت بولۇپ تۇرىدۇ (ئەمما قاتتىق دىسكىغا ئوقۇپ يېزىشقا بولىدۇ، يۇقارقى سىخما پەقەت مىكرو تىپلىق ئەڭ ئىپتىدائىي كومپىيۇتېر قۇرۇلمىسىنى كۆزدە تۇتىدۇ)


 ئۇلارنى بىرلەشتۈرگەندە:

ئەڭ ئىپتىدائىي قۇرۇلما بويىچە كومپىيۇتېر قۇرۇلمىسى CPU, RAM, ROM لاردىن تۈزۈلىدۇ، ئۇلار يۇقىرى تىزلىكتىكى غول لىنيە ئارقىلىق بىر بىرى بىلەن تۇتىشىدۇ


دىمەك ئەڭ ئاساسى كومپىيۇتېرنىڭ خىزمەت جەريانى تەخمىنەن تۆۋەندىكىدەك بولىدۇ:

1. CPU ئاۋال بىر قاتار بۇيرۇقلىرىنى، يەنى نىمە قىلىدىغانلىقىنى ھەمدە قانداق قىلىدىغانلىقىنى ROM دىن ئوقۇيدۇ

2. ئوقۇپ چىققان بۇيرۇققا ئاساسەن ئۆزىنىڭ I/O ئىغىزلىرى ئارقىلىق سىرتتىن سانلىق مەلۇمات ئەكىرىدۇ ھەمدە ئۇلارنى RAM غا ساقلايدۇ ياكى ساقلاپ بولغانلىرىنى I/O ئىغىزلىرى ئارقىلىق سىرتقا چىقىرىدۇ

3. يۇقارقى جەريانلار مەڭگۈ تەكرارلىنىدۇ


 تولۇقلىما مەزمۇن

گەرچە بۇ يەردە مىكرو تىپلىق كونتىروللىغۇچ (MCU) لارغا نىسبەتەن ئىچكى ساقلىغۇچ، EEPROM، مەڭگۈلۈك ساقلىغۇچ قاتارلىقلارنى CPU نىڭ ئۆزىدىكى I/O ئىغىزلار ئارقىلىق كىڭەيتىش ئىمكانىيىتى بولسىمۇ ئەمما بىز بۇنى بۇ يازمىدا نەزەردىن ساقىت قىلىمىز ھەمدە بۇنى يۇقىرى دەرىجىلىك كومپىيۇتېرلارغا نىسبەتەن I/O مەشغۇلاتىغا تەۋە ئەمەس دەپ چۈشەندۈرۈپ تۇرىمىز، بۇ يەردە بىر خىل ئىشنى قىلىشنىڭ چەكسىز ئۇسۇللىرى بولىشى مۇمكىن، بەزىلىرى بىزنىڭ يازمىغا ئۇيغۇن بولماسلىقى مۇمكىن، بىز پەقەت كىيىنكى يازمىلارغا نىسبەتەن تەييارلىق سۈپىتىدە تەخمىنىي چۈشەنسەكلا بولىدۇ


 نىمىشقا I/O مەشغۇلاتى زۆرۈر؟


چۈنكى كومپىيۇتېرنىڭ ئەڭ ئاساسى قۇرۇلمىسى پەقەت يەنىلا ئەڭ ئاساسى قۇرۇلما، ئۇلار ئۆزلىرى بەلكىم بىز ئىھتىياجلىق بولغان ئىقتىدارنى ئۆزىدە تەمىنلىمىگەن بولىشى مۇمكىن، بۇ چاغدا بىز ئۆزىمىزنىڭ ئىھتىياجى ئاساسىدا ھەر خىل قوشۇمچە زاپچاس ۋە دېتاللارنى، سىنزور بۆلەكلەرنى ياسايمىز ۋە بۇلارنى ئەڭ ئاساسى كومپىيۇتېرنى تۈزىدىغان بۆلەكلەرگە ئۇلاش ئارقىلىق بىز ئۆزىمىز ئىھتىياجلىق بولغان ئىقتىدارنى ئەمەلگە ئاشۇرىمىز،


دىمەك ئادەمنىڭ مىڭىسىنى CPU + ROM + RAM غا ئوخشاتساق ئۇنداقتا كۆز، قۇلاق، بۇرۇن، قول، پۇت قاتارلىلارنى باشقا قوشۇمچە زاپچاس، دېتال ۋە سىنزورلارغا ئوخشىتىشقا بولىدۇ،

بەلكىم كۆز، قۇلاق، ئىغىز، بۇرۇن، بەدەندىن ئايرىلغاندىن كىيىنكى قىلالايدىغان ئىشىنى پەرەز قىلىپ بېقىشقا بولىدۇ.


 قايسى بۆلەك بىلەن قايسى بۆلەك ئارىسىدىكى ئالاقە I/O غا تەۋە بولمايدۇ؟

CPU, RAM, ROM بۇ بۆلەكلەر بىر ئاددىي قۇرۇلمىنى تۈزىدىغان زۆرۈر بولغان بۆلەكلەر بولغانلىقى ئۈچۈن ئۇلاردىن ھىچقايسى بىرى كەم بولمايدۇ،

شۇڭا ئۇلار ئارىسىدىكى ئالاقە ئالاھىدە يۇقىرى سۈرئەتلىك غول لىنيە ئارلىقى تاماملىنىدۇ، ھەمدە ئۇلار گورۇپپىلىنىپ بىر كومپىيۇتېر ئىلمىنتىنى تۈزگەنلىكى ئۈچۈن ئۇلار ئوموملىنىپ بىر گەۋدە دەپ قارىلىدۇ، شۇڭا بۇ گەۋدە ئىچىدىكى ئۆز-ئارا ئالاقە I/O دەپ قارالمايدۇ


 قايسى بۆلەك بىلەن قايسى بۆلەك ئوتتۇرسىدىكى ئالاقە I/O غا تەۋە بولىدۇ؟


CPU, RAM, ROM لاردىن تۈزۈلگەن بىر پۈتۈن گەۋدە بىلەن سىرتقى ھەر قانداق بىر ئۈسكۈنە ئوتتۇرسىدىكى ئالاقە I/O دەپ قارىلىدۇ


مەسىلەن تۆۋەندىكى تەخمىنىي رەسىمدىكىدەك:


BasicArchitecture1.jpg


يەنە ئۇنىڭدىن باشقا بىر قانچە CPU, RAM, ROM لاردىن تۈزۈلگەن بىر پۈتۈن گەۋدىلەر ئوتتۇرسىدىكى ئالاقىنىڭ ھەممىسىمۇ I/O غا تەۋە بولىدۇ، مەسىلەن كومپىيۇتېر بىلەن كومپىيۇتېر، مىكرو كونتىرول ئۆزىكى بىلەن مىكرو كونتىرول ئۆزىكى، مىكرو كونتىرول ئۆزىكى بىلەن سىنزور ئۆزەكلىرى، مەسىلەن تۆۋەندىكى رەسىمدىكىدەك


iic.png



iic1.jpg



chip-and-chip.png

ھەتتا ئەڭ ئاخىرىدا



Computer networks.jpg


 خۇلاسە


- CPU, RAM, ROM دىگەنلەر ئالاھىدە يۇقىرى سۈرئەتلىك غول لىنيە ئارقىلىق تۇتاشتۇرۇلۇپ ئەڭ ئاساسى بۆلەك يەنى كومپىيۇتېر دەپ ئاتاشقا بولىدىغان بۆلەكنى ھاسىل قىلىدۇ، ئۇلاردىن بىرى كەم بولسا بولمايدۇ ۋە بىز بۇ ئاساسى بۆلەكلەرنى بىرلەشتۈرۈپ ئىشلىتىمىز، شۇڭا بۇلار ئارىسىدىكى ئالاقە I/O غا تەۋە بولمايدۇ (بەلكىم يۇقىرى دەرىجىلىك كومپىيۇتېر ئىلمىنتىدا GPU, Hardware accelerated encoder/decoder دىگەندەك ئالاھىدە بۆلەكلەرمۇ قوشۇلىشى مۇمكىن، ئەمما ئىچكىرلىمەيمىز)

- كومپىيۇتېرنى تۈزىدىغان ئاساسى بۆلەكلەر بىر گورۇپپىلىنىپ سىرتقى ئۈسكۈنىلەر بىلەن ئالاقە قىلىدۇ ۋە ياكى ئۆزىگە ئوخشاش باشقا نۇرغۇن بۆلەكلەر بىلەنمۇ ئالاقە قىلىدۇ، بۇلارنى بىز I/O دەپ قارايمىز

- I/O مەشغۇلاتىنىڭ بىر مۇھىم ئالاھىدىلىكى شۇكى بۇ CPU نىڭ كۆپ قىسىم ھېسابلاش بايلىقىنى خوراتمايدۇ، مەسىلەن مەن سىزگە ماڭا قەھۋە ئەكىلىپ بېرىشنى دىسەم قەھۋەنى سىز ئېلىپ كېلىسىز، ئەمما مەن پەقەت سىزنى ساقلايمەن، ئىككىمىز ئىككى كومپىيۇتېرغا تەڭداش بولساق قەھۋە ئېلىپ كېلىش ئۈچۈن مېنىڭ CPU رىم ھىچقانداق خىزمەت قىلمايدۇ، ئەمما سىزنىڭ قىلىدۇ، سىز پەقەت قەھۋەنى ماڭا بەرسىڭىزلا بولدى (يەنى مەندىكى CPU تەييار نەتىجىنى سىزدىن ئېلىۋلسىلا بولدى)


 تامام

بۇ يازمىنى كۆرگىنىڭىز ئۈچۈن تەلەيلىك بولىشىڭىزنى ئۈمۈد قىلىمىز ھەمدە بۇنىڭ ئۈچۈن تەلەيلىك بولىشىمىزنى ئۈمۈد قىلىمىز.



يازمىنىڭ Markdown تورسىز نۇسقىسىنى ئارخىپ قىلىپ ساقلاپ قويىشىڭىز ئۈچۈنمۇ چۈشۈرۈشكە تەمىنلىدۇق، ئاستىدىكى ئۇلانمىدىن چۈشۈرىۋالسىڭىز بولىدۇ

posts.tar.gz