lshw และ lscpu ไม่เห็นด้วยกับแคช - ซึ่งถูกต้อง?


14

ฉันพยายามที่จะหาข้อมูลเฉพาะเกี่ยวกับแคช (โดยเฉพาะอย่างยิ่งที่มีการใช้แคชร่วมกันระหว่างแกนและที่ไม่ได้) และมีการย้ำความไม่ลงรอยกัน

sudo lshw กล่าวว่า

*-cache:0
     description: L1 cache
     physical id: a
     slot: Internal Cache
     size: 64KiB
     capacity: 64KiB
     capabilities: synchronous internal write-back
*-cache:1
     description: L2 cache
     physical id: b
     slot: External Cache
     size: 8MiB
     capabilities: synchronous internal write-back

แต่การlscpuเรียกร้อง

L1d cache:   32K
L1i cache:   32K
L2 cache:   256K
L3 cache:  8192K

ฉันไม่ต้องกังวลมากเกินไปเกี่ยวกับคำสั่งและแคชข้อมูลที่ถูกรวมเข้าด้วยกัน แต่ L2 ไปไหน

สังเกตได้จากเครื่องที่ใช้ Ubuntu 10.10 หรือเพื่อuname -aพูด:

Linux name 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC 2012 x86_64 GNU/Linux

นี่เป็นคำถามทั่วไป แต่โปรดทราบว่าทั้งผู้ผลิตที่แม่นยำที่สุดที่ฉันสามารถหาได้หรือWikipediaไม่มีรายละเอียดที่จำเป็น

คำถามโบนัสที่ไม่เกี่ยวข้อง: External Cacheหมายความว่าแคชใช้ร่วมกันระหว่าง (สี่) แกน (และInternal Cacheตรงข้าม)?


สองความคิด ครั้งแรกที่ผู้ผลิตพูดอะไร? วิธีการของฉันอาจจะค้นหารายละเอียดสำหรับซีพียูแล้วลองเหตุผลไปข้างหน้าจากที่นั่น ประการที่สองถ้าเป็นสิ่งที่คุณสามารถทำได้ฉันอยากรู้ว่าคุณได้อะไรถ้าคุณลองสิ่งนี้หลังจากทำการบูทสด CD / USB สำหรับ Ubuntu หรือ Fedora ล่าสุด (อาจเป็นข้อผิดพลาดที่ได้รับการแก้ไขแล้วหรือไม่ฉันคิดว่ามีวิธีอื่นในการตรวจสอบว่ามีข้อผิดพลาดอยู่และได้รับการแก้ไขแล้ว แต่ ... )
ไม่มีเหตุผล John

@irrationalJohn: จุดที่ดีเกี่ยวกับรายละเอียดอย่างเป็นทางการ (แม้ว่าจะไม่เกี่ยวข้องกับคำถามทั่วไปมากขึ้น) น่าเศร้าที่รายละเอียดไม่ได้ช่วย (ดูแก้ไข) นอกจากนี้ฉันไม่สามารถยุ่งเกี่ยวกับเครื่อง
Raphael

คำตอบ:


3

ขอบคุณที่เพิ่มข้อมูลเพิ่มเติมเกี่ยวกับโปรเซสเซอร์ในคำถามของคุณ Intel Core i7-920 Processorจะช่วยให้ทราบว่าตัวอย่างที่คุณโพสต์อ้างถึง

ข้อมูลที่ให้ไว้lscpuมีความแม่นยำมากขึ้นเนื่องจากมีแคชทั้งสามระดับคือ L1, L2 และ L3 ปรากฏว่าlshwได้รับการแก้ไขเพียงเล็กน้อยเพื่อให้สะท้อนถึงการเพิ่มแคช L3 ของ Intel ไปยัง CPU ของพวกเขา แทนที่จะแสดงข้อมูลเกี่ยวกับแคชทั้งสามระดับข้อมูลเกี่ยวกับขนาดของแคช L3 จะถูกรายงานเป็นแคช L2

ฉันคิดว่าสเป็คที่คุณดูไม่ได้รวมแคช L1 และ L2 เพราะใน microar Architecture ที่ให้มามันเหมือนกันหมด ตัวอย่างเช่นสำหรับ Nehalem นี่คือ " 64 KB L1 cache / core (32 KB L1 Data + 32 KB L1 Instruction) และ 256 KB L2 cache / core "

ฉันเชื่อว่าการให้แต่ละคอร์เป็นของตัวเอง L1 และ L2 ด้วย L3 ทั่วไปที่มีขนาดใหญ่กว่ามากได้ถูกนำมาใช้เป็นครั้งแรกในฐานะส่วนหนึ่งของNehalem (microarchitecture) (ในเดือนพฤศจิกายน 2008)

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

(อาจจะเรียนรู้ได้มากกว่านี้โดยดูจากซอร์สโค้ดจริง แต่ฉันไม่มีเวลาลองทำ)

ในที่สุดก็ใช่แคช L3 จะถูกแชร์ในแกน / เธรด ข้อความต่อไปนี้เป็นบทความจากวิกิพีเดียเชื่อมโยงดังกล่าว " Hyper-Threading จะแนะนำพร้อมกับการลดลงของ L2 ซึ่งได้รับการจัดตั้งขึ้นเป็นแคช L3 ซึ่งสามารถใช้งานได้โดยแกนทั้งหมด . "


ขอบคุณสำหรับความช่วยเหลือเกี่ยวกับรายละเอียด ยังคงมีการตามล่ารายละเอียดดูดถ้าเรามีเครื่องมือที่แกล้งทำในสิ่งที่เราต้องการ
Raphael

@RI ไม่ทราบว่าคุณ (ยัง) กำลังมองหาบางสิ่งอยู่ ตรงไปตรงมาปัญหาที่ฉันมักมีกับ Intel ก็คือข้อมูลที่ให้ไว้มากเกินไป คุณสนใจข้อมูลประเภทใด มองไปทางขวาบนของIntel i7-920 หน้าคุณจะเห็นลิ้งค์ด่วน ลิงค์แผ่นข้อมูลจะนำคุณไปยังหน้าเอกสารทางเทคนิค มีสองเล่มในโปรเซสเซอร์ i7-900 ก่อนที่พวกเขาจะระบุรายละเอียดทางกลและทางความร้อน นักพัฒนาซอฟต์แวร์ต้องอยู่ในหน้าอื่น มีรายการมากเกินไป
ไม่มีเหตุผล John

ฉันเปรียบเทียบอัลกอริทึมแบบขนานเพื่อให้สถาปัตยกรรมแคชมีความสำคัญ มันแย่ที่เครื่องมือ GNU / Linux ไม่น่าเชื่อถือ (ทั้งหมด) อย่างไรก็ตามคำถามเกี่ยวกับเครื่องมือมากกว่าเครื่องเฉพาะที่ฉันทำงานอยู่
Raphael

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