Компьютер цаанаа хэрхэн ажилладаг бол гэж бодож үзэж байсан уу? Би маш энгийнээр компьютерийн ажиллагааг тайлбарлая. Миний бичихийг ойлгохын тулд танд техникийн ямар ч мэдлэг хэрэггүй, уншиж чаддаг байхад л хангалттай. Би хэрэгтэй ойлголт бүрийг танд энгийн, ойлгохоор тайлбарлаад өгнө. Эргэлзэж байвал шалгаад үз кк.
Цуврал постын дараалал:
Phase 1:
RAM
CPU
CPU Instructions
Бүрэн ажиллагаат компьютерийн бүтэц
Phase 2 Computer System: (Энэ алхамаас цаашаа мэргэжлийн тийшээгээ хандана)
Мэдээлэл хадгалах
Машин--код C, Assembly and IA32
Процессор архитектор Y86 Instruction Set
Optimization
Memory
Linking
Virtual Memory
System level i/o
Network Programming
Concurrent Programming
Phase 3 OS (Operating System)
soon..
Компьютер үнэндээ ажиллагаа нь маш энгийн, мөн ойлгоход ч хялбар. Анх 1940 онд зохион бүтээгдэж байснаасаа санаа болон ажиллах зарчим, онол нь юу ч өөрчлөгдөөгүй өдий хүрсэн. Өөрчлөгдсөн зүйлс нь илүү хурдан, илүү хямд, илүү жижиг мөн илүү хөнгхөн :).
Мэдээж компьютерийн үндэс, хамгийн доод түвшиндөө ‘цахилгаан орон’. Гэхдээ энэ нь хэцүү гэсэн үг биш, та өрөөнийхөө гэрлийг яавал унтардаг, яавал асдагийг мэддэг байхад л хангалттай. Тодруулая, хананд байдаг унтраалгаар асаах үйлдэл хийхэд, switch on, гэрэл асдаг, уг үйлдлийг эсрэгээр нь хийхэд, switch off, гэрэл унтардаг. Энэ энгийн логикыг ойлгодог байхад хангалттай, цахилгаан оронгийн талаар илүү дэлгэрэнгүй орж сэдвээ хүндрүүлэхгүй :).
Компьютер маш хурдан
Компьютер дээр бид видёо тоглоом тоглож, вэбсайтуудаар зочилж, зураг зурж, зураг үзэж, бичлэг үзэж, маш том, хэцүү тооцооллуудыг хийх гэх мэт маш олон зүйлийг хийдэг. Бүр 1 зэрэг хийдэг шүү. Яаж энэ бүгдийг хийгээд байна? Наана нь бид компьютерийг ингэж л ашиглаад байгаа болохоос компьютер нь цаанаа цөөхөн, маш энгийн хэдэн үйлдлийг л ээлж дараагаар нь гүйцэтгэдэг. Гүйцэтгэх, гүйцэтгэхдээ маш хурдан шүү. Хэр хурдан гэж?
Компьютер нь цахилгаан орон дээр суурилдаг гэж хэлсэн, тэгэхээр тэр хурд нь цахилгаантай шууд хамааралтай. Гэрэлийн хурд гэж бид сонссон, хурд нь 300,000 км/сек. Энэ нь юу гэсэн үг вэ гэвэл, та гар чийдэн, за больё, утасаа шөнө харанхуйд нээнгүүт дэлгэцийн гэрэл нь асдаг байх аа, тэр гэрэл нь хэр хугацаанд хэр хол зам туулах хурдтай асдаг вэ л гэсэн үг. Энэ нь 1 секунд өнгрөхөд л 300,000 км явах хурдтай байх нь. Яахав яг нарийндаа 299,792 км/сек. Энэ хурдаар 1 секундэд дэлхийг бүтнээр нь 7 удаа тойрчиж чадна, дэлхийгээс сарлуу 2 секунд өнгрөхөд аль хэдийн сарлуу очцон сууж байх хурд. Айхтар хурд байгаа биз?
Цахилгаан нь гэрэлтэй олон зүйлээрээ төстэй байдаг. Цахилгааныг цахилгааны утсаар нь явуулахад хурд нь гэрэлийн хурдаас 2 дахин удаан. Энэ ч бас аймшигтай их хурд шүү. Дэлхийг 1 секундын хугацаанд 3 бүтэн тойроод дахиад яг талд нь очих хугацаа. Компьютерын хурд ч одоо энэ шүүдээ.
Хурдад нөлөөлөх бас нэгэн хүчин зүйл нь, компьютер дотор юмнууд нь маш ойр ойр байрладаг. Бүр зарим хэсэгүүд нь хоорондоо милимитерийг хэдэн сай хуваагаад гарах тооны зайтай байрладаг. Ийм ойрхон зайнд ийм аймар хурдаар явна гэхээр бүр л хурдан болж байгаа юм.
Компьютер үйлдвэрлэгчид 2--оос 3--н жилийн зайтай өмнөхөөсөө 2 дахин хурдан компьютер зохион бүтээсээр байгаа. 2 дахин гэдэг онол байгаалдаа, инженерүүд ур ухаанаараа яаж ийгээд л илүү хурдан, илүү жижиг мөн илүү хямд компьютерийг зохион бүтээсээр л байна. Гэсэн хэдий ч компьютерын арын гүйцэтгэдэг үйлдэл нь яг ижил хэвээр л байгаа шүү. Үүнийг л би заах гээд байгаа, эхнээс нь тайлбарлаад явж байна :).
Бит (Bit)
Компьютер дотор юу байдаг вэ? Комьютерээр юу хийдэг талаар дээр бичсэн, зураг үзэх бла бла бла. Микрскоп аваад зөв юмруу нь томруулаад харангуут зураг, кино, тоо, үсэг энэ тэр нь байж байдаг юм болов уу?
Хариулт нь ҮГҮЙ. Ямар ч тоо, үсэг, зураг, видёо хадгалдаггүй. Хадгалах ч чадамжгүй. Компьютер нэг л зүйл хадгалж чаддаг, тэрийг л хадгалах чадамжтай, өөр юу ч хадгалах боломж нөхцөл бололцоо байхгүй кк, ядаргаатай тэ.
Зоос шидээд газар буулгая, сүлд эсвэл тоо хоёрын нэг нь л бууна. Танай зочны өрөөний гэрэл ассан эсвэл асаагүй гэсэн хоёр төлөвийн нэгт л байна, гэрэлийг нь бууруулдаг, тодруулдаг энэ тэр гэсэн гоё лаг гэрэлнүүдийг тооцсонгүй шүү :). Танай гэрийн хаалга цоожлогдсон эсвэл цоожлогдоогүй гэсэн хоёр байдлын аль нэгэнд л байна.
Зоос, гэрэл, хаалга гээд миний тоочиж хэлсэн зүйлсүүд юугаараа адил байна? Адилхан зүйл нь, эднар яг тухайн мөчид байж болох төлөв, байдал нь хоёр л боломжтой байгаа биз? Тэдгээрийн нэг нь л яг нэг тухайн мөчид сонгогдсон, тэр төлөвт л байна. Үүнийг л БИТ гээд байгаа юм.
Бит бол нэгэн төрлийн зүйл, обьект. Орон зайд байрлах хаягтай, хэмжээтэй мөн өөрийн гэсэн төлөв байдалтай, тэр нь боломжит хоёр л хувилбартай, аль нэгийг нь л өөртөө агуулж байдаг. Хадгалж байгаа төлөв нь өөрчлөгдөх боломжтой, мэдээж нөгөө боломжит хоёр төлөвийн хүрээнд л.
Компьютер доторх бит нь цахилгаан агуулсан, агуулаагүй гэсэн л хоёр боломжит төлөвийн аль нэгийг агуулсан зүйл юм. Мэдээж маш жижигхэн хэмжээтэй. Гэхдээ компьютэр нь хэдэн зуун сая ширхэг бит хадгалдаг. Компьютерын хадгалдаг зүйл бол ердөө л энэ, болоо!! :).
Гээет (Gate)
За байз энэ үгийг би шууд ингээд латинаас крилрүү үсэглээд бичээд явахаар шийдлээ
За төсөөлөе. Та амралтын газар амарч байжээ. Том өрөөнд нь ортол их сайхан нартай өдөр, бүх цонхнууд нь онгорхой, яасан ч сайхан өдөрвдээ. Өө юу вэ, энэ өрөөний гэрэл нь асаалттай байна шүүдээ. Цахилгаан дэмий үрээд яахав, унтраачихдаг юм билүү? Зааа яршиг манай гэр биш. Гүээ тэгсэн ч энэ гэрэл илүү нэг л ядаргаатай санагдаад байх юм, унтрааяа. Унтраалга хайтал хаалганы хажууд хананд байрлаж байв. Гэхдээ хоёр унтраалга зэрэгцээд байрлах юм гэнэ. Унтраалга нь дээш нь, доош нь болгодог. Дээш нь болговол асаах, доош нь болговол унтраах гэсэн заавартай. Гэхдээ, аль унтраалга нь энэ өрөөнийх юм болоо гэж дотроо бодоод амжив. За хаалганд ойрхон нь байх гэтэл, хаалганд ойрхон нь доошоо дарагдсан байв. Ок, нөгөөх нь юм байна гэж бодтол мөн л нөгөөх нь доошоо дарагдсан байв. Юу вэээ, энэ нээрээ манайхан юм хийнэ гэж дандаа…. Тэгэхээр цахилгаанчин нь энэ унтраалгыг буруу харуулаад хийчиж, яг тэгж гээд хаалганд ойрхоныг нь дээш нь хуруугаараа түлхтэл гэрэл унтарсангүй. Нөгөөхийг нь дээш нь болготол гэрэв унтрав. Хаха, заза. Гэхдээ ямар инээдтэй юм гээд хаалганд ойрхоныг нь доош нь болготол гэрэл асав. Нөгөөхийг нь доош нь болготол гэрэл асаалттай л байв. Тэгэхээр хоюуланг нь дээш нь болгож байж гэрэл асдаг юм байна буюу хоюулаа унтраах гэсэн товч дээр унтардаг. Энийг хүснэгтлэж илүү дэлгэрэнгүй болгоё.
За ямар ч байсан учрыг нь оллоо. Гэхдээ хэн ийм балай унтраалга бодож олдог байна аа, цахилгаанчин нь л алдаа гаргасан дамжиггүй.
За дээрх жижигхэн түүхийг бичдэг нь одоо би компьютерийн доторх ажилдаг хамгийн энгийн бас суурь модуль буюу дэд бүтэцийг нь тайлбарлах гэж байгаа юм. Дээрх жижиг түүх дээр нэмж тайлбарлахад, унтраалгаруу цахилгааны утас ирж унтраалганд цахилгаан ирсэн байгаа. Тэр унтраалга нь мөн гэрэлийн чийдэн хүртэл цахилгааны утсаар холбогдож энэ утсаар цахилгаан гүйхүү үгүй юу гэдэгийг шийдэж удрирддаг. Мэдээж цахилгаан гэрэлийн чийдэнд ирэнгүүт гэрэл асна, эсрэг тохиолдолд гэрэл унтраалттай л байна.
Компьютер зарчимын хувьд яг л дээрх унтраалга шиг ажилдаг олон төхөөрөмжөөс бүрддэг. Энэ төхөөрөмжрүү 2 ширхэг оролт байгаа, оролт буюу ямар нэгэн зүйл ирнэ. Тэр нь бит. Мөн энэ төхөөрөмж нь 1 гаралттай ба тэр нь бас л бит. Харин ямар бит гаргах дүрмийг энэ төхөөрөмжийн дүрэм шийднэ. Тэр дүрэмийг доор хүснэгтээр үзүүлэе.
Зарим нэг ажигч уншигч, сурагч ингэж гайхаж магадгүй. Цахилгаангүй 2 бит ирэхэд яаж цахилгаан дамжуулах гээд байна аа гэж. Сайхан гайхлаа кк. Бидний бүх цахилгаан хэрэгсэл тогинд холбоотой байдаг шиг, жишээ нь хөргөгч, гар утас баттерэйгаар цахилгаантай холбогдсон, пилетка гээд бүгд л цахилгаанд холбогдцон байдаг. Яг л үүнтэй адилаар дээр тайлбарлаж байгаа төхөөрөмж нь байнга цахилгаанд холбогдцон байж байдаг. Ямар бит дамжуулахыг л удирдаж, шийдэж байгаа юм.
Энэ төхөөрөмжийг л Гээет буюу Gate гэж байгаа юм. Товчхондоо бол бит оролттой, бит гаралттай. Дээрх төхөөрөмжийг доорх зурагаар илэрхийлдэг
a, b оролт, с нь гаралтын бит.
Гээет төөхөрөмж нь зөвхөн дээрх дүрэмтэй төхөөрөмжөөр хязгаарлагдахгүй. Асар олон өөр өөр дүрэмтэй гээетүүд байдаг. Гэхдээ хамгийн гайхалтай зүйл нь юу гээч? Мөн яагаад тэр олон гээетүүдээс зөвхөн энэ дээрх гээетийг би тайлбарлав? Ямар ч гээетийг зөвхөн энэ дээрх гээетийг ашиглаад угсарч хийж болдог. Жич: гээет дотроо яг хэрхэн юугаар ажилдаг зэрэг нь илүү електроникын асуудал тул бидэнд энэ хамаагүй гээд ойлгочиж болно.
Үү нээрээ тийм, олон гээет байж болно гэсэн, гээет бүрээ бас нэрлэдэг шүү. Хүн бүр өөрийн оноосон нэртэй байдаг шиг гээет бүр оноосон нэртэй. Дээрх гээетийн нэр нь ‘NAND’.
Жишээ болгоод мөн үндсэн гээетүүдийн нэг NOT гээетийг хийж үзүүлье. NOT гээет нь 1 оролттой, 2 гаралттай. Тэмдэглэгээ дүрс болон дүрэм нь доорх хүснэгтэд байна.
NAND гээетийг ашиглаж дараах байдлаар хийнэ.
Тайлбарлавал, NAND гээетийн 2 оролт болох a, b нь хоюулаа ижил л гэсэн үг.
Одоо мөн үндсэн гээетүүдийн нэг болох AND гээетийг авч үзье. AND гээет нь хоёр оролттой, нэг гаралттай. Тэмдэглэгээ дүрс болон дүрэм нь доорх байдлаар тодорхойлогдоно.
NAND гээетээ ашиглая:
Харж байгаачлан 1 NAND гээет болон 1 NOT гээет ашиглаад хийчиж байна. NOT гээет нь үнэндээ 1 NAND гээетээс хийгддэг шүүдээ. Тэгэхээр 2 NAND гээетээр хийчиж байгаа юм.
Зиак, энэ хүрэхэд хэр санагдаж байна? Компьютерийн дотоод ажиллагааны үндсэн логикыг бид мэдчихлээ шүү дээ. Надад итгэ, хэрвээ та энэ хүртэл ойлгосон бол компьютер хэрхэн ажилдагийг ядах юмгүй ойлгоно, ойлгож явна. Компьютер нь дотроо үнэндээ ийм зарчимаар л бит дамжуулж хадгалж мөн энэ бит дээрээ үйлдэл хийдэг л энгийн зүйл. Одоо жаахан гүнзгийрэе. … санаа зовох хэрэггүй, бас л амархан байх болно :).
Цааш нь
Та компьютерийн санах ой, рам (RAM) гэж сонсож л байсан байх тэ. Тэгвэл энэ нь үнэндээ юу байдагийг одоо заая.
Компьютер нэгэнт л зөвхөн бит--г хэдэн гээетүүдийн хооронд шилжүүлж, хооронд нь нэмж хасаж өөрчилж, мөн хадгалдаг гэсэн учраас бит хадгалах төхөөрөмж нь хамгийн чухал төхөөрөмжүүдийн нэг нь байх нь.
За дээрх дүрс, гэхдээ диаграм гэвэл илүү тохирох нэршил байх шиг, бол 1 бит хадгалах төхөөрөмж. Харж байгаачлан нөгөө л NAND гээетүүд явж байна. Гээет маань 2 оролттой, 1 гаралттай.
‘i’ оролт нь хадгалах гэж байгаа бит. ‘s’ оролт нь хагдалах уу үгүй юу гэдэгийг илтгэх оролт. Тэгэхээр энэ гээет нь бас хадгалахгүй гэсэн сонголт байх нь ээ. ‘o’ гаралтын бит нь хадгалагдсан битийг л гаргана.
Тохироё
Бит--ийн төлөв болох цахилгаантай, цахилгаангүй бит гэдэгийг үгээр ингээд бичээд байхаар ядаж бичихэд маш урт цаашлаад ядаргаатай байгаа биз? Нэгэнт л бид энэ нь цаанаа юу гэсэн үг вэ гэдэгийг ойлгож мэдсэнээс хойш цахилгаантай бит--г 1--ээр, цахилгаангүй бит--ийг 0--ээр тэмдэглэж тохироё.
Цахилгаантай бит -- 1
Цахилгаангүй бит -- 0
За дээрх диаграмыг ашиглаад дүрмийг нь тооцож гаргавал доорх байдлаар гарна. Эрхэм уншигч та өөрөө шалгаад үзээрэй.
За тайлбарлая. 1 зүйл дээр гайхаж байгаа байх. c бит нь b болон o битээс шалтгаалж байгаа, гэтэл хамгийн анхны үйлдэл дээр o шаардлагатай шүүдээ гэж. Энэ тохиолдолд RESET гэсэн үйлдэл байдаг. Тэр нь дээрх хүснэгтэнд 0 дугаартай байна. 4 дэх гээет нь b, c гээс шалтгаална, 0 дугаартай үйлдэл дээр 4 дэх гээет нь o бит ямар ч утгатай байсан гаралт нь 1 гэсэн бит л байна. Энийг шалгаад үзээрэй :).
s оролт 1 үед л i битийн утгыг хадгалж мөн o бит дээр гаргаж байгаа. Харин s оролт 0 үед хадгалагдсан битийг о бит гаргаж байгааг шалгаарай.
Бид одоо энэ санах ой хэрхэн ажилдагийг ойлгосон учраас дээрх диаграм шиг нүсэр байдлаар тэмдэглэж явна гэвэл бүтэхгүй. Яг зөв дүрс тэмдэглээ нь доорх байдлаар байна.
Санах ой буюу memory учраас М--ээр тэмдэглэхнээ. s=1 үед санах ой нь i--г хадгална, s=0 үед санах ойн гаралт нь хадгалагдсан битийг гаргана, i энэ тохиолдолд хамаагүй болж байна.
Найм
Зиак, дажгүй юу? Хэр байна кк. Ямар ч байсан компьютер нь бит хэрхэн хадгалдагийг мэдлээ. Бид зөвхөн цахилгаантай, цахилгаангүй гэснээс илүү учиртай зүйл хадгалахын тулд найман ширхэг бит хадгалдаг төхөөрөмж бүтээе.
i оролтуудад ямар утгууд ирнэ s оролт 1 байвал шууд бүгдийг нь хадгалахнээ. Бид найман ширхэг бит хадгалах гэж байгаа учраас бит хадгалдаг найман ширхэг төхөөрөмж хэрэг болсон байна. Найман ширхэг битийг компьютерт тусгайлан нэрлэдэг ба нэр нь BYTE буюу бааят гэж нэрлэнэ. 8 bits = 1 Byte. Зүүн гар тал дахь диаграмыг товчлоод баруун гар талд зурсан шүү.
Бид ганцхан биттэй ажилдаг байсан үед гаралт нь ганцхан бит л байдаг байж. Харин ингээд олон биттэй харьцдаг болоод ирэхээр дээрх санах ойн утга болох 1 бааят утга нь 0000 0000 иймэрхүү болох нь. Хооронд нь зай авдаг нь уншихад хялбар болгох гэж л тэр шүү. Хамгийн зүүн гар талын 0 нь дээрх зураг дээр хамгийн дээд талын o утга. Мөн дараалал хамаатай шүү.
Ганц бит үед боломжит төлөв нь 0 ба 1 гэсэн хоёрхон төлөв байна. 2 бит үед буюу 2 гаралттай гээетийн хувьд боломжит гаралтын төлөв нь 00, 01, 10, 11 гэсэн 4н төлөв байна. 3 үед 000, 001, 010, 011, 100, 101, 110, 111 буюу нийт 8. 4 үед хэд бол? Мөн 8 үед бас хэдэн боломжит гаралт байгаа бол? Энэ гаралтын утгийг үг гэж төсөөлөе. Жишээ нь 4 үед гэхээр 4 урттай үг байх нь. Үгийн үсэг бүр нь боломжит 2хон сонголттой. Үүсэж болох ялгаатай үгнүүдийн тоо нь тухайн гээетийн боломжит гаралтын утгын тоотой тэнцүү гэсэн үг. Үсэг болгон 2 боломжит үсэгтэй (0, 1) мөн 4 урттай гэхээр 2*2*2*2 буюу нийт 16 боломжит гаралтын утга байх нь. Ерөнхий тохиолдолд к ширхэг гаралттай гээетийн хувьд хичнээн ширхэг боломжит гаралт байж болох вэ гэвэл 2*2*....*2 к ширхэг 2 буюу 2k ширхэг боломжит гаралт байх нь. Тэгэхээр 8 үед 28 = 256.
Дээр тайлбарласан 256 боломжит гаралт бүр ямар нэгэн зүйлийг төлөөлж санах ойдоо тэр гаралтуудыг л хадгална. Боломжуудыг тооцож харуулсан нь тийм л учиртай. Одоо доорх байдлаар илүү дэлгэрэнгүй гоё тайлбарлая.
Мөрдлөгөө
Компьютерт хийдэг хамгийн энгийн зүйлсийн нэг нь текст, эх бэлтгэх. Тескт, эхийн үндсэн бүрдэж байгаа зүйл нь үсэг, тоо болон тусгай тэмдэгтүүд. Үсэг, тоо болон тусгай тэмдэгтүүдийг character буюу таних тэмдэг гэж тохироё. Тэгэхээр үүнийг хийх санаа нь уг нь энгийн. Дээрх 256 боломжит гаралтуудын утгыг л эдгээр таних тэмдэгүүдэд харгалзуулах юм. Жишээ нь:
Дээрх байдлаар л компьютер танх тэмдэгийг хадгалдаг. Санаа, логик нь энгийн байгаа биз? Гэвч ийм асуудал гарсан. Компьютер үйлдвэрлэгчид бүгд тус тусдаа дээрх хүснэгтийг өөр өөр өөсрдийхөөрөө хийцгээж эхэлсэн. Гэтэл компьютерүүд хоорондоо холбогдож ажиллах ёстой, бас тооцоолол зэрэгт төвөгтэй байв. Яагаад гэвэл бүгд өөр өөрсдийн хувилбартай болцон. Тэгэхээр нөхдүүд бүгд нийлж хурал зөвлөгөөн хийж байгаад таних тэмдэгтүүдийг компьютерт хадгалах, харгалзах гаралтуудын утгийг гаргаж бүгд үүнийгээ дагаж мөрдөхөөр болсон. Уг мөрдлөгөөг American Standard Code for Information Interchange гэх код, стандартыг баталсан. Уг стандартын хэсгээс үзүүлвэл:
Буцаад бааят--руугаа ороё
Одоо дахин өөр нэг төхөөрөмжийг үзье. Энэ нь Enabler гэдэг нэртэй, гаргагч гэж нэрлэж болно.
Оролтын i бит бүр e оролттой AND гээетээр холбогдсоныг харж байгаа байх. Тэгэхээр i оролтуудаар орж ирсэн утгууд e оролт 1 үед л бүгд o гаралтруу гарна. e оролт 0 үед i оролтны утгууд цаашаа явахгүй гэсэн үг. Одоо бааят төхөөрөмжийг enabler төхөөрөмжтэй нэтгэе.
Одоо л бид 8 бит мэдээллийг буюу бааятыг хадгалах мөн цааш нь гаргах боломжтой төхөөрөмжтэй боллоо. Үүнийг Register буюу бүртгэгч төхөөрөмж гэж нэрлэдэг.
Шидэт бит дамжуулагч, тээвэрлэгч
Цаашдаа регистер буюу бүртгэгч төхөөрөмжүүдийг олноор нь хооронд нь холбох хэрэг гарна. Энэ нь цаашлаад юу гэсэн үг вэ гэвэл нөгөө оролт, гаралтын утгууд болох цахилгаантай, цахилгаангүй битүүдийг нэг регистерээс нөгөө регистерүүдрүү зөөх, шилжүүлэх хэрэг гарж байна. Нэг бит утга бүрийг нэг гаралтаас нөгөө гаралтруу шилжүүлэхэд 1 ямар нэгэн төрлийн цахилгааны утас хэрэг болно. Үүнийг дамжуулагч гэж нэрлэе. Тэгэхээр регистерээс регистер хооронд найман дамжуулагч хэрэг болох нь. Энэ нь бид зурахад ч төвөгтэй байгаа тул үүнийг давхар 2 зураасаар тэмдэглэе. Яг л доорох байдлаар.
Дээрх диаграмыг товчлоход:
Ингэж найман утсыг хооронд нь багцлах нь компьютер инженерчлэлд их түгээмэл ашиглагддаг, мөн өөрөө ч бас тусгай нэртэй. Энэ нь BUS гэдэг.
Компьютер дотор BUS нь яг л замаар явах тээвэрлэгч аятай ажилдаг. Нэг газараас нижгээд байршилд дата буюу утга зөөвөрлөдөг. Мэдээж асар хурднаар шүүдээ.
Жишээ нь бидэнд доор зураг шиг 5 регистер байг. Оролт болон гаралтууд бүгд 1 BUS--д холбогдсон. Харин s, e оролтууд хаа нэгэн газараас ирнээ гэж үзье.
Хэрэв бүх регистерүүдийн e болон s оролтууд 0 байвал регситерийн утгууд ямар байсан яг л тиймээрээ хадгалагдана. Регситер 2--н утгийг регистер 4т шилжүүлэе. Тэгэх тулд регистер 2--н гаргагч буюу e оролтыг 1 болгоно. Ингэнгүүт BUS --т регистер 2--н утга ирнэ. Ингэж ойлгох хэрэгтэй. Тухайн регистерийн гаргагч оролтыг 1 болговуу үгүй юу BUS тэр чигтээ уг регистерийн утгаар дүүрнэ. BUS--н аль ч хэсэгт бай, тухайн утга байж байна гэсэн үг. Ийм болохоор нь шидэт гээд байгаа юм. Одоо регистер 4--н s оролтыг 1 болгох тэр мөчид регистер 4 нь оролтоо хадгалах буюу регистер 2--н утгыг хадгална. Хэд хэдэн регистерийн s оролтыг зэрэг 1 болгож болно. Мөн л шууд тухайн BUS дээр утгыг тус тус шууд хадгална. Харин 1 цаг мөчид 1--ээс илүү регистерийн e оролт буюу гаргагчийг 1 болгож болохгүй.
Одоо дахин нэг товчлол хийе.
За одоо ганц 2 төхөөрөмж танилцуулагдсаны дараа эдгээр нь ямар учитрай байсан нь тайлагдаад бүр гоё мэдрэмж авна аа.
3--н оролт 1 гаралттай дараах гээетийг үзье.
AND гээетүүд байгаа учир та өөрөө оролт, гаралтын утгуудыг тооцоолох гээд үз. Мөн хэдэн ч оролт шинээр нэмэх замаар гээет үүсгээд байж болно.
Одоо үзэх төхөөрөмж бол дээрх төхөөрөмжнүүдээс арай өөр. Юугаар өөр вэ гэхээр гаралт нь оролтоосоо их. Decoder гэж нэрлэдэг.
Энэ төхөөрөмжний хэрэглээ буюу санаа нь, оролтын утгын боломжит хувилбар бүрийг гаралтын 1 утганд харгалзуулж байгаа явдал. Гаралтуудын нэг нь л 1 утгатай байна гэсэн үг. Би тайлбарлах үүднээс л гаралт дээр ташуу зураастай 2 тоо бичлээ. Тэрнээс биш мөн л 0 болон 1 л байна.
Дээрх декодерыг өргөтгөөд 2X4, 3X8, 4X16 гэх мэт хийж болно.
Товч тэмдэглэл дүрс нь доорх байдалтай байна.
Компьютерийн яг тал нь
За одоо мэдэх зүйлсээ ашиглаад компьютерийн яг талыг нь угсарч үзье.
Яаая, аймар зураг байна уу? Гэхдээ мэдэх юмнууд харагдаад байгаа биз? Одоо би нэмж тайлбарлаж өгөөд л энгийн байсан нь ойлгогдоно. 1 регистер, 2 4Х16 декодор. 2 декодорын гаралтууд хичнээн ширхэг огтлол байгаа вэ? 16*16 буюу 256 огтлол. Энэ зураг дээр харагдахгүй байгаа 1 зүйл нь декодеруудын огтлол бүр дээр регистер байгаа. Доор томруулж үзүүлье.
Декодеруудын гаралтууд бүгд хоорондоо зөвхөн нэг нэг л огтлолтой байна. Х гээетийг харж байгаа байх. Нийт 256 Х гээет байгаа гэсэн үг. Гэхдээ зөвхөн 1 нь л 1 гэсэн утгыг авах нь байна. Тэр огтлолд байгаа регистерт BUS дотор байгаа утгийг хэрэв s оролт 1 байвал хадгална гэсэн үг. Зүүн дээр байгаа регистер бол эдгээр 256 огтлолын хаягыг тооцоолж гаргадаг байх нь, MAR гэж нэрлэдэг. Тэр хаяг дээр нь BUS--д байгаа бааят утгыг s=1 тусламжтай хадгалж байна.
Энэ бол компьютерийн БҮТЭН САНАХ ОЙ. RAM -- Random Access Memory. Дурын хандалтат санах ой. Яагаад дурын гэж нэрлэсэн гэхээр, аль нэг хаягт хандахад ямар ч дараалал байдаггүй, хэрэгтэй хаягруугаа шууд хандаж болдог болохоор дурын гэж нэрлэсэн.
Дээрх дигарам дээр нийт 256 регистер байгаа буюу регистер бүр нь 8 бит буюу BYTE, бааят учир энэ санах ой нь 256B, 256 бааят хэмжээтэй санах ой байх нь. Одоо дээрх диаграмыг сураагүй юм биш товчлоё.
За ингээд компьютерийг бүрдүүлэгч хамгийн чухал зүйлсийн тэн хагас нь ингээд боллоо. Надад итгэ, ерөөсөө л энэ :). Бид дөнгөж сая санах ойг компьютер яг яаж ажилдагаар нь загварчилчихлаа.
256B гэдэг бол үнэндээ маш жижиг хэмжээтэй санах ой. Арай томруулж үзэх үү? MAR буюу хаяг тооцоологч дээр 1 регистер нэмээд 2 ширхэг 8x256 декодер ашиглая. Тэгэхээр 256*256 огтлол буюу 65,536 ширхэг хаягтай байрлал дээр бааятууд хадгалагдана гэсэн үг. Зураг нь ямар юм болох бол?
Дээрх бол 64KB санах ой.
За одоо үүний дараа би нөгөө нэг 1 чухал тал болох мөн компьютерийн зүрх нь болсон CPU (Central Computing Unit) Үндсэн тооцоологчийг тайлбарлаж бүтээж үзүүлнэ.
But how do it know?
ReplyDeleteholbogdoh hayg bn u? uldeegeerei esvel ping me
Delete