แคชคืออะไร?

แคชคืออะไร และเหตุใด CPU, GPU และโปรเซสเซอร์ประเภทอื่นๆ จึงมีแคช นี่คือทุกสิ่งที่คุณจำเป็นต้องรู้

ลิงค์ด่วน

  • แคช: หน่วยความจำความเร็วสูงจำนวนเล็กน้อย
  • ระดับแคชและลำดับชั้นหน่วยความจำ
  • แคชเป็นสิ่งจำเป็นแต่ไม่ได้ปรับปรุงประสิทธิภาพด้วยตัวเอง

แม้ว่าแคชจะไม่ได้พูดถึงมากเท่ากับคอร์ แกะ (หน่วยความจำเข้าถึงโดยสุ่ม) หรือ วีแรมคุณคงเคยได้ยินเรื่องนี้มาก่อน โดยเฉพาะเมื่อเร็วๆ นี้ AMD ภูมิใจนำเสนอประสิทธิภาพการเล่นเกมสำหรับมัน ซีพียู Ryzen พร้อม 3D V-Cache อันเป็นผลมาจากการใช้แคช และหนึ่งในการปรับปรุงที่ใหญ่ที่สุดของ Intel กับซีพียู Raptor Lake รุ่นที่ 13 คือการเพิ่มแคชมากขึ้น

แต่แคชจะปรับปรุงประสิทธิภาพได้อย่างไรเมื่อวัดเป็นเมกะไบต์? แม้แต่ชุด RAM ที่ถูกที่สุดก็ยังมาพร้อมกับ 16GB ในปัจจุบัน ดังนั้นการเพิ่มแคชเพิ่มอีกสองสามเมกะไบต์จะสร้างความแตกต่างอย่างมากให้กับประสิทธิภาพได้อย่างไร แคชไม่ใช่หน่วยความจำประเภทปกติของคุณ

แคช: หน่วยความจำความเร็วสูงจำนวนเล็กน้อย

ที่มา: เอเอ็มดี

จริงๆ แล้วแคชเป็นการพัฒนาล่าสุดของโปรเซสเซอร์ ย้อนกลับไปในช่วงปี 1990 และมันถูกประดิษฐ์ขึ้นเนื่องจาก RAM RAM เป็นองค์ประกอบสำคัญในคอมพิวเตอร์ที่จัดเก็บข้อมูลจำนวนมากซึ่งโปรเซสเซอร์ (เช่น CPU และ GPU) คาดว่าจะต้องการค่อนข้างบ่อย เป็นเวลานานแล้วที่การปรับปรุงประสิทธิภาพของ RAM ก้าวทันการปรับปรุงประสิทธิภาพของ CPU แต่ในช่วงทศวรรษ 1990 การพัฒนาดังกล่าวกำลังกลายเป็น เห็นได้ชัดว่า RAM ไม่สามารถตามซีพียูล่าสุดได้ RAM มีความจุมาก แต่ความเร็วในการถ่ายโอนก็มากเกินไป ช้า.

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

คุณอาจสงสัยว่าทำไมแคชจึงเล็กมาก ส่วนใหญ่แล้วจะเกี่ยวข้องกับพื้นที่และเงิน แม้แต่แคชขนาด 32MB ก็สามารถใช้พื้นที่บนโปรเซสเซอร์ได้ไม่น้อย และชิปสมัยใหม่ก็ถูกจำกัดพื้นที่ทั้งหมดประมาณ 600 มม.2 ซึ่งต้องใช้อย่างชาญฉลาด นั่นหมายถึงการทุ่มเทพื้นที่ให้กับแคชมากขึ้นอาจมีค่าใช้จ่ายค่อนข้างสูง และ สถานการณ์นั้นแย่ลงจริงๆ ไม่ดีขึ้น. กระบวนการผลิตล่าสุดส่งผลให้ความหนาแน่นของแคชมีการปรับปรุงน้อยลงเรื่อยๆ และ TSMC ล้มเหลวในการลดขนาดของแคชเลยในการทำซ้ำครั้งแรกของกระบวนการ 3 นาโนเมตร

ระดับแคชและลำดับชั้นหน่วยความจำ

ที่มา: คาร์ลอส คาร์วัลโญ่

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

โปรเซสเซอร์ส่วนใหญ่มีระดับแคชที่แตกต่างกันเพื่อวัตถุประสงค์ที่แตกต่างกัน แคชระดับแรกและระดับที่เล็กที่สุดคือ L1 ซึ่งกำหนดให้แต่ละคอร์สำหรับการประมวลผลข้อมูลที่จำเป็นในทันที แคช L1 มักวัดเป็นกิโลไบต์ โดยซีพียู Ryzen 7000 ล่าสุดมีแคช L1 ขนาด 64KB ต่อคอร์ นอกจากนี้ แคช L1 สมัยใหม่มักถูกแบ่งออกเป็น L1I (สำหรับคำแนะนำ) และ L1D (สำหรับข้อมูล) เพิ่มเติม

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

ขั้นตอนต่อไปคือ L3 ซึ่งโดยทั่วไปจะใช้กับคอร์ทั้งหมดบนชิป ขนาดของมันอาจแตกต่างกันตั้งแต่ใหญ่กว่าแคช L2 สองถึงสามเท่าไปจนถึงมากกว่าลำดับความสำคัญที่ใหญ่กว่า ขึ้นอยู่กับโปรเซสเซอร์ ซึ่งหมายความว่าช้ากว่าแคช L2 แต่ยังคงมีประสิทธิภาพเหนือกว่า RAM นอกจากนี้ แคช L3 ยังทำหน้าที่เป็น "แคชของเหยื่อ" ซึ่งเป็นที่ที่ข้อมูลที่ถูกขับออกจากแคช L1 และ L2 ไป มันอาจถูกขับออกจากแคช L3 เพิ่มเติมหากไม่จำเป็น ปัจจุบันแคช L3 มีความสำคัญอย่างยิ่งต่อ AMD เนื่องจากเทคโนโลยีชิปเล็ต ชิป Ryzen 3D V-Cache มีแคช L3 ขนาด 64MB และ RX 7000 Memory Cache Dies (หรือ MCD) มีแคช L3 ขนาด 16MB แต่ละตัว

ระดับแคชสูงสุดที่เห็นในโปรเซสเซอร์ส่วนใหญ่คือ L4 ซึ่งมักจะใหญ่มากจนเป็น RAM อย่างมีประสิทธิภาพ ในความเป็นจริง CPU ล่าสุดที่ใช้แคช L4 คือชิป Sapphire Rapids Xeon ของ Intel ซึ่งใช้ HBM2 เป็นแคช L4 ในรุ่นระดับบนสุด ในทางกลับกัน AMD ไม่เคยใช้แคช L4 และพอใจที่จะขยายแคช L3 ให้มีความจุสูงแทนโดยการเพิ่ม CPU และชิป V-Cache มากขึ้น โดยทั่วไปแคช L4 จะให้ประโยชน์กับ GPU ในตัวมากกว่า เนื่องจากเป็นโซลูชันออนไดย์ที่สามารถแบ่งปันข้อมูลระหว่าง CPU และ GPU ในตัวได้

ในชิปเซ็ตบางรุ่น ซึ่งส่วนใหญ่เป็นอุปกรณ์พกพา จะมีแคชอีกประเภทหนึ่ง: แคชระดับระบบ (SLC) จากนั้นแคชนี้จะถูกใช้ทั่วทั้งชิปเซ็ต เช่น GPU, NPU และ CPU แคชสามารถแทนที่ความต้องการคำขอไปยังหน่วยความจำหลักได้ ดังนั้น SLC จึงให้ประโยชน์กับ SoC ทั้งหมด

แคชเป็นสิ่งจำเป็นแต่ไม่ได้ปรับปรุงประสิทธิภาพด้วยตัวเอง

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

ดังที่กล่าวไปแล้ว ความสามารถในการเพิ่มแคชจำนวนมากอาจเป็นสิ่งที่พึงปรารถนาในบางสถานการณ์ ตัวอย่างเช่น CPU ที่มีแคชจำนวนมากมักจะทำงานได้ดีกว่าในเกม CPU Ryzen ของ AMD ที่มี 3D V-Cache นั้นค่อนข้างเร็วสำหรับการเล่นเกม แม้ว่าจะมีความถี่ต่ำกว่าชิปที่ไม่มี V-Cache และ CPU รุ่นที่ 13 ของ Intel นั้นเร็วกว่าชิปรุ่นที่ 12 อย่างมาก โดยมีการปรับปรุงที่สำคัญเพียงอย่างเดียวคือการขยายให้ใหญ่ขึ้น แคช

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