CPU ھەققىدە جۆيلۈمىلەر

 CPU ھەققىدە جۆيلۈملەر


ئىككىنچى يازمامغا مەرھابا.


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


CPU يەنى Central processing unit نىڭ قىسقارتىلما يېزىلىشى بولۇپ سۆز مەنىسى بويىچە مەركىزى بىر تەرەپ قىلىش بۆلىكى دىگەن مەنىنى بىلدۈرىدۇ


/uploads/image/2022/03/27/aa6439fe007a2dabf07cfaf88e1be1e3.jpeg


 كىرىش سۆز

ئۆتكەن ئەسىرنىڭ 50-60. يىللىرى ياسالغان توك يوللىرى ئاساسى جەھەتتىن ئىھتىياج قانداق بولسا شۇنداق بويىچە لاھىيەلىنىپ ياسالغان،

مەسىلەن ئەتتىگىنى 06:00 دە سايرايدىغان قوڭغۇراقلىق سائەت ياسىماقچى بولساق بىز ئەڭ بىۋاستە ھالدا ئەتتىگىنى 06:00 دە سايرايدىغان قوڭغۇراقلىق سائەتنىڭ توك يولىنى بىۋاستە لاھىيەلەپ ياساپ چىقىمىز، ئەلۋەتتە بىز سايرايدىغان ۋاقىتنى توغرىلىغىلى بولىدىغان ياسىغان بولساق تەلىيىمىزگە يارىشا بىز سايرايدىغان ۋاقىتنى 06:30 غا تەڭشىيەلىشىمىز مۇمكىن، ئەمما ئەگەردە مەن كەچتە 10:00 دا ئۇخلايدىغان ۋاقىتتىمۇ سايرىشى كىرەك دىسەمچۇ؟

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


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


مەسىلەن مەخسۇس ئىستانوك ئاپتوماتلاشتۇرىدىغان توك يولى، مەخسۇس قىزىل چىراقنى كونتىرول قىلىدىغان توك يولى..

. دىگەندەك،


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

قانداق قىلىش كىرەك؟


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


Some useful links about feather of CPU [here](https://philosophy-question.com/library/lecture/read/159486-who-is-the-father-of-cpu?msclkid=17d8438bad7b11ec8d6b249ce0f56277) and [here](https://www.thoughtco.com/charles-babbage-biography-4174120)


كىيىن بۇ خىل توك يولىنى توپلاشتۇرۇلغان توك يولى ياساش تېخنىلوگىيەسىدە ياساپ ئۇنىڭغا Central processing unit دەپ ئىسىم قويغان ھەمدە قىسقارتىپ CPU دەپ ئاتىغان،


ئۆزگىرىشچان ئىھتىياجنى ھەل قىلىش چارىسى پەقەت CPU لىمۇ؟

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


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


نۆەتتە FPGA ئۆزىكى ۋە پروگراممىلاشقا بولىدىغان DSP ئۆزەكلىرى بىلەنمۇ كىرەكلىك بولغان توك يولىنى ھاسىل قىلىشقا بولىدۇ،


FPGA ئۆزىكى


/uploads/image/2022/03/27/927af24176bdc78d74f740024e155cda.jpg


fpga0.png

DPS ئۆزىكى


/uploads/image/2022/03/27/1c3d70e958e97715bec96d226cfdd3e7.jpg

تولۇقلىما


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


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

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


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


CPU نى قانداق ئىشلىتىمىز؟

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


بىز مۇشۇ بۇيرۇق توپلاملىرى ئارقىلىق CPU نى كونتىرول قىلىپ ئۆزىمىز لازىملىق ھەر خىل ئىقتىدارلارنى ئىپادىلەپ قوراشتۇرۇپ تەقلىدلەپ چىقىمىز،


CPU بۇيرۇق توپلىمى دىگەن نىمە؟ قەيەردىن ئۆگىنىمىز؟

ئۈستىدە دىيىلگەندەك CPU نى كونتىرول قىلىدىغان بۇيرۇقنى بۇيرۇق توپلىمى (Instruction set) دەپ ئاتايمىز،


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


```

Target

-----------

aarch64

alpha

arc

arm

avr

bfin

c6x

cr16

cris

csky

epiphany

fr30

frv

gcn

h8300

i386

ia64

iq2000

lm32

m32c

m32r

m68k

mcore

mep

microblaze

mips

mmix

mn10300

moxie

msp430

nds32

nios2

nvptx

pa

pdp11

pru

riscv

rl78

rs6000

rx

s390

sh

sparc

stormy16

tilegx

tilepro

v850

vax

visium

xtensa

```

Above are referenced by [Gnu compiler collection officials](https://gcc.gnu.org/backends.html?msclkid=5eb15371ad7e11ecae36d3122a4f0b17)


ئەلۋەتتە يۇقارقىلىرى ھەممىسى ئەمەس، ھەم يەنە كېلىپ تارماق تۈرلەرنى ئۆز ئىچىگە ئالمايدۇ،

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

مەسىلەن:

[ARM instruction sets](https://developer.arm.com/architectures/instruction-sets),

[Avr instruction sets](https://ww1.microchip.com/downloads/en/DeviceDoc/AVR-Instruction-Set-Manual-DS40002198A.pdf?msclkid=1c2db910ad7f11ecab63c9847d7e3742)

ھەپەپەپەپەف دىگەندەك،


 بۈگۈنكى كۈندىمۇ بىۋاستە بۇيرۇق توپلىمىنى يېزىپ پروگرامما يازامدۇ؟

جاۋابى شۇنداق ھەم ياق، بۇنىڭ كونكىرىت جاۋابى ئەمەلىي ئىھتىياجقا باغلىق،

ئەگەر سىز مەشغۇلات سىستېمىسى يازغۇچىسى بولسىڭىز ياكى ئالاھىدە بولغان C, C++ لاردا ئىشلىتىش ئىمكانىيىتى بولمىغان پەقەت Assembler دىلا ئىشلەتكىلى بولىدىغان ئىشلاردا چوقۇم ئىشلىتىمىز،


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


CPU غا مايىل ۋەزىپە دىگەن نىمە؟

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


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


 CPU ھەممىگە قادىر ئاخىرلاشتۇرغۇچىمۇ؟

جاۋابى: ياق.


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

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


CPU بىلەن 10-20 ماشىنا دەۋىرى بىلەن تاماملىغان ئىقتىدارنى ھەتتا مەخسۇس شۇ ئىقتىدارنىلا قىلىدىغان قاتتىق دېتال بىلەن ئورۇندىساق بەلكىم 1-2 ماشىنا دەۋرى بىلەنلا تاماملىيالىشىمىز مۇمكىن، ھەمدە بۇنىڭ تەننەرخى كۆپ تۆۋەن بولىشى مۇمكىن،


شۇڭا بۇ يەردە CPU بولۇشتىن سىرت يەنە مەخسۇس غايەت زور مەخسۇس مەلۇم بىر ئىشنىلا قىلىدىغان نۇرغۇن ئۆزەكلەرمۇ مەۋجۇت بولۇپ تۇرىدۇ، بىز بۇلارنى DSP ئۆزىكى دەپ ئاتايمىز (Digital signal processing chip)


Mp3 دىكودلاش ئۆزىكى


mp3-decoder.jpeg


Mp4 دىكودلاش ئۆزىكى


/uploads/image/2022/03/27/e93d1e554d629e21dffa62993db02b2e.jpeg



GPU ئۆزىكى


GPU0.jpeg


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

بىز بۇنى قاتتىق دېتال بىلەن تىزلىتىش (Hardware accelerated) دەپ ئاتايمىز،


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


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


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


 خۇلاسە


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


مەسىلەن رەسىم، ۋىدىيو بىر تەرەپ قىلغاندا GPU نى ئىشلىتىش دىگەندەك



 تامام


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


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


Post.tar.gz