กลับไปหน้าบทความ

อ่าน 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 ก่อนหน้าเท่านั้น ดังนั้นการเพิ่มบับเบิลจะช่วยแก้ปัญหาการพึ่งพาเวลาโดยไม่จำเป็นต้องส่งข้อมูลย้อนกลับไปในอดีต (ซึ่งเป็นไปไม่ได้)

ข้ามผ่านช่วงเวลาในอดีตปัญหาได้รับการแก้ไขโดยใช้ฟองอากาศ

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Pipeline_stall&oldid=1301173912 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ท่อส่งหยุดชะงัก

ในการออกแบบ โปรเซสเซอร์คอมพิวเตอร์แบบไปป์ไลน์ การหยุด ชะงัก ของไปป์ไลน์ คือความล่าช้าในการดำเนินการ คำสั่ง เพื่อแก้ไข อันตราย [ 1 ]

รายละเอียด

ใน ไปป์ไลน์ห้าขั้นตอน มาตรฐาน ในระหว่าง ขั้นตอนการถอดรหัส หน่วยควบคุมจะพิจารณาว่าคำสั่งที่ถอดรหัสแล้วอ่านจากรีจิสเตอร์ที่คำสั่งที่กำลังดำเนินการอยู่เขียนหรือไม่ หากเงื่อนไขนี้เป็นจริง หน่วยควบคุมจะหยุดคำสั่งนั้นไว้หนึ่งรอบสัญญาณนาฬิกา...

ไทม์ไลน์

ต่อไปนี้เป็นการดำเนินการสองครั้งของคำสั่งสี่คำสั่งเดียวกันผ่านไปป์ไลน์สี่ขั้นตอน แต่ด้วยเหตุผลบางประการ ความล่าช้าในการดึงคำสั่งสีม่วงในรอบที่ 2 ทำให้เกิดบับเบิลขึ้น ซึ่งส่งผลให้คำสั่งทั้งหมดหลังจากนั้นล่าช้าไปด้วย

ไปป์ไลน์ RISC แบบคลาสสิก

ตัวอย่างด้านล่างแสดงการแทรกบับเบิลเข้าไปใน ไปป์ไลน์ RISC แบบคลาสสิก ที่มีห้าขั้นตอน (IF = การดึงคำสั่ง, ID = การถอดรหัสคำสั่ง, EX = การประมวลผล, MEM = การเข้าถึงหน่วยความจำ, WB = การเขียนกลับไปยังรีจิสเตอร์) ในตัวอย่างนี้ ข้อมูลที่พร้อมใช้งานหลังจากขั้นตอน...