คำถามติดแท็ก cpu-cache

9
รหัส“ เป็นมิตรกับแคช” คืออะไร?
ความแตกต่างระหว่าง " รหัสที่ไม่เป็นมิตรแคช " และ " รหัสที่เป็นมิตรกับแคช " คืออะไร? ฉันจะแน่ใจได้อย่างไรว่าฉันเขียนโค้ดที่มีประสิทธิภาพแคช

7
ทำไมลำดับของลูปจึงมีผลต่อประสิทธิภาพเมื่อทำการวนซ้ำในอาร์เรย์ 2 มิติ
ด้านล่างนี้เป็นสองโปรแกรมที่เกือบเหมือนกันยกเว้นว่าฉันได้เปลี่ยนiและjตัวแปร พวกเขาทั้งสองทำงานในเวลาต่างกัน มีคนอธิบายได้ไหมว่าทำไมสิ่งนี้ถึงเกิดขึ้น รุ่น 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; i++) { for (j = 0; j < 4000; j++) { x[j][i] = i + j; } } } เวอร์ชัน 2 #include <stdio.h> #include <stdlib.h> main …

5
ค่าใช้จ่ายโดยประมาณในการเข้าถึงแคชและหน่วยความจำหลักต่าง ๆ ?
ใครสามารถให้เวลาโดยประมาณ (เป็นนาโนวินาที) ในการเข้าถึงแคช L1, L2 และ L3 รวมถึงหน่วยความจำหลักในโปรเซสเซอร์ Intel i7 ได้หรือไม่? แม้ว่านี่จะไม่ใช่คำถามการเขียนโปรแกรมโดยเฉพาะ แต่การรู้รายละเอียดความเร็วเหล่านี้เป็นสิ่งจำเป็นสำหรับความท้าทายในการเขียนโปรแกรมความหน่วงต่ำ

15
หนึ่งเขียนรหัสที่ใช้แคช CPU ที่ดีที่สุดเพื่อปรับปรุงประสิทธิภาพได้อย่างไร
สิ่งนี้อาจฟังดูเป็นคำถามส่วนตัว แต่สิ่งที่ฉันกำลังมองหาเป็นกรณีเฉพาะซึ่งคุณอาจได้พบที่เกี่ยวข้องกับเรื่องนี้ วิธีการสร้างโค้ด, การแคชที่มีประสิทธิภาพ / การแคช (การแคชที่มากขึ้น, การทำแคชให้น้อยที่สุด) จากมุมมองทั้งแคชข้อมูลและแคชโปรแกรม (แคชคำสั่ง) คือสิ่งใดในรหัสที่เกี่ยวข้องกับโครงสร้างข้อมูลและการสร้างรหัสเราควรดูแลเพื่อให้แคชมีประสิทธิภาพ มีโครงสร้างข้อมูลใดที่หนึ่งต้องใช้ / หลีกเลี่ยงหรือมีวิธีการเข้าถึงสมาชิกของโครงสร้างนั้น ฯลฯ ... เพื่อให้แคชรหัสมีประสิทธิภาพ มีโปรแกรมใด ๆ ที่สร้าง (ถ้า, สำหรับ, สวิตช์, หยุดพัก, goto, ... ), code-flow (สำหรับภายในถ้า, ถ้าภายใน, สำหรับ, ฯลฯ ... ) หนึ่งควรปฏิบัติตาม / หลีกเลี่ยงในเรื่องนี้หรือไม่? ฉันรอคอยที่จะได้รับประสบการณ์ของแต่ละบุคคลที่เกี่ยวข้องกับการสร้างรหัสประสิทธิภาพแคชโดยทั่วไป มันสามารถเป็นภาษาการเขียนโปรแกรมใด ๆ (C, C ++, Assembly, ... ), เป้าหมายฮาร์ดแวร์ใด ๆ (ARM, Intel, …

5
เขียนกลับหรือเขียนผ่านแคช?
ความเข้าใจของฉันคือความแตกต่างที่สำคัญระหว่างสองวิธีคือในวิธีการ "เขียนผ่าน" ข้อมูลจะถูกเขียนไปยังหน่วยความจำหลักผ่านแคชทันทีในขณะที่ข้อมูล "เขียนกลับ" จะถูกเขียนใน "ครั้งหลัง" เรายังคงต้องรอความทรงจำใน "ครั้งหลัง" ดังนั้น "การเขียนผ่าน" มีประโยชน์อย่างไร?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.