สอน

แคช l1, l2 และ l3 คืออะไรและทำงานอย่างไร

สารบัญ:

Anonim

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

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

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

ดัชนีเนื้อหา

หน่วยความจำแคชของ CPU คืออะไร

สิ่งแรกที่เราจะต้องรู้คืออะไรแคชโดยทั่วไป ดังที่เราได้กล่าวไปแล้วภายในพีซีมีหน่วยความจำหลายประเภทและหน่วยความจำแคชจะแม่นยำที่สุดเร็วที่สุด

ระดับการจัดเก็บ

ในการเริ่มต้นในขั้นตอนแรกเราจะมี พื้นที่เก็บข้อมูลหลัก ซึ่ง เป็นฮาร์ดไดรฟ์อย่าง แน่นอน ในพวกเขาข้อมูลทั้งหมดจะถูกเก็บไว้อย่างถาวรจากมันระบบปฏิบัติการทำให้พีซีทำงาน มันเป็นหน่วยความจำที่ช้าที่สุดซึ่ง มีตั้งแต่ประมาณ 150MB / s บน HDD (ฮาร์ดไดรฟ์เชิงกล) ไปจนถึง 3, 500MB / s ที่น่าประทับใจของ SSD ที่ เร็วที่สุดในตลาด

ประการที่สองเราจะมี หน่วยความจำเข้าถึงโดยสุ่ม หรือ RAM เป็นหน่วยความจำโซลิดสเตทที่เล็กกว่าซึ่ง ไม่สามารถจัดเก็บข้อมูลอย่างถาวร และทำหน้าที่เป็นเกตเวย์ระหว่างฮาร์ดดิสก์และตัวประมวลผล ให้ ความเร็ว มากกว่า 30, 000 MB / s ใน DDR4 หน่วยความจำเรียกอีกอย่างว่า DRAM (Dynamic RAM) เพราะมันจะต้องมีการปรับปรุงอย่างต่อเนื่องเพื่อหลีกเลี่ยงการสูญเสียข้อมูล

ระดับที่สามเร็วที่สุด

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

ข้อเท็จจริงของการติดตั้งภายในซีพียูทำให้แกนประมวลผลใกล้เคียงที่สุดและนั่นเป็นสาเหตุที่ทำให้ ต้องมีการด่าอย่างรวดเร็ว ในความเป็นจริงมันถึง ความเร็วมากกว่า 200 GB / s และ latencies ประมาณ 10 หรือ 11 ns (nanoseconds) หน่วยความจำแคชรับผิดชอบในการจัดเก็บคำสั่งที่กำลังจะถูกประมวลผลโดย CPU เพื่อให้สามารถเข้าถึงได้โดยเร็วที่สุด

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

วิธีการทำงานของแคช

คุณอาจไม่รู้ แต่จริง ๆ แล้วอุปกรณ์ต่อพ่วงและส่วนประกอบทั้งหมดของคอมพิวเตอร์มี หน่วยความจำแคชของตัวเอง เช่น ฮาร์ดไดรฟ์ตัวเองเครื่องพิมพ์และแน่นอน GPUs ของการ์ดกราฟิก และฟังก์ชั่นของพวกเขาทั้งหมดรวมถึงซีพียูจะเหมือนกัน

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

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

ตัวควบคุมหน่วยความจำเข้ามาเล่น

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

แต่ ยังมีบัสสองประเภท ที่รับผิดชอบการสื่อสาร CPU กับหน่วยความจำ RAM ซึ่งเรียกว่าบัสข้อมูลและบัสแอดเดรส:

  • Data bus: โดยพื้นฐานแล้วมันเป็นแทร็คที่ ข้อมูลและคำแนะนำไหลเวียน จะมีบัสข้อมูลที่สื่อสาร RAM แคชและแกนประมวลผลซึ่งกันและกัน Address bus: เป็นช่องอิสระที่ CPU ร้องขอที่ อยู่หน่วยความจำที่มีข้อมูลอยู่ คำแนะนำจะถูกเก็บไว้ในเซลล์หน่วยความจำซึ่งมีที่อยู่และทั้ง RAM แคชและ CPU ต้องทราบเพื่อค้นหาข้อมูลที่เป็นปัญหา

L1, L2 และ L3 แคช

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

หน่วยความจำแคช L1

แคช L1 คือการกำหนดค่าที่เร็วที่สุดซึ่งอยู่ใกล้กับแกนหลัก มากที่สุด วิธีนี้จะเก็บข้อมูลที่ CPU ใช้งานในทันทีและนั่นเป็นสาเหตุว่าทำไมความเร็วถึงอยู่ที่ 1, 750 GB / s และเวลาแฝงอยู่ที่ 0.9 ns เท่านั้น

ขนาด ของหน่วยความจำแคชนี้มีขนาดประมาณ 256 KB แม้ว่าจะขึ้นอยู่กับพลัง CPU (และราคา) มันจะน้อยกว่าหรือสูงกว่าในความเป็นจริงแล้วตัวประมวลผลเวิร์กสเตชันเช่น Intel Core i9-7980 XE มีบางอย่าง ทั้งหมด 1152 KB

แคช L1 นี้แบ่งออกเป็น สองประเภทคือ แคชข้อมูล L1 และแคชคำสั่ง L1 โดยแรกจะรับผิดชอบการจัดเก็บข้อมูลที่จะประมวลผลและที่สองจัดเก็บข้อมูลเกี่ยวกับการดำเนินการที่จะดำเนินการ (การบวกการลบการคูณ ฯลฯ)

นอกจากนี้ แต่ละคอร์มีแคช L1 ของตัวเอง ดังนั้นหากเรามีโปรเซสเซอร์ 6 คอร์เราจะมีแคช L1 6 แกนแบ่งออกเป็น L1 D และ L1 I. ในโปรเซสเซอร์ Intel แต่ละ 32 กิโลไบต์และใน โปรเซสเซอร์ AMD ยังมีขนาด 32 KB หรือ 64 KB สำหรับ L1 I แน่นอนว่าพวกเขาจะแตกต่างกันไปตามคุณภาพและพลังเช่นเคย

หน่วยความจำแคช L2

สิ่งต่อไปที่เราจะพบคือ แคช L2 หรือระดับ 2 มีความจุมากกว่าแม้ว่าจะช้ากว่าเล็กน้อยประมาณ 470 GB / s และเวลาแฝง 2.8 ns ขนาดพื้นที่จัดเก็บมักจะแตกต่างกันระหว่าง 256 KB และ 18 MB เราเห็นแล้วว่ามันมีความสามารถสูงสำหรับความเร็วที่เราจัดการ

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

หน่วยความจำแคช L3

ในที่สุดเราจะพบ แคช L3 ซึ่งมีพื้นที่เฉพาะสำหรับมันบนชิปโปรเซสเซอร์ มันจะใหญ่ที่สุดและช้าที่สุดเรากำลังพูดถึงมากกว่า 200 GB / s และ 11 ns ของเวลาแฝง

ปัจจุบันโปรเซสเซอร์ที่เหมาะสมจะมี แคช L3 อย่างน้อย 4MB และสามารถดูไดรฟ์ สูงสุด 64MB โดยทั่วไปแล้ว L3 จะกระจายไปทั่ว ประมาณ 2MB ต่อคอ ร์ แต่สมมติว่ามันไม่ได้อยู่ในแต่ละคอร์ดังนั้นจึงมี data bus สำหรับสื่อสารกับพวกมัน ความสามารถในการละลายและความเร็วของซีพียูส่วนใหญ่ขึ้นอยู่กับบัสนี้และหน่วยความจำแรมเองและนี่คือสิ่งที่ Intel ได้รับพลังงานจากเอเอ็มดี

จะทราบแคช L1, L2 และ L3 ของโปรเซสเซอร์ได้อย่างไร

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

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

ความหน่วงแฝงความกว้างบัสและการไม่มีแคช

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

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

ความกว้างของบัส มีความสำคัญอย่างยิ่งต่อความเร็วเนื่องจากเป็น เครื่องหมายความสามารถในการถ่ายโอนบล็อกข้อมูลขนาดใหญ่จากหน่วยความจำไปยัง CPU ทั้ง CPU และ RAM เป็น 64 บิต แต่ฟังก์ชั่น Dual Channel สามารถเพิ่มความจุนี้เป็นสองเท่าเป็น 128 บิต เพื่อให้การถ่ายโอนระหว่างองค์ประกอบเหล่านี้มีความจุมากขึ้น

สรุปเกี่ยวกับหน่วยความจำแคช L1, L2 และ L3

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

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

เรามีแบบฝึกหัดที่น่าสนใจเพิ่มเติมในหัวข้อนี้ดังนั้นที่นี่เราปล่อยให้พวกเขา:

เรายังแนะนำคู่มือฮาร์ดแวร์ที่อัปเดตของเรา:

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

สอน

ตัวเลือกของบรรณาธิการ

Back to top button