การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

เรียนรู้วิธีที่คอมพิวเตอร์แปลงรหัสไบนารีดิบไปเป็นตำแหน่งทางกายภาพที่เฉพาะเจาะจงผ่านการถอดรหัสหน่วยความจำ

การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

วงจรดิจิทัลเป็นวงจรประเภทหนึ่งที่ประมวลผลสัญญาณที่มีสองสถานะเท่านั้น คือ ศูนย์หรือหนึ่ง ทรานซิสเตอร์ในวงจรถูกใช้เพื่อดำเนินการทางตรรกะแบบบูลีนต่างๆ

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

ในบทความนี้ เราจะกล่าวถึงโครงสร้างภายในของชิปหน่วยความจำ กระบวนการถอดรหัส และส่วนประกอบต่างๆ ที่เกี่ยวข้องกับการถอดรหัสหน่วยความจำ

การก่อตัวของความทรงจำโดยธรรมชาติ:

ภายในแล้ว หน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) ประกอบด้วยเซลล์หน่วยความจำแบบไบนารีและกลไกการถอดรหัสที่เกี่ยวข้องสำหรับการเลือกคำเดียว โดยมี m คำ และ n บิตต่อคำ ภายในหน่วยความจำ หน่วยพื้นฐานคือเซลล์หน่วยความจำแบบไบนารี

ในเซลล์หน่วยความจำ สามารถจัดเก็บข้อมูลได้หนึ่งบิตอย่างง่ายดาย ชิปหน่วยความจำประกอบด้วยเซลล์หลายเซลล์ที่จัดเรียงเป็นเมทริกซ์

คำหน่วยความจำถูกสร้างขึ้นโดยแต่ละแถวของเซลล์ และแต่ละแถวของเซลล์เชื่อมต่อกับสายทั่วไป หรือที่เรียกว่าสายคำ สายคำถูกควบคุมโดยตัวถอดรหัสที่อยู่ ขึ้นอยู่กับที่อยู่ที่มีอยู่ในบัสที่อยู่ สายคำจะถูกเปิดใช้งานในเวลาใดเวลาหนึ่ง มีสายสองเส้นวิ่งระหว่างเซลล์ในแต่ละคอลัมน์ สายเหล่านี้เรียกว่าสายบิต วงจรตรวจจับ/เขียนเชื่อมต่อสายบิตเหล่านี้กับสายข้อมูลขาเข้าและขาออก วงจรตรวจจับ/บันทึกจะตรวจจับหรืออ่านข้อมูลที่อยู่ในเซลล์ที่กำหนดโดยสายแม่เหล็กและส่งไปยังสายข้อมูลขาออกในระหว่างการอ่าน วงจรตรวจจับ/บันทึกจะบันทึกข้อมูลในระหว่างการเขียน

เพื่อทำความเข้าใจโครงสร้างภายในของชิปหน่วยความจำ คุณสามารถดูแผนภาพด้านล่างได้:

โครงสร้างภายในของความทรงจำ

กระบวนการถอดรหัสหน่วยความจำ:

การถอดรหัสหน่วยความจำเป็นกระบวนการหลายขั้นตอนซึ่งใช้ที่อยู่หลายแห่งเพื่อระบุตำแหน่งหน่วยความจำที่เฉพาะเจาะจง การถอดรหัสหน่วยความจำเกิดขึ้นเมื่อต้องการเข้าถึงหน่วยความจำที่จัดเก็บอยู่ในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล ในระหว่างกระบวนการต่อไปนี้...

ตัวถอดรหัสหน่วยความจำมีความจำเป็นในการเลือกที่อยู่ข้อมูลเข้าที่ระบุจากหน่วยความจำภายในหน่วยความจำ โดยที่เซลล์หน่วยความจำมีบทบาทสำคัญในกระบวนการนี้

เซลล์หน่วยความจำ:เซลล์หน่วยความจำเป็นวงจรไฟฟ้าชนิดหนึ่งที่ประกอบด้วยทรานซิสเตอร์สี่ถึงหกตัว การเลือกอินพุตจะช่วยอำนวยความสะดวกในการดำเนินการอ่าน/เขียน ในกระบวนการนี้ โดยการสร้างเส้นทางจากแลตช์ไปยังเอาต์พุต ทรานซิสเตอร์ A1 ที่อินพุตอ่าน/เขียนจะทำการอ่านข้อมูล ในทางกลับกัน โดยการสร้างเส้นทางจากอินพุตไปยังแลตช์ ทรานซิสเตอร์ A0 ที่อินพุตอ่าน/เขียนสามารถทำการเขียนข้อมูลได้

เกี่ยวกับโครงสร้างของเซลล์หน่วยความจำ โดยทั่วไปแล้วจะจัดเก็บสัญญาณไบนารีในหน่วยต่างๆ ที่เรียกว่าบิต ในตอนแรก 1 บิตเท่ากับ 8 บิต และ 1 เวิร์ดมีค่าเท่ากับ 2 บิต สายข้อมูลขาเข้าและขาออกสื่อสารกันในหน่วยความจำผ่านการดำเนินการอ่าน/เขียน ในตอนแรก สิ่งนี้ช่วยกำหนดการส่งข้อมูล ในหน่วยความจำ แต่ละเวิร์ดจะมีหมายเลขที่เรียกว่าแอดเดรส แอดเดรสเหล่านี้มีค่าตั้งแต่ 0 ถึง 2k-1 โดยที่ k คือหมายเลขลำดับของสายแอดเดรส

โดยทั่วไป RAM ขนาดเล็กประกอบด้วยคำสี่คำ แต่ละคำมีสี่บิต และเซลล์ไบนารีทั้งหมด 16 เซลล์ เซลล์ไบนารี พร้อมด้วยอินพุตสามตัวและเอาต์พุตหนึ่งตัว รวมกันเป็นบล็อกเซลล์ขนาดเล็ก (BC) ในที่นี้ ผู้ใช้ต้องการสายแอดเดรสสองเส้นสำหรับคำหน่วยความจำทั้งสี่คำ ในการเลือกคำใดคำหนึ่งจากสี่คำนั้น อินพุตแอดเดรสจะต้องผ่านตัวถอดรหัส 2:4 ซึ่งสามารถเรียกใช้งานได้ผ่านอินพุตทริกเกอร์หน่วยความจำ

หากค่าหน่วยความจำที่เปิดใช้งานเป็น 0 ค่าเอาต์พุตทั้งหมดในตัวถอดรหัสจะถูกตั้งค่าเป็น 0 และจะไม่มีการเลือกเอาต์พุตใด ๆ และหากค่าหน่วยความจำที่เลือกเป็น 1 คำใดคำหนึ่งจากสี่คำจะถูกเลือก

กระบวนการอ่าน/เขียน:ในขั้นตอนนี้ หลังจากเลือกคำแล้ว ข้อมูลอินพุตจะถูกประมวลผลเพื่ออ่าน/เขียน ในระหว่างกระบวนการอ่าน บิตสี่บิตของคำที่เลือกจะผ่านเกต OR ไปยังเอาต์พุต

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

การถอดรหัสที่อยู่หน่วยความจำ:

ในหน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) มีพื้นที่ว่างที่สามารถเก็บคำหน่วยความจำได้หลายพันคำ แต่ละคำหน่วยความจำมีค่าตั้งแต่ 1 ถึง 64 บิต ในที่นี้ หน่วยความจำที่มี 2000 คำ จะใช้สายแอดเดรสหน่วยความจำ k สาย โดยแต่ละคำหน่วยความจำมีค่า n บิต ตัวถอดรหัสประกอบด้วยแอดเดรสหน่วยความจำ 2000 ตัว โดยแต่ละแอดเดรสที่ถอดรหัสแล้วจะส่งออกคำหน่วยความจำ n บิตที่ไม่ซ้ำกัน เพื่อให้สามารถอ่านหรือเขียนได้

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

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

ตัวอย่างเช่น ลองพิจารณาไมโครโปรเซสเซอร์ 8088 ซึ่งสร้างแอดเดรส 20 บิตสำหรับพื้นที่แอดเดรสหน่วยความจำ 1MB เป็นเอาต์พุต ในทางกลับกัน EPROM BIOS 2716 มีหน่วยความจำเพียง 2KB พร้อมกับขาแอดเดรส 11 ขา ในกรณีนี้ EPROM สามารถวางไว้ในส่วน 2KB ใดก็ได้ของพื้นที่แอดเดรส 1MB เนื่องจากตัวถอดรหัสในที่นี้สามารถถอดรหัสขาแอดเดรสเพิ่มเติมอีก 9 ขาได้  

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

วงจรถอดรหัสหน่วยความจำ

ถอดรหัสความบังเอิญ:

ในวิธีการถอดรหัสแบบพร้อมกัน ตัวถอดรหัสที่มีอินพุต k ตัว จะสร้างเอาต์พุตที่มีค่า 2k ตัว ตัวถอดรหัสประเภทนี้ต้องการเกต AND 2k ตัว พร้อมกับอินพุต k ตัวที่แต่ละเกต ในกรณีนี้ การรวมตัวถอดรหัสสองตัวเข้าด้วยกันในรูปแบบสองทิศทาง จะช่วยลดจำนวนเกตทั้งหมดและจำนวนอินพุตต่อเกตได้

นอกจากนี้ ในวิธีการเมทริกซ์สองมิติ จะใช้ตัวถอดรหัสหนึ่งตัวสำหรับการเลือกแถว และอีกตัวสำหรับการเลือกคอลัมน์ ในกรณีนี้ จะใช้ข้อมูลป้อนเข้า 2k สองตัวแทนที่จะใช้ข้อมูลป้อนเข้า k ตัวเดียว

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

โครงสร้างการถอดรหัสแบบสองทิศทางสำหรับหน่วยความจำขนาด 1,000 คำ

ตัวอย่างเช่น แทนที่จะใช้ตัวถอดรหัสขนาด 10 x 1024 ในวิธีการเลือกสำหรับหน่วยความจำขนาด 1K คำ เราอาจเลือกใช้ตัวถอดรหัสขนาด 5 x 32 สองตัวก็ได้ เราจะต้องใช้เกต AND จำนวน 1024 ตัว โดยแต่ละตัวมีอินพุตสิบตัวในตัวถอดรหัสตัวเดียว  

ในกรณีที่มีตัวถอดรหัสสองตัว เราจะต้องใช้เกต AND จำนวน 64 ตัว โดยแต่ละตัวมีอินพุตห้าตัว บิตที่มีค่ามากที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต X และบิตที่มีค่าน้อยที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต Y แต่ละคำในอาร์เรย์หน่วยความจำจะถูกเลือกโดยผลลัพธ์ของการจับคู่ระหว่างสาย X และอินพุต Y

ด้วยเหตุนี้ จึงมีการเลือกคำเดียวในหน่วยความจำโดยการจับคู่ 1 ใน 32 แถว และ 1 ใน 32 คอลัมน์ รวมทั้งหมดประมาณ 1,024 คำ คำที่ต้องการจะพบได้ที่จุดตัดของแถวและคอลัมน์ที่กำหนด จากนั้นจึงอ่าน/เขียนบิตทั้งหมดของคำที่ต้องการ

การมัลติเพล็กซ์ที่อยู่:

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

โดยเฉพาะอย่างยิ่ง SRAM (Static Random Access Memory) มีทรานซิสเตอร์หกตัว เมื่อขนาดของทรานซิสเตอร์ลดลง จะสามารถสร้างเซลล์หน่วยความจำที่มีความหนาแน่นสูงขึ้นได้

DRAM หรือหน่วยความจำเข้าถึงแบบสุ่มไดนามิก ก็มีทรานซิสเตอร์เช่นกัน ทำให้มีความจุในการจัดเก็บข้อมูลมากกว่า SRAM การจัดเก็บข้อมูลโดยใช้ SRAM มีค่าใช้จ่ายสูงกว่าการจัดเก็บข้อมูลโดยใช้ DRAM นอกจากนี้ DRAM ยังประหยัดพลังงานมากกว่าด้วย

เนื่องจากขนาดบิตของคำใน DRAM คือหนึ่ง จึงต้องใช้ชิปมากขึ้น สาเหตุหลักมาจากการเพิ่มความจุ การถอดรหัสบิต DRAM ทั้งหมดทำในอาร์เรย์สองมิติ และหากมีข้อมูลหน่วยความจำในเซลล์มากขึ้น ก็จำเป็นต้องใช้อาร์เรย์มากขึ้น การมัลติเพล็กซ์แอดเดรสเป็นเทคนิคที่นักออกแบบใช้เพื่อลดจำนวนขาในวงจรรวม  

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

ตัวอย่างเช่น:ในการมัลติเพล็กซ์ จำเป็นต้องใช้หน่วยความจำ 64K คำ อาร์เรย์สองมิติของเซลล์จะถูกจัดเรียงเป็น 256 แถวและ 256 คอลัมน์ เพื่อสร้างที่อยู่หน่วยความจำ ซึ่งให้หน่วยความจำทั้งหมด 64K คำ มีพัลส์ที่อยู่สองพัลส์ หนึ่งพัลส์ข้อมูลขาเข้า หนึ่งพัลส์ข้อมูลขาออก หนึ่งพัลส์ควบคุมการอ่าน/เขียนที่มีอินพุตที่อยู่ 8 บิต และอีกหนึ่งพัลส์ข้อมูลขาเข้า พัลส์ที่อยู่แถว (RAS) จะเปิดใช้งานรีจิสเตอร์แถวหน่วยความจำ 8 บิต พัลส์ที่อยู่คอลัมน์จะถูกตัดทอนเนื่องจาก CAS เปิดใช้งานรีจิสเตอร์คอลัมน์ 8 บิต สัญลักษณ์พัลส์จะมีแถบแนวนอนอยู่ด้านบน ซึ่งแสดงว่ารีจิสเตอร์ว่างเปล่าหรืออยู่ที่ระดับสัญญาณ 0

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

แผนภาพการมัลติเพล็กซ์ที่อยู่

จนถึงตอนนี้ เราได้สำรวจโครงสร้างภายในและกระบวนการถอดรหัสของหน่วยความจำ รวมถึงแง่มุมต่างๆ ของการถอดรหัสในบทความนี้แล้ว โดยสรุปแล้ว เราสามารถยืนยันได้ว่า การถอดรหัสหน่วยความจำเป็นส่วนสำคัญและเป็นพื้นฐานอย่างยิ่งของการเข้าถึงหน่วยความจำในวงจรอิเล็กทรอนิกส์ดิจิทัล

บทความที่เกี่ยวข้อง

การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

เรียนรู้วิธีที่คอมพิวเตอร์แปลงรหัสไบนารีดิบไปเป็นตำแหน่งทางกายภาพที่เฉพาะเจาะจงผ่านการถอดรหัสหน่วยความจำ

นักเขียนบทความ
by 
นักเขียนบทความ
การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

เรียนรู้วิธีที่คอมพิวเตอร์แปลงรหัสไบนารีดิบไปเป็นตำแหน่งทางกายภาพที่เฉพาะเจาะจงผ่านการถอดรหัสหน่วยความจำ

วงจรดิจิทัลเป็นวงจรประเภทหนึ่งที่ประมวลผลสัญญาณที่มีสองสถานะเท่านั้น คือ ศูนย์หรือหนึ่ง ทรานซิสเตอร์ในวงจรถูกใช้เพื่อดำเนินการทางตรรกะแบบบูลีนต่างๆ

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

ในบทความนี้ เราจะกล่าวถึงโครงสร้างภายในของชิปหน่วยความจำ กระบวนการถอดรหัส และส่วนประกอบต่างๆ ที่เกี่ยวข้องกับการถอดรหัสหน่วยความจำ

การก่อตัวของความทรงจำโดยธรรมชาติ:

ภายในแล้ว หน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) ประกอบด้วยเซลล์หน่วยความจำแบบไบนารีและกลไกการถอดรหัสที่เกี่ยวข้องสำหรับการเลือกคำเดียว โดยมี m คำ และ n บิตต่อคำ ภายในหน่วยความจำ หน่วยพื้นฐานคือเซลล์หน่วยความจำแบบไบนารี

ในเซลล์หน่วยความจำ สามารถจัดเก็บข้อมูลได้หนึ่งบิตอย่างง่ายดาย ชิปหน่วยความจำประกอบด้วยเซลล์หลายเซลล์ที่จัดเรียงเป็นเมทริกซ์

คำหน่วยความจำถูกสร้างขึ้นโดยแต่ละแถวของเซลล์ และแต่ละแถวของเซลล์เชื่อมต่อกับสายทั่วไป หรือที่เรียกว่าสายคำ สายคำถูกควบคุมโดยตัวถอดรหัสที่อยู่ ขึ้นอยู่กับที่อยู่ที่มีอยู่ในบัสที่อยู่ สายคำจะถูกเปิดใช้งานในเวลาใดเวลาหนึ่ง มีสายสองเส้นวิ่งระหว่างเซลล์ในแต่ละคอลัมน์ สายเหล่านี้เรียกว่าสายบิต วงจรตรวจจับ/เขียนเชื่อมต่อสายบิตเหล่านี้กับสายข้อมูลขาเข้าและขาออก วงจรตรวจจับ/บันทึกจะตรวจจับหรืออ่านข้อมูลที่อยู่ในเซลล์ที่กำหนดโดยสายแม่เหล็กและส่งไปยังสายข้อมูลขาออกในระหว่างการอ่าน วงจรตรวจจับ/บันทึกจะบันทึกข้อมูลในระหว่างการเขียน

เพื่อทำความเข้าใจโครงสร้างภายในของชิปหน่วยความจำ คุณสามารถดูแผนภาพด้านล่างได้:

โครงสร้างภายในของความทรงจำ

กระบวนการถอดรหัสหน่วยความจำ:

การถอดรหัสหน่วยความจำเป็นกระบวนการหลายขั้นตอนซึ่งใช้ที่อยู่หลายแห่งเพื่อระบุตำแหน่งหน่วยความจำที่เฉพาะเจาะจง การถอดรหัสหน่วยความจำเกิดขึ้นเมื่อต้องการเข้าถึงหน่วยความจำที่จัดเก็บอยู่ในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล ในระหว่างกระบวนการต่อไปนี้...

ตัวถอดรหัสหน่วยความจำมีความจำเป็นในการเลือกที่อยู่ข้อมูลเข้าที่ระบุจากหน่วยความจำภายในหน่วยความจำ โดยที่เซลล์หน่วยความจำมีบทบาทสำคัญในกระบวนการนี้

เซลล์หน่วยความจำ:เซลล์หน่วยความจำเป็นวงจรไฟฟ้าชนิดหนึ่งที่ประกอบด้วยทรานซิสเตอร์สี่ถึงหกตัว การเลือกอินพุตจะช่วยอำนวยความสะดวกในการดำเนินการอ่าน/เขียน ในกระบวนการนี้ โดยการสร้างเส้นทางจากแลตช์ไปยังเอาต์พุต ทรานซิสเตอร์ A1 ที่อินพุตอ่าน/เขียนจะทำการอ่านข้อมูล ในทางกลับกัน โดยการสร้างเส้นทางจากอินพุตไปยังแลตช์ ทรานซิสเตอร์ A0 ที่อินพุตอ่าน/เขียนสามารถทำการเขียนข้อมูลได้

เกี่ยวกับโครงสร้างของเซลล์หน่วยความจำ โดยทั่วไปแล้วจะจัดเก็บสัญญาณไบนารีในหน่วยต่างๆ ที่เรียกว่าบิต ในตอนแรก 1 บิตเท่ากับ 8 บิต และ 1 เวิร์ดมีค่าเท่ากับ 2 บิต สายข้อมูลขาเข้าและขาออกสื่อสารกันในหน่วยความจำผ่านการดำเนินการอ่าน/เขียน ในตอนแรก สิ่งนี้ช่วยกำหนดการส่งข้อมูล ในหน่วยความจำ แต่ละเวิร์ดจะมีหมายเลขที่เรียกว่าแอดเดรส แอดเดรสเหล่านี้มีค่าตั้งแต่ 0 ถึง 2k-1 โดยที่ k คือหมายเลขลำดับของสายแอดเดรส

โดยทั่วไป RAM ขนาดเล็กประกอบด้วยคำสี่คำ แต่ละคำมีสี่บิต และเซลล์ไบนารีทั้งหมด 16 เซลล์ เซลล์ไบนารี พร้อมด้วยอินพุตสามตัวและเอาต์พุตหนึ่งตัว รวมกันเป็นบล็อกเซลล์ขนาดเล็ก (BC) ในที่นี้ ผู้ใช้ต้องการสายแอดเดรสสองเส้นสำหรับคำหน่วยความจำทั้งสี่คำ ในการเลือกคำใดคำหนึ่งจากสี่คำนั้น อินพุตแอดเดรสจะต้องผ่านตัวถอดรหัส 2:4 ซึ่งสามารถเรียกใช้งานได้ผ่านอินพุตทริกเกอร์หน่วยความจำ

หากค่าหน่วยความจำที่เปิดใช้งานเป็น 0 ค่าเอาต์พุตทั้งหมดในตัวถอดรหัสจะถูกตั้งค่าเป็น 0 และจะไม่มีการเลือกเอาต์พุตใด ๆ และหากค่าหน่วยความจำที่เลือกเป็น 1 คำใดคำหนึ่งจากสี่คำจะถูกเลือก

กระบวนการอ่าน/เขียน:ในขั้นตอนนี้ หลังจากเลือกคำแล้ว ข้อมูลอินพุตจะถูกประมวลผลเพื่ออ่าน/เขียน ในระหว่างกระบวนการอ่าน บิตสี่บิตของคำที่เลือกจะผ่านเกต OR ไปยังเอาต์พุต

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

การถอดรหัสที่อยู่หน่วยความจำ:

ในหน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) มีพื้นที่ว่างที่สามารถเก็บคำหน่วยความจำได้หลายพันคำ แต่ละคำหน่วยความจำมีค่าตั้งแต่ 1 ถึง 64 บิต ในที่นี้ หน่วยความจำที่มี 2000 คำ จะใช้สายแอดเดรสหน่วยความจำ k สาย โดยแต่ละคำหน่วยความจำมีค่า n บิต ตัวถอดรหัสประกอบด้วยแอดเดรสหน่วยความจำ 2000 ตัว โดยแต่ละแอดเดรสที่ถอดรหัสแล้วจะส่งออกคำหน่วยความจำ n บิตที่ไม่ซ้ำกัน เพื่อให้สามารถอ่านหรือเขียนได้

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

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

ตัวอย่างเช่น ลองพิจารณาไมโครโปรเซสเซอร์ 8088 ซึ่งสร้างแอดเดรส 20 บิตสำหรับพื้นที่แอดเดรสหน่วยความจำ 1MB เป็นเอาต์พุต ในทางกลับกัน EPROM BIOS 2716 มีหน่วยความจำเพียง 2KB พร้อมกับขาแอดเดรส 11 ขา ในกรณีนี้ EPROM สามารถวางไว้ในส่วน 2KB ใดก็ได้ของพื้นที่แอดเดรส 1MB เนื่องจากตัวถอดรหัสในที่นี้สามารถถอดรหัสขาแอดเดรสเพิ่มเติมอีก 9 ขาได้  

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

วงจรถอดรหัสหน่วยความจำ

ถอดรหัสความบังเอิญ:

ในวิธีการถอดรหัสแบบพร้อมกัน ตัวถอดรหัสที่มีอินพุต k ตัว จะสร้างเอาต์พุตที่มีค่า 2k ตัว ตัวถอดรหัสประเภทนี้ต้องการเกต AND 2k ตัว พร้อมกับอินพุต k ตัวที่แต่ละเกต ในกรณีนี้ การรวมตัวถอดรหัสสองตัวเข้าด้วยกันในรูปแบบสองทิศทาง จะช่วยลดจำนวนเกตทั้งหมดและจำนวนอินพุตต่อเกตได้

นอกจากนี้ ในวิธีการเมทริกซ์สองมิติ จะใช้ตัวถอดรหัสหนึ่งตัวสำหรับการเลือกแถว และอีกตัวสำหรับการเลือกคอลัมน์ ในกรณีนี้ จะใช้ข้อมูลป้อนเข้า 2k สองตัวแทนที่จะใช้ข้อมูลป้อนเข้า k ตัวเดียว

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

โครงสร้างการถอดรหัสแบบสองทิศทางสำหรับหน่วยความจำขนาด 1,000 คำ

ตัวอย่างเช่น แทนที่จะใช้ตัวถอดรหัสขนาด 10 x 1024 ในวิธีการเลือกสำหรับหน่วยความจำขนาด 1K คำ เราอาจเลือกใช้ตัวถอดรหัสขนาด 5 x 32 สองตัวก็ได้ เราจะต้องใช้เกต AND จำนวน 1024 ตัว โดยแต่ละตัวมีอินพุตสิบตัวในตัวถอดรหัสตัวเดียว  

ในกรณีที่มีตัวถอดรหัสสองตัว เราจะต้องใช้เกต AND จำนวน 64 ตัว โดยแต่ละตัวมีอินพุตห้าตัว บิตที่มีค่ามากที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต X และบิตที่มีค่าน้อยที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต Y แต่ละคำในอาร์เรย์หน่วยความจำจะถูกเลือกโดยผลลัพธ์ของการจับคู่ระหว่างสาย X และอินพุต Y

ด้วยเหตุนี้ จึงมีการเลือกคำเดียวในหน่วยความจำโดยการจับคู่ 1 ใน 32 แถว และ 1 ใน 32 คอลัมน์ รวมทั้งหมดประมาณ 1,024 คำ คำที่ต้องการจะพบได้ที่จุดตัดของแถวและคอลัมน์ที่กำหนด จากนั้นจึงอ่าน/เขียนบิตทั้งหมดของคำที่ต้องการ

การมัลติเพล็กซ์ที่อยู่:

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

โดยเฉพาะอย่างยิ่ง SRAM (Static Random Access Memory) มีทรานซิสเตอร์หกตัว เมื่อขนาดของทรานซิสเตอร์ลดลง จะสามารถสร้างเซลล์หน่วยความจำที่มีความหนาแน่นสูงขึ้นได้

DRAM หรือหน่วยความจำเข้าถึงแบบสุ่มไดนามิก ก็มีทรานซิสเตอร์เช่นกัน ทำให้มีความจุในการจัดเก็บข้อมูลมากกว่า SRAM การจัดเก็บข้อมูลโดยใช้ SRAM มีค่าใช้จ่ายสูงกว่าการจัดเก็บข้อมูลโดยใช้ DRAM นอกจากนี้ DRAM ยังประหยัดพลังงานมากกว่าด้วย

เนื่องจากขนาดบิตของคำใน DRAM คือหนึ่ง จึงต้องใช้ชิปมากขึ้น สาเหตุหลักมาจากการเพิ่มความจุ การถอดรหัสบิต DRAM ทั้งหมดทำในอาร์เรย์สองมิติ และหากมีข้อมูลหน่วยความจำในเซลล์มากขึ้น ก็จำเป็นต้องใช้อาร์เรย์มากขึ้น การมัลติเพล็กซ์แอดเดรสเป็นเทคนิคที่นักออกแบบใช้เพื่อลดจำนวนขาในวงจรรวม  

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

ตัวอย่างเช่น:ในการมัลติเพล็กซ์ จำเป็นต้องใช้หน่วยความจำ 64K คำ อาร์เรย์สองมิติของเซลล์จะถูกจัดเรียงเป็น 256 แถวและ 256 คอลัมน์ เพื่อสร้างที่อยู่หน่วยความจำ ซึ่งให้หน่วยความจำทั้งหมด 64K คำ มีพัลส์ที่อยู่สองพัลส์ หนึ่งพัลส์ข้อมูลขาเข้า หนึ่งพัลส์ข้อมูลขาออก หนึ่งพัลส์ควบคุมการอ่าน/เขียนที่มีอินพุตที่อยู่ 8 บิต และอีกหนึ่งพัลส์ข้อมูลขาเข้า พัลส์ที่อยู่แถว (RAS) จะเปิดใช้งานรีจิสเตอร์แถวหน่วยความจำ 8 บิต พัลส์ที่อยู่คอลัมน์จะถูกตัดทอนเนื่องจาก CAS เปิดใช้งานรีจิสเตอร์คอลัมน์ 8 บิต สัญลักษณ์พัลส์จะมีแถบแนวนอนอยู่ด้านบน ซึ่งแสดงว่ารีจิสเตอร์ว่างเปล่าหรืออยู่ที่ระดับสัญญาณ 0

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

แผนภาพการมัลติเพล็กซ์ที่อยู่

จนถึงตอนนี้ เราได้สำรวจโครงสร้างภายในและกระบวนการถอดรหัสของหน่วยความจำ รวมถึงแง่มุมต่างๆ ของการถอดรหัสในบทความนี้แล้ว โดยสรุปแล้ว เราสามารถยืนยันได้ว่า การถอดรหัสหน่วยความจำเป็นส่วนสำคัญและเป็นพื้นฐานอย่างยิ่งของการเข้าถึงหน่วยความจำในวงจรอิเล็กทรอนิกส์ดิจิทัล

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

การถอดรหัสแอดเดรสหน่วยความจำคืออะไร?

เรียนรู้วิธีที่คอมพิวเตอร์แปลงรหัสไบนารีดิบไปเป็นตำแหน่งทางกายภาพที่เฉพาะเจาะจงผ่านการถอดรหัสหน่วยความจำ

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

วงจรดิจิทัลเป็นวงจรประเภทหนึ่งที่ประมวลผลสัญญาณที่มีสองสถานะเท่านั้น คือ ศูนย์หรือหนึ่ง ทรานซิสเตอร์ในวงจรถูกใช้เพื่อดำเนินการทางตรรกะแบบบูลีนต่างๆ

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

ในบทความนี้ เราจะกล่าวถึงโครงสร้างภายในของชิปหน่วยความจำ กระบวนการถอดรหัส และส่วนประกอบต่างๆ ที่เกี่ยวข้องกับการถอดรหัสหน่วยความจำ

การก่อตัวของความทรงจำโดยธรรมชาติ:

ภายในแล้ว หน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) ประกอบด้วยเซลล์หน่วยความจำแบบไบนารีและกลไกการถอดรหัสที่เกี่ยวข้องสำหรับการเลือกคำเดียว โดยมี m คำ และ n บิตต่อคำ ภายในหน่วยความจำ หน่วยพื้นฐานคือเซลล์หน่วยความจำแบบไบนารี

ในเซลล์หน่วยความจำ สามารถจัดเก็บข้อมูลได้หนึ่งบิตอย่างง่ายดาย ชิปหน่วยความจำประกอบด้วยเซลล์หลายเซลล์ที่จัดเรียงเป็นเมทริกซ์

คำหน่วยความจำถูกสร้างขึ้นโดยแต่ละแถวของเซลล์ และแต่ละแถวของเซลล์เชื่อมต่อกับสายทั่วไป หรือที่เรียกว่าสายคำ สายคำถูกควบคุมโดยตัวถอดรหัสที่อยู่ ขึ้นอยู่กับที่อยู่ที่มีอยู่ในบัสที่อยู่ สายคำจะถูกเปิดใช้งานในเวลาใดเวลาหนึ่ง มีสายสองเส้นวิ่งระหว่างเซลล์ในแต่ละคอลัมน์ สายเหล่านี้เรียกว่าสายบิต วงจรตรวจจับ/เขียนเชื่อมต่อสายบิตเหล่านี้กับสายข้อมูลขาเข้าและขาออก วงจรตรวจจับ/บันทึกจะตรวจจับหรืออ่านข้อมูลที่อยู่ในเซลล์ที่กำหนดโดยสายแม่เหล็กและส่งไปยังสายข้อมูลขาออกในระหว่างการอ่าน วงจรตรวจจับ/บันทึกจะบันทึกข้อมูลในระหว่างการเขียน

เพื่อทำความเข้าใจโครงสร้างภายในของชิปหน่วยความจำ คุณสามารถดูแผนภาพด้านล่างได้:

โครงสร้างภายในของความทรงจำ

กระบวนการถอดรหัสหน่วยความจำ:

การถอดรหัสหน่วยความจำเป็นกระบวนการหลายขั้นตอนซึ่งใช้ที่อยู่หลายแห่งเพื่อระบุตำแหน่งหน่วยความจำที่เฉพาะเจาะจง การถอดรหัสหน่วยความจำเกิดขึ้นเมื่อต้องการเข้าถึงหน่วยความจำที่จัดเก็บอยู่ในอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล ในระหว่างกระบวนการต่อไปนี้...

ตัวถอดรหัสหน่วยความจำมีความจำเป็นในการเลือกที่อยู่ข้อมูลเข้าที่ระบุจากหน่วยความจำภายในหน่วยความจำ โดยที่เซลล์หน่วยความจำมีบทบาทสำคัญในกระบวนการนี้

เซลล์หน่วยความจำ:เซลล์หน่วยความจำเป็นวงจรไฟฟ้าชนิดหนึ่งที่ประกอบด้วยทรานซิสเตอร์สี่ถึงหกตัว การเลือกอินพุตจะช่วยอำนวยความสะดวกในการดำเนินการอ่าน/เขียน ในกระบวนการนี้ โดยการสร้างเส้นทางจากแลตช์ไปยังเอาต์พุต ทรานซิสเตอร์ A1 ที่อินพุตอ่าน/เขียนจะทำการอ่านข้อมูล ในทางกลับกัน โดยการสร้างเส้นทางจากอินพุตไปยังแลตช์ ทรานซิสเตอร์ A0 ที่อินพุตอ่าน/เขียนสามารถทำการเขียนข้อมูลได้

เกี่ยวกับโครงสร้างของเซลล์หน่วยความจำ โดยทั่วไปแล้วจะจัดเก็บสัญญาณไบนารีในหน่วยต่างๆ ที่เรียกว่าบิต ในตอนแรก 1 บิตเท่ากับ 8 บิต และ 1 เวิร์ดมีค่าเท่ากับ 2 บิต สายข้อมูลขาเข้าและขาออกสื่อสารกันในหน่วยความจำผ่านการดำเนินการอ่าน/เขียน ในตอนแรก สิ่งนี้ช่วยกำหนดการส่งข้อมูล ในหน่วยความจำ แต่ละเวิร์ดจะมีหมายเลขที่เรียกว่าแอดเดรส แอดเดรสเหล่านี้มีค่าตั้งแต่ 0 ถึง 2k-1 โดยที่ k คือหมายเลขลำดับของสายแอดเดรส

โดยทั่วไป RAM ขนาดเล็กประกอบด้วยคำสี่คำ แต่ละคำมีสี่บิต และเซลล์ไบนารีทั้งหมด 16 เซลล์ เซลล์ไบนารี พร้อมด้วยอินพุตสามตัวและเอาต์พุตหนึ่งตัว รวมกันเป็นบล็อกเซลล์ขนาดเล็ก (BC) ในที่นี้ ผู้ใช้ต้องการสายแอดเดรสสองเส้นสำหรับคำหน่วยความจำทั้งสี่คำ ในการเลือกคำใดคำหนึ่งจากสี่คำนั้น อินพุตแอดเดรสจะต้องผ่านตัวถอดรหัส 2:4 ซึ่งสามารถเรียกใช้งานได้ผ่านอินพุตทริกเกอร์หน่วยความจำ

หากค่าหน่วยความจำที่เปิดใช้งานเป็น 0 ค่าเอาต์พุตทั้งหมดในตัวถอดรหัสจะถูกตั้งค่าเป็น 0 และจะไม่มีการเลือกเอาต์พุตใด ๆ และหากค่าหน่วยความจำที่เลือกเป็น 1 คำใดคำหนึ่งจากสี่คำจะถูกเลือก

กระบวนการอ่าน/เขียน:ในขั้นตอนนี้ หลังจากเลือกคำแล้ว ข้อมูลอินพุตจะถูกประมวลผลเพื่ออ่าน/เขียน ในระหว่างกระบวนการอ่าน บิตสี่บิตของคำที่เลือกจะผ่านเกต OR ไปยังเอาต์พุต

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

การถอดรหัสที่อยู่หน่วยความจำ:

ในหน่วยความจำแบบเข้าถึงโดยสุ่ม (RAM) มีพื้นที่ว่างที่สามารถเก็บคำหน่วยความจำได้หลายพันคำ แต่ละคำหน่วยความจำมีค่าตั้งแต่ 1 ถึง 64 บิต ในที่นี้ หน่วยความจำที่มี 2000 คำ จะใช้สายแอดเดรสหน่วยความจำ k สาย โดยแต่ละคำหน่วยความจำมีค่า n บิต ตัวถอดรหัสประกอบด้วยแอดเดรสหน่วยความจำ 2000 ตัว โดยแต่ละแอดเดรสที่ถอดรหัสแล้วจะส่งออกคำหน่วยความจำ n บิตที่ไม่ซ้ำกัน เพื่อให้สามารถอ่านหรือเขียนได้

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

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

ตัวอย่างเช่น ลองพิจารณาไมโครโปรเซสเซอร์ 8088 ซึ่งสร้างแอดเดรส 20 บิตสำหรับพื้นที่แอดเดรสหน่วยความจำ 1MB เป็นเอาต์พุต ในทางกลับกัน EPROM BIOS 2716 มีหน่วยความจำเพียง 2KB พร้อมกับขาแอดเดรส 11 ขา ในกรณีนี้ EPROM สามารถวางไว้ในส่วน 2KB ใดก็ได้ของพื้นที่แอดเดรส 1MB เนื่องจากตัวถอดรหัสในที่นี้สามารถถอดรหัสขาแอดเดรสเพิ่มเติมอีก 9 ขาได้  

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

วงจรถอดรหัสหน่วยความจำ

ถอดรหัสความบังเอิญ:

ในวิธีการถอดรหัสแบบพร้อมกัน ตัวถอดรหัสที่มีอินพุต k ตัว จะสร้างเอาต์พุตที่มีค่า 2k ตัว ตัวถอดรหัสประเภทนี้ต้องการเกต AND 2k ตัว พร้อมกับอินพุต k ตัวที่แต่ละเกต ในกรณีนี้ การรวมตัวถอดรหัสสองตัวเข้าด้วยกันในรูปแบบสองทิศทาง จะช่วยลดจำนวนเกตทั้งหมดและจำนวนอินพุตต่อเกตได้

นอกจากนี้ ในวิธีการเมทริกซ์สองมิติ จะใช้ตัวถอดรหัสหนึ่งตัวสำหรับการเลือกแถว และอีกตัวสำหรับการเลือกคอลัมน์ ในกรณีนี้ จะใช้ข้อมูลป้อนเข้า 2k สองตัวแทนที่จะใช้ข้อมูลป้อนเข้า k ตัวเดียว

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

โครงสร้างการถอดรหัสแบบสองทิศทางสำหรับหน่วยความจำขนาด 1,000 คำ

ตัวอย่างเช่น แทนที่จะใช้ตัวถอดรหัสขนาด 10 x 1024 ในวิธีการเลือกสำหรับหน่วยความจำขนาด 1K คำ เราอาจเลือกใช้ตัวถอดรหัสขนาด 5 x 32 สองตัวก็ได้ เราจะต้องใช้เกต AND จำนวน 1024 ตัว โดยแต่ละตัวมีอินพุตสิบตัวในตัวถอดรหัสตัวเดียว  

ในกรณีที่มีตัวถอดรหัสสองตัว เราจะต้องใช้เกต AND จำนวน 64 ตัว โดยแต่ละตัวมีอินพุตห้าตัว บิตที่มีค่ามากที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต X และบิตที่มีค่าน้อยที่สุดห้าบิตจะถูกกำหนดให้กับอินพุต Y แต่ละคำในอาร์เรย์หน่วยความจำจะถูกเลือกโดยผลลัพธ์ของการจับคู่ระหว่างสาย X และอินพุต Y

ด้วยเหตุนี้ จึงมีการเลือกคำเดียวในหน่วยความจำโดยการจับคู่ 1 ใน 32 แถว และ 1 ใน 32 คอลัมน์ รวมทั้งหมดประมาณ 1,024 คำ คำที่ต้องการจะพบได้ที่จุดตัดของแถวและคอลัมน์ที่กำหนด จากนั้นจึงอ่าน/เขียนบิตทั้งหมดของคำที่ต้องการ

การมัลติเพล็กซ์ที่อยู่:

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

โดยเฉพาะอย่างยิ่ง SRAM (Static Random Access Memory) มีทรานซิสเตอร์หกตัว เมื่อขนาดของทรานซิสเตอร์ลดลง จะสามารถสร้างเซลล์หน่วยความจำที่มีความหนาแน่นสูงขึ้นได้

DRAM หรือหน่วยความจำเข้าถึงแบบสุ่มไดนามิก ก็มีทรานซิสเตอร์เช่นกัน ทำให้มีความจุในการจัดเก็บข้อมูลมากกว่า SRAM การจัดเก็บข้อมูลโดยใช้ SRAM มีค่าใช้จ่ายสูงกว่าการจัดเก็บข้อมูลโดยใช้ DRAM นอกจากนี้ DRAM ยังประหยัดพลังงานมากกว่าด้วย

เนื่องจากขนาดบิตของคำใน DRAM คือหนึ่ง จึงต้องใช้ชิปมากขึ้น สาเหตุหลักมาจากการเพิ่มความจุ การถอดรหัสบิต DRAM ทั้งหมดทำในอาร์เรย์สองมิติ และหากมีข้อมูลหน่วยความจำในเซลล์มากขึ้น ก็จำเป็นต้องใช้อาร์เรย์มากขึ้น การมัลติเพล็กซ์แอดเดรสเป็นเทคนิคที่นักออกแบบใช้เพื่อลดจำนวนขาในวงจรรวม  

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

ตัวอย่างเช่น:ในการมัลติเพล็กซ์ จำเป็นต้องใช้หน่วยความจำ 64K คำ อาร์เรย์สองมิติของเซลล์จะถูกจัดเรียงเป็น 256 แถวและ 256 คอลัมน์ เพื่อสร้างที่อยู่หน่วยความจำ ซึ่งให้หน่วยความจำทั้งหมด 64K คำ มีพัลส์ที่อยู่สองพัลส์ หนึ่งพัลส์ข้อมูลขาเข้า หนึ่งพัลส์ข้อมูลขาออก หนึ่งพัลส์ควบคุมการอ่าน/เขียนที่มีอินพุตที่อยู่ 8 บิต และอีกหนึ่งพัลส์ข้อมูลขาเข้า พัลส์ที่อยู่แถว (RAS) จะเปิดใช้งานรีจิสเตอร์แถวหน่วยความจำ 8 บิต พัลส์ที่อยู่คอลัมน์จะถูกตัดทอนเนื่องจาก CAS เปิดใช้งานรีจิสเตอร์คอลัมน์ 8 บิต สัญลักษณ์พัลส์จะมีแถบแนวนอนอยู่ด้านบน ซึ่งแสดงว่ารีจิสเตอร์ว่างเปล่าหรืออยู่ที่ระดับสัญญาณ 0

สามารถทำความเข้าใจเรื่องนี้ได้ดียิ่งขึ้นโดยดูจากแผนภาพต่อไปนี้:

แผนภาพการมัลติเพล็กซ์ที่อยู่

จนถึงตอนนี้ เราได้สำรวจโครงสร้างภายในและกระบวนการถอดรหัสของหน่วยความจำ รวมถึงแง่มุมต่างๆ ของการถอดรหัสในบทความนี้แล้ว โดยสรุปแล้ว เราสามารถยืนยันได้ว่า การถอดรหัสหน่วยความจำเป็นส่วนสำคัญและเป็นพื้นฐานอย่างยิ่งของการเข้าถึงหน่วยความจำในวงจรอิเล็กทรอนิกส์ดิจิทัล