5 หน่วยความจำสำรอง storage unit

เป็นอุปกรณ์ที่ใช้ในการจดจำข้อมูล และโปรแกรมต่าง ๆ ที่อยู่ระหว่างการประมวลผลของคอมพิวเตอร์ บางครั้งอาจเรียกว่าหน่วยเก็บข้อมูลหลัก (Primary storage)

สามารถแบ่งออกได้เป็น 2 ประเภท คือ

  1. หน่วยความจำหลักแบบอ่านได้อย่างเดียว(Read Only Memory – ROM)

เป็นหน่วยความจำแบบสารกึ่งตัวนำชั่วคราวชนิดอ่านได้อย่างเดียว ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซ้ำได้ (อย่างง่ายๆ) เป็นความจำที่ซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ ข้อมูลก็จะไม่หายไปจากน่วยความจำ (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 ส่วนหลักดังนี้

  1. Input Storage Area
    ส่วนนี้เป็นส่วนที่เก็บข้อมูลนำเข้าที่ได้รับมาจากหน่วยรับข้อมูลเข้า (Input Device) เช่น ข้อมูลที่ได้มาจากคีย์บอร์ด โดยข้อมูลนี้จะถูกนำไปใช้ในการประมวลผลต่อไป
  2. Working Storage Area
    ส่วนนี้เป็นส่วนที่เก็บข้อมูลที่อยู่ในระหว่างการประมวลผล

 

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

     แคช (CACHE) คือ หน่วยความจำภายในชนิดหนึ่ง ซึ่งมีขนาดเล็ก  และมีความเร็วสูง  จากโครงสร้างหน่วยความจำของเครื่องคอมพิวเตอร์ที่มีการจัดโครงสร้างเป็นแบบลำดับชั้น  หน่วยความจำแคช (CACHE) เป็นลำดับชั้นที่อยู่ถัดลงมาจากลำดับชั้นสูงสุด  ซึ่งแคชหากมีหลายระดับ เรียกว่าแคช ระดับ L1,L2,…แคช มักถูกเชื่อมต่อเข้ากับหน่วยความจำหลักซึ่งมักถูกซ่อนเอาไว้จากผู้เขียนโปรแกรม  หรือแม้กระทั่งตัวโปรเซสเซอร์เอง  คือจะทำงานอัตโนมัติ  สั่งการให้ทำงานตามที่ต้องการโดยตรงไม่ได้  จึงเปรียบเสมือนบัฟเฟอร์เล็กๆ ระหว่างหน่วยความจำหลักกับรีจิสเตอร์ในโปรเซสเซอร์รูปที่ 1 แสดงถึงสถาปัตยกรรมหน่วยความจำภายในคอมพิวเตอร์ในปัจจุบัน2. ลักษณะพื้นฐานของหน่วยความจำแคช (Cache)หน่วยความจำแคชสร้างขึ้นมาด้วยวัตถุประสงค์เพื่อให้เป็นหน่วยความจำที่ทำงานได้เร็วที่สุด และเพิ่มประสิทธิภาพการทำงานของหน่วยความจำหลักโดยตรง  ในเวลาเดียวกันก็ต้องการให้มีขนาดใหญ่ที่สุดในราคาที่ไม่แพงจนเกินไป   โดยรูปที่2  แสดงให้เห็นถึงความเร็วในเครื่องคอมพิวเตอร์มีหน่วยความจำหลักที่มีความเร็วต่ำ (เมื่อเปรียบเทียบกับความเร็วของซีพียู)  ที่มีปริมาณมาก  และมีหน่วยความจำแคชที่เร็วกว่าแต่มีขนาดเล็ก
รูปที่ 2 แสดงหน่วยความจำ Cache และหน่วยความจำหลักโดยปกติหน่วยความจำแคช จะเก็บสำเนาของข้อมูลบางส่วนในหน่วยความจำหลักเอาไว้  เมื่อโปรเซสเซอร์ต้องการอ่านข้อมูลจำนวนหนึ่ง word ในหน่วยความจำ  ข้อมูลส่วนนั้นจะถูกตรวจสอบว่ามีอยู่ในแคชหรือไม่ ถ้ามีจะนำข้อมูลในแคชไปใช้  ถ้าไม่มีอยู่  ก็จะเกิดการคัดลอกสำเนาข้อมูลหนึ่งบล็อกจากหน่วยความจำหลักมายังแคช แล้วจึงนำ word ที่ต้องการส่งต่อไปให้โปรเซสเซอร์ในภายหลัง  เนื่องจากปรากฏการณ์การอ้างอิงในพื้นที่เดียวกัน (locality of reference) จะทำให้การอ้างอิงข้อมูลในหน่วยความจำครั้งต่อๆไปเป็นการอ้างอิงที่เดิมหรือตำแหน่งใกล้เคียงจุดเดิม  ดังนั้นการคัดลอกข้อมูลหนึ่งบล็อกจากหน่วยความจำหลักมายังแคช จะสามารถถูกนำมาใช้งานได้ในระยะหนึ่ง  ก่อนที่จะมีการคัดลอกข้อมูลในครั้งต่อไป
รูปที่ 3 แสดงการอ่านข้อมูลจากหน่วยความจำ Cache

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

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