Wednesday, March 2, 2011

Компьютерийн товч түүхээс

Компьютерийн товч түүхээс
Компьютерийн 1-р үе буюу электрон лампны үе: ( 1945-58 )
ENIAC

Pennsylvania-ийн их сургуульд 1943 онд 10-тын тооллын системд архиметик үйлдэл хийх боломжтой, электрон лампнууд ашигласан байгууламжийг хийж 1946 онд дуусгажээ. Энэ нь 18000 электрон ламп, 70000 резистор, 10000 конденсатор, 6000 switch, 1500 релей ашигласан, асар том буюу 30х60 feet хэмжээтэй, 30 тонн жинтэй, 140kW тэжээл шаарддаг аварга байгууламж байв. Энэ байгууламжийг switch-үүдийн тусламжтайгаар программчлах боломжтой бөгөөд үр дүнг хадгалах 20 accumulator-тай (регистертэй), 1 секундэд 5000 үйлдэл хийх чадвартай байв. Энэ байгууламжийг 1955 он хүртэл ашиглаж байв.
IAS компьютер буюу Von Neumann -ий компьютер
ENIAC бүтээгдэхүүнд программыг оруулах, өөрчлөхөд нэлээд түвэгтэй байсан. Программ нь тусгай санах ойд хадгалагдах бөгөөд эндээс программуудыг дуудан ажиллуулдаг байв. ENIAC төслийн программыг хадгалах хэсэгт зөвлөгчөөр ажиллаж байсан математикч Von Neumann 1946 онд өөрийн нөхдийн хамт IAS компьютерийг хийх загварыг гаргажээ. (1.1. IAS компьютер гэдгээс дэлгэрэнгүйг унш). Гэхдээ энэ компьютер нь бүрэн хийгдээгүй бөгөөд 1952 он гэхэд түүний туршилтын загварыг л (EDVAC) хийсэн юм. Иймээс Von Neumann-ий IAS компьютер нь орчин үеийн компьютер ямар зохион байгуулалттай, хэрхэн программыг хадгалах, түүнийг гүйцэтгэх зэргийг тодорхойлж өгсөн загвар болон үлджээ. Үүнийг орчин үеийн компьютерийн анхны эцэг ч гэж нэрлэдэг. Энэ компьютер нь өгөгдөл болон зааврыг хадгалахад зориулагдсан тусгай санах ойтой, санах ойн тус тусдаа хаягтай үүрнүүдээс тогтдог, архимтетик логик нэгж нь 2-тын тооллын системд үйлдэл гүйцэтгэдэг байв.
UNIVAC
1950-аад оны сүүлээр Sperry ба IBM гэсэн компьютер үйлдвэрлэдэг анхны 2 компани үүсэж бий болов.
1947 онд Eckert, Mauchly нар анхны Eckert-Mauchly Computer Corporation-ийг үндэслэн байгуулжээ. Энэ корпорациас гаргасан анхны бүтээгдэхүүн нь UNIVAC I (Universial Automatic Computer) компьютер байлаа. Удалгүй энэ корпорациас UNIVAC төслийг аван Sperry-Rand Corporation салан гарч UNIVAC серийн компьютеруудыг цаашид үргэлжлүүлэн бүтээжээ. Удалгүй UNIVAC I-ийг сайжруулсан хурдтай, санах ойн хэмжээ ихтэй UNIVAC II компьютерийг бүтээснээр анхны бизнэсийн зорилгоор бүтээгдсэн компьютерууд худалдаанд гарсан юм. Мөн Sperry-гийнхэн UNIVAC-ийн 1100 цувралыг гаргасан юм. Энэ цувралын анхных нь UNIVAC 1103 загвар бөгөөд олон жил эрдэм шинжилгээний зорилгоор ашиглагдаж байжээ.
IBM 700
Энэ үед буюу 1953 онд IBM-ийнхэн анхны компьютер болох IBM 701 компьютерээ гаргажээ. Үүнийг эрдэм шинжилгээ, судалгааны зорилгоор ашиглаж байв. 1955 онд дараагийн IBM 702 компьютерийг худалдаанд зориулан гаргажээ.
Floating Point архиметик
IBM-ийн 704 компьютер нь зөвхөн бүхэл тооны хувьд архиметикийн үйлдлийг гүйцэтгэхээс гадна Floating Point үйлдлийг гүйцэтгэдэг (Gene Amdahl) байв.
Компьютерийн 2-р үе буюу транзисторын үе: (1958-64)
1947 онд Bell Labs-д анхны транзисторыг хийсэн нь электроникийн түүхэнд электрон лампыг транзистороор сольсон шинэ эргэлт гаргажээ. Энэ нь мөн адил компьютерийн нэгэн шинэ үе эхэлснийг зарлажээ. Гэхдээ энэ үед зохиогдож байсан компьютерууд жишээ IBM 700 серийн компьютерууд шинэ технологийг авч ашиглаагүй юм.
1957 онд DEC корпораци байгуулагдаж тэр жилдээ анхны миникомпьютер болох PDP-1 компьютерээ гаргажээ.
IBM-ийнхэн 1960 оноос эхлэн IBM 7000 серийн компьютерээ хийж эхэлсэн. Энд 1960 онд 7090, 1962 онд 7094 I, 1964 онд 7094 II компьютерээ тус тус гаргасан бөгөөд эдгээр нь транзистор дээр үндэслэгдсэн байв.
Виртуал ой ба pipeline
1962 онд Tom Kilburn-ий зохиосон Atlas компьютер нь анх виртуал санах ой, зааврыг биелүүлэх дамжлага pipeline-ийг ашигласан.
Мультпроцессор
1964 онд гарсан UNIVAC -ийн 1108 II загвар нь 3 микропроцессорыг ашигладаг.
Компьютерийн 3-р үе буюу интегралчлагч хэлхээний үе: (1964-74)
2-р үеийн компьютерууд нь ойролцоогоор 10000 транзистор ашиглаж байсан бөгөөд энэ тоо нь цаашид ч өсөхөөр байсан нь компьютер үйлдвэрлэгчдийн хувьд шийдвэрлэвэл зохих асуудлын нэг болжээ. Энэ үед 1958 онд анхны интегралчлагч хэлхээг зохиосноор микроэлектроникийн үе эхлэв. Интегралчлагч хэлхээ нь нэг chip-д асар олон транзисторыг багтаах боломжийг олгосноор компьютерийн овор хэмжээг багасгах боломжтой болжээ. Жишээ нь SSI (small scale intergation) нь 10 хүртэл транзистор, MSI (medium scale integration) нь 10-аас 100 хүртлэх транзистор, LSI (large scale integration) 100-гаас 1000 хүртлэх транзисторыг нэг chip дээр агуулж байв.
Энэ шинэ технологийг ашигласан анхны компьютерууд нь IBM System 360/370, DEC PDP-8 компьютерууд юм. Энэ үеэс эхлэн бүх компьютерууд нэгэн ижил бүтэцтэй болсон. Өөрөөр хэлбэл компьютерийг үйлдвэрлэдэг олон компаниуд байдаг ч тэдгээрийн үйлдвэрлэсэн компьютерууд нь ижил архитектуртай болсон.
1964 онд IBM-ийнхэн 7000 хувилбараа гаргасан тэр жил өөр нэгэн урсгалыг гаргажээ. Энэ нь IBM System/360 юм. Ингээд ердөө хэдхэн жилийн дотор үүний нэлээд хэдэн хувилбар болох Model 30, 40, 50, 65, 75 гэсэн хувилбаруудыг гаргасан юм. IBM-ийнхэн System/360-ийг хийсэн тэр жил DEC-ийнхэн PDP-8 гэсэн анхны миникомпьютерийг гаргажээ. 

Хагас дамжуулагч санах ой
Энэ үеийн компьютеруудын хувьд гарсан нэг дэвшил нь хагас дамжуулагч санах ойг ашиглах болсон явдал. 1970 оноос хойш хагас дамжуулагч санах ойн хувьд 8 үе өнгөрчээ. Эдгээр үеүдэд нэг chip-д 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M битүүдийг багтааж байв.
Кэш ой
IBM System/360-ийн 85-р загвар нь үндсэн санах ой болон микропроцессорын хооронд өгөгдлийг дамжуулалтыг хурдасгах зорилгоор кэш ойг ашигласан.
Микропроцессор
3-р үеийн компьютеруудын хувьд гарсан өөр нэг дэвшил нь микропроцессорыг хийсэн явдал юм.
1971 онд Intel анхны микропроцессор болох 4004-ийг гаргасан бөгөөд энэ нь CPU түүний бүх бүрэлдэхүүнүүдийг нэг chip-д багтаасан тул анхны микропроцессорын эцэг болсон юм. Энэ нь 4 битийн 2 тоог хооронд нэмэх үйлдлийг гүйцэтгэж байв.
1972 онд 8 битийн 8008 микропроцессороо гаргасан бөгөөд энэ нь 2 ширхэг 4004-ийг ашиглаж байв. Эдгээр микропроцессоруудыг судалгаа шинжилгээний зорилгоор л ашиглаж байсан бол 1974 онд микрокомпьютерт зориулан анхны 8 битийн 8080 микропроцессорыг гаргажээ. Энэ үеэс эхлэн Intel-ийнхэн 80x86 серийн процессоруудаа үйлдвэрлэж эхэлжээ. Жишээ нь 1978 онд 16 битийн 8086, 1985 онд 32 битийн 80386, 2003 онд 64 битийн Itanium процессороо тус тус бүтээжээ.
PowerPC
1975 онд IBM-ийнхэн анхны миникомпьютер болох RISC технологийг ашигласан IBM 801 загварыг хийжээ. Энэ нь RISC I процессорыг ашиглаж байв. Гэсэн ч 801 загвар нь бүрэн төгс хийгдээгүй зөвхөн туршилтын загвар төдий байсан юм. Ингээд худалдаанд зориулан 1986 онд анхны RISC workstation болох RT PC-ийг гаргажээ. Гэвч энэ нь амжилттай болсонгүй. 1990 онд өмнөх загваруудыг ашиглан IBM RISC system/6000-ийг бүтээснээр цаашид өндөр хурдтай workstation-уудыг үйлдвэрлэх эхлэлийг тавьжээ. Удалгүй IBM Motorolа нар хамтран Motorola-гийн гаргасан 68000 серийн микропроцессоруудыг үйлдвэрлэж эхэлсэн бөгөөд Apple-ийнхан Motorola chip-ийг ашигласан Macintosh компьютерийг үйлдвэрлэх болжээ. Эдгээр компьютерууд нь PowerPC архитектуртай анхны компьютерууд юм. Тун удалгүй PowerPC архитектуртай 4 загварыг гаргасан нь 601 (32 битийн анхны загвар), 603 (энгийн хэрэглэгч нарт зориулсан үнэ хямдтай загвар), 604 (серверүүдэд зориулан өндөр хүчин чадалтай загвар), 620 (64 битийн анхны загвар)
Компьютерийн 4-р үе буюу VLSI-ийн үе: (1971-ээс одоог хүртэл)
Нэг chip-д багтах транзисторын хэмжээг 10000-100000 хүртэл ихэсгэж чадсан энэ үеийн компьютеруудыг 4-р үеийн компьютерууд гэдэг. Энэ үеийн анхны компьютерууд нь IBM 3090, Cray XMP, IBM PC нар юм. Энэ үеийн компьютеруудын гол дэвшил нь компьютерийн сүлжээ, оптик диск, обьект хандалттай программчлал юм.
Компьютеруудын 5-р үе буюу ULSI-ийн үе:
Нэг chip-д багтах транзисторын тоо 100000-1000000 болтол ихэссэн. Хамгийн гол дэвшил нь параллель систем, параллель программчлал юм. Энэ үеийн компьютерийн гол төлөөлөгч нар нь Sun Spare, Intel Paragon нар юм. Энэ үеийн компьютеруудын хурдны гол үзүүлэлт нь нэг секундэд гүйцэтгэх floating point архиметикийн үйлдэл MFLOPS (millions of floating point operations per second) юм.
Компьютер
Компьютер нь маш олон тооны элементүүдээс тогтсон комплекс байгууламж.
Компьютерээр хийгдэж байгаа бүхий л үйлдлүүдийг ерөнхийд нь дараах байдлаар ангилж болно. Үүнд: /зураг 1.1/
Өгөгдлийг боловсруулах
Өгөгдлийг хадгалах
Өгөгдлийг шилжүүлэх
Хяналтын хэсэг буюу дээрх хэсгүүдийн үйл ажиллагааг хянаж холбож өгөх зориулалттай

Эндээс үзвэл компьютер дээр дараах 4 үндсэн үйлдэл хийгдэж байна.
•  Аль нэг төхөөрөмжөөс ирсэн өгөгдлийг өөр төхөөрөмж рүү шилжүүлэх
•  Аль нэг төхөөрөмжөөс ирсэн өгөгдлийг хадгалах, эсвэл хадгалсан өгөгдлийг аль нэг төхөөрөмж рүү илгээх 
•  Санах ойд хадгалсан өгөгдлийг боловсруулаад буцааж хадгалах 
•  Гаднаас ирсэн өгөгдлийг боловсруулаад хадгалах, эсвэл хадгалсан өгөгдлийг боловсруулаад өөр төхөрөөмж рүү илгээх






Компьютерийн бүтэц
Компьютерийг дараах 4 үндсэн хэсгээс тогтдог гэж үзэж болно. /зураг 1.8/
•  Микропроцессор буюу Central Processing Unit (CPU) – өгөгдлийг боловсруулах хэсэг
•  Санах ой буюу Main Memory - өгөгдлийг хадгалах хэсэг
•  Оролт/гаралтын хэсэг буюу Input/Output – микропроцессор болон бусад төхөөрөмж (монитор, гар, хэвлэх төхөөрөмж г.м)-ийн хооронд өгөгдлийг дамжуулах хэсэг
•  Системийн холболт буюу System Interconnection – дээрх гурван хэсгийг хооронд холбож өгөх зориулалттай хэсэг
Компьютерийн заавар
Компьютерээр гүйцэтгэх үндсэн үйлдэл нь программыг биелүүлэх явдал юм. Программууд нь санах ой дахь заавруудын тусламжтайгаар гүйцэтгэгдэнэ.
Өөрөөр хэлбэл компьютер дээрх хийгдэх бүхий л үйлдлүүд нь тусгайлан тодорхойлогдсон заавруудын дагуу биелэгддэг гэж үзэж болно. Эдгээр зааврууд нь санах ойд хадгалагдаж байдаг.
Хамгийн энгийн байдлаар программыг авч үзвэл эхлээд хэрэгтэй зааврыг санах ойгоос олж авах, дараа нь тухайн зааврыг гүйцэтгэх буюу биелүүлэх, дараа нь дараагийн үйлдэл гүйцэтгэхэд шаардлагатай зааврыг санах ойгоос олж авах. Тэгвэл программыг дэс дараалсан заавруудыг биелүүлэх явц гэж ойлгож болно. Нэг зааврыг биелүүлэх явцыг зааврын цикл (instruction cycle) гэж нэрлэнэ. Зааврын нэг цикл нь зааврыг санах ойгоос олж авах fetch (барьж авах) cycle, зааврыг гүйцэтгэх буюу биелүүлэх execute (гүйцэтгэх) cycle гэсэн 2 дэд хэсгээс тогтно.
Зааврын цикл нь үндсэндээ дараах шатаар явагдана. / зураг 1.10 /
•  Зааврын хаягийг тогтоох – зааврын санах ойд байрлах хаягийг тогтооно.
Зааврыг олж авах – санах ойгоос зааврыг олж авна.
Зааврын үйлдлийг тогтоох – зааврын opcode-ийн тусламжтайгаар тухайн заавраар гүйцэтгэх үйлдлийг тогтооно.
Өгөгдлийн хаягийг тогтоох – тухайн зааврын дагуу боловсруулах өгөгдлийн санах ой дахь хаягийг тогтооно.
Өгөгдлийг олж авах – санах ойгоос өгөгдлийг олж авна.
Өгөгдлийг боловсруулах – тухайн зааврын дагуу өгөгдлийг боловсруулна.
Үр дүнг хадгалах хаягийг тогтоох – тухайн зааврын дагуу боловсруулсан үр дүнг хадгалах санах ойн хаягийг тогтооно.
Үр дүнг хадгалах - өмнөх үйлдлээр тогтоосон хаягийн дагуу үр дүнг хадгална.

Регистер
Процессор нь үйлдлийг гүйцэтгэхдээ дараах регистерүүдийг санах ойн журмаар ашиглана:
•  Memory Address Register (MAR) – санах ойгоос MBR рүү унших болон бичих үгийн санах ойд дахь хаягийг агуулна.
•  Memory Buffer Register (MBR) – санах ойгоос унших болон бичих үгийг агуулна.
•  Program Counter (PC) – дараагийн биелүүлэх зааврын хаягийг тогтооно.
•  Instruction Register (IR) – заавраар гүйцэтгэх үйлдлийг тогтооно.
•  Accumuliator (AC) – ALU үйлдлийг гүйцэтгэсний дараа үр дүнг хадгалахад хэрэглэнэ.
Заавар ба өгөгдөл нь адилхан 16 битийн урттай байна гэж үзье. Тэгвэл санах ойн нь 2 16 үүртэй байх ба санах ойн нэг үүр нь 16 битийн урттай байна . Үүнийг үг (word) гэж нэрлэнэ. Өөрөөр хэлбэл санах ойн нэг үүрэнд байрлах зүйлийг үг гэнэ. Санах ойн нэг үгэнд заавар ч байж болно, өгөгдөл ч байж болно. Заавар үг нь тухайн заавраар гүйцэтгэх ёстой үйлдлийг тодорхойлсон op code (үйлдлийн код) ба тухайн зааврын санах ойд байрлах хаяг гэсэн 2 мэдээллийг агуулна. Жишээлбэл заавар 16 битийн урттай бөгөөд түүний эхний 4 битийг op code, сүүлийн 12 битийг хаяг эзэлдэг гэвэл заавар нь 2 4 =16 ялгаатай op code-той, 2 12 =4096 (4K) хаягтай байна.
РС нь дараагийн үйлдэл гүйцэтгэх ёстой зааврын санах ой дахь хаягийг тогтооно. Иймээс РС нь хэрэгтэй зааврыг олж авсны дараагаар дараагийн шаардлагатай зааврын хаягаар үргэлж шинэчлэгдэж байдаг.
IR нь тухайн олж авсан зааврын дагуу ямар үйлдэл хийх ёстойг тогтоож өгнө. Энд зааврын гүйцэтгэх үйлдлийг тодорхойлсон оpсode агуулагддаг.
MAR шууд address bus-тай, MBR шууд data bus-тай холбогдсон байна.
АС нь ALU-гаар боловсруулагдсан үр дүнг хадгална.
Жишээ 1.1.
Заавар нь санах ойн 300 гэсэн хаягтай үүрт хадгалагдаж байг. Тэгвэл энэ үүрт байгаа зааврыг IR-д татан аваачих бөгөөд энд тухайн зааврыг ямар үйлдэл гүйцэтгэхийг тогтоож өгнө. Харин РС нь дараагийн зааврын хаягаар шинэчлэгдэнэ.
Үүнээс гадна дараах регисторүүд процессор дотор агуулагдаж байдаг.
I/O Address Register (I/O AR ) – гадаад төхөөрөмж рүү хандах хаягийг агуулна.
I/O Buffer Register (I/O BR) – CPU, I/O module 2-ын хооронд өгөгдөл дамжуулна.
АС – Accumulator нь ихэвчлэн ALU уруу оруулах өгөгдлийг түр хадгална.
Жишээ 1.2.
2 тоог хэрхэн нэмэхийг авч үзье. Энэ үйлдлийг хийхэд шаардлагатай эхний зааврын хаягийг PC олж тогтоох ба энэ заавар нь санах ойн 300 гэсэн үүрэнд байг. РС зааврын хаягийг тогтоосноор энэ зааврыг Instruction Register (IR)–д дуудаж ачаална. IR-д ирсэн зааврын эхний 4 битийн буюу opcode-ийн тусламжтайгаар энэ заавраар хийх үйлдлийг тогтооно. Дараагийн 12 битийн тусламжтайгаар энэ үйлдлийг гүйцэтгэхэд ашиглагдах өгөгдлийн санах ой дахь хаягийг тогтооно. Энэ жишээнд санах ойн 300-р үүрэнд байрлах зааврын opcode нь 1, санах ойн хаяг нь 940 байна. Энэ заавар нь санах ойн 940-р үүрэнд байрлах өгөгдлийг АС-д ачаалах гэсэн үйлдэл байна.
Үүний дараа РС шинэчлэгдэнэ . Өөрөөр РС нь дараагийн зааврын хаягийг тогтоох ба энэ заавар нь санах ойн 301-р үүрэнд байрлана. Энэ заавар нь санах ойн 941-р үүрэнд байрлах өгөгдлийг АС-д байгаа утган дээр нэмэх үйлдэл байна.
Дараагийн зааврыг РС тогтоох ба энэ заавар нь санах ойн 302-р үүрэнд байрлана. Энэ заавар нь АС-д байгаа өгөгдлийг санах ойн 941-р үүрэнд бичих үйлдэл байна.


Дээрх жишээнд 3 заавар хэрэглэгдлээ. Энэ 3 зааврын op code нь дараах утгатай байлаа.
1 10 =0001 16 – санах ойгоос АС уруу ачаалах
2 10 =0010 16 – АС-гээс санах ой уруу бичих
5 10 =0101 16 – санах ойд байгаа утгыг АС-д байгаа утганд нэмэх
Мөн дээрх жишээнд ойлгоход хялбар байх үүднээс бусад шаардлагатай регистерүүд болох MAR, MBR-ийг тооцсонгүй.
Санах ой
Компьютерт дараах санах ойн байгууламжууд ашиглагддаг.
Регистер
Кэш ой
Үндсэн санах ой
Зөөврийн зориулалттай диск
Соронзон ба оптик диск
Санах ойн хамгийн бага нэгжийг нүх гэнэ. 1 нүхэнд 1 бит мэдээлэл бичигдэнэ. 8 нүхнүүдийг нийлүүлээд 1 үүр гэнэ. 1 үүрэнд бичигдэх битийн тоог word буюу үг гэнэ. Хэрэв санах ойн үүр нь 8 битийн багтаамжтай бол санах ойн үгийн урт мөн 8 бит байна. Үүнтэй адилаар санах ойн үүр нь 16, 32 битийн багтаамжтай бол үгийн урт мөн 16, 32 битийн урттай байна.
Санах ойн үндсэн үзүүлэлтүүд:
•  Багтаамж: санах ойд агуулагдах боломжтой мэдээллийн багтаамж, байт гэсэн нэгжтэй байна. 1byte=8bit, 1kB=1024byte, 1MB=1024kB, 1Gb=B=1024MB
•  Word буюу үг: санах ойн 1 үүрэнд багтах бит
•  Address буюу хаяглалт: санах ой дахь нийт үүрний тоо. Хэрэв санах ойн хаяг нь N битээс тогтдог бол нийтдээ 2N ялгаатай хаягтай буюу 2N үүртэй байна. Иймээс хаяглалтын шугамын урт (address line) нь N, санах ойн хоорондоо ялгаатай хаягтай үүрний тоо 2N байна.
•  Data line буюу дамжууллын шугам: санах ой уруу нэгэн зэрэг өгөгдөл бичих болон унших боломжтой битийн тоо.
•  Transfer rate буюу дамжууллын хурд: өгөгдлийг бусад төхөөрөмжөөс санах ойд бичих болон санах ойгоос өгөгдлийг унших буюу дамжуулах хурд
•  Access rate: санах ойн тодорхой үүрэнд өгөгдөл бичих унших хурд
•  Cycle time: санах ой уруу хандах дараалсан хоёр хандалтын хоорондох хугацаа
Санах ойн төрөл
Технологи
Хэмжээ
Хурд
Кэш ой
Хагас дамжуулагч
128-512 KB
10 ns
Үндсэн санах ой
Хагас дамжуулагч
4- 512MB
50 ns
Соронзон диск
Хатуу диск
GB
10 ms, 10 MBps
Оптик диск
CD-ROM
GB
300 ms, 600 KBps
Соронзон диск
tape
100s MB
Sec-min, 100MBpm
Виртуаль санах ой
Хатуу дискийн төхөөрөмжийг үндсэн санах ойтой адилхан зорилгоор ашиглахын тулд виртуаль ой гэж нэрлэгдэг логик санах ойг ашигладаг. Виртуаль ойг үүсгэхэд дараах зүйлүүдийг тооцоолох хэрэгтэй.
•  Хатуу диск уруу өгөгдөл бичих унших хурд үндсэн санах ой дахь өгөгдлийг унших бичих хурдаас олон дахин бага байдаг.
Компьютер зааврыг биелүүлэх үед виртуаль санах ойн хаягийг ашиглана. Гэтэл энэ логик санах ойн хаяг нь үндсэн санах ойн физик хаягнаас ялгаатай байдаг.
Виртуаль ойг үүсгэх paging гэдэг аргыг өргөн ашигладаг. Үүгээр:
Виртуаль санах ойн ижилхэн хэмжээтэй хуудаснууд болох page-уудаас тогтно.
Энэхүү page-ууд нь бүгд өөрийн гэсэн логик хаягтай байх ба логик хаяг нь page, byte offset гэсэн 2 хэсгээс тогтно. (зураг 3.23)
Page-уудын логик хаягуудыг page table-д бүртгэж авсан байна. Энэ нь page-ийн логик хаягийг физик хаяг уруу хөврүүлнэ. ( зураг 3.24 )
Шуурхай санах ой
Шуурхай санах ойн өгөгдлийг унших, бичих боломжтой, үргэлж тэжээлээр хангагдаж байдаг тул тэжээлийг таслахад доторх өгөгдлөө алдана. Иймээс шуурхай санах ойг өгөгдлийг түр хугацаанд хадгалахад ашигладаг. Шуурхай санах ойн үндсэн 2 төрөл байна.
•  Dynamic RAM – динамик шуурхай санах ойн нүх нь конденсаторын цэнэглэгдэх, цэнэгээ алдах процессыг ашигласан, үнэ өндөртэй, хурд ихтэй.
•  Static RAM – статик шуурхай санах ойн нүх нь триггер болон логик элементүүдийг ашигласан, үнэ хямд, динамик үуурхай санах ойг бодвол хурд бага, овор хэмжээ бага, тэжээл бага шаардана.
DRAM
SRAM
Хэмжээ их
Үнэ өндөр
Хурд их
Тэжээл өндөр
Хэмжээ бага
Үнэ бага
Хурд бага
Тэжээл бага
Жишээ 3.1. 16MB DRAM (4Mx4)
Энэ санах ойн address line нь 22 байх ёстой боловч санах ойн үүр нь 2 хэмжээст матрикс хэлбэртэйгээр байрлах (2 11 x2 11 =2 22 буюу 2Kx2K= 4M) учир address line нь 11, мөрийг сонгох RAS (row access strobe), баганыг сонгох CAS (column access strobe) гэсэн 2 оролттойгоор зохион байгуулагдсан. Data line нь 4 учир 4Mx4=16MB багтаамжтай. Иймээс 32 битийг зэрэг дамжуулахын тулд 16MB-ийн 8 chip-ийг ашиглана. Энэ санах ойн бүтцийн схемийг 3. 2 –р зурагт үзүүлэв.
Иймээс DRAM-ийг үндсэн санах ойд (memory access time 60 ns), SRAM-ийг кэш ойд (memory access time 5 ns) ихэвчлэн ашиглана.
Үндсэн санах ойг дараах гурван хэлбэрээр CPU-д холбож ашиглана. Үүнд:
•  Simple – CPU, кэш, бааз, үндсэн санах ой 3 адилхан 1 үг (зураг 3.3. а)
•  Interleaved – CPU, кэш, бааз 3-ын өргөн нь адилхан 1 үг, санах ойн N module-аас тогтно (зураг 3.3. b)
•  Wide – CPU нь 1 үг, кэш, бааз, санах ой N үг (зураг 3.3. c)
Санах ой уруу хандах хугацаа буюу санах ойгоос өгөгдөл унших / бичих хугацаа нь микропроцессорын циклийн хугацаанаас бага байдаг. ( зураг 3.4 )
Иймээс олон модулиас тогтох санах ойн системийг ашигласнаар нэг циклийн хугацаанд санах ойн модуль бүрд ээлжлэн хандах боломжтой. ( зураг 3.5 )

DRAM -ийн өөр нэгэн өргөн ашиглагддаг төрөл нь SDRAM (Synchronous DRAM). Энэ санах ойн data line нь 16 тул 16 битийг зэрэг дамжуулах боломжтой учраас DRAM -аас илүү хурдан болсон. Сүүлийн жилүүдэд RDRAM (RambusDRAM) өргөн ашиглагдах болсон бөгөөд энэ нь SDRAM-аас илүү хурдан (memory access time SDRAM 44 ns – RDRAM 38 ns), 800MHz-ийн интернал RAMBUS баазыг ашигладаг болсон.
Тогтмол санах ой
Тогтмол санах ойд бичигдсэн мэдээллийг зөвхөн унших боломжтой бөгөөд түүнийг нь өөрчлөх, шинээр бичих боломжгүй. Иймээс тогтмол санах ойн тэжээл ашиглахгүй байсан ч өөр дээрх мэдээллээ хадгалсаар байх болно. Тогтмол санах ойн өөр нэг төрөл нь хэрэглэгчийн зүгээс доторх мэдээллийг нь өөрчлөх боломжтой программчлагддаг тогтмол санах ой Programmable ROM (PROM). Жишээ нь 74186 нь 512 битийн PROM (зөвхөн нэг удаа программчлагддаг санах ой).
Программчлагддаг тогтмол санах ойн дараах 3 төрөл өргөн ашиглагддаг.
•  Erasable PROM (EPROM) – бичихдээ цахилгаан импульсыг ашиглах бөгөөд арилгахдаа ультра ягаан туяаг ашиглана. Арилгах хугацаа нь ойролцоогоор 20-оод минут. 100 гаруй удаа арилгаж болно.
•  Electrically EPROM (EEPROM) – бичих болон устгахдаа цахилгаан импульсыг ашиглана. Арилгах хугацаа нь программаар хийгдэх тул хэдхэн секунд шаардагдана.
•  Flash – EEPROM-тай адилхан, шинээр гарч ирсэн программчлагддаг тогтмол санах ой.
Жишээ 3.2. 8MB EPROM (1Mx8) /зураг 3.6/
1M (220=1M) үгтэй тул address line нь 20 (A0-A19)
Үг нь 8 битээс тогтох тул data line нь 8 (D0-D7)
Vcc – power supply (тэжээл)
Vss – ground ( ерөнхий газардуулга )
CE – chip enable
Vpp – program voltage ( программ бичилтийг хангах зорилготой )

Санах ойн төрөл
Категори
Устгах
Бичих механизм
Тэжээл
Random Access Memory (RAM)
Read-write memory
Electrically, byte level
electrically
volatile
Read Only Memory (ROM)
Read only memory
Not possible
-
Non-volatile
Programmable ROM (PROM)
Read only memory
Not possible
electrically
Non-volatile
Erasable PROM (EPROM)
Read mostly memory
UV light, chip level
electrically
Non-volatile
Flash memory
Read mostly memory
Electrically, block level
electrically
Non-volatile
Electrically erasable PROM (EEPROM)
Read mostly memory
Electrically, byte level
electrically
Non-volatile
Оптик диск
1983 онд тоон аудио мэдээлэл агуулах зорилготой анхны компакт диск зохион бүтээгджээ. Анхны энэ CD нь бичигдсэн өгөгдлийг арилгах боломжгүй, 60 минутын хугацаанд үргэлжлэх аудио мэдээллийг агуулах багтаамжтай байв. Компакт диск нь үнэ хямдтай, нэлээд хэмжээний тоон өгөгдлийг өөр дээрээ хадгалах боломжтой тул компьютерт тоон өгөгдлийг хадгалах зорилгоор ашиглах болжээ. Сүүлийн жилүүдэд энэ оптик дискний нэлээд хэдэн хувилбарууд гарсан бөгөөд эдгээрийн талаар товч танилцуулья.
•  CD (compact disc) – тоон аудио мэдээллийг агуулах зорилготой. Нэг тал дээр нь 60 минутын хугацаанд үргэлжлэх аудио мэдээллийг агуулах боломжтой, дээр нь бичигдсэн мэдээллийг устгах боломжгүй.
•  CD-ROM (compact disc read only memory) – тоон мэдээллийг агуулах зорилготой. Нэг тал дээр нь 550MB өгөгдлийг багтаах боломжтой, дээр нь бичигдсэн мэдээллийг устгах боломжгүй.
•  DVI (digital video interactive) – видео мэдээллийг агуулах зорилготой. CD болон бусад оптик дискүүдийг ашиглана.
•  WORM (writer once read many) – 1 удаа бичих боломжтой, 200-800MB-ийн багтаамжтай оптик диск.
•  Erasable Optical Disk – олон дахин бичих боложтой, 650MB-ийн багтаамжтай оптик диск.
Audio CD болон CD - ROM – нь адилхан технологиор хийгддэг. Trace-уудын хоорондох зайн 1,6 микрон (1.6*10 -6 meter), нийтдээ 20344 trace-уудаас тогтох бөгөөд нэг онцлог нь бүх trace-ууд нь нэг л спираль хэлбэртэй. Иймээс нийт trace-ийн урт ойролцоогоор 5.27 км. Компакт диск нь 1 секундэд 1.2 м урттай өгөгдлийг уншдаг гэвэл компакт дискэн дээрх нийт өгөгдлийг уншихад 4391 секунд буюу 73.2 минут шаардлагатай.
Компакт дискэн дээрх өгөгдөл цуваа байрласан блокуудаас тогтсон байна. 1 блокын хэмжээ нь 2352 байт байх бөгөөд дараах хэсгүүдээс тогтно: (зураг 3.22) •  Sync – блокын эхлэлийг заана
•  Header – блокын хаяг болон байтын хэлбэрийг заана. Хэрэв mode 0 бол data талбар нь хоосон, mode 1 бол data талбарт алдааны хяналттай 2048 байт өгөгдөл, mode 2 бол data талбарт алдааны хяналтгүй 2336 байт өгөгдөл (auxiliary талбар байхгүй) болохыг тогтоож өгнө.
•  Data – энэ талбарт өгөгдөл байрлана.
•  Auxiliary – энэ талбарт хэрэв өгөгдөл нь mode 2 хэлбэртэй бол өгөгдөл, mode 1 хэлбэртэй бол алдааны код тус тус байрлана.
Pipeline Зааврыг биелүүлэх явц нь 5 дамжлагыг дамждаг байна. Энд 1-рт зааврыг олж авах, 2-рт заавраар гүйцэтгэх үйлдлийг тогтоох, 3-рт зааврыг биелүүлэх, 4-рт үр дүнг санах ойд бичих, 5-рт үр дүнг регистерт хуулах гэсэн. Эдгээр дамжлага бүрд зарцуулагдах хугацааг тооцвол зааврыг биелүүлэхэд зарцуулагдах нийт хугацаа нь:
нийт хугацаа = IF + Dec + Exec + Mem + Reg буюу
2 0 00 ps = 500ps + 250ps + 500ps + 500ps + 250ps болно.
Компьютерийн хүчин чадал нь программыг биелүүлэхэд зарцуулагдах хугацааг тодорхойлсон дараах хэмжигдэхүүнээр тодорхойлдог:
Энд Р нь программыг биелүүлэхэд хэдэн заавар ашиглаж байгаагаас хамаарна. Харин дараагийн хэмжигдэхүүн нь зааврыг биелүүлэхэд хэдэн цикл хэрэгтэй байгааг харуулсан хэмжигдэхүүн. Сүүлийн хэмжигдэхүүн нь нэг циклийн үргэлжлэх хугацаа бөгөөд үүнийг зааврыг биелүүлж байгаа дамжлагуудын зарцуулах хугацаанаас хамгийн ихийг сонгож авдаг. Иймээс дэс дараалсан заавруудыг биелүүлэхэд дараах хугацааг зарцуулах болно.
Эхний зааврыг биелүүлэх явц нь 5 дамжлагыг дамжих учраас эхний дамжлагын дараа тухайн дамжлага сул чөлөөтэй болох учраас дараагийн зааврыг эхлүүлэх боломжтой болно. Үүнийг pipeline гэнэ. Өөрөөр хэлбэл эхний зааврыг биелүүлэх явцад сул чөлөөтэй болсон дамжлагуудыг ашиглан дараагийн зааврыг биелүүлэх боломжтой. Нэг зааврыг биелүүлэхэд 5 цикл шаардлагатай байсан бол pipeline-ийг ашигласнаар нэг циклд нэг зааврыг биелүүлэх боломжтой болно.

0 Сэтгэгдэл:

Post a Comment

 
Дизайныг www.baganaa.tk | Блогийг хийсэн Baganaa - Улаанаа | Санал хүсэлтийг batnaa_85@yahoo.com