Barrier หน่วยความจำคืออะไร?

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

หยุดชะงักในการสั่งซื้อ

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

ผลกระทบด้านประสิทธิภาพของแผงท่อส่งอาจไม่เลวร้ายนัก แต่ก็ค่อนข้างรุนแรงเช่นกัน ตัวอย่างเช่น โดยทั่วไปแคช L1 สามารถส่งคืนผลลัพธ์ตามลำดับขนาดของรอบ CPU 5 รอบ แคช L2 อาจใช้เวลา 20 รอบ L3 ประมาณ 200 รอบ และ RAM ของระบบประมาณ 400 รอบ เนื่องจาก CPU อาจทำงานที่ความเร็วประมาณ 5GHz นั่นคือ 5 พันล้านรอบสัญญาณนาฬิกาต่อวินาที แม้แต่ 400 รอบก็ไม่เลว (0.000008%) แต่ถ้าคุณมีคำแนะนำมากมายที่จำเป็นในการอ้างอิงข้อมูลในระดับแคชที่ลึกลงไปอีก ผลกระทบสะสมอาจทำให้การทำงานช้าลงอย่างเห็นได้ชัด

การดำเนินการนอกคำสั่งและการเปลี่ยนชื่อทะเบียน

การดำเนินการนอกคำสั่งเป็นเทคนิคที่ช่วยให้ตัวกำหนดตารางเวลาสามารถจัดลำดับคำสั่งในคิวใหม่ได้ การจัดลำดับใหม่นี้ทำให้สามารถเลือกจัดลำดับความสำคัญของเธรดเฉพาะเหนือเธรดอื่นได้ นอกจากนี้ยังสามารถเขยิบคำสั่งกลับเข้าไปในคิวเมื่อยังมีการขึ้นต่อกันของข้อมูลที่ยังไม่ตรงกัน ซึ่งจะช่วยป้องกันไม่ให้ท่อหยุดทำงานให้มากที่สุด ลดรอบเดินเบาให้เหลือน้อยที่สุด

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

ข้อมูลที่ต้องเขียน แต่มีคำสั่ง "ก่อนหน้า" ที่ยังไม่เสร็จสมบูรณ์ จะอยู่ในทะเบียนการถือครอง ข้อมูลนี้จะไม่ถูกโอนไปยังเครื่องบันทึกอื่นเมื่อคำสั่งซื้อได้แยกออกแล้ว แต่ชื่อของการลงทะเบียนโฮลดิ้งจะเปลี่ยนเป็นของการลงทะเบียนที่ควรจะเป็น ซึ่งค่อนข้างคล้ายกับการเตรียมของหวานก่อนอาหารจานหลัก แต่จากนั้นเก็บไว้ในตู้เย็นจนกว่าจะถึงเวลาเสิร์ฟ

การลงทะเบียนแบบลอจิคัลเหล่านี้ไม่ได้ระบุที่อยู่ทั้งหมด CPU สามารถระบุที่อยู่การลงทะเบียนแบบลอจิคัลที่ใช้ร่วมกันในชื่อของการลงทะเบียนทางสถาปัตยกรรมเท่านั้น ที่กล่าวว่า CPU ยังรับรู้ถึงสิ่งเหล่านี้มากพอที่หากคำสั่งที่จัดลำดับใหม่อื่นๆ อาศัยข้อมูลในรีจิสเตอร์โฮลดิ้งแบบลอจิคัล พวกเขาสามารถใช้ข้อมูลนั้นแทนข้อมูลที่ "ล้าสมัย" ในรีจิสเตอร์สถาปัตยกรรม ณ เวลาเชิงประจักษ์นั้นๆ

อุปสรรคของหน่วยความจำ

สิ่งกีดขวางหน่วยความจำ – เรียกอีกอย่างว่าเมมบาร์ รั้วหน่วยความจำ หรือคำสั่งรั้ว – เป็นคำสั่งในรหัสคอมพิวเตอร์ อนุญาตให้โปรแกรมเมอร์บังคับใช้ข้อจำกัดในการสั่งซื้อการดำเนินการของหน่วยความจำที่ออกก่อนและหลังอุปสรรคของหน่วยความจำ ตัวกั้นหน่วยความจำสั่งให้ตัวจัดกำหนดการ CPU ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดได้รับการประมวลผลก่อนคำสั่งใดๆ หลังตัวกั้น สิ่งนี้ทำเพื่อให้แน่ใจว่าการดำเนินการที่สำคัญเสร็จสิ้นตามลำดับที่ถูกต้อง

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

อุปสรรคด้านหน่วยความจำอาจมาพร้อมกับประสิทธิภาพการทำงานที่ลดลง นี่เป็นเพราะป้องกันไม่ให้ตัวกำหนดตารางเวลาของ CPU เพิ่มประสิทธิภาพส่วนเฉพาะของโฟลว์คำสั่ง สิ่งนี้จะเพิ่มโอกาสของการหยุดทำงานของท่อ

บทสรุป

สิ่งกีดขวางหน่วยความจำคือคำสั่งที่รับประกันข้อจำกัดในการสั่งซื้อเกี่ยวกับการทำงานของหน่วยความจำ นี่เป็นสิ่งสำคัญเนื่องจากตัวประมวลผลการดำเนินการที่ไม่ได้อยู่ในลำดับอาจจัดลำดับคำสั่งเฉพาะใหม่ แม้ว่าการเปลี่ยนชื่อรีจิสทรีจะเป็นวิธีที่ดีในการตรวจสอบความสมบูรณ์ของหน่วยความจำในสภาพแวดล้อมนี้ แต่การตรวจสอบด้วยตนเองจะมีประโยชน์

สิ่งกีดขวางหน่วยความจำบังคับให้ตัวกำหนดตารางเวลาของ CPU ตรวจสอบให้แน่ใจว่าคำสั่งเสร็จสิ้นก่อนคำสั่งใด ๆ หลังจากสิ่งกีดขวาง สิ่งนี้จะป้องกันการทำงานของหน่วยความจำจากการเรียงลำดับใหม่ นอกจากนี้ยังป้องกันไม่ให้ CPU ปรับโฟลว์คำสั่งให้เหมาะสม ซึ่งอาจส่งผลต่อประสิทธิภาพการทำงาน



Leave a Comment

ถ้า Powerbeats Pro ของคุณไม่ชาร์จในเคสจะทำอย่างไร

ถ้า Powerbeats Pro ของคุณไม่ชาร์จในเคสจะทำอย่างไร

ถ้า Powerbeats Pro ของคุณไม่ชาร์จ ให้ใช้แหล่งพลังงานอื่นและทำความสะอาดหูฟังของคุณ โปรดเปิดเคสขณะชาร์จหูฟังของคุณ

Canon Pixma MG5220: สแกนโดยไม่ต้องใช้หมึก

Canon Pixma MG5220: สแกนโดยไม่ต้องใช้หมึก

วิธีการเปิดใช้งานการสแกนบน Canon Pixma MG5220 เมื่อคุณหมดหมึก.

5 เหตุผลที่ทำให้แล็ปท็อปของคุณร้อนเกินไป

5 เหตุผลที่ทำให้แล็ปท็อปของคุณร้อนเกินไป

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

วิธีแก้ไขข้อผิดพลาด GeForce Now รหัส 0xC272008F

วิธีแก้ไขข้อผิดพลาด GeForce Now รหัส 0xC272008F

คุณกำลังเตรียมตัวสำหรับคืนแห่งการเล่นเกมที่จะยิ่งใหญ่ – คุณเพิ่งซื้อ “Star Wars Outlaws” บนบริการสตรีมมิ่ง GeForce Now ค้นพบวิธีแก้ไขข้อผิดพลาด GeForce Now รหัส 0xC272008F เพื่อให้คุณกลับมาเล่นเกม Ubisoft ได้อีกครั้ง

พื้นฐานการพิมพ์ 3D: เคล็ดลับการบำรุงรักษาสำหรับเครื่องพิมพ์ 3D ของคุณ

พื้นฐานการพิมพ์ 3D: เคล็ดลับการบำรุงรักษาสำหรับเครื่องพิมพ์ 3D ของคุณ

การดูแลรักษาเครื่องพิมพ์ 3D ของคุณมีความสำคัญมากเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ต่อไปนี้เป็นเคล็ดลับสำคัญที่ต้องคำนึงถึง.

พื้นฐานการพิมพ์ 3D: เช็คลิสต์การบำรุงรักษาที่ต้องอ่าน

พื้นฐานการพิมพ์ 3D: เช็คลิสต์การบำรุงรักษาที่ต้องอ่าน

การรักษาอุปกรณ์ให้ในสภาพดีเป็นสิ่งจำเป็น นี่คือเคล็ดลับที่มีประโยชน์ในการรักษาเครื่องพิมพ์ 3D ของคุณให้อยู่ในสภาพที่ดีที่สุด

วิธีการใช้ AirPods กับโทรศัพท์ Samsung

วิธีการใช้ AirPods กับโทรศัพท์ Samsung

หากคุณไม่แน่ใจว่าจะซื้อ AirPods สำหรับโทรศัพท์ Samsung ของคุณหรือไม่ คู่มือนี้สามารถช่วยได้อย่างแน่นอน คำถามที่ชัดเจนที่สุดคือทั้งสองรุ่นสามารถทำงานร่วมกันได้หรือไม่

วิธีปิดเสียงชัตเตอร์ของกล้อง – Galaxy S 21 Plus

วิธีปิดเสียงชัตเตอร์ของกล้อง – Galaxy S 21 Plus

ถ่ายภาพเหมือนนินจาและปิดเสียงชัตเตอร์บน Galaxy S21 Plus ของคุณ นอกจากนี้ ดูว่าคุณสามารถทำอะไรได้บ้างหากคุณไม่มีตัวเลือกนี้

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? อ่านเพื่อดูวิธีแก้ไขอย่างรวดเร็วและง่ายดาย

Pi-hole คืออะไร?

Pi-hole คืออะไร?

เรียนรู้เกี่ยวกับ Pi-hole ตัวบล็อกโฆษณาที่ทำงานที่ระดับ DNS ซึ่งสามารถบล็อกโฆษณาได้ทั่วทั้งเครือข่ายของคุณ และวิธีการติดตั้งและใช้งานได้อย่างง่ายดาย