เป็นอุปกรณ์ที่ใช้ในการจดจำข้อมูล และโปรแกรมต่าง ๆ ที่อยู่ระหว่างการประมวลผลของคอมพิวเตอร์ บางครั้งอาจเรียกว่าหน่วยเก็บข้อมูลหลัก (Primary storage) สามารถแบ่งออกได้เป็น 2 ประเภท คือ
เป็นหน่วยความจำแบบสารกึ่งตัวนำชั่วคราวชนิดอ่านได้อย่างเดียว ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซ้ำได้ (อย่างง่ายๆ) เป็นความจำที่ซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ ข้อมูลก็จะไม่หายไปจากน่วยความจำ (nonvolatile) โดยทั่วไปจะใช้เก็บข้อมูลที่ไม่ต้องมีการแก้ไขอีกแล้วเช่น เก็บโปรแกรมไบออส (Basic Input output System : BIOS) หรือเฟิร์มแวร์ที่ควบคุมการทำงานของคอมพิวเตอร์ใช้เก็บโปรแกรมการทำงานสำหรับเครื่องคิดเลขใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทำงานเฉพาะด้าน เช่น ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคุมวงจร ควบคุมในเครื่องซักผ้า เป็นต้น 2 หน่วยความจำหลักแบบแก้ไขได้ (Random Access Memory – RAM) เป็นหน่วยความจำหลัก ที่ใช้ในระบบคอมพิวเตอร์ยุคปัจจุบัน หน่วยความจำชนิดนี้ อนุญาตให้เขียนและอ่านข้อมูลได้ในตำแหน่งต่างๆ อย่างอิสระ และรวดเร็วพอสมควร ซึ่งต่างจากสื่อเก็บข้อมูลชนิดอื่นๆ อย่างเทป หรือดิสก์ ที่มีข้อจำกัดในการอ่านและเขียนข้อมูล ที่ต้องทำตามลำดับก่อนหลังตามที่จัดเก็บไว้ในสื่อ หรือมีข้อกำจัดแบบรอม ที่อนุญาตให้อ่านเพียงอย่างเดียว ข้อมูลในแรม อาจเป็นโปรแกรมที่กำลังทำงาน หรือข้อมูลที่ใช้ในการประมวลผล ของโปรแกรมที่กำลังทำงานอยู่ ข้อมูลในแรมจะหายไปทันที เมื่อระบบคอมพิวเตอร์ถูกปิดลง เนื่องจากหน่วยความจำชนิดนี้ จะเก็บข้อมูลได้เฉพาะเวลาที่มีกระแสไฟฟ้าหล่อเลี้ยงเท่านั้น internal storge หรือเป็นหน่วยเก็บข้อมูลและโปรแกรมชั่วคราว( temporary storage) เมื่อปิดเคื่รองคอมพิวเตอร์ข้อมูลหรือโปรเเกรมทุกอย่าง ที่เก็บในแรมจะหายไป เนื่องจากไม่มีกระแสไฟฟ้าหล่อเลี้ยง หน่วยเก็บข้อมูลประเภทนี้จึงเรียกว่า volatile ดังนั้นจัดเก็บข้อมูลอย่างถาวร ไว้ใช้งานในภายหลัง จึงจำเป็นจะตอ้งมีหน่วยเก็บเข้อมูลภายนอกที่เรียกว่า external storage หรือ secondary storage หรือ auxiliary storage ซึ่งสามารถจัดเก็บข้อมูลสำหรับการประมวลผลไว้ได้ถึงแม้ว่าจะไม่มีกระเเส ไฟฟ้าหล่อเลี้ยง( non-volatile) ก็ตาม กระบวนการในการเก็บข้อมูล เรียกว่า การเขียนหรือการบันทึกข้อมูล ( writing หรือ recording data)เนื่องจากว่า อุปกรณ์เก็บข้อมูลสำรอง จะบันทึกข้อมูลในรูปของสื่อต่างๆที่สามารถนำมาเร๊ยกในภายหลังได้ กระบวนการดึงข้อมูลมาใช้เรียกว่า retrieving data เเละถ้าเป็นการอ่านข้อมูลจะเรียกว่า reading data เพราะอุปกรณ์เก็บข้อมูลสำรองจะอ่านข้อมูลและถ่ายโอนไปยังหน่วยความจำหลัก เพื่อการประมวลผลต่อไป การใช้งานคอมพิวเตอร์ในหน่วยงานต่างๆ จะมีความต้องการอุปกรณ์ในการจัดเก็บข้อมูลที่แตกต่างกันออกไป เช่น บริษัทประกันและธนาคาร อาจมีความต้องการอุปกรณ์ที่สามารถจัดเก็บข้อมูลของลูกค้าได้จำนวนมาก ในขณะที่ธุรกิจขนาดกลางและขนาดย่อมอาจต้องการอุปกรณ์ ในการจัดเก็บข้อมูลไม่มากนัก
RAM (แรม) ย่อมาจาก Random Access Memory RAM คือหน่วยความจำหลักของคอมพิวเตอร์ มีความสำคัญมากต่อประสิทธิภาพการทำงานและความเร็วในการทำงานโดยรวมของคอมพิวเตอร์ มีหน้าที่รับข้อมูลและชุดคำสั่งของโปรแกรมต่างๆ เพื่อส่งไปให้ CPU (Central Processing Unit) ซึ่งเปรียบเสมือนสมองของคอมพิวเตอร์ให้ประมวลผลข้อมูลตามต้องการ ก่อนจะแสดงผลการประมวลที่ได้ออกมาทางหน้าจอแสดงผล (Monitor) นั่นเอง RAM จะทำหน้าที่เก็บชุดคำสั่งและข้อมูลที่ระบบคอมพิวเตอร์กำลังทำงานอยู่ ทั้งในแบบของ Input และ Output โดยการเข้าถึงข้อมูลของ RAM นั้น จะเป็นการเข้าถึงแบบสุ่ม หรือ Random Access ซึ่งหมายถึงโปรเซสเซอร์สามารถเข้าถึงทุกๆส่วนของหน่วยความจำหรือพื้นที่เก็บข้อมูลได้โดยตรง เพื่อเพิ่มความเร็วในการทำงานและการรับ-ส่งข้อมูล เนื้อที่ของ RAM ได้ถูกแบ่งออกเป็น 4 ส่วนหลักดังนี้
5.2 หน่วยความจำแคช แคช (CACHE) คือ หน่วยความจำภายในชนิดหนึ่ง ซึ่งมีขนาดเล็ก และมีความเร็วสูง จากโครงสร้างหน่วยความจำของเครื่องคอมพิวเตอร์ที่มีการจัดโครงสร้างเป็นแบบลำดับชั้น หน่วยความจำแคช (CACHE) เป็นลำดับชั้นที่อยู่ถัดลงมาจากลำดับชั้นสูงสุด ซึ่งแคชหากมีหลายระดับ เรียกว่าแคช ระดับ L1,L2,…แคช มักถูกเชื่อมต่อเข้ากับหน่วยความจำหลักซึ่งมักถูกซ่อนเอาไว้จากผู้เขียนโปรแกรม หรือแม้กระทั่งตัวโปรเซสเซอร์เอง คือจะทำงานอัตโนมัติ สั่งการให้ทำงานตามที่ต้องการโดยตรงไม่ได้ จึงเปรียบเสมือนบัฟเฟอร์เล็กๆ ระหว่างหน่วยความจำหลักกับรีจิสเตอร์ในโปรเซสเซอร์รูปที่ 1 แสดงถึงสถาปัตยกรรมหน่วยความจำภายในคอมพิวเตอร์ในปัจจุบัน2. ลักษณะพื้นฐานของหน่วยความจำแคช (Cache)หน่วยความจำแคชสร้างขึ้นมาด้วยวัตถุประสงค์เพื่อให้เป็นหน่วยความจำที่ทำงานได้เร็วที่สุด และเพิ่มประสิทธิภาพการทำงานของหน่วยความจำหลักโดยตรง ในเวลาเดียวกันก็ต้องการให้มีขนาดใหญ่ที่สุดในราคาที่ไม่แพงจนเกินไป โดยรูปที่2 แสดงให้เห็นถึงความเร็วในเครื่องคอมพิวเตอร์มีหน่วยความจำหลักที่มีความเร็วต่ำ (เมื่อเปรียบเทียบกับความเร็วของซีพียู) ที่มีปริมาณมาก และมีหน่วยความจำแคชที่เร็วกว่าแต่มีขนาดเล็กรูปที่ 2 แสดงหน่วยความจำ Cache และหน่วยความจำหลักโดยปกติหน่วยความจำแคช จะเก็บสำเนาของข้อมูลบางส่วนในหน่วยความจำหลักเอาไว้ เมื่อโปรเซสเซอร์ต้องการอ่านข้อมูลจำนวนหนึ่ง word ในหน่วยความจำ ข้อมูลส่วนนั้นจะถูกตรวจสอบว่ามีอยู่ในแคชหรือไม่ ถ้ามีจะนำข้อมูลในแคชไปใช้ ถ้าไม่มีอยู่ ก็จะเกิดการคัดลอกสำเนาข้อมูลหนึ่งบล็อกจากหน่วยความจำหลักมายังแคช แล้วจึงนำ word ที่ต้องการส่งต่อไปให้โปรเซสเซอร์ในภายหลัง เนื่องจากปรากฏการณ์การอ้างอิงในพื้นที่เดียวกัน (locality of reference) จะทำให้การอ้างอิงข้อมูลในหน่วยความจำครั้งต่อๆไปเป็นการอ้างอิงที่เดิมหรือตำแหน่งใกล้เคียงจุดเดิม ดังนั้นการคัดลอกข้อมูลหนึ่งบล็อกจากหน่วยความจำหลักมายังแคช จะสามารถถูกนำมาใช้งานได้ในระยะหนึ่ง ก่อนที่จะมีการคัดลอกข้อมูลในครั้งต่อไป รูปที่ 3 แสดงการอ่านข้อมูลจากหน่วยความจำ Cache จากรูปแสดงขั้นตอนในกระบวนการอ่านต่างๆ ที่เกิดขึ้น ซึ่งสะท้อนให้เห็นโครงสร้างของส่วนประกอบภายในดังนี้ จากรูปโครงสร้างนี้แคชเชื่อมต่อกับโปรเซสเซอร์ผ่านสายสัญญาณข้อมูล 3สาย ได้แก่ สายบอกตำแหน่งที่อยู่ สายควบคุมการทำงาน และสายสัญญาณข้อมูล สายบอกตำแหน่งที่อยู่จะเชื่อมต่อเข้ากับบัฟเฟอร์ ซึ่งเชื่อมต่อเข้ากับสายบัสหลักของระบบที่นำไปสู่หน่วยความจำหลัก เมื่อสามารถค้นพบข้อมูลที่ต้องการในแคช (เรียกว่า cache hit) บัฟเฟอร์สำหรับข้อมูลและตำแหน่งข้อมูลจะถูกสั่งไม่ให้ทำงาน (disable) และสื่อสารจะเกิดขึ้นระหว่างโปรเซสเซอร์กับแคช โดยไม่มีการใช้บัสหลักด้วย แต่ถ้าไม่สามารถหาข้อมูลที่ต้องการในแคชได้ (เรียกว่า cache miss) ตำแหน่งข้อมูลที่ต้องการจะถูกส่งเข้าไปในบัสหลัก ข้อมูลในหน่วยความจำหลักจะถูกส่งมาที่บัฟเฟอร์ โปรเซสเซอร์ และเข้าเก็บไว้ในแคชตามลำดับ |