Click here to load reader
Upload
luvsanbyamba-dolgorjav
View
185
Download
12
Embed Size (px)
Citation preview
ПРОЦЕССОРЫН АРХИТЕКТУР
Микропроцессорыг зохион байгуулалтын хувьд 3 төрөлд хуваана.
● RISC (Reduced Instruction Set Computing)● CISC (Complex Instruction Set Computing)● EPIC (Explicitly Parallel Instruction Computing)
RISC АРХИТЕКТУР
● RISC процессорын гол онцлогууд:○ Ерөнхий зориулалтын олон тооны
регистр.○ Системийн команд энгийн бөгөөд цөөн.○ Командын pipeline-ийг хялбарчилсан.○ Техникийн хувьд бага зардал гардаг.○ RISK процессорын жишээ: x86, 286, 386
RISC - үндсэн зарчим● Fixed Length Instructions Бүх команд ижил урттай. Ингэснээр юу
хийгдэх гэж байгааг нь урьдчилан таамаглахад хялбар учир хурдыг нэмэгдүүлнэ. Гэвч бас тухайн командад тогтмол урттайгаас илүү мэдээлэл хэрэгтэй болбол нэгийн оронд 2 командыг хэрэглэнэ гэсэн үг.
● Minimized Instruction Set Цөөн командуудтай болгосноор процессорыг зохион байгуулахад хялбар болно. Мөн chip-ийг хурдан ажиллах боломж олгоно.
● No Storage Storage Instructions Нэг командаар нэг санах ойн хэсгээс нөгөө санах ойн хэсэгт хадгалж процессор чадахгүй. Source ба Destination нь хоёул санах ой байж болохгүй.
● No Automatic Detection of Self Modifying Code Chip нь зарим нөхцлүүдийг таних шаардлагагүй. Учир нь үүнийг хөрвүүлэгч (programmer/compiler) зэрэг нь хийнэ.
CISC АРХИТЕКТУР
CISC процессор хийгдэх болсон шалтгаан:● Програм хангамжийн үнэ нь техник
хангамжаас хэтэрхий их болсон.● Дээд түвшний програмчлалын хэл маш
хүндрэлтэй болсон.● Үүнээс болж дараах нөхцөл үүссэн.
○ Маш олон командын багцууд ○ Олон хаяглалтын горимууд ○ Техник хангамжаар гүйцэтгэх үйлдлүүд . Жишээ
нь: CASE (switch) on VAX
CISC машины гол шинж чанар● Олон тооны регистр. Ингэснээр олон төрлийн
командуудыг гүйцэтгэх чадвартай болсон. ● Ерөнхий зориулалтын цөөн тооны регистр. 32 бит, 6
регистр ашиглана. Регистр тус бүрийн гүйцэтгэх үүрэг өөр тул командуудыг гүйцэтгэхдээ зарцуулах техникийн хэрэгсэл ба машины тактын тоо нь ихэссэн.
● Командууд нь янз бүрийн урттай. Intel x86-ийн хувьд 8/16 битийн урьд өмнөх архитектуудтайгаа тохирч ажилладаг. Санах ойтой ажиллах командууд их болсон.
● CISK процессорын жишээ: 486……Pentium4
● Команд бүртэй ажилладаг Instruction Set Architecture дизайнтай. Өөрөөр хэлбэл, CISC машин нь хаяглалтын олон горимтой. Жишээ нь: MC68000 нь 14, илүү чадвартай процессор болох MC68020 нь 25 хаяглалтын горимтой.
● M6800 анх гарч байхдаа 500$-ийн үнэтэй 16 К RAM-тай, 55.000$-ийн үнэтэй 40М байтын хатуу дисктэй байв. Дараа нь MC68000 нь мөн хэдэн зуу үнэтэй 64K RAM, 5.000$-ийн үнэтэй 10MB-ын хатуу дисктэй байв.
● Энэ төрлийн микропроцессорууд нь нилээн эхэн үеийнх байдаг. (1970-аад оны үед). Тухайн үед санах ой маш үнэтэй байсан тул түүнийг хэмнэхийн тулд дараах 2 алхамыг хийсэн.
● Variable Length Instructions Янз бүрийн урттай командуудыг CISC процессорт команд бүрийн хэрэглэдэг санах ойн хэмжээг зохицуулах зорилгоор ашигласан. Иймд бүх командууд нь нэг циклд багтана. Санах ойг хэмнэх нь сайхан санаа байсан боловч зарим үед компьютерийн хурдыг ихээр удаашруулдаг. Бас нэг муу тал нь орж байгаа командын кодыг ойлгоход хэцүү байсан. RISC ба EPIC процессорууд нь тогтмол урттай командуудыг агуулах тул ямар үйлдэл хийгдэх гэж байгааг ойлгоход хялбар юм.
● Extensive Instruction Set CISC архитектур нь SS (Storage to Storage) командуудыг ашигладаг. SS команд нь нэг командаар өгөгдлийг санах ойн нэг хэсгээс нөгөөд шилжүүлэхийг зөвшөөрдөг. Иймд SS командын давуу тал нь CISC процессор нь RISC процессорын 2 командаар хийх үйлдлийг нэг командаар хийдэг. (1 – өгөгдлийг санах ойгоос регистр уруу ачаалах, 2 – уг регистрээс санах ойн өөр байранд өгөгдлийг хадгалах.)
EPIC АРХИТЕКТУР● EPIC микропроцессорын архитектур нь маш шинэ
бүтэц юм. EPIC chip нь 2000 оноос хийгдсэн ба боловсруулах хурдыг ахиулсан. EPIC chip-ийн нэг онцлог нь CPU нь командуудын зэрэгцээ боловсруулалтыг шалгах шаардлагагүй болсон. Хөрвүүлэгч (compiler) нь ямар командуудыг зэрэгцээгээр гүйцэтгэх болон ямар командын машины кодыг тайлах ёстойг тодорхойлох үүрэгтэй. CPU нь салбарлах хэрэгтэй болбол predication техникийг хэрэглэнэ. Ингэснээр CPU нь бүх боломжит үр дүн, эцсийн хариу хэзээ гарахыг судалдаг. EPIC дизайн нь дараах шинжүүдийг агуулна.
Bundled Instructions ● Энэ нь маш чухал чанар юм. EPIC архитектур нь
хурдан боловсруулалт хийхийн тулд олон тооны командуудыг нэг урт командын багц үг болгодог. Үүнийг LIW encoding (Long Instruction Word) гэж нэрлэнэ.
● Багц бүр нь хөрвүүлэгчийн тавьж өгсөн ямар командуудыг зэрэг биелүүлэх вэ гэдгийг хэлж өгдөг flag-ийг агуулна.
● CPU нь эдгээрийг өөрийн сонгосон дарааллаараа хөрвүүлнэ.
● CISC ба RISC процессоруудаас ялгаатай нь EPIC CPU ямар командуудыг зэрэгцээгээр биелүүлэх вэ гэж бодож цаг алдалгүйгээр гүйцэтгэдэг болсон.
Suports Predication● Predication гэдэг нь салбарлалтыг зохицуулах EPIC
процессорын шинэ зарчим юм. CISC ба RISC бүтэцтэй chip-үүдийн хувьд CPU нь буруу зам уруу орж, гацах тохиолдол их гардаг. Харин EPIC CPU нь салбар асуудлуудтай таарвал, салбар бүрийн бүх замуудын кодуудыг биелүүлэх ба аль болох их зэрэгцүүлэлтийг ашиглана. Салбарлалтын үед pipeline ашиглах нь зүйтэй. RISC ба CISC архитектурын процессортой салбарлалт хийгдвэл тэд зөвхөн нэг замыг нь таамгаар зөв гэж тооцон сонгодог ба тэр нь зөв байх үед ямар ч хугацааны алдагдалгүйгээр цааш үргэлжилнэ. Харин буруу зам сонгогдсон бол буруу хийсэн үйлдлүүдээ ухраан буцааж хийгээд дахин өөр зам уруу орж эхэлдэг. Харин EPIC процессор салбарлалттай таарвал хөрвүүлэгч (compiler) нь салаа замуудын үйлдлүүдийг зэрэгцээгээр гүйцэтгэдэг. Командууд pipeline-аар хийгдэж дуусахад CPU зөв замынх нь үр дүнг хадгалаад, бусдыг нь орхино. Үүний дутагдалтай тал нь CPU байнга салбарлалтын олон буруу замаар орж, нөөц бололцоогоо дэмий үрэгдүүлэх болно. Гэхдээ энэ нь байнга таамаглаж байснаас дээр юм.
Speculative LoadsКомпьютерийн chip үүссэн цагаас хйш процессорын хурд улам ихэссээр байгаа.Иймд CPU санах ойгоос өгөгдөл хүлээх хугацаандаа маш олон циклийг сул зогсожөнгөрүүлдэг. SL гэдэг нь EPIC chip –ийн бас нэг онцлог бөгөөд санах ойгоос өгөгдөлхүлээх хугацаагаа үр ашигтай хэрэглэх зорилготой. SL нь CPU –г бүүр өмнөх(салбарлалтаас өмнө ч байж болно) командыг авчиран, түүнд шаардагдахөгөгдлийг ачаалах боломж олгоно . Өөрөөр хэлбэл, өгөгдлийг авчиран тусд ньхадгална. SL командыг командууд дунд оруулах ба түүнийг хийгдэх үед CPU санахойг хүлээн сул зогсохгүй байх болно. SL үйл ажиллагаа нь хөрвүүлэгчээр хийгддэг.1. Хөрвүүлэгч програмыг шалгаад, санах ойгоос өгөгдөл авчирах командуудыг хайна.2. Хөрвүүлэгч уг өгөгдлийг хэрэглэгдэхээс өмнө олон тооны SL командуудыг програмын эхэн хэсэгт оруулна. 3. SL нь өгөгдөл хаана хэрэглэгдэхийг шалгана.4. Дээрхтэй нэгэн зэрэг хөрвүүлэгч нь зэрэгцээгээр биелэгдэж болох командуудыг олно.CPU нь SL командтай таарах үед CPU санах ойгоос өгөгдлийг ачаалах үйлдлийгхийнэ.
• VLIW (Very Long Instruction Word)
● Маш урт командын үг. VLIW нь EPIC дизайы багц командуудтай ажиллах гол онцлог мөн. Үүнийг эртнээс хэрэглэж байсан ч санасан хэмжээнд ажиллуулж чадаагүй. VLIW нь командуудыг боловсруулж, нэг багц мэт болгон хөрвүүлдэг процесс юм. CPU нь командыг тус тусд нь биелүүлснээс багцаар нь биелүүлбэл хамаагүй хурдан боловсруулна. EPIC-ийн хувьд хөрвүүлэгч нь флагуудыг тавина. Энэ флаг нь ямар багцуудыг зэрэгцээгээр гүйцэтгэж болохыг заана.
Comparison Between CISC and RISC
● Introduction● Experiment: MIPS R2000 vs. Intel 80386
○ Architecture summary○ Benchmarks○ Our Results○ Conclusions
● Current Status
IntroductionCISC
● A CISC processor has most of the following properties:
○ Richer instruction set, some simple, some very complex ○ Instructions generally take more than 1 clock to execute ○ Instructions of a variable size ○ Instructions interface with memory in multiple mechanisms with
complex addressing modes ○ Microcode control ○ No pipelining
Introduction CISC
● Other properties of CISC
● Work well with simpler compiler● Segmented memory model ● Few registers ● Crappy floating point performance● Upward compatibility within a family
IntroductionRISC
● A RISC processor has most of the following properties:
○ Simple primitive instructions and addressing modes ○ Instructions execute in one clock cycle ○ Uniformed length instructions and fixed instruction format ○ Instructions interface with memory via fixed mechanisms
(load/store) ○ Hardwired control○ Pipelining
IntroductionRISC
● Other properties of RISC
● Instruction set is orthogonal (little overlapping of instruction functionality)
● Complexity pushed to the compiler● Superscalar and out-of-order execution ● Large number of registers
● Fast floating point performance
Experiment: MIPS R2000 vs. Intel 80386
Architecture summary
Experiment: MIPS R2000 vs. Intel 80386
Benchmarks
● Integer Benchmarks○ test1○ stanford○ poly
● Floating-point Benchmarks
○ whetstone○ lre○ var
Experiment: MIPS R2000 vs. Intel 80386
Our Results
Experiment: MIPS R2000 vs. Intel 80386
Our Results
Experiment: MIPS R2000 vs. Intel 80386
Our Results
Experiment: MIPS R2000 vs. Intel 80386
Our Results
Experiment: MIPS R2000 vs. Intel 80386
Our Results
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Instruction Count
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Instruction Count
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Instruction Format and Encoding: MIPS R2000
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Instruction Format and Encoding: Intel 80386
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Instruction Format and Encoding: Intel 80386
Experiment: MIPS R2000 vs. Intel 80386
Our Results
● Addressing Modes○ MIPS 2000 (load/store architecture)
■ Register indirect■ Immediate
○ Intel 80386(Register-Memory architecture)■ Absolute■ Register indirect■ Based■ Indexed■ Based indexed with displacement■ Based with scaled indexed■ Based with scaled indexed and displacement
Displacement can be 8 or 32 bits
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Addressing Modes: Intel 80386
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Addressing Modes: Intel 80386
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Data Traffic
Experiment: MIPS R2000 vs. Intel 80386
Our Results● Conclusions
○ IC in 80386 is less than MIPS R2000, but not very much○ CISC has richer Instruction set, but in our case, the programs
just use around 15% of all the instructions○ CISC has better code density, 80386’s average instruction
length is less than MIPS R2000’s○ 80386 has richer addressing modes, but in both integer and
floating-point case, 3 addressing modes used for about 90%’s addressing, some addressing modes even never used
○ To 80386, the operand types can be “Memory”, while in MIPS R2000, only load/store will access memory, all operands are in registers
Current StatusWho wins ?
● The battle over CISC and RISC became blur
● From Intel 80486 until PIII, only 4 more instructions added, they adopt some RISC-like features such as 1 clock cycle execution, pipelining, superscalar, lot of registers, out-of-order execution etc to improve performance, and become faster and faster
● RISC machine s add more instructions, such as interrupt handling instructions, which is rather complex. An example is PowerPC 601 even has more instructions than Pentium The gap is narrowed!
Current StatusWho wins ?
● RISC never achieve great market success as people hope
○ Software availability and compatibility ○ Application for embedded system
Make a processor successful is more than just have the fastest chip available. So, No One Wins!