SlideShare a Scribd company logo
Өгөгдөл илэрхийлэх ба
      instruction sets




Мэдээлэл технологийн тэнхим Ү. Ойдов
Регистр ба процессорын түвшний
          төхөөрөмжүүд
• Компьютерын програм нь командуудын
  дараалал хэлбэртэй байна. Энэ командууд
  нь бусад мэдээллийн адил 2-тын тоо
  хэлбэртэй байх ба ямар үйлдэл хийхийг
  заасан үйлдлийн код болон уг үйлдэлд орох
  өгөгдлийн хаягийг агуулсан байна. Тухайн
  үйлдэлд орж ашиглагдах өгөгдлийг
  операнд гэнэ. Хоёр операндтай үйлдлийн
  команд ерөнхий тохиолдолд
• Үйлдлийн код
• Ашиглагдах операндуудын хаяг
• Үйлдлийн үр дүнг хадгалах үүрийн хаяг
• Уг командын дараа биелэх дараагийн
  командын хаяг
• гэсэн 4 элементээс тогтсон
•   Код
•   Операнд 1
•   Операнд 2
•   Үр дүнг хадгалах үүрийн хаяг
•   Дараагийн командын хаяг
• Операндын хаягийн урт нь шууд хандах
  санах ойн хэмжээ болон хаягийг өгөх аргаас
  хамаардаг. Хэрэв үйлдлийн кодын уртыг 8
  бит, хаягийн уртыг 14 бит гэж авбал, дээрх 4
  хаяг агуулсан командын урт 64 бит болоход
  хүрнэ. Ийм урт командуудаас бүтсэн
  програмын хэмжээ ч ихсэх тул командын
  уртыг багасгах арга хэрэгтэй болсон.
  Командын уртыг регистрүүд ашиглан
  багасгадаг. Регистрүүд нь команд
  биелэгдэхэд шаардагдах хугацаа болон,
  програмын хэмжээг багасгах зориулалттай.
• Ихэнх тохиолдолд, програмын командууд нь бичигдсэн
  дарааллаараа дэс дараалан биелэгддэг. Харин бүлэг
  командыг давтаж биелүүлэх, бүлэг командыг
  биелүүлэлгүйгээр алгасах, тусгай зориулалттай бүлэг
  командыг биелүүлэхээр очих ба тэндээс буцах гэсэн
  цөөн тохиолдолд л дараачийн биелэх командын хаягийг
  зааж өгөх шаардлагатай байдаг. Иймээс дараагийн
  биелэх командын хаягийг команд дотор бичихгүй, харин
  дараагийн биелэх командын хаягийг хадгалах
  зориулалттай тусгай үүрийг (регистр) CPU-д нэмсэн. CPU
  дэхь ийм төрлийн регистрыг IP (Instruction Pointer –
  командын заагуур) гэнэ. Мөн програмын тоолуур
  (Program Counter) гэдэг.
• Гарсан үр дүнгээ санах ойн өөр байрлалд биш харин
  хоёр операндын аль нэгний нь оронд хадгалдаг
  болгосон. Үр дүн 2-р операндын хаягт хадгалагдана.
• 2-р операндыг хассан. Мэдээж нэг хаягаар 2 операндыг
  өгч чадахгүй учир, нэг операндыг тогтмол байрнаас авч,
  үйлдлийн үр дүнг мөн тэр байрт үлдээдэг байхаар
  болгосон. Энэ тогтмол байр нь регистр байхаар сонгож,
  нэг регистр нэмсэн ба түүнийг аккумулятор (үр дүнг
  хурааж хадгалж байх хураагуур гэсэн утгатай үг) гээд АС
  гэж тэмдэглэдэг. Аккумулятор нь санах ойн үүртэй ижил
  урттай байх ёстой ба түүний утгыг санах ойд хадгалах,
  санах ойгоос уншиж түүнд бичих гэсэн нэмэлт 2 үйлдэл
  шаардагдана.
• Хаягийн урт нь шууд хандах санах ойн хэмжээнээс
  хамаарч харьцангуй их байдаг тул командад операндын
  хаягийг шууд өгөхгүй харин операндын хаягийг хадгалж
  байгаа регистрын дугаарыг зааж өгөх арга хэрэглэдэг.
  Энэ нь ялангуяа дарааллын элементүүдийг
  боловсруулахад илүү тохиромжтой байдаг. Уг дараалал
  эхлэх эхний хаягийг суурь, уг дарааллын элементүүдэд
  индексээр нь хандана.
• Элементийн_хаяг=суурь+индекс. Эдгээрийг
  хадгалахад зориулагдсан регистрыг
  харгалзан баазын регистр, индексийн
  регистр гэнэ. Мөн дарааллыг боловсруулах
  үед ямар нэгэн N дугаараас цааших
  дугаартай элемент дээр үйлдэл хийх
  тохиолдол гардаг. Тэгвэл элементийн хаяг
  нь суурь+N+индекс гэсэн 3
  хэмжигдэхүүнээр тодорхойлогдоно.
Регистрийн төрлүүд:

• Програмчлагддаг буюу хэрэглэгчид харагддаг регистрүүд
    – Ерөнхий зориулалтын (аккумулятор, сегмент) – програмистын
      хувьд илүү уян хатан, сонголт ихтэй. Командын хэмжээг ихэсгэж
      болдог. 8-32 битийн хооронд байдаг. Ихэнх тохиолдолд 2
      өгөгдлийн регистрийг нэгтгэн нэг том регистртэй адилаар
      ажиллууллдаг.
    – Тусгай зориулалтын (төлөвийн регистрүүд, хаягийн регистрүүд,
      өгөгдөл хадгалах)– эдгээр нь үйлдлийн үр дүнд карри бит үүссэн,
      орон хальсан, үйлдлийн үр дүн 0 гарсан гэх мэтийг заадаг.
      Ерөнхий зориулалтын регистрүүдийг бодвол илүү хурдан.
      Тасалдалтыг идэвхтэй ба идэвхгүй болгож болдог.
        • Харагддаггүй регистрүүд (PC-program counter, IR-Instruction register,
          Memory address register, memory buffer register)
•
Процессорын үндэс, CPU-ын тухай

                 • C PU –ын бүтэц:
                   – ALU
                   – Регистрүүд
                   – Дотоод
                     холболтууд (bus)
                   – Удирдах
                     байгууламж
                     (Control Unit)
• CPU-нь:
• Бусад төхөөрөмжийг удирдах – жишээ нь
  мэдээллийг унших ба мэдээлэл бичих үйлдэл
  хийхийг санах ойд “тушаах”.
• Өгөгдөл боловсруулах буюу өгөгдөл дээр
  арифметик, логикийн үйлдэл хийх
• гэсэн үндсэн үүрэгтэй. Иймээс CPU нь удирдах
  байгууламж ба арифметик логикийн үйлдэл хийдэг
  байгууламж гэсэн 2 үндсэн хэсгээс тогтоно. CPU нь
  өгөгдлийг (гадаад төхөөрөмжөөс) унших, өгөгдлийг
  (гадаад төхөөрөмж рүү) гаргах болон
  нэмэх, хасах, үржих, хуваах, 2 утгыг жиших гэх
  арифметик ба логикийн цөөн үйлдэл хийдэг
  автомат. Гэхдээ эдгээр үйлдлүүд нь аливаа
  тооцоолох ажлыг програмчлахад хүрэлцээтэй
  байдаг.
• CPU-ын үйлдлүүд:
• Команд (instruction) авчрах – fetch instruction
• Командыг декодлох (interpret instruction)
• Өгөгдөл авчрах - команд биелүүлэхэд
  шаардлагатай өгөгдөл авчрах
• Өгөгдөл боловсруулах – команд биелүүлэхэд
  арифметик эсвэл логик үйлдэл гүйцэтгэж
  болно.
• Өгөгдөл бичих – командын үр дүнд гарсан
  өгөгдлийг санах ойд эсвэл I/O-д бичих
Өгөгдөл илэрхийлэх, instruction
              sets
• Компьютерын ойд тоон мэдээллийг дүрслэх
  үндсэн арга бол 2-тын тооллын систем.
• 2-тын системд өгөгдсөн тоог 10т руу
  хөрвүүлэхдээ:
• 0.1=1/2
• 0.01=1/4
• 0.001=1/8
• Хөвөх таслалтай бодит тоо: компьютерын шинжлэх ухаанд -
  1,001000101*10110В хэлбэртэй бичсэн тоог (тооны бүхлийн
  таслал хаана ч байж болно гэсэн утгаар) хөвөх таслалтай тоо
  гэнэ. Тооллын нэг системийн хувьд суурь нь өөрчлөгдөхгүй
  тогтмол байх тул хөвөх таслалтай тоог компьютерт дүрслэхдээ
  түүний тэмдэг, мантис, эрэмбэ 3-ыг бичиж санахад хангалттай
  байдаг. Хөвөх таслалтай бичсэн 2-тын тооны мантис нь
  1≤мантис<2 нөхцөлийг хангаж байвал түүнийг энгийн хэлбэртэй
  тоо гэнэ. Ө.х энгийн хэлбэртэй тооны бүхэл хэсэг нь тогтмол 1
  байна. Жишээ нь 0,000000110111В тоог энгийн хэлбэрт бичье.
  Хэрэв таслалыг баруун тийш нэг оронгоор зөөвөл
  0,00000110111В болох учраас эхний тоотой тэнцүү болгохын
  тулд      10-1–ээр     үржиж       өгөх     ёстой.      Иймд
  0,000000110111В=0,00000110111*10-1В болох ба таслалыг дахин
  баруун тийш нэг оронгоор зөөвөл 0,0000110111В болж эхний
  тоотой тэнцүү болгохын тулд 10-10 тоогоор үржинэ. Эндээс
  үзэхэд, өгсөн тоог энгийн хэлбэрт бичихийн тулд тооны таслал
  эхний 1 цифрийн ард гартал дээрх үйлдлийг давтах хэрэгтэй.
  Иймд 0,000000110111В=1,10111*10-111байна.
• Хөвөх таслалтай бодит тооны дүрслэл (floating-
  point) – 2-тын хөвөх таслалтай бодит тоог дүрсэлдэг
  хэд хэдэн ялгаатай хэлбэр байдаг. Хамгийн өргөн,
  мөн микрокомпьютеруудад хэрэглэгддэг нь IEEE 754
  (Institute for Electrical and Electronic Engineers)
  формат. Бодит тоон дээр хийх үйлдлийг
  хялбарчилж, хурдан биелдэг болгох зорилгоор
  тооны эрэмбийг тэмдэггүй бүхэл тоо болгон
  хувиргаж хадгалах нь илүү тохиромжтой. Үүний
  тулд, хэрэв эрэмбийг n битээр дүрсэлж байгаа бол
  2-n-1 тоог эрэмбэ дээр нэмж, гарсан тоо нэмэгдсэн
  эрэмбэ гэнэ. Жишээ нь: тооны эрэмбийг 8 битээр
  дүрслэх үед аравтын системд
• Instruction Set – командын багц. Команд
  бүр 2 үндсэн алхамд гүйцэтгэгддэг.
• Компьютерын хийж чадах ажил машиныг
  удирдаж байгаа командуудын багцаар
  тодорхойлогдоно. Командын цикль нь
  дараах дэд цикльтэй:
• Авчрах цикль – fetch cycle
• Гүйцэтгэх цикль – execute cycle
• Тасалдалтын цикль – interrupt cycle
• Авчрах
   – РС регистрт дараагийн авчрах командын хаяг хадгалагдана.
   – РС-д заагдсан санах ойн байрлалаас процессор командыг авчирна.
   – РС-г нэмэгдүүлэн.
   – Командыг IR регистрт ачаална. Энэ регистрт тухайн мөчид
     биелэгдэх командын хаяг байна.
   – Командыг декодлоно.
• Гүйцэтгэх
• Хийж байгаа үйлдлээсээ хамаарч тодорхойлогдоно. Үйлдлийн
  төрлүүд нь:
   – Процессор, санах ой хоёрын хооронд дамжуулалт хийх
   – Процессор, оролт/гаралтын төхөөрөмж хоёрын хооронд
     дамжуулалт хийх
   – Өгөгдөл боловсруулах - өгөгдөл дээр арифметик буюу логик
     үйлдэл хийх
   – Удирдлага – үйлдлүүдийн шулуун дарааллын хувьд гарч болох
     өөрчлөлт. Жишээ нь: үсрэлт (jump), салбарлах (branch)
• Команд биелүүлсний дараа тасалдалт үүссэн эсэхийг шалгана.
  Хэрэв үүссэн бол тухайн програмын ажиллац байсан хэсгээ РС-
  д, өгөгдлөө CPU-ын регистрүүдэд хийгээд, РС-ыг тасалдалт
  боловсруулагч функцийг эхлүүлэхээр тохируулна. Уг тасалдалт
  боловсруулагч тасалдалтыг гүйцэтгэсний дараа РС, болон CPU
  регистрүүдээс өмнө ажиллаж байсан зүйлсээ сэргээн,
  тасалдсан байсан програмаа үргэлжлүүлнэ. Дээрх зураг дээрээс
  харахад тухайн агшинд нэг л команд биелэгдэж байна. Энэ үед
  CPU бүрэн хүчин чадлаараа ашиглагдахгүй байна. Үүнийг
  instruction pipelining хийснээр арилгаж болдог. Энэ тохиолдолд
  өмнөх команд биелж дуусаагүй байхад дараагийн команд орж
  болдог. Энэ нь командыг урьдаар авчран, буферлэх замаар
  богино хугацаанд олон команд гүйцэтгэх боломж олгодог
  архитектур. 2 салангид үе шаттай. Нэг үед команд биелүүлж
  байхад, нөгөө нь санах ойн ашиглагдаагүй цикль ашиглан
  дараагийн командыг авчирч байдаг.

More Related Content

What's hot

U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)Badral Khurelbaatar
 
Шуурхай санах ой
Шуурхай санах ойШуурхай санах ой
Шуурхай санах ой
Ceka Moogii
 
Power point s bolowsruulalt
Power point s bolowsruulaltPower point s bolowsruulalt
Power point s bolowsruulaltdenkhee68
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн системshulam
 
санах ой
санах ойсанах ой
санах ой
shulam
 
компьютерийн сүлжээ
компьютерийн сүлжээкомпьютерийн сүлжээ
компьютерийн сүлжээ
Enkh Gvnj
 
C cons
C consC cons
C cons
Onon Tuul
 
мэдээллийн системийн үндэс
мэдээллийн системийн үндэсмэдээллийн системийн үндэс
мэдээллийн системийн үндэс
Tsetsenkhuu Otgonbayar
 
сүлжээний хичээл
сүлжээний хичээлсүлжээний хичээл
сүлжээний хичээлenhsaran_tsahim
 
Microsoft Word программын дадлага ажлууд
Microsoft Word программын дадлага ажлуудMicrosoft Word программын дадлага ажлууд
Microsoft Word программын дадлага ажлуудoyunerdene_gansukh
 
бичвэр мэдээлэл боловсруулах програмын тест
бичвэр мэдээлэл боловсруулах  програмын тестбичвэр мэдээлэл боловсруулах  програмын тест
бичвэр мэдээлэл боловсруулах програмын тест
Maral Bobih
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
Badral Khurelbaatar
 
хэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудхэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудTsetsenkhuu Otgonbayar
 

What's hot (20)

U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
 
Шуурхай санах ой
Шуурхай санах ойШуурхай санах ой
Шуурхай санах ой
 
Power point s bolowsruulalt
Power point s bolowsruulaltPower point s bolowsruulalt
Power point s bolowsruulalt
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн систем
 
Paint програм
Paint програмPaint програм
Paint програм
 
санах ой
санах ойсанах ой
санах ой
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
компьютерийн сүлжээ
компьютерийн сүлжээкомпьютерийн сүлжээ
компьютерийн сүлжээ
 
C cons
C consC cons
C cons
 
мэдээллийн системийн үндэс
мэдээллийн системийн үндэсмэдээллийн системийн үндэс
мэдээллийн системийн үндэс
 
сүлжээний хичээл
сүлжээний хичээлсүлжээний хичээл
сүлжээний хичээл
 
U.it101 lab 4
U.it101 lab 4U.it101 lab 4
U.it101 lab 4
 
Ms word
Ms wordMs word
Ms word
 
Microsoft Word программын дадлага ажлууд
Microsoft Word программын дадлага ажлуудMicrosoft Word программын дадлага ажлууд
Microsoft Word программын дадлага ажлууд
 
бичвэр мэдээлэл боловсруулах програмын тест
бичвэр мэдээлэл боловсруулах  програмын тестбичвэр мэдээлэл боловсруулах  програмын тест
бичвэр мэдээлэл боловсруулах програмын тест
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
 
It101 1
It101 1It101 1
It101 1
 
хэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудхэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмууд
 
Cs101 lec2
Cs101 lec2Cs101 lec2
Cs101 lec2
 
Cpu
CpuCpu
Cpu
 

Viewers also liked

мэдээллийн процесс
мэдээллийн процессмэдээллийн процесс
мэдээллийн процесс
Uuganbayar Uuganaa
 
Its150 l1
Its150 l1Its150 l1
Its150 l1oz
 
эх хавтан гэж юу вэ
эх хавтан гэж юу вээх хавтан гэж юу вэ
эх хавтан гэж юу вэOyuka Oyuk
 
C.CS101 Лекц-5
C.CS101 Лекц-5C.CS101 Лекц-5
C.CS101 Лекц-5
taivna
 
судалгааны ажил гүйцэтгэх арга зүй
судалгааны ажил гүйцэтгэх арга зүйсудалгааны ажил гүйцэтгэх арга зүй
судалгааны ажил гүйцэтгэх арга зүй
Naraa_06
 

Viewers also liked (8)

Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Lecture 13 os
Lecture 13 osLecture 13 os
Lecture 13 os
 
мэдээллийн процесс
мэдээллийн процессмэдээллийн процесс
мэдээллийн процесс
 
Its150 l1
Its150 l1Its150 l1
Its150 l1
 
эх хавтан гэж юу вэ
эх хавтан гэж юу вээх хавтан гэж юу вэ
эх хавтан гэж юу вэ
 
C.CS101 Лекц-5
C.CS101 Лекц-5C.CS101 Лекц-5
C.CS101 Лекц-5
 
It101 lect2
It101 lect2It101 lect2
It101 lect2
 
судалгааны ажил гүйцэтгэх арга зүй
судалгааны ажил гүйцэтгэх арга зүйсудалгааны ажил гүйцэтгэх арга зүй
судалгааны ажил гүйцэтгэх арга зүй
 

Similar to Instruction sets

Ec305.2 computer architecture
Ec305.2 computer architectureEc305.2 computer architecture
Ec305.2 computer architectureД. Ганаа
 
Computerin tehnikin undes 1hicheeliin lektsiin huraangui
Computerin tehnikin undes 1hicheeliin lektsiin huraanguiComputerin tehnikin undes 1hicheeliin lektsiin huraangui
Computerin tehnikin undes 1hicheeliin lektsiin huraanguiE-Gazarchin Online University
 
Lec04 threads
Lec04 threadsLec04 threads
Lec04 threads
Khuder Altangerel
 
Лекц №4
Лекц №4Лекц №4
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцLecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцGantur Togtokh
 
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцLecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцGantur Togtokh
 
Lec03 concurrency (2)
Lec03 concurrency (2)Lec03 concurrency (2)
Lec03 concurrency (2)
Khuder Altangerel
 
Information technology & information system lecture
Information technology & information system lectureInformation technology & information system lecture
Information technology & information system lecture
Nyamdorj Dugar
 
Lec13 cachetlb
Lec13 cachetlbLec13 cachetlb
Lec13 cachetlb
Khuder Altangerel
 
Lec05 cooperating (1)
Lec05 cooperating (1)Lec05 cooperating (1)
Lec05 cooperating (1)
Khuder Altangerel
 
Mtms3 mathematical softs
Mtms3   mathematical softsMtms3   mathematical softs
Mtms3 mathematical softs
Babaa Naya
 
7 l командын олонлог онцлог
7 l командын олонлог онцлог7 l командын олонлог онцлог
7 l командын олонлог онцлогtsdnsrn
 
Лекц №2
Лекц №2Лекц №2

Similar to Instruction sets (20)

Ec305.2 computer architecture
Ec305.2 computer architectureEc305.2 computer architecture
Ec305.2 computer architecture
 
Lecture 6 os
Lecture 6 osLecture 6 os
Lecture 6 os
 
Computerin tehnikin undes 1hicheeliin lektsiin huraangui
Computerin tehnikin undes 1hicheeliin lektsiin huraanguiComputerin tehnikin undes 1hicheeliin lektsiin huraangui
Computerin tehnikin undes 1hicheeliin lektsiin huraangui
 
Lec04 threads
Lec04 threadsLec04 threads
Lec04 threads
 
Лекц №4
Лекц №4Лекц №4
Лекц №4
 
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцLecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
 
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэцLecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
 
Mtms1 intro
Mtms1   introMtms1   intro
Mtms1 intro
 
Lec03 concurrency (2)
Lec03 concurrency (2)Lec03 concurrency (2)
Lec03 concurrency (2)
 
Information technology & information system lecture
Information technology & information system lectureInformation technology & information system lecture
Information technology & information system lecture
 
Lec13 cachetlb
Lec13 cachetlbLec13 cachetlb
Lec13 cachetlb
 
Lec05 cooperating (1)
Lec05 cooperating (1)Lec05 cooperating (1)
Lec05 cooperating (1)
 
Lecture 10 os
Lecture 10 osLecture 10 os
Lecture 10 os
 
K bvtets
K bvtetsK bvtets
K bvtets
 
Mtms3 mathematical softs
Mtms3   mathematical softsMtms3   mathematical softs
Mtms3 mathematical softs
 
It101-3
It101-3It101-3
It101-3
 
3
33
3
 
Bie daalt
Bie daaltBie daalt
Bie daalt
 
7 l командын олонлог онцлог
7 l командын олонлог онцлог7 l командын олонлог онцлог
7 l командын олонлог онцлог
 
Лекц №2
Лекц №2Лекц №2
Лекц №2
 

More from Oidov Umbelee

өгөгдөл дамжуулах 4
өгөгдөл дамжуулах 4өгөгдөл дамжуулах 4
өгөгдөл дамжуулах 4Oidov Umbelee
 
өгөгдөл дамжуулах лекц
өгөгдөл дамжуулах лекцөгөгдөл дамжуулах лекц
өгөгдөл дамжуулах лекцOidov Umbelee
 
өгөгдөл дамжуулах
өгөгдөл дамжуулахөгөгдөл дамжуулах
өгөгдөл дамжуулахOidov Umbelee
 
өгөгдөл дамжуулах үндэс
өгөгдөл дамжуулах үндэсөгөгдөл дамжуулах үндэс
өгөгдөл дамжуулах үндэсOidov Umbelee
 

More from Oidov Umbelee (11)

Lecture3
Lecture3Lecture3
Lecture3
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture1
Lecture1Lecture1
Lecture1
 
Lecture4
Lecture4Lecture4
Lecture4
 
Lecture6
Lecture6Lecture6
Lecture6
 
Letcure5
Letcure5Letcure5
Letcure5
 
өгөгдөл дамжуулах 4
өгөгдөл дамжуулах 4өгөгдөл дамжуулах 4
өгөгдөл дамжуулах 4
 
өгөгдөл дамжуулах лекц
өгөгдөл дамжуулах лекцөгөгдөл дамжуулах лекц
өгөгдөл дамжуулах лекц
 
өгөгдөл дамжуулах
өгөгдөл дамжуулахөгөгдөл дамжуулах
өгөгдөл дамжуулах
 
өгөгдөл дамжуулах үндэс
өгөгдөл дамжуулах үндэсөгөгдөл дамжуулах үндэс
өгөгдөл дамжуулах үндэс
 
Datacommunicatoin1
Datacommunicatoin1Datacommunicatoin1
Datacommunicatoin1
 

Instruction sets

  • 1. Өгөгдөл илэрхийлэх ба instruction sets Мэдээлэл технологийн тэнхим Ү. Ойдов
  • 2. Регистр ба процессорын түвшний төхөөрөмжүүд • Компьютерын програм нь командуудын дараалал хэлбэртэй байна. Энэ командууд нь бусад мэдээллийн адил 2-тын тоо хэлбэртэй байх ба ямар үйлдэл хийхийг заасан үйлдлийн код болон уг үйлдэлд орох өгөгдлийн хаягийг агуулсан байна. Тухайн үйлдэлд орж ашиглагдах өгөгдлийг операнд гэнэ. Хоёр операндтай үйлдлийн команд ерөнхий тохиолдолд
  • 3. • Үйлдлийн код • Ашиглагдах операндуудын хаяг • Үйлдлийн үр дүнг хадгалах үүрийн хаяг • Уг командын дараа биелэх дараагийн командын хаяг • гэсэн 4 элементээс тогтсон
  • 4. Код • Операнд 1 • Операнд 2 • Үр дүнг хадгалах үүрийн хаяг • Дараагийн командын хаяг
  • 5. • Операндын хаягийн урт нь шууд хандах санах ойн хэмжээ болон хаягийг өгөх аргаас хамаардаг. Хэрэв үйлдлийн кодын уртыг 8 бит, хаягийн уртыг 14 бит гэж авбал, дээрх 4 хаяг агуулсан командын урт 64 бит болоход хүрнэ. Ийм урт командуудаас бүтсэн програмын хэмжээ ч ихсэх тул командын уртыг багасгах арга хэрэгтэй болсон. Командын уртыг регистрүүд ашиглан багасгадаг. Регистрүүд нь команд биелэгдэхэд шаардагдах хугацаа болон, програмын хэмжээг багасгах зориулалттай.
  • 6. • Ихэнх тохиолдолд, програмын командууд нь бичигдсэн дарааллаараа дэс дараалан биелэгддэг. Харин бүлэг командыг давтаж биелүүлэх, бүлэг командыг биелүүлэлгүйгээр алгасах, тусгай зориулалттай бүлэг командыг биелүүлэхээр очих ба тэндээс буцах гэсэн цөөн тохиолдолд л дараачийн биелэх командын хаягийг зааж өгөх шаардлагатай байдаг. Иймээс дараагийн биелэх командын хаягийг команд дотор бичихгүй, харин дараагийн биелэх командын хаягийг хадгалах зориулалттай тусгай үүрийг (регистр) CPU-д нэмсэн. CPU дэхь ийм төрлийн регистрыг IP (Instruction Pointer – командын заагуур) гэнэ. Мөн програмын тоолуур (Program Counter) гэдэг. • Гарсан үр дүнгээ санах ойн өөр байрлалд биш харин хоёр операндын аль нэгний нь оронд хадгалдаг болгосон. Үр дүн 2-р операндын хаягт хадгалагдана.
  • 7. • 2-р операндыг хассан. Мэдээж нэг хаягаар 2 операндыг өгч чадахгүй учир, нэг операндыг тогтмол байрнаас авч, үйлдлийн үр дүнг мөн тэр байрт үлдээдэг байхаар болгосон. Энэ тогтмол байр нь регистр байхаар сонгож, нэг регистр нэмсэн ба түүнийг аккумулятор (үр дүнг хурааж хадгалж байх хураагуур гэсэн утгатай үг) гээд АС гэж тэмдэглэдэг. Аккумулятор нь санах ойн үүртэй ижил урттай байх ёстой ба түүний утгыг санах ойд хадгалах, санах ойгоос уншиж түүнд бичих гэсэн нэмэлт 2 үйлдэл шаардагдана. • Хаягийн урт нь шууд хандах санах ойн хэмжээнээс хамаарч харьцангуй их байдаг тул командад операндын хаягийг шууд өгөхгүй харин операндын хаягийг хадгалж байгаа регистрын дугаарыг зааж өгөх арга хэрэглэдэг. Энэ нь ялангуяа дарааллын элементүүдийг боловсруулахад илүү тохиромжтой байдаг. Уг дараалал эхлэх эхний хаягийг суурь, уг дарааллын элементүүдэд индексээр нь хандана.
  • 8. • Элементийн_хаяг=суурь+индекс. Эдгээрийг хадгалахад зориулагдсан регистрыг харгалзан баазын регистр, индексийн регистр гэнэ. Мөн дарааллыг боловсруулах үед ямар нэгэн N дугаараас цааших дугаартай элемент дээр үйлдэл хийх тохиолдол гардаг. Тэгвэл элементийн хаяг нь суурь+N+индекс гэсэн 3 хэмжигдэхүүнээр тодорхойлогдоно.
  • 9. Регистрийн төрлүүд: • Програмчлагддаг буюу хэрэглэгчид харагддаг регистрүүд – Ерөнхий зориулалтын (аккумулятор, сегмент) – програмистын хувьд илүү уян хатан, сонголт ихтэй. Командын хэмжээг ихэсгэж болдог. 8-32 битийн хооронд байдаг. Ихэнх тохиолдолд 2 өгөгдлийн регистрийг нэгтгэн нэг том регистртэй адилаар ажиллууллдаг. – Тусгай зориулалтын (төлөвийн регистрүүд, хаягийн регистрүүд, өгөгдөл хадгалах)– эдгээр нь үйлдлийн үр дүнд карри бит үүссэн, орон хальсан, үйлдлийн үр дүн 0 гарсан гэх мэтийг заадаг. Ерөнхий зориулалтын регистрүүдийг бодвол илүү хурдан. Тасалдалтыг идэвхтэй ба идэвхгүй болгож болдог. • Харагддаггүй регистрүүд (PC-program counter, IR-Instruction register, Memory address register, memory buffer register) •
  • 10.
  • 11. Процессорын үндэс, CPU-ын тухай • C PU –ын бүтэц: – ALU – Регистрүүд – Дотоод холболтууд (bus) – Удирдах байгууламж (Control Unit)
  • 12. • CPU-нь: • Бусад төхөөрөмжийг удирдах – жишээ нь мэдээллийг унших ба мэдээлэл бичих үйлдэл хийхийг санах ойд “тушаах”. • Өгөгдөл боловсруулах буюу өгөгдөл дээр арифметик, логикийн үйлдэл хийх • гэсэн үндсэн үүрэгтэй. Иймээс CPU нь удирдах байгууламж ба арифметик логикийн үйлдэл хийдэг байгууламж гэсэн 2 үндсэн хэсгээс тогтоно. CPU нь өгөгдлийг (гадаад төхөөрөмжөөс) унших, өгөгдлийг (гадаад төхөөрөмж рүү) гаргах болон нэмэх, хасах, үржих, хуваах, 2 утгыг жиших гэх арифметик ба логикийн цөөн үйлдэл хийдэг автомат. Гэхдээ эдгээр үйлдлүүд нь аливаа тооцоолох ажлыг програмчлахад хүрэлцээтэй байдаг.
  • 13. • CPU-ын үйлдлүүд: • Команд (instruction) авчрах – fetch instruction • Командыг декодлох (interpret instruction) • Өгөгдөл авчрах - команд биелүүлэхэд шаардлагатай өгөгдөл авчрах • Өгөгдөл боловсруулах – команд биелүүлэхэд арифметик эсвэл логик үйлдэл гүйцэтгэж болно. • Өгөгдөл бичих – командын үр дүнд гарсан өгөгдлийг санах ойд эсвэл I/O-д бичих
  • 14. Өгөгдөл илэрхийлэх, instruction sets • Компьютерын ойд тоон мэдээллийг дүрслэх үндсэн арга бол 2-тын тооллын систем. • 2-тын системд өгөгдсөн тоог 10т руу хөрвүүлэхдээ: • 0.1=1/2 • 0.01=1/4 • 0.001=1/8
  • 15. • Хөвөх таслалтай бодит тоо: компьютерын шинжлэх ухаанд - 1,001000101*10110В хэлбэртэй бичсэн тоог (тооны бүхлийн таслал хаана ч байж болно гэсэн утгаар) хөвөх таслалтай тоо гэнэ. Тооллын нэг системийн хувьд суурь нь өөрчлөгдөхгүй тогтмол байх тул хөвөх таслалтай тоог компьютерт дүрслэхдээ түүний тэмдэг, мантис, эрэмбэ 3-ыг бичиж санахад хангалттай байдаг. Хөвөх таслалтай бичсэн 2-тын тооны мантис нь 1≤мантис<2 нөхцөлийг хангаж байвал түүнийг энгийн хэлбэртэй тоо гэнэ. Ө.х энгийн хэлбэртэй тооны бүхэл хэсэг нь тогтмол 1 байна. Жишээ нь 0,000000110111В тоог энгийн хэлбэрт бичье. Хэрэв таслалыг баруун тийш нэг оронгоор зөөвөл 0,00000110111В болох учраас эхний тоотой тэнцүү болгохын тулд 10-1–ээр үржиж өгөх ёстой. Иймд 0,000000110111В=0,00000110111*10-1В болох ба таслалыг дахин баруун тийш нэг оронгоор зөөвөл 0,0000110111В болж эхний тоотой тэнцүү болгохын тулд 10-10 тоогоор үржинэ. Эндээс үзэхэд, өгсөн тоог энгийн хэлбэрт бичихийн тулд тооны таслал эхний 1 цифрийн ард гартал дээрх үйлдлийг давтах хэрэгтэй. Иймд 0,000000110111В=1,10111*10-111байна.
  • 16. • Хөвөх таслалтай бодит тооны дүрслэл (floating- point) – 2-тын хөвөх таслалтай бодит тоог дүрсэлдэг хэд хэдэн ялгаатай хэлбэр байдаг. Хамгийн өргөн, мөн микрокомпьютеруудад хэрэглэгддэг нь IEEE 754 (Institute for Electrical and Electronic Engineers) формат. Бодит тоон дээр хийх үйлдлийг хялбарчилж, хурдан биелдэг болгох зорилгоор тооны эрэмбийг тэмдэггүй бүхэл тоо болгон хувиргаж хадгалах нь илүү тохиромжтой. Үүний тулд, хэрэв эрэмбийг n битээр дүрсэлж байгаа бол 2-n-1 тоог эрэмбэ дээр нэмж, гарсан тоо нэмэгдсэн эрэмбэ гэнэ. Жишээ нь: тооны эрэмбийг 8 битээр дүрслэх үед аравтын системд
  • 17. • Instruction Set – командын багц. Команд бүр 2 үндсэн алхамд гүйцэтгэгддэг. • Компьютерын хийж чадах ажил машиныг удирдаж байгаа командуудын багцаар тодорхойлогдоно. Командын цикль нь дараах дэд цикльтэй: • Авчрах цикль – fetch cycle • Гүйцэтгэх цикль – execute cycle • Тасалдалтын цикль – interrupt cycle
  • 18.
  • 19. • Авчрах – РС регистрт дараагийн авчрах командын хаяг хадгалагдана. – РС-д заагдсан санах ойн байрлалаас процессор командыг авчирна. – РС-г нэмэгдүүлэн. – Командыг IR регистрт ачаална. Энэ регистрт тухайн мөчид биелэгдэх командын хаяг байна. – Командыг декодлоно. • Гүйцэтгэх • Хийж байгаа үйлдлээсээ хамаарч тодорхойлогдоно. Үйлдлийн төрлүүд нь: – Процессор, санах ой хоёрын хооронд дамжуулалт хийх – Процессор, оролт/гаралтын төхөөрөмж хоёрын хооронд дамжуулалт хийх – Өгөгдөл боловсруулах - өгөгдөл дээр арифметик буюу логик үйлдэл хийх – Удирдлага – үйлдлүүдийн шулуун дарааллын хувьд гарч болох өөрчлөлт. Жишээ нь: үсрэлт (jump), салбарлах (branch)
  • 20. • Команд биелүүлсний дараа тасалдалт үүссэн эсэхийг шалгана. Хэрэв үүссэн бол тухайн програмын ажиллац байсан хэсгээ РС- д, өгөгдлөө CPU-ын регистрүүдэд хийгээд, РС-ыг тасалдалт боловсруулагч функцийг эхлүүлэхээр тохируулна. Уг тасалдалт боловсруулагч тасалдалтыг гүйцэтгэсний дараа РС, болон CPU регистрүүдээс өмнө ажиллаж байсан зүйлсээ сэргээн, тасалдсан байсан програмаа үргэлжлүүлнэ. Дээрх зураг дээрээс харахад тухайн агшинд нэг л команд биелэгдэж байна. Энэ үед CPU бүрэн хүчин чадлаараа ашиглагдахгүй байна. Үүнийг instruction pipelining хийснээр арилгаж болдог. Энэ тохиолдолд өмнөх команд биелж дуусаагүй байхад дараагийн команд орж болдог. Энэ нь командыг урьдаар авчран, буферлэх замаар богино хугацаанд олон команд гүйцэтгэх боломж олгодог архитектур. 2 салангид үе шаттай. Нэг үед команд биелүүлж байхад, нөгөө нь санах ойн ашиглагдаагүй цикль ашиглан дараагийн командыг авчирч байдаг.