หน่วยความจำเชื่อมโยงคืออะไร?

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

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

หน่วยความจำแบบเชื่อมโยงหรือที่เรียกว่า Content Addressable Memory หรือ CAM ได้รับการออกแบบมาให้ค้นหาโดยเนื้อหา น่าเสียดายที่การใช้หน่วยความจำที่เชื่อมโยงนั้นมีราคาแพงมาก ซึ่งหมายความว่าจะใช้ในบางกรณีเท่านั้น โดยทั่วไปในฮาร์ดแวร์เครือข่ายระดับไฮเอนด์ หน่วยความจำชื่อที่เชื่อมโยงมาจากข้อเท็จจริงที่ว่าเป็นการใช้งานฮาร์ดแวร์ของอาร์เรย์ซอฟต์แวร์ที่เชื่อมโยง

โครงสร้างเซลล์

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

การใช้งาน

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

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

ไบนารีและไตรภาค

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

บิตที่สองของเซลล์ที่ประกอบไปด้วย ternary หมายถึง “care” หรือ “dont care” สิ่งนี้จะเพิ่มสถานะที่สามให้กับเซลล์และฟังก์ชันการค้นหาโดยรวม ตอนนี้สามารถจัดเก็บ 1, 0 หรือ X สำหรับ don't care สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับตารางเส้นทางเครือข่ายตามซับเน็ตมาสก์ที่มีความยาวผันแปรได้และรายการควบคุมการเข้าถึง คุณอาจได้รับการตอบกลับในเชิงบวกหลายรายการต่อที่อยู่การค้นหาเดียวในทั้งสองสิ่งนี้ ภายในทั้งสองอย่าง คุณเพียงต้องการจดบันทึกคำสั่งสอนที่แม่นยำที่สุดเท่านั้น

ด้วยเหตุนี้ การค้นหา 192.168.20.19 จึงอาจตรงกับกฎต่อไปนี้ 192.168.20.16/28 และ 192.168.0.0/16 หากคุณทำการค้นหาแบบไบนารีมาตรฐาน คุณจะต้องทำการคำนวณเพื่อตรวจสอบว่าที่อยู่นั้นอยู่ในช่วงที่อยู่ที่ระบุ อย่างไรก็ตาม ด้วยลอจิกไตรภาค คุณสามารถระบุได้ว่าที่อยู่การค้นหาของคุณตรงกับ 192.168.xx ในการดำเนินการครั้งเดียวหรือไม่ คุณยังสามารถระบุได้ว่าการจับคู่ /28 นั้นแม่นยำกว่าการจับคู่ /16 มาก เพราะมีบิต "don't care" น้อยกว่า สิ่งนี้ทำให้คุณสามารถใช้กฎการควบคุมการเข้าถึงที่เกี่ยวข้องได้ตามต้องการ

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

บทสรุป

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

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

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

เฉพาะอุปกรณ์ที่ได้รับประโยชน์เป็นพิเศษจากคุณลักษณะนี้และเมื่อประสิทธิภาพมีค่ามากกว่าค่าใช้จ่ายล่วงหน้าเท่านั้น ด้วยเหตุนี้จึงพบได้เฉพาะในฮาร์ดแวร์ระบบเครือข่ายระดับองค์กรเท่านั้น ภายในการตั้งค่านั้น มักเรียกว่า CAM และ TCAM สำหรับ Content Addressable Memory และ Trinary Content Addressable Memory ตามลำดับ



Leave a Comment

วิธีการโคลนฮาร์ดไดรฟ์

วิธีการโคลนฮาร์ดไดรฟ์

ในยุคดิจิทัลสมัยใหม่ ที่ข้อมูลเป็นทรัพย์สินที่มีค่า การโคลนฮาร์ดไดรฟ์บน Windows อาจเป็นกระบวนการที่สำคัญสำหรับหลายๆ คน คู่มือที่ครอบคลุมนี้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

วิธีแก้ไขไดรเวอร์ WUDFRd ไม่สามารถโหลดบน Windows 10 ได้

คุณกำลังเผชิญกับข้อความแสดงข้อผิดพลาดขณะบูตเครื่องคอมพิวเตอร์ซึ่งระบุว่าไดรเวอร์ WUDFRd ไม่สามารถโหลดบนคอมพิวเตอร์ของคุณได้ใช่หรือไม่?

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

วิธีแก้ไขรหัสข้อผิดพลาด NVIDIA GeForce Experience 0x0003

คุณพบประสบการณ์รหัสข้อผิดพลาด NVIDIA GeForce 0x0003 บนเดสก์ท็อปของคุณหรือไม่? หากใช่ โปรดอ่านบล็อกเพื่อดูวิธีแก้ไขข้อผิดพลาดนี้อย่างรวดเร็วและง่ายดาย

Roomba Stops, Sticks and Turns Around – Fix

Roomba Stops, Sticks and Turns Around – Fix

Fix a problem where your Roomba robot vacuum stops, sticks, and keeps turning around.

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

วิธีลบ GPU ออกจากพีซีที่ใช้ Windows ในปี 2023

คุณจำเป็นต้องลบ GPU ออกจากพีซีของคุณหรือไม่? เข้าร่วมกับฉันในขณะที่ฉันอธิบายวิธีลบ GPU ออกจากพีซีของคุณในคำแนะนำทีละขั้นตอนนี้

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

วิธีการติดตั้ง NVMe SSD ในเดสก์ท็อปและแล็ปท็อป

ซื้อ NVMe M.2 SSD ใหม่ แต่ไม่รู้ว่าจะติดตั้งอย่างไร? อ่านเพื่อเรียนรู้วิธีติดตั้ง NVMe SSD บนแล็ปท็อปหรือเดสก์ท็อป

Logic Bomb คืออะไร?

Logic Bomb คืออะไร?

ลอจิกบอมบ์คือเหตุการณ์ด้านความปลอดภัยที่ผู้โจมตีดำเนินการล่าช้า อ่านต่อเพื่อหาข้อมูลเพิ่มเติม

SoC คืออะไร?

SoC คืออะไร?

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

การเข้ารหัสแบบอสมมาตรคืออะไร?

การเข้ารหัสแบบอสมมาตรคืออะไร?

อัลกอริธึมการเข้ารหัสแบบอสมมาตรใช้สองคีย์ที่แตกต่างกัน คีย์หนึ่งใช้สำหรับเข้ารหัสและอีกคีย์หนึ่งสำหรับถอดรหัส

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck: วิธีฟอร์แมตการ์ด SD

Steam Deck มีตัวเลือกพื้นที่เก็บข้อมูลสามแบบ: 64GB eMMC, 256GB NVMe SSD และ 512GB NVMe SSD ขึ้นอยู่กับคลังเกมของคุณและขนาดของเกม