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

อ่าน 1 นาที

การระบายสีแคช

ใน วิทยาการคอมพิวเตอร์ การ ระบายสีแคช (หรือที่เรียกว่า การระบายสีหน้า ) คือกระบวนการพยายามจัดสรร หน้า ว่าง ที่ต่อเนื่องกันจาก มุมมองของ แคช CPU...

การระบายสีแคช

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

รายละเอียดการดำเนินงาน

ภาพประกอบแสดงการระบายสีแคช ด้านซ้ายคือ พื้นที่ หน่วยความจำเสมือนด้านกลางคือพื้นที่หน่วยความจำจริง และด้านขวาคือแคชของซีพียู

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

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

การนำไปใช้

โค้ดนี้เพิ่มความซับซ้อนให้กับระบบย่อยการจัดสรรหน่วยความจำเสมือนอย่างมาก แต่ผลลัพธ์ที่ได้นั้นคุ้มค่ากับความพยายาม[ 1 ] การระบายสีหน้าทำให้หน่วยความจำเสมือนมีความแน่นอนเหมือนกับหน่วย ความจำทางกายภาพในแง่ของประสิทธิภาพแคช การระบายสีหน้าถูกนำมาใช้ในระบบปฏิบัติการเช่นSolaris [ 2 ] FreeBSD [ 1 ] NetBSD [ 3 ]และWindows NT [ 4 ]

  • " อัลกอริทึมการจัดวางหน้าสำหรับแคชดัชนีจริงขนาดใหญ่ " โดย RE Kessler, Mark D. Hill, มหาวิทยาลัยวิสคอนซิน, 1992
  • " Colorable Memory ," โดยJochen Liedtke , IBM TJ Watson Center, พ.ย. 1996
  • "缓存着色技术" โดย Maray บล็อกเทคโนโลยี CSDN, 2008
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Cache_coloring&oldid=1334152843 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ การระบายสีแคช

ใน วิทยาการคอมพิวเตอร์ การ ระบายสีแคช (หรือที่เรียกว่า การระบายสีหน้า ) คือกระบวนการพยายามจัดสรร หน้า ว่าง ที่ต่อเนื่องกันจาก มุมมองของ แคช CPU...

รายละเอียดการดำเนินงาน

แคช CPU ที่ใช้การจัดทำดัชนีทางกายภาพได้รับการออกแบบมาเพื่อให้ที่อยู่ในบล็อกหน่วยความจำทางกายภาพที่อยู่ติดกันใช้ตำแหน่งที่แตกต่างกัน ("บรรทัดแคช") ในแคช แต่ในกรณีของหน่วยความจำเสมือนนั้นไม่เป็นเช่นนั้น...

การนำไปใช้

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

ลิงก์ภายนอก

" อัลกอริทึมการจัดวางหน้าสำหรับแคชดัชนีจริงขนาดใหญ่ " โดย RE Kessler, Mark D. Hill, มหาวิทยาลัยวิสคอนซิน, 1992 " Colorable Memory ," โดยJochen Liedtke , IBM TJ Watson Center, พ.ย. 1996 "缓存着色技术" โดย Maray บล็อกเทคโนโลยี CSDN, 2008 ดึงข้อมูลมาจาก " https://en.