Page 24 - สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ
P. 24

3-14 สถาปัตยกรรมคอมพิวเตอร์และระบบปฏิบัติการ

เรอ่ื งท่ี 3.2.1
แคช

       แคช (cache) คือ หน่วยความจำ�ที่มีขนาดเล็กและมีความเร็วสูงกว่าหน่วยความจำ�หลัก ซึ่งใช้เก็บข้อมูลหรือ
คำ�สั่งที่ถูกเรียกใช้บ่อย ๆ ส่งให้รีจิสเตอร์ ข้อมูลและคำ�สั่งที่เก็บอยู่ใน แคช ซึ่งทำ�งานโดยใช้ สแตติคแรม (Static
Random Access Memory: SRAM) จะถูกดึงไปใช้งานได้เร็วกว่าการดึงข้อมูลจากหน่วยความจำ�หลัก ซึ่งใช้
ไดนามิคแรม (Dynamic Random Access Memory: DRAM) หลายเท่าตัว ซึ่งสแตติคแรมและไดนามิคแรม จะ
มีอธิบายอยู่ในเรื่องที่ 3.2.2 หน่วยความจำ�หลัก

        ส่งข้อมูลเป็นคำ�                               ส่งข้อมูลเป็นบล็อก

        ซีพียู                                แคช                  หน่วยความจำ�หลัก
               ส่งข้อมูลเร็ว                           ส่งข้อมูลช้า

                          ภาพที่ 3.5 หนว่ ยความจ�ำ แคชเดียว

       ภาพที่ 3.5 แสดงการทำ�งานของเครื่องที่มีแคชเดียว แคชจะดึงข้อมูลที่มีการใช้งานจากหน่วยความจำ�หลัก
ในปริมาณเป็นบล็อก (block) ซึ่งการเก็บข้อมูลในหน่วยความจำ�จะเก็บเป็นกลุ่ม K คำ�  (word) จะเรียกว่า บล็อก
(block) โดย K จะเป็นเลขที่อยู่ในรูปสองยกกำ�ลัง n บิต ซึ่ง n เป็นจำ�นวนบิตที่ดาต้าบัสสามารถส่งข้อมูลไปประมวล
ผลได้ เช่น 8 16 32 หรือ 64 บิต เป็นต้น ดังนั้นการส่งข้อมูลไปประมวลผลก็จะส่งไปทีละ n บิต ส่วนการส่งข้อมูล
จากแคชไปยังรีจิสเตอร์ของซีพียูจะส่งข้อมูลทีละคำ� (word) ซึ่งการส่งข้อมูลระหว่างแคชกับซีพียูจะต้องมีความเร็ว
สูงมากและข้อมูลที่อยู่ในแคชก็จะเป็นข้อมูลที่ใช้บ่อยมากหากความถี่ในการใช้งานของข้อมูลนั้นลดลงก็จะถูกส่งไป
เก็บในหน่วยความจำ�หลัก

                                                                ส่งข้อมูลเป็นบล็อก

        ส่งข้อมูลเป็นคำ�

ซีพียู  ระดับ 1                               ระดับ 2  ระดับ 3             หน่วยความจำ�หลัก
        L1 แคช                                L2 แคช   L3 แคช

	 ส่งข้อมูลเร็วมาก	 ส่งข้อมูลเร็ว	 ส่งข้อมูลปานกลาง	 ส่งข้อมูลช้า

                          ภาพที่ 3.6 หน่วยความจ�ำ ท่ีมี แคช 3 ระดับ
   19   20   21   22   23   24   25   26   27   28   29