700 likes | 1.1k Views
Chapter 7 โพรเซสเซอร์แบบไปป์ลายน์และซุปเปอร์สเกลาร์ Pipeline and Superscalar processor. เนื้อหา. ทฤษฏีและหลักการของไปป์ลายน์ ปัญหาที่เกิดขึ้นกับเทคนิคไปป์ลายน์ ทฤษฏีและหลักการของซุปเปอร์สเกลาร์ ตัวอย่างโพรเซสเซอร์ที่ใช้เทคนิคไปป์ลายน์ ตัวอย่างโพรเซสเซอร์ที่ใช้เทคนิคซุปเปอร์สเกลาร์
E N D
Chapter 7โพรเซสเซอร์แบบไปป์ลายน์และซุปเปอร์สเกลาร์Pipeline and Superscalar processor
เนื้อหา ทฤษฏีและหลักการของไปป์ลายน์ ปัญหาที่เกิดขึ้นกับเทคนิคไปป์ลายน์ ทฤษฏีและหลักการของซุปเปอร์สเกลาร์ ตัวอย่างโพรเซสเซอร์ที่ใช้เทคนิคไปป์ลายน์ ตัวอย่างโพรเซสเซอร์ที่ใช้เทคนิคซุปเปอร์สเกลาร์ หลักการทำงานของ Out-of-order execution Out-of-order execution กับเทคนิคไปป์ลายน์ Out-of-order execution กับเทคนิคซุปเปอร์สเกลาร์ Out-of-order execution ในไมโครโพรเซสเซอร์ตระกูลต่างๆ
Pipeline กับ ร้านซักรีด • กรรมวิธีซักรีดมี 4 ขั้นตอนดังนี้ • 1. ซัก 15 นาที • 2. ปั่นแห้ง 15 นาที • 3. รีดผ้า 15 นาที • 4. ส่งผ้า 15 นาที
ข้อดี-ข้อเสียของไปป์ลายน์ข้อดี-ข้อเสียของไปป์ลายน์ • ข้อดี • งานเสร็จเร็วขึ้น • ข้อเสีย • ต้องใช้ทรัพยากรในระบบมากขึ้น
Pipeline กับโพรเซสเซอร์ • โพรเซสเซอร์ที่เราเรียนมาในบทที่ 3 ใช้เวลาในการทำงานหลาย clock ต่อ 1 คำสั่ง • เทคนิคไปป์ลายน์ ใช้เพื่อลดจำนวนคล๊อกต่อ 1 คำสั่งลงเหลือแค่ 1 clock ต่อ 1 คำสั่ง
Instruction Execution • Step Action • 1 PCout, MARin, Read, Select4, Add, Zin • 2 Zout, PCin, Yin, WMFC • 3 MDRout, IRin • 4 Offset-field-of-IRout, ADD, Zin, if N=0 then End • 5 Zout, PCin, End 5 steps require 5 clock cycles to complete operation
Processor Execution • Divide operations of processor into 4 steps • 1. Fetch • 2. Decode • 3. Execute • 4. WriteBack
Problem of pipelining technique • Pipeline Hazard • Structural Hazard • Data hazard
Structural hazard • Memory does not allow read program and data simultaneously • Solution : Using Harvard architecture
Pentium4 pipeline • 20 stages
Superscalar VS VLIW • Superscalar • Hardware detects potential parallelism between instructions • Hardware tries to issue as many instructions as possible in parallel. • The more execution unit, the more speed without recompilation • Hardware dispatch unit is Very complex • VLIW • Instruction level parallelism • The more execution unit, the more speed needs recompilation • Very simple hardware dispatch unit
What is out-of-order execution • OOO stands for Out-Of-Order execution • OOO is the way that the processor can execute instructions in any order that does not change the result of program • OOO provides much better performance than in-order execution
Execution time of in-order execution From paper titled “Cheap Out-of-Order Execution using Delayed Issue”, J.P. Grossman
Execution of program in a pipelined CPU 9 clock cycles 4 instructions
Out-of-order executionin a pipelined CPU 7 clock cycles 4 instructions