ระบบคอมพิวเตอร์และสถาปัตยกรรม บทที่ 5 หน่วยความจำภายใน (Internal Memory)
ประเด็นสำคัญ หน่วยความจำภายในจะใช้เทคโนโลยีเซมิคอนดักเตอร์ (สารกึ่งตัวนำ) สามารถแบ่งประเภทของหน่วยความจำได้เป็น 2 ประเภท คือ RAM (Random Access Memory) และ ROM (Read Only Memory) หน่วยความจำประเภท RAM สามารถแบ่งออกเป็น 2 ประเภทย่อย คือ DRAM (Dynamic RAM) และ SRAM (Static RAM) โดย SRAM นำไปใช้เป็นหน่วยความจำของ Cache และ DRAM นำไปใช้เป็นหน่วยความจำหลัก หน่วยความจำประเภท ROM สามารถแบ่งออกเป็น 5 ประเภทย่อย คือ Mask ROM, PROM, EPROM, EEPROM และ Flash Memory
นิยามศัพท์ที่เกี่ยวข้องกับหน่วยความจำ Location เป็นตำแหน่งที่อยู่ของหน่วยความจำ ถ้าอยู่ภายในซีพียูจะเป็นหน่วยความจำประเภทรีจิสเตอร์หรือแคชภายใน ถ้าอยู่นอกซีพียู ได้แก่ หน่วยความจำแคชภายนอก หน่วยความจำหลัก หรือหน่วยความจำสำรอง เป็นต้น Capacity เป็นตัวบอกว่าหนึ่งตำแหน่งในหน่วยความจำนั้นสามารถเก็บข้อมูลได้กี่บิต ซึ่งมีทั้งแบบ 8 บิต 16 บิต และ 32 บิต Unit of Transfer เป็นตัวบอกว่าในการอ่านเขียนข้อมูลแต่ละครั้งจะเป็นครั้งละเวิร์ดหรือครั้งละหลายเวิร์ด
นิยามศัพท์ที่เกี่ยวข้องกับหน่วยความจำ (ต่อ) Access Method เป็นวิธีการเข้าถึงข้อมูลในหน่วยความจำ ถ้าเป็นการเข้าถึงแบบลำดับ (Sequential Access) หมายความว่า การอ่านหรือเขียนข้อมูลจะต้องทำตั้งแต่ตำแหน่งแรก-ตำแหน่งสุดท้าย การเข้าถึงข้อมูลตำแหน่งแรกๆ จะใช้เวลาน้อยกว่าการเข้าถึงตำแหน่งท้ายๆ แต่ถ้าเป็นการเข้าถึงข้อมูลแบบสุ่ม (Random Access) หมายความว่า การเข้าถึงข้อมูลตำแหน่งใดๆ สามารถทำได้โดยตรงและใช้เวลาเท่ากัน Access Time (tA) เป็นค่าเวลาที่บอกว่าการอ่านข้อมูลจากหน่วยความจำแต่ละเวิร์ดนั้นจะใช้เวลาเท่าใด โดยจะวัดตั้งแต่เริ่มต้นอ้างตำแหน่งหน่วยความจำจนถึงเวลาที่ได้ข้อมูลออกมา
นิยามศัพท์ที่เกี่ยวข้องกับหน่วยความจำ (ต่อ) Cycle Time (tm) เป็นค่าเวลาที่น้อยที่สุดที่ต้องรอในระหว่างการอ่านค่าจากหน่วยความจำตำแหน่งเดิมสองครั้งติดกัน เช่น หน่วยความจำประเภท DRAM จะต้องการเวลาหน่วงในการรีเฟรช (Refresh) หน่วยความจำ Latency (t1) เป็นเวลาที่ใช้ในการเข้าถึงเวิร์ดข้อมูลครั้งแรก Bandwidth (bm) อัตราการส่งข้อมูล (Data Transfer Rate) เป็นจำนวนบิตข้อมูลที่สามารถรับส่งจากหน่วยความจำได้ในหนึ่งหน่วยเวลา
หน่วยความจำหลักแบบเซมิคอนดักเตอร์ คอมพิวเตอร์ในยุคแรกๆ จะใช้อุปกรณ์สำหรับบันทึกข้อมูลหน่วยความจำหลัก คือ เฟอร์โรแม็กเนติก (Ferromagnetic) ทำเป็นรูปวงแหวน และนำมาเรียง เป็นแถวซึ่งเรียกว่า “core” และทำให้หน่วยความจำถูก เรียกว่า “memory core” มาจนถึงในปัจจุบัน
หน่วยความจำหลัก คอมพิวเตอร์จะเก็บคำสั่งที่ซีพียูจะต้องทำงานเอาไว้ในหน่วยความจำหลัก การเชื่อมต่อระหว่างซีพียูกับหน่วยความหลักจะใช้รีจิสเตอร์ 2 ตัว คือ รีจิสเตอร์แอดเดรสหน่วยความจำ (MAR: Memory Address Register) และรีจิสเตอร์ข้อมูลหน่วยความจำ (MDR: Memory Data Register) หน่วยความจำหลัก 2k ตำแหน่ง ความยาวเวิร์ด n บิต CPU MAR MDR บัสแอดเดรส ขนาด k บิต เมื่อซีพียูต้องการติดต่อกับหน่วยความจำจะใช้รีจิสเตอร์ MAR ในการอ้างแอดเดรสหน่วยความจำ ถ้าหากรีจิสเตอร์ MAR มีขนาด k ต จะใช้สัญญาณต่อกับแอดเดรสหน่วยความจำขนาด k บิตด้วย ทำให้อ้างตำแหน่งหน่วยความจำได้ 2k ตำแหน่ง ตัวอย่างเช่น ถ้าซีพียูมีขาแอดเดรสขนาด 16 บิต จะทำให้อ้างตำแหน่งหน่วยความจำได้ 216 = 64k ตำแหน่ง ถ้ามีขาแอดเดรสขนาด 32 บิต จะอ้างหน่วยความจำได้ 232 หรือ 4G ตำแหน่ง ดังนั้น ขนาดของหน่วยความจำหลักสูงสุดที่คอมพิวเตอร์จะสามารถมีได้จะขึ้นอยู่กับความสามารถในการอ้างตำแหน่งหน่วยความจำของซีพียูที่ใช้ในคอมพิวเตอร์เครื่องนั้น ในซีพียูยุคใหม่ บัสของข้อมูลจะมีขนาดเท่ากับเวิร์ดที่ซีพียูประมวลผล ยกเว้น ซีพียูเบอร์ 8088 ซึ่งมีเวิร์ดข้อมูลแบบ 16 บิต แต่บัสข้อมูลในการเชื่อมต่อภายนอกจะเป็นแบบ 8 บิต สำหรับหน่วยของขนาดข้อมูลที่อยู่ในหน่วยความจำนั้นมักจะเรียกว่า ไบต์ ซึ่งมีขนาด 8 บิต ดังนั้น หากเป็นระบบคอมพิวเตอร์ที่มีบัสข้อมูล 32 บิต การเขียนข้อมูลลงไปหนึ่งครั้งจะทำให้มีการเก็บข้อมูลลงไปในหน่วยความจำเท่ากับ 4 ไบต์ บัสข้อมูล ขนาด n บิต บัสควบคุม
หน่วยความจำหลัก (ต่อ) ความสัมพันธ์ระหว่าง MDR, MAR และหน่วยความจำ
โครงสร้างภายในหน่วยความจำ หน่วยย่อยเล็กที่สุดของเซมิคอนดักเตอร์ เรียกว่า เซลล์หน่วยความจำ (Memory Cell) สัญญาณ Select จะเป็นตัวบอกว่าจะเลือกให้เซลล์นี้ทำงาน ถ้าหากสัญญาณเป็น 0 จะทำให้ข้อมูลที่ส่งจาก Data In ถูกเขียนลงในเซลล์ หากเป็น 1 จะทำให้ข้อมูลที่เก็บอยู่ในเซลล์ถูกอ่านออกไปทาง Data Out โครงสร้างการเก็บข้อมูลใน 1 เซลล์ โดยใช้ลอจิกเกต
โครงสร้างภายในหน่วยความจำ (ต่อ) การเก็บข้อมูลในหน่วยความจำแต่ละตำแหน่งนั้นจะเก็บข้อมูลได้ 1 ไบต์ ดังนั้นในแต่ละแอดเดรสที่เก็บข้อมูลจะต้องนำข้อมูลแต่ละเซลล์มาเรียงต่อกัน การออกแบบลักษณะนี้จะทำให้ขาข้อมูลมีขาเดียวแต่สามารถรับส่งข้อมูลได้สองทิศทาง และใช้บัฟเฟอร์มาใช้เป็นตัวควบคุมทิศทางการไหลของข้อมูล โครงสร้างการเก็บข้อมูลขนาด 1 ไบต์ จากภาพ แสดงการเก็บข้อมูลแบบ 1 มิติ แต่ในหน่วยความจำนั้นสามารถเก็บข้อมูลได้เป็นจำนวนมาก จึงต้องมีการออกแบบเป็นการเก็บข้อมูลแบบ 2 มิติ โดยใช้สัญญาณแอดเดรสมาเป็นตัวเลือกในการติดต่อข้อมูลในแต่ละไบต์ โดยนำวงจรถอดรหัส (Decoder) มาเป็นตัวถอดรหัสแอดเดรสออกมาเป็นตำแหน่งหน่วยความจำที่ต้องการอ้างอิงถึง ถ้าหากสัญญาณแอดเดรส n บิต จะต้องถอดรหัสแอดเดรสออกมาได้เป็น 2n บิต
โครงสร้างภายในหน่วยความจำ (ต่อ) โครงสร้างของหน่วยความจำแบบ 4x8 (อาร์เรย์แบบ 2 มิติ) จากภาพ จะพบว่าถ้าหากหน่วยความจำมีความจุมากขึ้น โครงสร้างภายในก็จะซับซ้อนมากขึ้นตามไปด้วย ตัวอย่างเช่น ถ้าหากเป็นหน่วยความจำที่เก็บข้อมูลได้ 1 MB จะต้องมีขาแอดเดรสทั้งหมด 20 เส้น (220 มีค่า 1,048,576) เพื่อเข้าวงจรถอดรหัสแอดเดรสให้ได้สัญญาณออกมาสำหรับอ้างตำแหน่งแต่ละตำแหน่งได้เป็นจำนวน 220 ตำแหน่ง สัญญาณจำนวนมากนี้จะต้องใช้ลอจิกเกตในการสร้างวงจรถอดรหัสจำนวนมากตามไปด้วย ซึ่งต้องใช้มากกว่าล้านเกต จึงมีการแก้ปัญหาความหนาแน่นของวงจรโดยออกแบบระบบหน่วยความจำใหม่ให้เป็นแบบ 3 มิติ โดยนำเซลล์ของหน่วยความจำมาต่อเป็นอาร์เรย์ (Memory Cell Array) เช่นเดิม แต่มีการอ้างตำแหน่งทั้งแนวแถว (Row) และแนวหลัก (Column) ตัวอย่างหน้าถัดไป
โครงสร้างภายในหน่วยความจำ (ต่อ) โครงสร้างของหน่วยความจำแบบ 64k x 1 จากภาพ จะเป็นหน่วยความจำขนาด 64k x 1 โดยการอ้างตำแหน่งขนาด 64k นี้จะต้องใช้สัญญาณแอดเดรส 16 เส้น ในการออกแบบจะใช้สัญญาณ 8 เส้น (8 บิตต่ำ) เข้าวงจรถอดรหัสเพื่ออ้างตำแหน่งในแถวโดยจะได้สัญญาณออกมา 256 เส้น และใช้สัญญาณอีก 8 บิต (8 บิตสูง) เข้าวงจรถอดรหัสในแนวหลัก สัญญาณ 8 บิตนี้จะถูกถอดรหัสออกมาได้ 256 ค่า ดังนั้น การแบ่งสัญญาณเป็น 2 กลุ่มนี้จะทำให้ติดต่อกับหน่วยความจำขนาด 256 x 256 x 1 ได้ ซึ่งก็คือหน่วยความจำขนาด 64k x 1 นั่นเอง
โครงสร้างภายในหน่วยความจำ (ต่อ) โครงสร้างของหน่วยความจำแบบ 64k x 4 ถ้าหากแต่ละตำแหน่งหน่วยความจำเก็บข้อมูลได้หลายบิต ก็จะออกแบบให้เซลล์แต่ละเซลล์ที่ต่อกันเป็นอาร์เรย์นั้นเก็บข้อมูลได้หลายบิต หรือสร้างเป็นอาร์เรย์หลายๆ ชุดวางซ้อนกันอยู่ ตัวอย่างเช่น ถ้าหากต้องการออกแบบหน่วยความจำให้เก็บข้อมูลได้ 16k ตำแหน่ง แต่ละตำแหน่งเก็บได้ 4 บิต (ดังภาพ) การเก็บข้อมูล 16k ตำแหน่งนี้จะต้องใช้สัญญาณทั้งหมด 14 เส้น โดยออกแบบให้ 8 บิตล่าง (A0-A7) ต่อเข้ากับวงจรถอดรหัสในแนวแถวซึ่งจะถอดรหัสออกมาได้ 256 แถว และให้ 6 บิตบนที่เหลือต่อเข้ากับวงจรถอดรหัสในแนวหลัก ซึ่งจะถอดรหัสได้ 64 หลัก ดังนั้น วงจรถอดรหัสทั้งสองชุดนี้จะอ้างถึงตำแหน่งในอาร์เรย์ขนาด 64 x 256 ได้ ถ้าหาก 1 ตำแหน่งเก็บข้อมูลได้ 4 บิต ก็สร้างเป็นอาร์เรย์ 4 ชุด ซ้อนกัน และออกแบบให้บัสข้อมูลมีขนาด 4 เส้นและรับส่งข้อมูลได้สองทาง
โครงสร้างภายในหน่วยความจำ (ต่อ) โครงสร้างของหน่วยความจำแบบ 1k x 1 จากที่กล่าวมาแล้วจะพบว่าเทคนิคการถอดรหัสทางแถวและหลักนี้สามารถลดความหนาแน่นของวงจรลงได้ ดังนั้น ถ้าหากต้องการออกแบบวงจรหน่วยความจำที่เก็บข้อมูลได้ 1 กิโลบิต อาจทำได้ดังภาพ โดยนำสัญญาณที่อ้างแอดเดรส 10 บิต มาแบ่งเป็นวงจรถอดรหัสทางแถว 5 บิต และถอดรหัสทางหลัก 5 บิต
หน่วยความจำชนิด RAM ปัจจุบันหน่วยความจำมีความจุข้อมูลสูงขึ้น วงจรภายในมีความซับซ้อนมากขึ้น ดังนั้น ในการออกแบบจึงต้องพยายามลดวงจรลง การเก็บข้อมูล 1 บิต จะออกแบบเป็นวงจรฟลิปฟล็อปในการเก็บข้อมูล และสร้างวงจรฟลิปฟล็อปนี้จะต้องสร้างขึ้นมาจากวงจรเกตหลายตัวด้วย ดังนั้น ถ้าหากออกแบบหน่วยความจำให้เก็บข้อมูลล้านตำแหน่ง จำนวนเกตที่อยู่ภายในชิปก็จะต้องมีหลายล้านตัวด้วย เทคโนโลยีในการสร้างหน่วยความจำประเภท RAM สามารถแบ่งออกได้เป็น 2 ประเภทใหญ่ๆ คือ Dynamic RAM และ Static RAM
หน่วยความจำชนิด RAM (ต่อ) ภาพ ก. เป็นการเก็บประจุนี้สามารถกำหนดเป็นระดับลอจิก 0 หรือ 1 ได้ แต่เมื่อเวลาผ่านไปประจุไฟฟ้าในตัวมันจะคายออกมา ทำให้ข้อมูลในตัวมันสูญหายได้ แม้ว่ายังมีไฟเลี้ยงต่ออยู่ ดังนั้น หน่วยความจำประเภทนี้จะต้องทำการเขียนประจุซ้ำ (Refresh) เพื่อให้ข้อมูลคงอยู่ หน่วยความจำแบบ DRAM นี้จะมีวงจรการเก็บข้อมูล 1 บิตที่ไม่ซับซ้อนมาก และเนื่องจากคอมพิวเตอร์ในปัจจุบันต้องการหน่วยความจำขนาดใหญ่ ดังนั้น หน่วยความจำ RAM ส่วนใหญ่จะเป็นหน่วยความจำแบบ Dynamic RAM เนื่องจากชิปของมันสามารถเก็บบิตข้อมูลได้จำนวนมาก เพราะการสร้างตัวเก็บประจุลงบนสารกึ่งตัวนกนั้น จะใช้พื้นที่ในการสร้างน้อยกว่าการสร้างฟลิปฟล็อปลงบนสารกึ่งตัวนำ ทำให้หน่วยความจำประเภทนี้มีความจุต่อชิปสูง แม้ว่าหน่วยความจำประเภท DRAM จะต้องมีวงจรพิเศษในการกระตุ้นให้ข้อมูลคงอยู่ แต่ก็คุ้มค่าเมื่อเทียบกับขนาดความจุและราคาที่ถูกลงในการผลิต ภาพ ข. สำหรับหน่วยความจำประเภท Static RAM มีการเก็บข้อมูลลอจิก 0 และ 1 โดยเซลล์หน่วยความจำจะสร้างจากการนำทรานซิสเตอร์มาต่อเป็นวงจรฟลิปฟล็อปสำหรับเก็บข้อมูล ทำให้ข้อมูลสามารถอยู่ภายในตัวมันได้หากมีไฟเลี้ยงต่ออยู่ จะมีความเร็วในการอ่านและเขียนข้อมูลสูงและราคาก็จะสูงตามด้วย ทำให้มีการนำหน่วยความจำแบบนี้มาใช้เป็นหน่วยความจำแคช ของคอมพิวเตอร์ ในปัจจุบันจึงพบว่าหน่วยความจำแคชมักจะมีราคาแพงและความจุไม่สูง เนื่องจากวงจรภายในมีความซับซ้อนมากกว่า นอกจากจะแบ่ง RAM ออกเป็น 2 ประเภทใหญ่ๆ แล้ว ยังมีเทคโนโลยีในการผลิตอื่นๆ อีก เช่น RAM บางประเภทมีความจุเท่ากัน แต่มีความเร็วต่างกัน มีอัตราการสิ้นเปลืองพลังงานต่างกัน เป็นต้น
ROM (Read Only Memory) เป็นหน่วยความจำเซมิคอนดักเตอร์ชนิดอ่านได้อย่างเดียว หน่วยความจำประเภท ROM ประกอบด้วยข้อมูลที่ถูกบันทึกไว้เป็นการถาวร ไม่สามารถแก้ไขได้ ROM จึงไม่จำเป็นต้องอาศัยพลังงานไฟฟ้าในการจัดเก็บข้อมูล เป็นหน่วยความจำที่มีซอฟต์แวร์หรือข้อมูลอยู่แล้ว และพร้อมที่จะนำมาต่อกับไมโครโพรเซสเซอร์ได้โดยตรง หน่วยความจำประเภทนี้แม้ไม่มีไฟเลี้ยงต่ออยู่ข้อมูลก็จะไม่หายไปจากหน่วยความจำ (nonvolatile) เช่น เก็บโปรแกรมไบออส (Basic Input output System : BIOS) หรือ เฟิร์มแวร์ ที่ควบคุมการทำงานของคอมพิวเตอร์ ใช้เก็บโปรแกรมการทำงานสำหรับเครื่องคิดเลข ใช้เก็บโปรแกรมของคอมพิวเตอร์ที่ทำงานเฉพาะด้าน เช่น ในรถยนต์ที่ใช้ระบบคอมพิวเตอร์ควบคุมวงจร ควบคุมในเครื่องซักผ้า เป็นต้น
ROM (Read Only Memory) ต่อ ROM สามารถแบ่งออกเป็นประเภทย่อยๆ ตามลักษณะการใช้งานได้หลายประเภท สำหรับเทคโนโลยีในการผลิตตัวไอซีที่ทำหน้าที่เป็น ROM ประเภทของรอม 1. Mask ROM 2. PROM (Programmable ROM) 3. EPROM (Erasable Programmable ROM) 4. EEPROM (Electrically Erasable Programmable ROM) 5. Flash Memory
ROM (Read Only Memory) ต่อ Mask ROM เป็นหน่วยความจำที่เก็บข้อมูล ซึ่งข้อมูลที่เก็บจะถูกโปรแกรมมากจากโรงงานที่ผลิตชิปไอซี เหมาะสำหรับงานที่ต้องผลิตออกมาเป็นจำนวนมาก แสดงตัวอย่าง IEC9895S Mask-ROM
ROM (Read Only Memory) ต่อ PROM (Programmable ROM) เป็นหน่วยความจำที่ผู้พัฒนางานสามารถนำมาโปรแกรมข้อมูลเองได้ โดยใช้เครื่องโปรแกรม ROM โครงสร้างภายในสำหรับการเก็บข้อมูลแต่ละบิตจะถูกออกแบบในลักษณะของฟิวส์ ถ้าหากโปรแกรมให้ฟิวส์ขาดก็จะเป็นลอจิก 1 หากฟิวส์ไม่ขาดก็เป็นลอจิก 0 และเมื่อโปรแกรมไปแล้วก็ไม่สามารถลงหรือโปรแกรมใหม่ได้อีก แสดงตัวอย่าง PROM
ROM (Read Only Memory) ต่อ EPROM (Erasable Programmable ROM) เป็นหน่วยความจำประเภท PROM ที่สามารถลบข้อมูลหรือโปรแกรมข้อมูลใหม่ได้ เหมาะสำหรับงานสร้างวงจรต้นแบบที่อาจต้องมีการแก้ไขโปรแกรมหรือข้อมูลใหม่ ข้อมูลจะถูกโปรแกรมโดยผู้ใช้ โดยการให้สัญญาณ ที่มีแรงดันสูง (HIGH VOLTAGE SIGNAL) ผ่านเข้าไปในตัว EPROM ซึ่งเป็นวิธีเดียวกับที่ใช้ใน PROM สำหรับการลบข้อมูลจะใช้รังสีอัลตราไวโอเลต หรือที่เรียกกันว่า UV PROM ดังนั้นบนตัวชิปของ หน่วยความจำลักษณะนี้จะมีหน้าต่างใสที่ทำด้วย ควอตซ์ (Quartz) เป็นช่องสำหรับฉายแสงเพื่อลบข้อมูล
ROM (Read Only Memory) ต่อ EEPROM (Electrical Erasable Programmable ROM) เป็นหน่วยความจำที่ผู้ใช้สามารถโปรแกรมเองได้ และสามารถลบแก้ไขข้อมูลได้โดยใช้กระแสไฟฟ้า
ROM (Read Only Memory) ต่อ Flash Memory หน่วยความจะประเภทนี้จะคล้ายกับหน่วยความจำแบบ EEPROM แต่สามารถอ่านและเขียนโปรแกรมใหม่ได้ด้วยความเร็วสูง การลบข้อมูลสามารถกระทำเป็นไบต์ได้ โครงสร้างของหน่วยความจำประเภทนี้ในแต่ละเซลล์จะใช้ทรานซิสเตอร์ 1 ตัวในการเก็บข้อมูล 1 บิต
ROM (Read Only Memory) ต่อ สรุปประเภทของหน่วยความจำสารกึ่งตัวนำ
โมดูลหน่วยความจำ ภาพ ก. เป็นลักษณะของไอซีหน่วยความจำแบบ EPROM ที่มีขนาด 8 Mbit ต่อชิป โดยมีโครงสร้างภายในเป็นแบบ 1M x 8 หรือเรียกอีกอย่างหนึ่งว่ามีหน่วยความจำขนาด 1 เมกะไบต์ ทำให้การอ่านข้อมูลแต่ละครั้งทำได้ 8 บิต ตัวชิปจะมีขา 32 ขา (แต่ละเบอร์จะมีจำนวนขาไม่เท่ากัน) แบ่งออกเป็น ขาแอดเดรส 20 เส้น (A0-A19) ทำให้อ้างตำแหน่งได้ 1M ขาข้อมูล 8 เส้น (D0-D7) ขากราวด์ (Vss) ขาเลือกชิป CE (Chip Enable) เนื่องจากในระบบหน่วยความจำอาจมีชิปได้หลายตัว หากขานี้เป็นลอจิก 0 คือ ชิปตัวนี้ถูกเลือกให้ทำงานแล้ว ขาโปรแกรม Vpp (Program Voltage) ใช้เมื่อต้องการเขียนข้อมูลลงบนชิป
โมดูลหน่วยความจำ ภาพ ข. เป็นโครงสร้างของหน่วยความจำแบบ DRAM ที่มีโครงสร้างแบบ 4M x 4 จะเห็นว่าลักษณะของขาสัญญาณจะแตกต่างจากชิปของ ROM เนื่องจาก RAM นั้นสามารถอ่านและเขียนข้อมูลกับตัวชิปได้ จึงมีขา WE และ OE เป็นขาสัญญาณสำหรับเขียนและอ่านข้อมูล หน่วยความจำ DRAM ตัวนี้จะเก็บข้อมูลได้ 4M ตำแหน่ง แต่ละตำแหน่งเก็บข้อมูลได้ 4 บิต หากเปรียบเทียบ EPROM และ DRAM จะเห็นว่า DRAM มีการอ้างตำแหน่งมากกว่า แต่มีจำนวนขาบนชิปน้อยกว่า เนื่องจากการเข้าถึงข้อมูลใน DRAM นั้นจะต้องเข้าทางแถวและหลัก ซึ่งจะใช้ขาแอดเดรสแบบมัลติเพล็กซ์ (Multiplexed) โดยใช้ขาสัญญาณ RAS และ CAS ในการเลือกแอดเดรสในแนวแถวและหลัก จากภาพจะใช้ขาแอดเดรส 11 เส้น เพื่อเข้าถึงข้อมูลทั้งทางหลักและแถว จะอ้างตำแหน่งได้ 4 M (211 x 211 = 222 = 4M) สำหรับขา NC เป็นขาที่ไม่ถูกนำไปใช้งาน
เทคโนโลยีของ RAM First Page Mode DRAM EDO DRAM (External Data Out) SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) เครื่องคอมพิวเตอร์ที่ใช้ในปัจจุบันจะต้องการหน่วยความจำ RAM ที่มีขนาดความจุมากขึ้น ดังนั้น DRAM จึงถูกนำมาใช้เป็นหน่วยความจำหลักของเครื่อง และ DRAM ที่ใช้กันนั้นก็มีการพัฒนาไปมาก ส่วนใหญ่แล้วจะเป็นการนำ DRAM หลายๆ ตัวมาต่อกันเป็นโมดูล เพื่อให้มีความจุมากขึ้น เช่น โมดูลละ 512 MB หรือ 1GB เป็นต้น
อ้างอิง ธีรวัฒน์ ประกอบผล และจันทนา ผ่องเพ็ญศรี. (2551). สถาปัตยกรรมคอมพิวเตอร์. กรุงเทพฯ: สมาคมส่งเสริมเทคโนโลยี (ไทย-ญี่ปุ่น). สัลยุทธ์ สว่างวรรณ. (2546). สถาปัตยกรรมคอมพิวเตอร์. กรุงเทพฯ: เพียร์สัน เอ็ดดูเคชั่น อินโดไชน่า.