Monday, June 28, 2010

MEMORY

Санах ой

Компьютерийг санах ойгүйгээр төсөөлөхийн ч арга байхгүй билээ. Учир нь санах ой гэдэг компьютерийн үндсэн бүрэлдэхүүний нэг хэсэг бөгөөд боловсруулах өгөгдөл болон гүйцэтгэх командаа хадгалдаг бааз нь юм.

Компьютерийн үндсэн санах ой болох РАМ РОМ дээр гадаад санах ой болох Хатуу диск болон бусад санах төхөөрөмжүүдийг нэмээд санах ойн систем гэдэг.

Санах ойн физик хэлбэрээрээ үндсэн 3 төрөл байдаг.

- Хагас дамжуулагч (РАМ РОМ Регистр)

- Соронзон(хатуу диск кассет)

- Оптик (Диск Флейш)

Харин CPU хэр ойрхон байрлахаараа санах ойн хурд тодорхойлогдох юм. CPU –д хэдий чинээ ойрхон байна төдий чинээ хурдан боловч багтаамж багатай байна.

Регистр

Регистр нь CPU дотороо байрладаг бөгөөд боловсруулалтанд орох болон боловсруулалтаас гарсан өгөгдөл, тэдгээрийн хаяг, командын кодыг түр хадгалдаг санах ой юм. Регистр нь тригерээс тогтдог бөгөөд харин хэмжээ нь тухайн процессорынхоо архитектураас хамаарч янз янз байна.

Кейш

Кейш ой нь рам регистр хоёрын хооронд байрлах бөгөөд кейш ойд хамгийн олон давтамжтай ачаалагддаг өгөгдөл агуулагдана. Өөрөөр хэлбэл процессор нь рамнаас өгөгдөлөө ачаалласнаас кейш ойгоос ачаалласан нь хурдан учраас байнга ачаалдаг өгөгдлөө кейш ойд хадгална. Мөн РАМ-наас Кейш ойруу блок блокоор өгөгдөл дамждаг бол Кейшээс регистр лүү байт байтаар дамжина.

РАМ(Random access memory)

Энэ нь түр хадгалах байгууламж буюу тэжээлээс салсан тохиолдолд доторх мэдээлэл нь устдаг санах ой юм. Рамыг энгийн үгээр тайлбарлавал процессорын ажиллуулж байгаа буюу үйлдлийн систем хэрэглээний программууд бүгд рам дээр ачаалладаг. Иймээс орчин үеийн өндөр хүчин чадалтай компьютерүүд өндөр багтаамжтай рам шаардах болсон.

Рам нь дотроо статик рам, динамик рам гэж 2 янз байдаг.

Динамик рам

Динамик рам нь матрицан бүтэцтэй бөгөөд матрицын огтлолцол бүр дээр 1 конденсатор байрладаг. Энэ нь санах ойн нэг үүр юм. Мөн динамик рам нь байнга өөрийгөө дахин шинэчилж байдаг бөгөөд ингэх нь санах ойд байгаа мэдээлэл устахаас хамгаалдаг. Харин багтаамжийн хувьд статик рамаас харьцангуй илүү. Учир нь нэгд конденсатороос тогтдог учраас овор хэмжээ бага хоёрд матрицан бүтэцтэй учраас хамаагүй бага хаягийн шугам ашигладаг. Үүрүүдээ хаяглахдаа RAS CAS гэсэн 2 хаягийн шугамны тусламжтай хаягладаг бөгөөд процессороос ойрхон давтамжтай 2 хаяг ирдэг гэсэн үг. Харин аюулгүй байдал болон хурдны хувьд динамик рам нь статик рамаа гүйцэхгүй.

Статик рам

Статик рам нь дан тригерээс тогтдог буюу нэг санах ойн үүр нь нэг тригер байдаг. Тригер гэдэг нь өмнөх төлөвөө хадгалдаг элемент юм. Статик рам нь овор хэмжээгээрээ динамик рамаас харьцангуй том багтаамж багатай боловч найдвартай илүү хурдтай зэрэг давуу талтай. Найдвартай гэдэг нь тогийн л таслахгүй бол нэг хадгалагдсан мэдээлэл нь хэдэн ч жил болсон найдвартай байж байдаг гэсэн үг. Ийм учраас РОМыг мөн адил тригерээр хийдэг. Харин динамик рамын хувьд конденсаторууд нь байнга цэнэгээ алддаг учраас байнга өөрийгөө шинэчилж байхгүй бол бүх мэдээлэл нь устдаг. Статик рамын өөр нэг сул тал нь маш их хаягийн шугам ашигладаг. Өөрөөр хэлбэл 216 зэрэг буюу 64КВ статик рамыг хаяглахын тулд 16 ширхэг хаягийн шугам ашиглах бол динамик рам дээр 8 ширхэг хаягийн шугам хэрэгтэй. Үүгээрээ динамик рам нь харьцангүй өндөр багтаамжтай байдаг.

РОМ(Read only memory)

Ром нь статик рам шиг тригерээс тогтдог бөгөөд процессор нь ромноос өгөгдөл уншиж болохоос бичиж болдоггүй. Мөн ром нь тэжээлээс салсанч доторх мэдээлэл нь устдаггүй бөгөөд ром-нд зөвхөн BIOS буюу техник хангамжын хэсгийг удирддаг программ хангамж байрладаг.

Ром нь дотроо олон янз байдаг

- PROM(programmable ROM)

Энэ программчилж болдог ром бөгөөд бичсэн программаа устгаж болохгүй учраас зөвхөн нэг л удаа программчлана.

- EPROM(Erasable programmable ROM)

Энэ нь программчилж мөн бичсэн программаа устгаж болдог. Харин гэрэлд хэт мэдрэмтгий бөгөөд халуун наранд 3-4 7 хоногт, хүчтэй гэрэлд 1 жилд доторх мэдээлэл нь устах аюултай. Үүнийг ихэвчлэн угаалгын машин болон жижиг цахилгаан хэрэгсэлд ашиглана.

- EEPROM(Electrically Erasable Programmable ROM)

Энэ нь EPROM-той адил бөгөөд харин түүнээс илүү олон удаа буюу хэдэн арван мянгаас хэдэн сая удаа программчилж устгаж болдог. Ихэвчлэн телевиз болон гар утасны санах ойд ашигладаг.

Хийсвэр санах ой(Virtual memory)

Өнөөгийн өндөр хүчин чадалтай компьютерт бага зардлаар их хэмжээний санах ой гаргахын тулд хийсвэр ойг ашигладаг. Хийсвэр ой нь үндсэн санах ой буюу РАМ бөгөөд тухайн компьютерийн физик багтаамжийг ихэсгэх нэг арга гэж хэлж болно. Ингэхийн тулд үндсэн санах ой буюу РАМ дээрээ хатуу диск болох HARD дискний зарим хэсгийг РАМ хэлбэрээр ажиллуулж гарган авдаг.

Sunday, June 27, 2010

INTEL x86

Түүх

1978 онд INTEL-нхэн хуучны 8 битийн(8080 8008 8085) микропроцессороо өргөтгөн 16 битийн 8086 микропроцессор гаргаж байсан. Энэ нь одоогийн х86 архитектурын үндэс юм.

INTEL компани нь 1982 онд 16 битийн х86 процессортой INTEL80186 буюу та бидний сайн мэдэх 1-86 компьютерээ гаргаж байсан. Уг процессор нь 6MHz-25MHz давтамжинд ажилладаг 1МВ санах ойтой. Тухайн жилдээ INTEL –нхэн 1-86 сайжруулан санах ойн хэмжээг 16МВ хүртэл ихэсгэж Multitasking буюу олон программ зэрэг ажлуулдаг болгон 2-86 компьютерийг гаргасан. 1985 онд INTEL 3-86, AMD AM386 компьютер гаргасан нь хамгийн анхны 32 битийн х86 архитектуртай компьютерууд байсан юм. Харин 1989 онд х86 процессорт pipelining буюу зэрэгцээ боловсруулалт хийдэг болсноор түүний хүчин чадал эрс нэмэгдсэн. Үүнээс хойш 4-86, Pentium pro, Pentium 2, Pentium 3, Pentium 4 гэх мэтчилэн улам дэвшингүй хөгжсөөр 2004 онд анхны 64 битийн х86 процессортой Pentium 4 Prescott, AMD Athlon64 гарсан. Өнөө үед INTEL-н Core2duo, Core i3, Core i5, Core i7, AMD Athlon, Opteron, Phenom зэрэг өндөр хүчин чадал бүхий процессорууд бүгд х86 архитектуртай байдаг.

Х86 архитектур нь CISC архитектур дээр суурилагдсан бөгөөд орчин үед энэ нь илүү дэвшилтэд болж CISC RISC хоёр

ын холимог архитектур болсон.

Дотоод бүтэц














Санах ойн хаяглалт

Анхны х86 буюу 8086 болон 1-86 нь 1МВ санах ойтой байсан бөгөөд 16 битийн процессор учраас хаягийн шугамны өргөн нь буюу хаягийн регистрийн урт нь 16 бит байна. Иймд хаяглаж чадах дээд хэмжээ нь 216=64КВ юм. Дээр нь 4 битийн сегмент сонгуурийн регистртэй бөгөөд нийт 24=16 сегменттэй. Ингээд нийтдээ 64КВ –н 16 сегменттэй гэхээр 1МВ санах ойтой болж байна.

Харин 32 болон 64 битийн процессорын хувьд санах ойн хаягийн регистр нь мөн 32 болон 64 бит байдаг учраас ихээхэн хэмжээний санах ойг хаяглах хүчин чадалтай.

64 битийн х86 процессорын хаяг нэгтгэх функц





Регистр ба командууд

64 битийн х86 процессор нь нийтдээ 69 регистртэй бөгөөд ерөнхий зориулалтын болон заагч регистрүүдийн урт нь 64 бит байдаг. Ерөнхий зориулалтын регистр гэдэг нь хамгийн өргөн хэрэглэгддэг регисртүүд бөгөөд жишээлбэл Аккумлятор регистр, тоолуур регистр, өгөгдлийн регистр зэрэг багтана. Мөн 64 битийн х86 процессор нь 16 битийн 6 сегмент регистртэй бөгөөд хаяглаж чадах санах ойн дээд хэмжээ нь 264*216*6 болно.

Харин процессор нь санах ойтойгоо 7 янзаар харицдаг бөгөөд үүнийг өөрөөр санах ойн хаяглах арга ч гэж хэлдэг. Энэ тухайн агшинд хийгдэж байгаа командаас шалтгаалдаг. Команд нь opcode(командын машин код) болон operand(үйлдэлд орох өгөгдөл болон өгөгдлийн санах ойн хаяг) хоёроос тогтох бөгөөд тухайн ком

андаасаа шалтгаалан хэдэн ч operand-тай байж болдог.

z Immediate(шууд)

Энэ нь тухайн кома

нд өөртөө шууд өгөгдлөө агуулдаг бөгөөд санах ойтойгоо шууд харьцана. Жишээ нь: ADD 5 үүнд 5 нь өгөгдөл бөгөөд аккумляторт 5-г олгоно.

z Direct( санах ойн шууд)

Энэ нь тухайн команд нь өгөгдлийнхөө санах ойн хаягийг агуулдаг.

Жишээ нь: ADD A үүнд А нь өгөгдлий

н санах ойн хаяг бөгөөд аккумлятор нь энэ хаягаар дамжиж өгөгдлөө авна. Гэхдээ энэ нь бага хэмжээний санах ойд ашиглагдана.

z Indirect( санах ойн шууд бус)

Энэ нь тухайн команд өгөгдлийнхөө санах ойн за

агч хаягийг агуулдаг бөгөөд томоохон хэмжээний санах ойтой харьцхад ашиглана. Жишээ нь: ADD (A)


z Register( регистрээр шууд)

Энэ нь регистрт өгөгдөл байрлах бөгөөд үйлдэл хийхдээ тухайн регистрээсээ өгөгдлөө авна. Жишээ нь: R8= 5; EA = R8; үүний үр дүнд EA = 5 болно.

z Register Indirect( регистрээр шууд бус )

Энэ нь регистрт өгөгдлийн санах ойн хаяг байрлах бөгөөд үйлдэл хийхдээ тухайн регистрдэх өгөгдлийн хаягаар дамжина.Жишээ нь: 0x00075 => 5 ; R8= 0x00075; EA = (R8); үүний үр дүнд EA = 5 болно.


z Displacement (Indexed)

Энэ нь өгөгдлөө 2 хаягийн нийлбэрээр гаргаж авдаг бөгөөд нэлээн том хэмжээний санах ойгоос буюу сегментчлэгдсэн санах ойтой харьцахад хэрэглэнэ.

z Stack( стек ой)

Энэ нь стек ойд өгөгдлөө түр хийгээд дараа нь буцааж стек ойгоос гаргаж авдаг. Годуу цөөхөн регистр ашиглаж байгаа нөхцөлд хэрэглэдэг. Жишээ нь: R9=5; push R9; R9=7; …..; pop R9; үүний дараа дунд нь R9-д ямарч утга олгосон бай одоо 5 гэсэн утга байна.

Ажиллагааны горимууд

Х86 процессор нь нийтдээ 4 төрлийн ажиллагааны горимтой:

1. Бодит горим(real mode)

2. Хамгаалагдсан горим(protected mode)

3. Хийсвэр горим(virtual mode)

4. Холын горим (long mode)

Бодит горим

Энэ нь хамгийн анхны х86 процессорын ажиллагааны горим бөгөөд санах ойгоо 20 бит буюу 1МВ сегментэд хуваан ажилладаг байсан. Өөрөөр хэлбэл хийсвэр хаяг буюу хуудаслалт сегментлэл гэж байхгүй дан физик хаягаар хандан ажилладаг. Орчин үеийн х86 процессор нь зөвхөн Reset хийгдсэн үед л энэ горимд ажилладаг.


Хамгаалагдсан горим

Энэ горим нь хамгийн анх 3-86 процессорт тавигдсан бөгөөд энэ горим бий болсоноор олон программ зэрэг ажиллах болон үйлдлийн систем нь программ хангамжуудаа удирдахад хялбар болсон. Мөн энэ горим бий болсоноор санах ойг хуудаслах, хийсвэр санах ой байгуулах зэрэг давуу талууд бий болсон.

Хийсвэр горим

Энэ горим нь бодит горим болон хамгаалагдсан горим хоёрын холимон гэж хэлж болно. Учир нь санах ойгоо зохион байгуулахдаа хамгаалагдсан горим шиг хийсвэр ой үүсгэх бөгөөд харин программ биелүүлэхдээ бодит горимшиг ажиллана.

Холын горим

Энэ горим нь нэлээн сүүлд гарсан бөгөөд зөвхөн 64битийн процессорд ажилладаг. Энэ горимоор ажиллаж байхад хийсвэр болон бодит горимууд ажиллахгүй.

Та бүхэндээ INTEL болон AMD процессоруудын суурь болсон х86 архитектурын тухай хүргэлээ. Дараагийн нийтлэлээрээ санах ойн тухай болон бүтэц зохион байгуулалтын тухай хүргэнэ.





Tuesday, June 22, 2010

Computer Hardware

Өнөө үед компьютер нь бидний амьдралын салшгүй нэг хэсэг болон бидний ажлыг дээд зэргээр хөнгөвчлөх үнэнч туслах минь билээ. Би энэ блог дээрээ та бүхэнд компьютерийн бүтэц болон техник хангамж талаасаа үүсэл хөгжил түүний архитектур дизайны талаар өөрийн өчүүхэн мэдлэгээсээ хуваалцая.

Хамгийн анхны цахим тооцоолуурын машин 1943 онд Америкын нэгдсэн улсын Пенсильваний мужийн их сургуульд ENIAC(Electronic Numerical Integrator And Computer) нэртэй хийгдэж байжээ. Энэхүү цахим тооцоолуур нь 30 тонн жинтэй 18000 мянган жижиг хэсгээс тогтдог секундэнд 5000 үйлдэл хийх хүчин чадалтай хэрнээ одоогийн бидний хэрэглэдэг алгын чинээхэн тооны машин шиг 10хан оронд үйлдэл хийж чаддаг байжээ. Гэхдээ энэхүү цахим тооцоолуур нь 1955 он хүртэл ашиглагдсан бөгөөд харин 1952 он Von Neumann –ны компьютер буюу бидний өнөөгийн хэрэглэж буй компьютерийн өвөг эцэг Принцтоны институтэд бүтээгджээ. Энэ нь өөрийн гэсэн санах ой, арифметик байгууламж, программ хангамж, оролт гаралтын төхөөрөмжтэй байсан юм. Мөн 1953 онд IBM корпораци хамгийн анхны 701 компьютероо бүтээж байсан бөгөөд эдгээр нь овор хэмжээны хувьд асар том хэвээрээл байлаа. Харин 1958 оноос эхлэн транзисторыг компьютерт ашигласнаар компьютерийн шинэ эрин үе эхэлсэн гэж хэлж болно. Хамгийн анхны транзистортой компьютер нь IBM7000 байсан юм. Гэхдээ 6-хан жилийн дараанаас буюу 1964 оноос эхлэн транзисторын хэмжээ улам жижигсэж чип гэдэг зүйл бий болсоноор нэг чипэнд 100 хүртэл тооны элемент байрлуулж компьютерийн овор хэмжээ улам багссан. Gordon Moore бид энэ хүний тухай дурсалгүйгээр компьютерийн түүхийг яриж болохгүй. Gordon Moore нь микро электроник, чип, компьютерт амьдралаа зориулсан хүн. 1970 онд Moore’s Law буюу моорийн хуулийг гаргасан бөгөөд түүний зарчмийг одоо хүртэл баримталсаар байгаа. Моорийн хуулиар 18 сар бүр нэг чипэндэх транзисторын тоо 2 дахин ихэснэ, чипний хэмжээ багасах тусам түүний бат бөх чанар сайжирна мөн дотоод холболт багасч найдвартай ажиллагаа сайжирна гэсэн байдаг. Үүний ч дагуу 1971 он гэхэд нэг чипэнд 3000 орчим элемент байрладаг болж энэ цааш 1977 онд 100,000 гэх мэтчилэн хөгжсөөр өнөө үед нэг чипэнд 100,000,000 орчим элемент байрлаж байна. Хамгийн анхны микропроцессортой компьютер нь 1971 онд зохиогдсон Intel 4004 компьютер юм. Микропроцессор гэдэг нь CPU-н элементүүд өмнө нь тусдаа чипэнд байрладаг байсан бол энэ үеээс нэг чипэнд бүгд байрладаг болсон. Энэ нь компьютерийн хөгжилд нэгэн шинэ алхам болсон.



Компьютерийн архитектур

Энэ нь маш өргөн хүрээтэй ухагдахуун бөгөөд анх 1959 онд IBM-н судалгааны багд ажиллаж байсан Lyle R. Johnson, Muhammad Usman Khan, Frederick P. Brooks зэрэг хүмүүс гаргаж байжээ. Компьютерийн архитектур гэдэг нь уг компьютерийн бүтэц, түүний бүрэлдэхүүн хэсэг, зохион байгуулалт, санах ойн бүтэц зэрэг бүх зүйл орох бөгөөд дотроо 3 үндсэн хэсэгт хувааж үзэж болдог.

1. Командын багцын архитектур

Үүнд программын хэл, командуудын төрөл, санах ойн хаяглалт, процессорын регистрүүд зэрэг орно.

2. Микро архитектур

Энэ компьютерийн зохион байгуулалт буюу жижиг элементүүдийн хоорондох холболт зэрэг орно.


3. Системийн загвар

Үүнд системийн холболт буюу дотоод холболт, санах ойн удирдлага ба шатлал, CPU-ны ажиллагаа, боловсруулалт зэрэг орно.


Компьютерийн гол цөм нь болсон Central Processing Unit буюу CPU-ны архитектурын талаар цааш нь дэлгэрэнгүй тайлбарлъя. CPU нь арифметик логик байгууламж, регистр, удирдлагын хэсэг гэсэн 3 үндсэн хэсгээс бүтдэг боловч архитектурынхаа хувьд RISC ба CISC гэж 2 хуваагддаг.

RISC(Reduced Instruction Set Computer) архитектур –1986он

Энэ нь багасгасан командын командын багцтай компьютер буюу CPU энгийн цөөхөн команд ашиглан үйлдэл гүйцэтгэдэг. Өөрөөр хэлбэл RISC-н командууд 1 клокд хийгддэг энгийн хэлбэртэй цөөн тооны командууд байдаг. RISC-г өөрөөр программ хангамж дээр суурилсан архитектур гэж үздэг. Учир нь цөөн командаар олон үйлдэл хийж чаддаг бөгөөд нэг удаа боловсруулахдаа ихээхэн хэмжээний мэдээлэл боловсруулдаг. Үүний тулд RISC нь нэлээн урт олон тооны регистрүүд ашигладаг. Жишээлбэл MIPS процессор нь 94 ширхэг командтай бөгөөд 32 битийн урттай 32 ширхэг регистэртэй бол CISC архитектуртай INTEL процессор 235 командтай 32 битийн урттай 8 регистэртэй байна.



CISC(complex instruction-set computers) архитектур—1980он

Энэ нь бүрэн командын багцтай компьютер гэсэн үг бөгөөд маш олон тооны командаар үйлдэл гүйцэтгэдэг. Мөн командууд нь нүсэр учраас нэлээн хэдэн клокоор нэг үйлдэл хийдэг юм. Энэ нь танд удаан юм шиг санагдаж магадгүй. Гэхдээ RISC-г бодвол маш олон төрлийн командтай учраас программын бичлэгийн хувьд богино маш ойлгомжтой байдгаараа давуу. Гэхдээ мөн программууд нь дандаа дээд түвшний хэл дээр байдаг учраас заавал машин кодруу хөрвүүлэлт хийгддэг. Мөн өгөгдлөө санах ойгоосоо ачааллаад үр дүнгээ санах ойдоо хадгалдаг учраас удирдахад хялбар.

RISC vs CISC

Эцэст нь дүгнээд энэ 2-н ялгааг товчхон бичлээ.

CISC

RISC

Техник хангамж дээр суурилсан

Программ хангамж дээр суурилсан

Олон клокд
олон командтай

Нэг клокд,
цөөн командтай

Memory-to-memory:

Register to register:

Программ богино бичлэгтэй,
олон давталтай

Программ нь их бичлэгтэй,
цөөн давталтай

Санах ойн ихэнх хэсэг нь

Командууд хадгалдаг

Санах ойн ихэнх хэсэг нь регистрт

Зориулагддаг













RISC архитектуртай компьютерүүд: Sony playstation, Nintendo x64, IBM, Apple Macintosh, AMD, ARM, PowerPC, HP, Blackberry, I Phone, I Pad, Hitachi, Atmel гэх мэт дийлэнх брэндүүд RISC ашигладаг. Учир нь 1986 он хүртэл компьютерүүд CISC архитектуртай байсан бол 1986-1990 оны хооронд ихэнх нь RISC архитектуртай болсон.

Цаашид та бүхэнд илүү дэлгэрэнгүй мэдээлэл болон сүүлийн үеийн шинэ технологийн тухай нийтэлж байх болно.