มันค่อนข้างเป็นไปได้ที่จะเข้าใจและปรับให้เหมาะสมสำหรับแคช มันเริ่มต้นด้วยการทำความเข้าใจฮาร์ดแวร์และดำเนินการควบคุมระบบต่อไป การควบคุมที่น้อยกว่าที่คุณมีผ่านระบบมีโอกาสน้อยที่คุณจะประสบความสำเร็จ Linux หรือ Windows ที่ใช้งานแอพพลิเคชัน / ชุดข้อความที่ไม่ทำงาน
แคชส่วนใหญ่จะค่อนข้างคล้ายกันในคุณสมบัติของพวกเขาใช้บางส่วนของฟิลด์ที่อยู่เพื่อค้นหาความนิยมมีความลึก (วิธี) และความกว้าง (บรรทัดแคช) บางคนมีบัฟเฟอร์การเขียนบางคนสามารถกำหนดค่าให้เขียนผ่านหรือบายพาสแคชเมื่อเขียน ฯลฯ
คุณต้องระวังอย่างมากเกี่ยวกับการทำธุรกรรมหน่วยความจำทั้งหมดที่เกิดขึ้นซึ่งกำลังกดปุ่มแคช (บางระบบมีคำสั่งที่เป็นอิสระและแคชข้อมูลทำให้งานง่ายขึ้น)
คุณสามารถทำให้แคชไร้ประโยชน์อย่างง่ายดายโดยไม่จัดการหน่วยความจำของคุณอย่างระมัดระวัง ตัวอย่างเช่นหากคุณมีบล็อกข้อมูลจำนวนมากที่คุณกำลังประมวลผลหวังว่าจะเก็บไว้ในแคช แต่พวกเขาอยู่ในหน่วยความจำที่อยู่ที่แม้จะทวีคูณสัมพันธ์กับแคชตรวจสอบ Hit / miss แคช 0x10000 0x20000 0x30000 นอกเหนือจากวิธีการในแคชคุณอาจจบลงอย่างรวดเร็วทำให้บางสิ่งบางอย่างที่ทำงานค่อนข้างช้ากับแคชบนช้ากว่ามันจะมีแคชออก แต่เปลี่ยนเป็นบางที 0x10000, 0x21000, 0x32000 และนั่นอาจเพียงพอที่จะใช้ประโยชน์เต็มที่จากแคชลดการขับไล่
บรรทัดล่างกุญแจสำคัญในการปรับให้เหมาะสมสำหรับแคช (ดีนอกเหนือจากการรู้จักระบบค่อนข้างดี) คือการรักษาทุกสิ่งที่คุณต้องการสำหรับแคชไว้ในเวลาเดียวกันโดยจัดระเบียบข้อมูลดังกล่าวว่าเป็นไปได้ มันทั้งหมดในแคชในครั้งเดียว และป้องกันสิ่งต่าง ๆ เช่นการเรียกใช้รหัสการขัดจังหวะและเหตุการณ์ปกติหรือแบบสุ่มอื่น ๆ จากการหลีกเลี่ยงส่วนสำคัญของข้อมูลนี้ที่คุณกำลังใช้
เช่นเดียวกับรหัส มันยากกว่าเล็กน้อยเนื่องจากคุณจำเป็นต้องควบคุมตำแหน่งที่รหัสอยู่เพื่อหลีกเลี่ยงการชนกับรหัสอื่นที่คุณต้องการเก็บไว้ในแคช ในขณะที่การทดสอบ / การทำโปรไฟล์รหัสใด ๆ ที่ผ่านแคชที่เพิ่มบรรทัดเดียวของรหัสที่นี่และที่นั่นหรือแม้กระทั่ง nop เดียวสิ่งใดที่เปลี่ยนหรือเปลี่ยนที่อยู่ที่รหัสอยู่จากการรวบรวมหนึ่งไปยังอีกสำหรับรหัสเดียวกัน บรรทัดแคชอยู่ในรหัสนั้นและเปลี่ยนแปลงสิ่งที่ถูกขับไล่และสิ่งที่ไม่ได้สำหรับส่วนที่สำคัญ