หน่วยความจำอ่านอย่างเดียว

(เปลี่ยนทางจาก ROM)

หน่วยความจำอ่านอย่างเดียว[1] (Read-only Memory) หรือเรียกย่อว่า รอม (ROM) เป็นหน่วยความจำแบบสารกึ่งตัวนำชั่วคราวชนิดอ่านได้อย่างเดียว ใช้เป็นสื่อบันทึกในคอมพิวเตอร์ เพราะไม่สามารถบันทึกซ้ำได้ (อย่างง่ายๆ) เป็นหน่วยความจำที่มีซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ ข้อมูลก็จะไม่หายไปจากหน่วยความจำ (nonvolatile) โดยทั่วไปจะใช้เก็บข้อมูลที่ไม่ต้องมีการแก้ไขอีกแล้วเช่น

  • เก็บโปรแกรมไบออส (Basic Input output System : BIOS) หรือเฟิร์มแวร์ ที่ควบคุมการทำงานของคอมพิวเตอร์
  • ใช้เก็บโปรแกรมการทำงานสำหรับเครื่องคิดเลข
  • ใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทำงานเฉพาะด้าน เช่น ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคุมวงจร ควบคุมในเครื่องซักผ้า เป็นต้น

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

ชนิดของ ROM

แก้

Mask ROM

แก้

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

PROM (Programmable ROM)

แก้

จากไอซี ROM แบบแรกการโปรแกรมข้อมูลจะต้องโปรแกรมมาจากโรงงาน และต้องผลิตจำนวนมากจึงจะคุ้มค่ากับต้นทุนในการผลิต อีกทั้งโรงงานผู้ผลิตไอซีจะรู้ข้อมูลที่เก็บอยู่ด้วย สำหรับระบบดิจิทัลหรือคอมพิวเตอร์ที่ผลิตออกมาจำนวนไม่มากและต้องการใช้หน่วยความจำ ROM สามารถนำหน่วยความจำ ROM มาโปรมแกรมเองได้ โดยหน่วยความจำนี้จะเรียกว่า PROM ( Programmable Read Only Memory ) หน่วยความจำประเภทนี้ เซลล์เก็บข้อมูลแต่ละเซลล์จะมีฟิวส์ ( fused ) ต่ออยู่ เป็นหน่วยความจำที่ข้อมูลที่ต้องการโปรแกรมจะถูกโปรแกรมโดยผู้ใช้เอง โดยป้อนพัลส์แรงดันสูง ( HIGH VOLTAGE PULSED ) ไอซี PROM ที่ยังไม่ถูกโปรแกรมนั้น ข้อมูลทุกเซลล์หรือทุกบิตจะมีค่าเท่ากันหมด คือ มีลอจิกเป็น 1 แต่เมื่อได้มีการโปรแกรมโดยป้อนแรงดันไฟสูงๆเข้าไปจะทำให้เซลล์บางเซลล์ฟิวส์ขาดไป ทำให้ตำแหน่งที่เซลล์นั้นต่ออยู่มีลอจิกเป็น 0 เมื่อ PROM ถูกโปรแกรมแล้ว ข้อมูลภายใน จะไม่สามารถเปลี่ยนแปลงได้อีก เนื่องจากฟิวส์ที่ขาดไปแล้วไม่สามารถต่อได้ หน่วยความจำชนิดนี้ จะใช้ในงานที่ใช้ความเร็วสูง ซึ่งความเร็วสูงกว่า หน่วยความจำที่โปรแกรมได้ชนิดอื่นๆ

EPROM (Erasable Programmable ROM)

แก้

หน่วยความจำประเภท EPROM เป็นหน่วยความจำประเภท PROM ที่สามารถลบข้อมูลหรือโปรแกรมข้อมูลใหม่ได้ เหมาะสำหรับงานสร้างวงจรต้นแบบที่อาจต้องมีการแก้ไขโปรแกรมหรือข้อมูลใหม่ ข้อมูลจะถูกโปรแกรม โดยผู้ใช้โดยการให้สัญญาณ ที่มีแรงดันสูง ( HIGH VOLTAGE SIGNAL ) ผ่านเข้าไปในตัว EPROM ซึ่งเป็นวิธีเดียวกับที่ใช้ใน PROM หน่วยความจำประเภทนี้มี 2 ประเภท คือ ประเภทที่ลบข้อมูลด้วยรังสีอัลตราไวโอเลต หรือที่เรียกกันว่า UV PROM ส่วนอีกประเภทหนึ่งเป็นหน่วยความจำที่ลบข้อมูลด้วยไฟฟ้า เรียกว่า EEPROM ย่อมาจาก Electrical Erasable PROM

หน่วยความจำประเภท UV PROM การโปรแกรมทำได้โดยการป้อนค่าแรงดันไฟฟ้าที่เหมาะสมเข้าไป และข้อมูลจะถูกบันทึกไว้ตลอดไป สำหรับการลบข้อมูลทำได้ด้วยการฉายแสงอัลตราไวโอเลตเข้าไปในตัว ไอซี โดยผ่านทางช่องใสที่ทำด้วยผลึกควอตซ์ที่อยู่บนตัวไอซี เมื่อฉายแสงครู่หนึ่ง ( ประมาณ 5 - 10 นาที ) ข้อมูลที่อยู่ภายในก็จะถูกลบทิ้ง ซึ่งช่วงเวลาที่ฉายแสงนี้สามารถดูได้จากข้อมูลที่กำหนด ( DATA SHEET ) มากับตัว EPROM

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

การอ่านขนาดความจุจาก Data Sheet

แก้

ส่วนประกอบพื้นฐานของ ROM จะมีสัญญาณต่างๆ ที่เกี่ยวข้องกับ ROM และทุกชิปที่อยู่ใน ROM มักมีการจัดแบ่งแยกหน้าที่เสมอ เช่น ขาแอดเดรสของ ROM เป็นอินพุต ส่วนขาข้อมูลจะเป็นเอาต์พุต โดยหลักการแล้วขาข้อมูลจะต่อเข้ากับบัสข้อมูลซึ่งเป็นบัส 2 ทาง ลักษณะโครงสร้างภายในของข้อมูลในหน่วยความจำสามารถดูได้จาก Data Sheet ของ ROM นั้นๆ เช่น ROM ที่ระบุเป็น 1024 8 หรือ 4096 8 ตัวเลขชุดแรก (1024,4096) จะบอกถึงจำนวนตำแหน่งที่ใช้เก็บข้อมูลภายใน ส่วนตัวเลขชุดที่สอง ( 8,8 ) จะเป็นตัวบอกถึงจำนวนบิตของข้อมูลแบบขนานที่อ่านจาก ROM

ในการที่จะกำหนดจำนวนเส้นของบัสแอดเดรสที่ใช้กับ ROM จะสามารถรู้ได้จาก

2 ยกกำลัง x = จำนวนแอดเดรสที่อ้างถึง

เช่น 2 ยกกำลัง x = 4096 จะได้ x = 12 ซึ่งก็คือ จำนวนเส้นบัสแอดเดรสนั่นเอง

การอ่านข้อมูลจาก ROM

แก้
  1. CPU จะส่งแอดเดรสไปให้ ROM แอดเดรสดังกล่าวจะปรากฏ เป็นแอดเดรสที่ต้องการอ่าน ใน ROMโดยข้อมูลจะถูกอ่านออกมาเพียงครั้งละ 1 ไบต์เท่านั้น
  2. CPU จะต้องให้ช่วงเวลาของการส่งแอดเดรสยาวนานพอประมาณ ( Wait State ) เรียกว่า Access Time โดยปกติแล้วจะต้องใช้เวลาประมาณ 100 - 300 นาโนวินาที ซึ่งขึ้นอยู่กับชนิดของ ROM ซึ่ง ROM จะใช้เวลานั้นในการถอดรหัสแอดเดรส ของข้อมูลที่ต้องการจะอ่านออกมาที่เอาต์พุตของ ROM ซึ่งถ้าใช้เวลาเร็วกว่านั้น ROM จะตอบสนองไม่ทัน
  3. CPU จะส่งสัญญาณไปทำการเลือก ROM เรียกว่า สัญญาณ CS (Chip Select) เพื่อบอกว่าต้องการเลือก ROM ซึ่งเป็นการส่งสัญญาณเพื่อยืนยันการเลือกชิปนั่นเอง
  4. ข้อมูลจะผ่านออกทางขาข้อมูลชั่วขณะจังหวะการเลือกชิป และเมื่อขาการเลือกชิปไม่แอคทีฟ ข้อมูลก็จะเข้าสู่ภาวะที่มีอิมพีแดนซ์สูง

อ้างอิง

แก้
  1. "ศัพท์บัญญัติ ๔๐ สาขาวิชา สำนักงานราชบัณฑิตยสภา".{{cite web}}: CS1 maint: url-status (ลิงก์)