การเข้าถึงหน่วยความจำแบบสุ่มของ RAM ทำงานอย่างไร


10

HDD ทำงานในลักษณะต่อเนื่องบางส่วน อย่างไรก็ตาม RAM เป็นที่รู้จักกันในการเข้าถึงหน่วยความจำแบบสุ่มทำให้มีความเร็วเท่ากันในการเข้าถึงหน่วยความจำสำหรับทุกตำแหน่งในทุกครั้ง แล้วอะไรทำให้ RAM มีความพิเศษ การเข้าถึงหน่วยความจำแบบสุ่มทำงานอย่างไร (ฉันรู้ว่า DRAM ไม่ได้เข้าถึงแบบสุ่มและทำงานได้อย่างต่อเนื่องฉันไม่แน่ใจว่าสิ่งนี้หมายถึงอะไร)

คำตอบ:


9

เซลล์หน่วยความจำถูกจัดเรียงในเมทริกซ์

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือหน่วยความจำ 16 บิตที่มีความกว้าง 1 บิตดังนั้นจึงต้องการที่อยู่ 4 บรรทัดเพื่อระบุที่อยู่แต่ละบิต นั่นคือa3.. a0เส้นทางด้านซ้าย a0และa1ป้อนอุปกรณ์แยกส่งสัญญาณสีเขียวแบบ 2 ถึง 4 อุปกรณ์แยกประเภท Dem-input สามารถมี 2ยังไม่มีข้อความบรรทัดเอาต์พุตและอินพุตไบนารี่บ่งบอกว่าจะใช้งานสายใด นั่นคือแถวที่เลือก

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

นี่คือหน่วยความจำเข้าถึงโดยสุ่มเนื่องจากมีบิตใด ๆ ที่สามารถเข้าถึงได้โดยตรง และมันก็ใช้กับ DRAM และ SRAM SRAM ต้องการฮาร์ดแวร์เพิ่มเติมเพื่อจัดเก็บบิต (4 หรือ 6 FET) กว่า DRAM ที่แสดงซึ่งต้องการเพียง 1 FET ต่อบิต ข้อมูลจะถูกเก็บไว้ในตัวเก็บประจุ ตัวเก็บประจุมีการรั่วไหลและหลังจากเวลา (สั้นมาก!) ข้อมูลจะหายไป นั่นเป็นเหตุผลที่ DRAM ต้องการการรีเฟรชบ่อยครั้ง: ข้อมูลจะถูกอ่านและเขียนใหม่อย่างต่อเนื่องระหว่างการเข้าถึง สิ่งนี้จะเพิ่มฮาร์ดแวร์เพิ่มเติมลงในอุปกรณ์ แต่ DRAM die ยังคงมีขนาดเล็กกว่า SRAM ที่มีความจุเท่ากัน


4

แรมแบบง่ายสามารถแสดงเป็น (จากบันทึกย่อบางส่วน): -

ป้อนคำอธิบายรูปภาพที่นี่

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

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

ป้อนคำอธิบายรูปภาพที่นี่


4

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

  1. สถานะว่างซึ่งสัญญาณที่อยู่และหมุดข้อมูลจะถูกละเว้นและหมุดข้อมูลเป็น 'ลอย'
  2. สถานะการเขียนซึ่งอุปกรณ์จะถ่ายโอนสัญญาณอย่างต่อเนื่องบนหมุดข้อมูล (ซึ่งจะลอย) ไปยังตำแหน่งหน่วยความจำที่ระบุโดยหมุดที่อยู่
  3. อ่านสถานะซึ่งอุปกรณ์จะพยายามขับหมุดข้อมูลอย่างต่อเนื่องด้วยค่าสุดท้ายที่เขียนไปยังตำแหน่งหน่วยความจำที่ระบุโดยหมุดที่อยู่

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

โปรดทราบว่าในขณะที่ชิปหน่วยความจำแบบสแตติกทั่วไปจะถูกเชื่อมต่อภายในเป็นตารางแถว / คอลัมน์ (ตามที่ระบุโดยคำตอบอื่น ๆ ) และจะมีประมาณครึ่งหนึ่งของหมุดที่อยู่มีสายในการควบคุม "แถว" และอีกครึ่งหนึ่งเพื่อควบคุม "คอลัมน์" ชิปหน่วยความจำแบบไดนามิกทั่วไปจะใช้หมุดที่อยู่หนึ่งชุดเพื่อควบคุมทั้งแถวและคอลัมน์ ในการเข้าถึงหน่วยความจำแบบไดนามิกคุณจะต้องเลือกที่อยู่แถวจากนั้นยืนยันขาที่เรียกว่า / RAS (เลือกที่อยู่แถว) ทั้งสองนี้จะสลักที่อยู่แถวและทำให้แถวของตำแหน่งหน่วยความจำนั้นถูกอ่านไปยังบัฟเฟอร์ชั่วคราว หนึ่งอาจใช้หมุดที่อยู่พร้อมกับหมุดควบคุมอื่น ๆ เพื่อเข้าถึงบัฟเฟอร์ชั่วคราวนั้นในลักษณะที่คล้ายกับ RAM แบบคงที่ เมื่อหนึ่งเสร็จสิ้นกับแถวหนึ่งอาจควร / RAS สิ่งนี้จะทำให้เนื้อหา (อาจแก้ไข) ของบัฟเฟอร์แถวถูกคัดลอกกลับไปยังแถวที่เกี่ยวข้องในอาร์เรย์ บางเวลาหลังจากที่ / RAS ถูกปล่อยออกมาชิปหน่วยความจำจะพร้อมที่จะรับที่อยู่แถวอื่นและมี / RAS ยืนยันอีกครั้ง

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.