อ่าน 2 นาที
ท่อส่งหยุดชะงัก
ในการออกแบบ โปรเซสเซอร์คอมพิวเตอร์แบบไปป์ไลน์ การหยุด ชะงัก ของไปป์ไลน์ คือความล่าช้าในการดำเนินการ คำสั่ง เพื่อแก้ไข อันตราย [ 1 ]
ท่อส่งหยุดชะงัก
ในการออกแบบโปรเซสเซอร์คอมพิวเตอร์แบบไปป์ไลน์ การหยุด ชะงักของไปป์ไลน์คือความล่าช้าในการดำเนินการคำสั่งเพื่อแก้ไขอันตราย[ 1 ]
รายละเอียด
ในไปป์ไลน์ห้าขั้นตอน มาตรฐาน ในระหว่างขั้นตอนการถอดรหัสหน่วยควบคุมจะพิจารณาว่าคำสั่งที่ถอดรหัสแล้วอ่านจากรีจิสเตอร์ที่คำสั่งที่กำลังดำเนินการอยู่เขียนหรือไม่ หากเงื่อนไขนี้เป็นจริง หน่วยควบคุมจะหยุดคำสั่งนั้นไว้หนึ่งรอบสัญญาณนาฬิกา นอกจากนี้ยังหยุดคำสั่งในขั้นตอนการดึงข้อมูล เพื่อป้องกันไม่ให้คำสั่งในขั้นตอนนั้นถูกเขียนทับด้วยคำสั่งถัดไปในโปรแกรม[ 2 ]
ในสถาปัตยกรรม Von Neumannซึ่งใช้รีจิสเตอร์ตัวนับโปรแกรม (PC) เพื่อกำหนดคำสั่งปัจจุบันที่กำลังถูกดึงในไปป์ไลน์ เพื่อป้องกันไม่ให้มีการดึงคำสั่งใหม่เมื่อคำสั่งในขั้นตอนการถอดรหัสหยุดชะงัก ค่าในรีจิสเตอร์ PCและคำสั่งในขั้นตอนการดึงจะถูกเก็บรักษาไว้เพื่อป้องกันการเปลี่ยนแปลง ค่าเหล่านี้จะถูกเก็บรักษาไว้จนกว่าคำสั่งที่ก่อให้เกิดความขัดแย้งจะผ่านขั้นตอนการดำเนินการ[ 3 ] เหตุการณ์ดังกล่าวนี้มักเรียกว่าฟองอากาศโดยเปรียบเทียบกับฟองอากาศในท่อของเหลว
ในสถาปัตยกรรมบางแบบ ขั้นตอนการประมวลผลของไปป์ไลน์จะต้องทำการกระทำบางอย่างในทุกรอบการทำงาน ในกรณีนั้น ฟองสบู่จะถูกสร้างขึ้นโดยการป้อน คำสั่ง NOP ("ไม่มีการดำเนินการ") ไปยังขั้นตอนการประมวลผล จนกว่าฟองสบู่จะถูกชะล้างผ่านไป
ตัวอย่าง
ไทม์ไลน์
ต่อไปนี้เป็นการดำเนินการสองครั้งของคำสั่งสี่คำสั่งเดียวกันผ่านไปป์ไลน์สี่ขั้นตอน แต่ด้วยเหตุผลบางประการ ความล่าช้าในการดึงคำสั่งสีม่วงในรอบที่ 2 ทำให้เกิดบับเบิลขึ้น ซึ่งส่งผลให้คำสั่งทั้งหมดหลังจากนั้นล่าช้าไปด้วย
| การดำเนินการปกติ | การประหารด้วยฟองอากาศ |
ไปป์ไลน์ RISC แบบคลาสสิก
ตัวอย่างด้านล่างแสดงการแทรกบับเบิลเข้าไปในไปป์ไลน์ RISC แบบคลาสสิกที่มีห้าขั้นตอน (IF = การดึงคำสั่ง, ID = การถอดรหัสคำสั่ง, EX = การประมวลผล, MEM = การเข้าถึงหน่วยความจำ, WB = การเขียนกลับไปยังรีจิสเตอร์) ในตัวอย่างนี้ ข้อมูลที่พร้อมใช้งานหลังจากขั้นตอน MEM (ขั้นตอนที่ 4) ของคำสั่งแรกนั้นจำเป็นต้องใช้เป็นอินพุตสำหรับขั้นตอน EX (ขั้นตอนที่ 3) ของคำสั่งที่สอง หากไม่มีบับเบิล ขั้นตอน EX (ขั้นตอนที่ 3) จะเข้าถึงได้เฉพาะเอาต์พุตของขั้นตอน EX ก่อนหน้าเท่านั้น ดังนั้นการเพิ่มบับเบิลจะช่วยแก้ปัญหาการพึ่งพาเวลาโดยไม่จำเป็นต้องส่งข้อมูลย้อนกลับไปในอดีต (ซึ่งเป็นไปไม่ได้)
| ข้ามผ่านช่วงเวลาในอดีต | ปัญหาได้รับการแก้ไขโดยใช้ฟองอากาศ |
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ท่อส่งหยุดชะงัก
ในการออกแบบ โปรเซสเซอร์คอมพิวเตอร์แบบไปป์ไลน์ การหยุด ชะงัก ของไปป์ไลน์ คือความล่าช้าในการดำเนินการ คำสั่ง เพื่อแก้ไข อันตราย [ 1 ]
รายละเอียด
ใน ไปป์ไลน์ห้าขั้นตอน มาตรฐาน ในระหว่าง ขั้นตอนการถอดรหัส หน่วยควบคุมจะพิจารณาว่าคำสั่งที่ถอดรหัสแล้วอ่านจากรีจิสเตอร์ที่คำสั่งที่กำลังดำเนินการอยู่เขียนหรือไม่ หากเงื่อนไขนี้เป็นจริง หน่วยควบคุมจะหยุดคำสั่งนั้นไว้หนึ่งรอบสัญญาณนาฬิกา...
ไทม์ไลน์
ต่อไปนี้เป็นการดำเนินการสองครั้งของคำสั่งสี่คำสั่งเดียวกันผ่านไปป์ไลน์สี่ขั้นตอน แต่ด้วยเหตุผลบางประการ ความล่าช้าในการดึงคำสั่งสีม่วงในรอบที่ 2 ทำให้เกิดบับเบิลขึ้น ซึ่งส่งผลให้คำสั่งทั้งหมดหลังจากนั้นล่าช้าไปด้วย
ไปป์ไลน์ RISC แบบคลาสสิก
ตัวอย่างด้านล่างแสดงการแทรกบับเบิลเข้าไปใน ไปป์ไลน์ RISC แบบคลาสสิก ที่มีห้าขั้นตอน (IF = การดึงคำสั่ง, ID = การถอดรหัสคำสั่ง, EX = การประมวลผล, MEM = การเข้าถึงหน่วยความจำ, WB = การเขียนกลับไปยังรีจิสเตอร์) ในตัวอย่างนี้ ข้อมูลที่พร้อมใช้งานหลังจากขั้นตอน...