แคช L0 คืออะไร?

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

ทำไมต้องแคช?

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

แรมสามารถตอบสนองได้อย่างรวดเร็ว ปัญหาคือ "เร็วมาก" นั้นใช้เวลานานเมื่อคุณทำ 5 พันล้านสิ่งทุกๆ วินาที แม้แต่ RAM ที่เร็วที่สุดก็ยังมีเวลาแฝงที่สูงกว่า 60 นาโนวินาที อีกครั้ง 60 นาโนวินาทีดูเหมือนไม่มีเวลาเลย ปัญหาคือถ้า CPU ทำงานที่ 1GHz จะใช้เวลา 1ns จึงจะครบรอบ ด้วยซีพียูระดับไฮเอนด์ที่ความเร็ว 5.7GHz นั่นคือหนึ่งรอบทุกๆ 175 พิโควินาที เวลาแฝง 60 นาโนวินาทีเหล่านั้นเป็นอย่างไรในตอนนี้ นั่นคือ 342 รอบของเวลาแฝง

เวลาแฝงแบบนั้นจะเป็นตัวทำลายประสิทธิภาพการทำงานของ CPU เพื่อหลีกเลี่ยงสิ่งนั้น จะใช้แคช แคชถูกวางไว้บนตัวซีพียูเอง นอกจากนี้ยังมีขนาดเล็กกว่า RAM มากและใช้โครงสร้างอื่น SRAM แทนที่จะเป็น DRAM สิ่งนี้ทำให้ตอบสนองได้เร็วกว่า RAM ของระบบหลักมาก โดยทั่วไปแล้วแคชจะถูกแบ่งระดับ โดย L1, L2 และ L3 ใช้เพื่อแสดงถึงระดับที่รับเพิ่มเติมจากคอร์ CPU ชั้นล่างจะเร็วกว่าแต่เล��กกว่า L1 สามารถมีเวลาแฝงสี่หรือห้ารอบสัญญาณนาฬิกา ซึ่งดีกว่า 342 มาก

แต่ซีพียูบางตัวพูดถึง L0?

คำศัพท์สำหรับ L1, L2 และ L3 เป็นมาตรฐานที่ค่อนข้างดี ความเข้าใจที่คลุมเครือเกี่ยวกับความหมายและการกระทำนั้นค่อนข้างพบได้ทั่วไป แม้แต่ในผู้จำหน่าย CPU ก็ตาม นี่เป็นเพราะมันถูกควบคุมโดยฟิสิกส์ของวัสดุและไฟฟ้า ไม่สามารถเปลี่ยนแปลงได้มากนัก คุณสามารถมีแคชที่รวดเร็วหรือแคชขนาดใหญ่ ไม่ใช่ทั้งสองอย่าง จะต้องใหญ่กว่านี้หากคุณแชร์แคชระหว่างหลายคอร์ ด้วยเหตุนี้ L1 และ L2 จึงมีแนวโน้มที่จะเป็นแกนเฉพาะ แคช L3 ที่ใหญ่ขึ้นมีแนวโน้มที่จะใช้ร่วมกันระหว่างคอร์บางส่วนหรือทั้งหมดบน CPU หรือชิปเล็ต

อย่างที่คุณอาจเดาได้ L0 เกี่ยวข้องกับการแคช แต่ความจริงแล้วถูกผลักเข้าไปอยู่ในรูปแบบการตั้งชื่อ มันไม่ได้ช่วยให้เข้าใจความหมายแม้ว่า คุณอาจคาดเดาบางสิ่งได้ มันจะถูกจำกัดไว้ที่หนึ่งคอร์ มันจะเล็ก และจะเร็ว ชื่ออื่นที่ใช้ไปสามารถช่วยได้เล็กน้อย นั่นคือไมโครออปแคช

แทนที่จะแคชข้อมูลจากหน่วยความจำหรือคำสั่งแบบเต็ม L0 จะแคชไมโครออปส์ ดังที่เราได้อธิบายไปเมื่อเร็วๆ นี้ micro-op เป็นคุณสมบัติของซีพียูสมัยใหม่ คำแนะนำใน x86 และ ISAs อื่นๆ มีขนาดใหญ่ ซับซ้อน และท้าทายในการปรับให้พอดีกับไปป์ไลน์อย่างมีประสิทธิภาพ คุณสามารถไปป์ไลน์ได้อย่างมีประสิทธิภาพมากขึ้นหากคุณแบ่งมันออกเป็นไมโครออปที่เป็นส่วนประกอบ ในบางกรณี คุณยังสามารถจัดกลุ่มไมโครออปหลายตัว แม้จากคำสั่งที่แตกต่างกัน ให้เป็นไมโครออปตัวเดียว เพื่อให้ได้ทั้งการปรับปรุงประสิทธิภาพและการลดพลังงาน

สถาปัตยกรรม CPU ft Micro-Op Cache

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

แคชไม่จำเป็นต้องมีขนาดเล็ก แต่เมื่อได้รับการจัดการอย่างระมัดระวัง จะสามารถเข้าถึงได้ด้วยเวลาแฝงรอบเดียวหรือไม่มีเลย ซึ่งเพียงพอที่จะป้องกันไม่ให้ต้องใช้เวลาแฝง 4 รอบไปยังแคช L1 และไม่มีการลงโทษการพลาดแคช

บทสรุป

แคช L0 เป็นอีกชื่อหนึ่งของไมโครออปแคช สามารถเป็นส่วนหนึ่งของ CPU สมัยใหม่ที่ใช้การทำงานระดับไมโคร โดยทั่วไปจะเก็บรายการได้ไม่กี่พันรายการและมีความสามารถแสดงรายการเป็นจำนวนรายการมากกว่าเป็นไบต์ L0 สามารถเข้าถึงได้เร็วกว่า L1 โดยทั่วไปจะมีเวลาแฝง 1 หรือ 0 รอบ การแคช micro-ops ช่วยลดภาระของตัวถอดรหัสคำสั่ง โดยเฉพาะอย่างยิ่งในโค้ดที่ใช้ลูปหรือฟังก์ชันต่างๆ ได้ดี



Leave a Comment

วิธีการโคลนฮาร์ดไดรฟ์

วิธีการโคลนฮาร์ดไดรฟ์

ในยุคดิจิทัลสมัยใหม่ ที่ข้อมูลเป็นทรัพย์สินที่มีค่า การโคลนฮาร์ดไดรฟ์บน Windows อาจเป็นกระบวนการที่สำคัญสำหรับหลายๆ คน คู่มือที่ครอบคลุมนี้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

คุณกำลังเผชิญกับข้อความแสดงข้อผิดพลาดขณะบูตเครื่องคอมพิวเตอร์ซึ่งระบุว่าไดรเวอร์ WUDFRd ไม่สามารถโหลดบนคอมพิวเตอร์ของคุณได้ใช่หรือไม่?

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? หากใช่ โปรดอ่านบล็อกเพื่อดูวิธีแก้ไขข้อผิดพลาดนี้อย่างรวดเร็วและง่ายดาย

Roomba Stops, Sticks and Turns Around – Fix

Roomba Stops, Sticks and Turns Around – Fix

Fix a problem where your Roomba robot vacuum stops, sticks, and keeps turning around.

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

คุณจำเป็นต้องลบ GPU ออกจากพีซีของคุณหรือไม่? เข้าร่วมกับฉันในขณะที่ฉันอธิบายวิธีลบ GPU ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

ซื้อ NVMe M.2 SSD ใหม่ แต่ไม่รู้ว่าจะติดตั้งอย่างไร? อ่านเพื่อเรียนรู้วิธีติดตั้ง NVMe SSD บนแล็ปท็อปหรือเดสก์ท็อป

Logic Bomb คืออะไร?

Logic Bomb คืออะไร?

ลอจิกบอมบ์คือเหตุการณ์ด้านความปลอดภัยที่ผู้โจมตีดำเนินการล่าช้า อ่านต่อเพื่อหาข้อมูลเพิ่มเติม

SoC คืออะไร?

SoC คืออะไร?

หากคุณเคยดูภายในพีซีทาวเวอร์ คุณจะเห็นว่ามีส่วนประกอบต่างๆ มากมาย แล็ปท็อปทั่วไปของคุณมีส่วนประกอบที่เหมือนกันเป็นส่วนใหญ่

การเข้ารหัสแบบอสมมาตรคืออะไร?

การเข้ารหัสแบบอสมมาตรคืออะไร?

อัลกอริธึมการเข้ารหัสแบบอสมมาตรใช้สองคีย์ที่แตกต่างกัน คีย์หนึ่งใช้สำหรับเข้ารหัสและอีกคีย์หนึ่งสำหรับถอดรหัส

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck มีตัวเลือกพื้นที่เก็บข้อมูลสามแบบ: 64GB eMMC, 256GB NVMe SSD และ 512GB NVMe SSD ขึ้นอยู่กับคลังเกมของคุณและขนาดของเกม