36

Click here to load reader

Untitled Presentation(3)

Embed Size (px)

Citation preview

Page 1: Untitled Presentation(3)

ПРОЦЕССОРЫН АРХИТЕКТУР

Микропроцессорыг зохион байгуулалтын хувьд 3 төрөлд хуваана.

● RISC (Reduced Instruction Set Computing)● CISC (Complex Instruction Set Computing)● EPIC (Explicitly Parallel Instruction Computing)

Page 2: Untitled Presentation(3)

RISC АРХИТЕКТУР

● RISC процессорын гол онцлогууд:○ Ерөнхий зориулалтын олон тооны

регистр.○ Системийн команд энгийн бөгөөд цөөн.○ Командын pipeline-ийг хялбарчилсан.○ Техникийн хувьд бага зардал гардаг.○ RISK процессорын жишээ: x86, 286, 386

Page 3: Untitled Presentation(3)

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) зэрэг нь хийнэ.

Page 4: Untitled Presentation(3)

CISC АРХИТЕКТУР

CISC процессор хийгдэх болсон шалтгаан:● Програм хангамжийн үнэ нь техник

хангамжаас хэтэрхий их болсон.● Дээд түвшний програмчлалын хэл маш

хүндрэлтэй болсон.● Үүнээс болж дараах нөхцөл үүссэн.

○ Маш олон командын багцууд ○ Олон хаяглалтын горимууд ○ Техник хангамжаар гүйцэтгэх үйлдлүүд . Жишээ

нь: CASE (switch) on VAX

Page 5: Untitled Presentation(3)

CISC машины гол шинж чанар● Олон тооны регистр. Ингэснээр олон төрлийн

командуудыг гүйцэтгэх чадвартай болсон. ● Ерөнхий зориулалтын цөөн тооны регистр. 32 бит, 6

регистр ашиглана. Регистр тус бүрийн гүйцэтгэх үүрэг өөр тул командуудыг гүйцэтгэхдээ зарцуулах техникийн хэрэгсэл ба машины тактын тоо нь ихэссэн.

● Командууд нь янз бүрийн урттай. Intel x86-ийн хувьд 8/16 битийн урьд өмнөх архитектуудтайгаа тохирч ажилладаг. Санах ойтой ажиллах командууд их болсон.

● CISK процессорын жишээ: 486……Pentium4

Page 6: Untitled Presentation(3)

● Команд бүртэй ажилладаг Instruction Set Architecture дизайнтай. Өөрөөр хэлбэл, CISC машин нь хаяглалтын олон горимтой. Жишээ нь: MC68000 нь 14, илүү чадвартай процессор болох MC68020 нь 25 хаяглалтын горимтой.

● M6800 анх гарч байхдаа 500$-ийн үнэтэй 16 К RAM-тай, 55.000$-ийн үнэтэй 40М байтын хатуу дисктэй байв. Дараа нь MC68000 нь мөн хэдэн зуу үнэтэй 64K RAM, 5.000$-ийн үнэтэй 10MB-ын хатуу дисктэй байв.

● Энэ төрлийн микропроцессорууд нь нилээн эхэн үеийнх байдаг. (1970-аад оны үед). Тухайн үед санах ой маш үнэтэй байсан тул түүнийг хэмнэхийн тулд дараах 2 алхамыг хийсэн.

Page 7: Untitled Presentation(3)

● Variable Length Instructions Янз бүрийн урттай командуудыг CISC процессорт команд бүрийн хэрэглэдэг санах ойн хэмжээг зохицуулах зорилгоор ашигласан. Иймд бүх командууд нь нэг циклд багтана. Санах ойг хэмнэх нь сайхан санаа байсан боловч зарим үед компьютерийн хурдыг ихээр удаашруулдаг. Бас нэг муу тал нь орж байгаа командын кодыг ойлгоход хэцүү байсан. RISC ба EPIC процессорууд нь тогтмол урттай командуудыг агуулах тул ямар үйлдэл хийгдэх гэж байгааг ойлгоход хялбар юм.

● Extensive Instruction Set CISC архитектур нь SS (Storage to Storage) командуудыг ашигладаг. SS команд нь нэг командаар өгөгдлийг санах ойн нэг хэсгээс нөгөөд шилжүүлэхийг зөвшөөрдөг. Иймд SS командын давуу тал нь CISC процессор нь RISC процессорын 2 командаар хийх үйлдлийг нэг командаар хийдэг. (1 – өгөгдлийг санах ойгоос регистр уруу ачаалах, 2 – уг регистрээс санах ойн өөр байранд өгөгдлийг хадгалах.)

Page 8: Untitled Presentation(3)

EPIC АРХИТЕКТУР● EPIC микропроцессорын архитектур нь маш шинэ

бүтэц юм. EPIC chip нь 2000 оноос хийгдсэн ба боловсруулах хурдыг ахиулсан. EPIC chip-ийн нэг онцлог нь CPU нь командуудын зэрэгцээ боловсруулалтыг шалгах шаардлагагүй болсон. Хөрвүүлэгч (compiler) нь ямар командуудыг зэрэгцээгээр гүйцэтгэх болон ямар командын машины кодыг тайлах ёстойг тодорхойлох үүрэгтэй. CPU нь салбарлах хэрэгтэй болбол predication техникийг хэрэглэнэ. Ингэснээр CPU нь бүх боломжит үр дүн, эцсийн хариу хэзээ гарахыг судалдаг. EPIC дизайн нь дараах шинжүүдийг агуулна.

Page 9: Untitled Presentation(3)

Bundled Instructions ● Энэ нь маш чухал чанар юм. EPIC архитектур нь

хурдан боловсруулалт хийхийн тулд олон тооны командуудыг нэг урт командын багц үг болгодог. Үүнийг LIW encoding (Long Instruction Word) гэж нэрлэнэ.

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

● CPU нь эдгээрийг өөрийн сонгосон дарааллаараа хөрвүүлнэ.

● CISC ба RISC процессоруудаас ялгаатай нь EPIC CPU ямар командуудыг зэрэгцээгээр биелүүлэх вэ гэж бодож цаг алдалгүйгээр гүйцэтгэдэг болсон.

Page 10: Untitled Presentation(3)

Suports Predication● Predication гэдэг нь салбарлалтыг зохицуулах EPIC

процессорын шинэ зарчим юм. CISC ба RISC бүтэцтэй chip-үүдийн хувьд CPU нь буруу зам уруу орж, гацах тохиолдол их гардаг. Харин EPIC CPU нь салбар асуудлуудтай таарвал, салбар бүрийн бүх замуудын кодуудыг биелүүлэх ба аль болох их зэрэгцүүлэлтийг ашиглана. Салбарлалтын үед pipeline ашиглах нь зүйтэй. RISC ба CISC архитектурын процессортой салбарлалт хийгдвэл тэд зөвхөн нэг замыг нь таамгаар зөв гэж тооцон сонгодог ба тэр нь зөв байх үед ямар ч хугацааны алдагдалгүйгээр цааш үргэлжилнэ. Харин буруу зам сонгогдсон бол буруу хийсэн үйлдлүүдээ ухраан буцааж хийгээд дахин өөр зам уруу орж эхэлдэг. Харин EPIC процессор салбарлалттай таарвал хөрвүүлэгч (compiler) нь салаа замуудын үйлдлүүдийг зэрэгцээгээр гүйцэтгэдэг. Командууд pipeline-аар хийгдэж дуусахад CPU зөв замынх нь үр дүнг хадгалаад, бусдыг нь орхино. Үүний дутагдалтай тал нь CPU байнга салбарлалтын олон буруу замаар орж, нөөц бололцоогоо дэмий үрэгдүүлэх болно. Гэхдээ энэ нь байнга таамаглаж байснаас дээр юм.

Page 11: Untitled Presentation(3)

Speculative LoadsКомпьютерийн chip үүссэн цагаас хйш процессорын хурд улам ихэссээр байгаа.Иймд CPU санах ойгоос өгөгдөл хүлээх хугацаандаа маш олон циклийг сул зогсожөнгөрүүлдэг. SL гэдэг нь EPIC chip –ийн бас нэг онцлог бөгөөд санах ойгоос өгөгдөлхүлээх хугацаагаа үр ашигтай хэрэглэх зорилготой. SL нь CPU –г бүүр өмнөх(салбарлалтаас өмнө ч байж болно) командыг авчиран, түүнд шаардагдахөгөгдлийг ачаалах боломж олгоно . Өөрөөр хэлбэл, өгөгдлийг авчиран тусд ньхадгална. SL командыг командууд дунд оруулах ба түүнийг хийгдэх үед CPU санахойг хүлээн сул зогсохгүй байх болно. SL үйл ажиллагаа нь хөрвүүлэгчээр хийгддэг.1. Хөрвүүлэгч програмыг шалгаад, санах ойгоос өгөгдөл авчирах командуудыг хайна.2. Хөрвүүлэгч уг өгөгдлийг хэрэглэгдэхээс өмнө олон тооны SL командуудыг програмын эхэн хэсэгт оруулна. 3. SL нь өгөгдөл хаана хэрэглэгдэхийг шалгана.4. Дээрхтэй нэгэн зэрэг хөрвүүлэгч нь зэрэгцээгээр биелэгдэж болох командуудыг олно.CPU нь SL командтай таарах үед CPU санах ойгоос өгөгдлийг ачаалах үйлдлийгхийнэ.

Page 12: Untitled Presentation(3)

• VLIW (Very Long Instruction Word)

● Маш урт командын үг. VLIW нь EPIC дизайы багц командуудтай ажиллах гол онцлог мөн. Үүнийг эртнээс хэрэглэж байсан ч санасан хэмжээнд ажиллуулж чадаагүй. VLIW нь командуудыг боловсруулж, нэг багц мэт болгон хөрвүүлдэг процесс юм. CPU нь командыг тус тусд нь биелүүлснээс багцаар нь биелүүлбэл хамаагүй хурдан боловсруулна. EPIC-ийн хувьд хөрвүүлэгч нь флагуудыг тавина. Энэ флаг нь ямар багцуудыг зэрэгцээгээр гүйцэтгэж болохыг заана.

Page 13: Untitled Presentation(3)

Comparison Between CISC and RISC

● Introduction● Experiment: MIPS R2000 vs. Intel 80386

○ Architecture summary○ Benchmarks○ Our Results○ Conclusions

● Current Status

Page 14: Untitled Presentation(3)

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

Page 15: Untitled Presentation(3)

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

Page 16: Untitled Presentation(3)

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

Page 17: Untitled Presentation(3)

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

Page 18: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Architecture summary

Page 19: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Benchmarks

● Integer Benchmarks○ test1○ stanford○ poly

● Floating-point Benchmarks

○ whetstone○ lre○ var

Page 20: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results

Page 21: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results

Page 22: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results

Page 23: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results

Page 24: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results

Page 25: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Instruction Count

Page 26: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Instruction Count

Page 27: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Instruction Format and Encoding: MIPS R2000

Page 28: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Instruction Format and Encoding: Intel 80386

Page 29: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Instruction Format and Encoding: Intel 80386

Page 30: Untitled Presentation(3)

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

Page 31: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Addressing Modes: Intel 80386

Page 32: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Addressing Modes: Intel 80386

Page 33: Untitled Presentation(3)

Experiment: MIPS R2000 vs. Intel 80386

Our Results● Data Traffic

Page 34: Untitled Presentation(3)

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

Page 35: Untitled Presentation(3)

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!

Page 36: Untitled Presentation(3)

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!