โปรเซสเซอร์แคช L1, L2 และ L3 ทำมาจาก SRAM ทั้งหมดหรือไม่


10

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


คำถามที่เกี่ยวข้อง: เหตุใดเราจึงต้องมีหน่วยความจำแคชหลายระดับ . ค่อนข้างเกี่ยวข้องด้วย: แคชหลายระดับในโปรเซสเซอร์คืออะไร? . จากความคิดเห็นของคุณที่นั่นฉันเห็นคุณได้พบคำถามหลัง
Paul A. Clayton

คำตอบ:


12

โดยทั่วไปจะใช้งานทั้งหมดกับ SRAM

(ชิป POWER และ zAr สถาปัตยกรรมของไอบีเอ็มใช้หน่วยความจำ DRAM สำหรับ L3 ซึ่งเรียกว่า Embedded DRAM เนื่องจากมีการใช้งานในเทคโนโลยีกระบวนการชนิดเดียวกับลอจิกทำให้สามารถรวมตรรกะอย่างรวดเร็วเข้ากับชิปเดียวกันกับ DRAM สำหรับ POWER4 ชิป L3 ใช้ eDRAM; POWER7 มี L3 บนชิปตัวเดียวกับแกนประมวลผล)

แม้ว่าพวกเขาจะใช้ SRAM แต่พวกเขาไม่ได้ใช้การออกแบบ SRAM เดียวกันทั้งหมด SRAM สำหรับ L2 และ L3 ได้รับการปรับให้เหมาะกับขนาด (เพื่อเพิ่มความจุให้กับขนาดชิปที่ จำกัด ได้หรือลดค่าใช้จ่ายของความจุที่กำหนด) ในขณะที่ SRAM สำหรับ L1 มีแนวโน้มที่จะปรับให้เหมาะกับความเร็ว

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

อีกปัจจัยหนึ่งคือแคช L2 และ L3 ส่วนใหญ่ใช้การเข้าถึงแท็กและข้อมูลแบบอนุกรมซึ่ง L1 แคชส่วนใหญ่จะเข้าถึงแท็กและข้อมูลแบบขนาน นี่คือการเพิ่มประสิทธิภาพพลังงาน (อัตราพลาด L2 สูงกว่าอัตราพลาด L1 ดังนั้นการเข้าถึงข้อมูลจึงมีแนวโน้มที่จะสูญเปล่ามากขึ้นโดยทั่วไปการเข้าถึงข้อมูล L2 ต้องใช้พลังงานมากกว่าเกี่ยวข้องกับความจุ - และแคช L2 มักจะมีการเชื่อมโยงที่สูงขึ้น ซึ่งหมายความว่าการป้อนข้อมูลเพิ่มเติมจะต้องอ่านอย่างพิเศษ) เห็นได้ชัดว่าต้องรอการจับคู่แท็กก่อนที่จะเข้าถึงข้อมูลจะเพิ่มเวลาที่จำเป็นในการดึงข้อมูล (โดยทั่วไปการเข้าถึง L2 จะเริ่มหลังจากยืนยันการพลาด L1 เท่านั้นดังนั้นการตรวจจับ L1 miss ที่แฝงอยู่จึงถูกเพิ่มเข้าไปในเวลาแฝงการเข้าถึงทั้งหมดของ L2)

นอกจากนี้แคช L2 นั้นอยู่ห่างจากเอ็นจินการเรียกใช้งานมากขึ้น การวางแคชข้อมูล L1 ใกล้กับเอ็นจินการเรียกใช้งาน (เพื่อให้กรณีทั่วไปของการโจมตี L1 เร็ว) โดยทั่วไปหมายความว่า L2 จะต้องวางให้ห่างออกไป


คำตอบที่ดี แต่ฉันไม่เห็นด้วยกับข้อความของคุณว่าอัตราการพลาด L2 สูงกว่าอัตราพลาด L1 ในขณะที่เราเคลื่อนย้ายต่ำกว่าในลำดับชั้นของหน่วยความจำเรามีโครงสร้างที่ใหญ่กว่าซึ่งทำให้พลาดน้อยลง แต่มีความล่าช้ามากขึ้น
Harshavardhan Ramanna

@HarshavardhanRamanna ใช่การเพิ่มความจุและการเชื่อมโยงช่วยให้อัตราการพลาด แต่ระดับที่ต่ำกว่าการเข้าถึงตัวกรอง (การถ่ายโอนแบบดั้งเดิมของบล็อกทั้งหมดจาก L2 กรองพื้นที่เชิงพื้นที่ระยะสั้นภายในบล็อกการเข้าชมจะนับเพียงหนึ่งการเข้าถึงใน L2 ในขณะที่ การบล็อกตัวเองน่าจะให้การเข้าใช้ใน L1 สำหรับการเข้าถึงเพิ่มเติม) รวมอัตราการพลาดลงไป (เช่นการ L2 มีอัตราการตีที่ดี 80% และมีอัตราการ L1 ตี 95% ได้รับการรวมอัตราการตี 99%)
Paul A. Clayton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.