Intel i486มี 8 กิโลไบต์แคช L1 Intel Nehalemมี 32 KB L1 แคชและการเรียนการสอน 32 KB L1 แคชข้อมูลต่อคอ
จำนวน L1 Cache ไม่ได้เพิ่มขึ้นตามอัตราที่เพิ่มขึ้นของ Clockrate
ทำไมไม่
Intel i486มี 8 กิโลไบต์แคช L1 Intel Nehalemมี 32 KB L1 แคชและการเรียนการสอน 32 KB L1 แคชข้อมูลต่อคอ
จำนวน L1 Cache ไม่ได้เพิ่มขึ้นตามอัตราที่เพิ่มขึ้นของ Clockrate
ทำไมไม่
คำตอบ:
ข้อความขนาด 30K ของ Wikipedia ไม่มีประโยชน์เท่าคำอธิบายว่าทำไมแคชที่ใหญ่เกินไปจึงไม่เหมาะสม เมื่อแคชมีขนาดใหญ่เกินไปเวลาแฝงในการค้นหารายการในแคช (แฟคตอริ่งที่แคชหายไป) เริ่มเข้าใกล้เวลาแฝงของการค้นหารายการในหน่วยความจำหลัก ฉันไม่ทราบว่าผู้ออกแบบ CPU มีจุดมุ่งหมายเท่าไหร่ แต่ฉันคิดว่ามันคล้ายกับแนวทาง 80-20: คุณต้องการค้นหาข้อมูลที่พบบ่อยที่สุดในแคช 80% ของเวลาและอีก 20 % ของเวลาที่คุณจะต้องไปที่หน่วยความจำหลักเพื่อค้นหา (หรือสัดส่วนของผู้ออกแบบ CPU ที่ตั้งใจ)
แก้ไข: ฉันแน่ใจว่าไม่มีที่ไหนเลยใกล้ 80% / 20% ดังนั้นแทนที่ X และ 1-X :)
ปัจจัยหนึ่งคือ L1 ดึงข้อมูลเริ่มต้นก่อนการแปล TLB เสร็จสมบูรณ์เพื่อลดเวลาแฝง ด้วยแคชที่มีขนาดเล็กเพียงพอและสูงพอที่บิตของดัชนีสำหรับแคชจะเหมือนกันระหว่างที่อยู่เสมือนและที่อยู่จริง สิ่งนี้อาจลดค่าใช้จ่ายในการรักษาความต่อเนื่องของหน่วยความจำด้วยแคชที่จัดทำดัชนีและติดแท็กทางกายภาพ
ขนาดแคชได้รับอิทธิพลจากปัจจัยหลายประการ:
ความเร็วของสัญญาณไฟฟ้า (ควรเป็นถ้าไม่ใช่ความเร็วของแสง, มีขนาดเท่ากัน):
ต้นทุนทางเศรษฐกิจ (วงจรที่ระดับแคชแตกต่างกันอาจแตกต่างกันและขนาดแคชบางอย่างอาจไม่คู่ควร)
หากขนาดแคช L1 ไม่เปลี่ยนแปลงหลังจาก 64kb เป็นเพราะมันไม่มีค่าอีกต่อไป โปรดทราบว่าขณะนี้มี "วัฒนธรรม" ที่ดีกว่าเกี่ยวกับแคชและโปรแกรมเมอร์หลายคนเขียนโค้ด "เป็นมิตรกับแคช" และ / หรือใช้คำแนะนำ prefetech เพื่อลดเวลาแฝง
ฉันพยายามสร้างโปรแกรมอย่างง่ายที่เข้าถึงตำแหน่งสุ่มในอาเรย์ (ของหลายเมกะไบต์): โปรแกรมนั้นเกือบคอมพิวเตอร์ค้างเพราะสำหรับแต่ละการอ่านแบบสุ่มแต่ละหน้าถูกย้ายจาก RAM ไปยังแคชและตั้งแต่นั้นทำบ่อยมาก โปรแกรมกำลังระบายคลื่นความถี่ออกทั้งหมดโดยที่เหลือทรัพยากรน้อยมากสำหรับระบบปฏิบัติการ
ฉันเชื่อว่าสามารถสรุปได้โดยเพียงระบุว่าแคชยิ่งใหญ่เท่าไรก็ยิ่งเข้าถึงได้ช้าลงเท่านั้น ดังนั้นแคชที่ใหญ่กว่าก็ไม่ได้ช่วยอะไรเพราะแคชได้รับการออกแบบมาเพื่อลดการสื่อสารบัสช้าลงสู่ RAM
เนื่องจากความเร็วของโปรเซสเซอร์เพิ่มขึ้นอย่างรวดเร็วแคชขนาดเดียวกันจึงต้องทำงานได้เร็วขึ้นและเร็วขึ้นเพื่อให้ทัน ดังนั้นแคชอาจจะดีขึ้นอย่างมาก (ในแง่ของความเร็ว) แต่ไม่ใช่ในแง่ของการจัดเก็บ
(ฉันเป็นคนซอฟต์แวร์ดังนั้นหวังว่านี่จะไม่ผิดอย่างเลวร้าย)
จากแคช L1 :
แคชระดับ 1 หรือแคชหลักอยู่บน CPU และใช้สำหรับการจัดเก็บชั่วคราวของคำแนะนำและข้อมูลที่จัดเรียงเป็นกลุ่มขนาด 32 ไบต์ แคชหลักเป็นรูปแบบการจัดเก็บที่เร็วที่สุด เพราะมันสร้างขึ้นในชิปที่มีศูนย์รอรัฐ (ล่าช้า) อินเตอร์เฟซกับหน่วยประมวลผลการดำเนินการที่จะมีข้อ จำกัด ในขนาด
SRAM ใช้ทรานซิสเตอร์สองตัวต่อบิตและสามารถเก็บข้อมูลได้โดยไม่ต้องอาศัยความช่วยเหลือจากภายนอกตราบใดที่พลังงานจ่ายให้กับวงจร สิ่งนี้ตรงกันข้ามกับ dynamic RAM (DRAM) ซึ่งต้องรีเฟรชหลายครั้งต่อวินาทีเพื่อเก็บเนื้อหาข้อมูล
หน่วยประมวลผล P55 MMX ของ Intel ซึ่งเปิดตัวเมื่อต้นปี 1997 นั้นสำคัญสำหรับการเพิ่มขนาดแคชระดับ 1 ให้เป็น 32KB ชิพ AMD K6 และ Cyrix M2 เปิดตัวในปีนั้นเพิ่มขึ้น ante เพิ่มเติมโดยให้แคชระดับ 1 ของ 64KB 64Kb ยังคงเป็นขนาดแคช L1 มาตรฐานแม้ว่าโปรเซสเซอร์หลายคอร์อาจใช้ประโยชน์ได้แตกต่างกัน
แก้ไข: โปรดทราบว่าคำตอบนี้มาจาก 2009 และ CPU มีการพัฒนาอย่างมากในช่วง 10 ปีที่ผ่านมา หากคุณมาที่โพสต์นี้อย่าตอบคำถามทั้งหมดของเราที่นี่อย่างจริงจัง
ขนาดแคช L1 ที่แท้จริงคือคอขวดที่ใหญ่ที่สุดสำหรับความเร็วในคอมพิวเตอร์ที่ทันสมัย ขนาดแคช L1 ที่น่าสมเพชอาจเป็นของหวานสำหรับราคา แต่ไม่ใช่ประสิทธิภาพ L1 cache สามารถเข้าถึงได้ที่ความถี่ GHz เช่นเดียวกับการทำงานของโปรเซสเซอร์ซึ่งแตกต่างจากการเข้าถึง RAM ช้าลง 400x มันมีราคาแพงและยากที่จะนำไปใช้ในการออกแบบ 2 มิติในปัจจุบันอย่างไรก็ตามเป็นเทคนิคที่ทำได้และ บริษัท แรกที่ประสบความสำเร็จจะมีคอมพิวเตอร์ 100 ครั้งเร็วขึ้นและยังคงทำงานได้ดีสิ่งที่จะสร้างนวัตกรรมที่สำคัญในหลาย ๆ เขตข้อมูลและเป็นเพียง accessbile ปัจจุบันผ่านการกำหนดค่า ASIC / FPGA ที่มีราคาแพงและยาก ปัญหาเหล่านี้บางส่วนเกี่ยวข้องกับปัญหากรรมสิทธิ์ / IP และความโลภขององค์กรที่ทอดยาวไปหลายทศวรรษ ซึ่งกลุ่มวิศวกรที่อ่อนแอและไม่มีประสิทธิภาพเป็นเพียงคนเดียวที่เข้าถึงงานด้านในได้และผู้ที่ได้รับคำสั่งให้เดินทัพเพื่อบีบเรื่องไร้สาระที่คุ้มค่า การวิจัยที่มีการแปรรูปมากเกินไปมักนำไปสู่ความซบเซาทางเทคโนโลยีหรือการควบคุมปริมาณ (เช่นที่เราเห็นในยานอวกาศและรถยนต์โดยผู้ผลิตรายใหญ่และในไม่ช้าจะเป็นยา) โอเพนซอร์สและสิทธิบัตรที่สมเหตุสมผลและกฎเกณฑ์ความลับทางการค้าที่เป็นประโยชน์ต่อนักประดิษฐ์และสาธารณะ (แทนที่จะเป็นหัวหน้า บริษัท และผู้ถือหุ้น) จะช่วยได้มากที่นี่ มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามาหลายสิบปีแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี และผู้ที่ได้รับคำสั่งให้เดินทัพเพื่อบีบเรื่องไร้สาระที่คุ้มค่า การวิจัยที่มีการแปรรูปมากเกินไปมักนำไปสู่ความซบเซาทางเทคโนโลยีหรือการควบคุมปริมาณ (เช่นที่เราเห็นในยานอวกาศและรถยนต์โดยผู้ผลิตรายใหญ่และในไม่ช้าจะเป็นยา) โอเพนซอร์สและสิทธิบัตรที่สมเหตุสมผลและกฎเกณฑ์ความลับทางการค้าที่เป็นประโยชน์ต่อนักประดิษฐ์และสาธารณะ (แทนที่จะเป็นหัวหน้า บริษัท และผู้ถือหุ้น) จะช่วยได้มากที่นี่ มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามาหลายสิบปีแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี และผู้ที่ได้รับคำสั่งให้เดินทัพเพื่อบีบเรื่องไร้สาระที่คุ้มค่าให้กับนักปกป้อง การวิจัยที่มีการแปรรูปมากเกินไปมักนำไปสู่ความซบเซาทางเทคโนโลยีหรือการควบคุมปริมาณ (เช่นที่เราเห็นในยานอวกาศและรถยนต์โดยผู้ผลิตรายใหญ่และในไม่ช้าจะเป็นยา) โอเพนซอร์ซและสิทธิบัตรที่สมเหตุสมผลและระเบียบความลับทางการค้าที่เป็นประโยชน์ต่อนักประดิษฐ์และสาธารณะ (แทนที่จะเป็นหัวหน้า บริษัท และผู้ถือหุ้น) จะช่วยได้มากที่นี่ มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามานานหลายทศวรรษแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี การวิจัยที่มีการแปรรูปมากเกินไปมักนำไปสู่ความซบเซาทางเทคโนโลยีหรือการควบคุมปริมาณ (เช่นที่เราเห็นในยานอวกาศและรถยนต์โดยผู้ผลิตรายใหญ่และในไม่ช้าจะเป็นยา) โอเพนซอร์ซและสิทธิบัตรที่สมเหตุสมผลและระเบียบความลับทางการค้าที่เป็นประโยชน์ต่อนักประดิษฐ์และสาธารณะ (แทนที่จะเป็นหัวหน้า บริษัท และผู้ถือหุ้น) จะช่วยได้มากที่นี่ มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามานานหลายทศวรรษแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี การวิจัยที่มีการแปรรูปมากเกินไปมักนำไปสู่ความซบเซาทางเทคโนโลยีหรือการควบคุมปริมาณ (เช่นที่เราเห็นในยานอวกาศและรถยนต์โดยผู้ผลิตรายใหญ่และในไม่ช้าจะเป็นยา) โอเพนซอร์ซและสิทธิบัตรที่สมเหตุสมผลและระเบียบความลับทางการค้าที่เป็นประโยชน์ต่อนักประดิษฐ์และสาธารณะ (แทนที่จะเป็นหัวหน้า บริษัท และผู้ถือหุ้น) จะช่วยได้มากที่นี่ มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามานานหลายทศวรรษแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามานานหลายทศวรรษแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี มันไม่ควรเป็นเรื่องง่ายสำหรับการพัฒนาเพื่อสร้างแคช L1 ที่ใหญ่ขึ้นและนี่ควรและควรได้รับการพัฒนามานานหลายทศวรรษแล้ว เราจะก้าวหน้าต่อไปอีกมากในคอมพิวเตอร์และสาขาวิทยาศาสตร์มากมายที่ใช้มันหากเรามี