อ่าน 4 นาที
หน่วยความจำที่สามารถระบุเนื้อหาได้
หน่วยความจำที่ระบุเนื้อหาได้ ( CAM ) เป็น หน่วยความจำคอมพิวเตอร์ชนิดพิเศษที่ใช้ในแอปพลิเคชันการค้นหาความเร็วสูงมากบางประเภท
หน่วยความจำที่สามารถระบุเนื้อหาได้

หน่วยความจำที่ระบุเนื้อหาได้ ( CAM ) เป็น หน่วยความจำคอมพิวเตอร์ชนิดพิเศษที่ใช้ในแอปพลิเคชันการค้นหาความเร็วสูงมากบางประเภท เรียกอีกอย่างว่าหน่วยความจำแบบเชื่อมโยงหรือที่เก็บข้อมูลแบบเชื่อมโยงและเปรียบเทียบข้อมูลการค้นหาที่ป้อนกับตารางข้อมูลที่จัดเก็บไว้ และส่งคืนที่อยู่ของข้อมูลที่ตรงกัน[ 1 ]
CAM มักใช้ในอุปกรณ์เครือข่ายเพื่อเพิ่มความเร็วในการส่งต่อข้อมูลฐานข้อมูลและ การทำงาน ของตารางการกำหนดเส้นทางหน่วยความจำแบบเชื่อมโยงชนิดนี้ยังใช้ในหน่วยความจำแคชด้วย ใน หน่วยความจำ แคชแบบเชื่อมโยงที่อยู่และเนื้อหาจะถูกจัดเก็บไว้เคียงข้างกัน เมื่อที่อยู่ตรงกัน เนื้อหาที่เกี่ยวข้องจะถูกดึงมาจากหน่วยความจำแคช
ประวัติศาสตร์
Dudley Allen Buckคิดค้นแนวคิดหน่วยความจำที่ระบุเนื้อหาได้ในปี พ.ศ. 2498 Buck ได้รับการยกย่องว่าเป็นผู้คิดค้นแนวคิดหน่วยการรับรู้[ 2 ]
อาร์เรย์เชื่อมโยงฮาร์ดแวร์
แตกต่างจากหน่วยความจำคอมพิวเตอร์มาตรฐานหน่วยความจำเข้าถึงแบบสุ่ม (RAM) ซึ่งผู้ใช้ป้อนที่อยู่หน่วยความจำและ RAM จะส่งคืนคำข้อมูลที่เก็บไว้ในที่อยู่นั้น CAM ถูกออกแบบมาให้ผู้ใช้ป้อนคำข้อมูล และ CAM จะค้นหาในหน่วยความจำทั้งหมดเพื่อดูว่ามีคำข้อมูลนั้นเก็บไว้ที่ใดหรือไม่ หากพบคำข้อมูล CAM จะส่งคืนรายการที่อยู่จัดเก็บข้อมูลหนึ่งรายการหรือมากกว่านั้นที่พบคำนั้น ดังนั้น CAM จึงเป็นฮาร์ดแวร์ที่จำลองสิ่งที่ในทางซอฟต์แวร์เรียกว่าอาร์เรย์แบบเชื่อมโยง (associative array )
แนวคิดที่คล้ายกันนี้สามารถพบได้ในหน่วยการรับรู้คำข้อมูลตามที่เสนอโดยDudley Allen Buckในปี พ.ศ. 2498 [ 3 ]
มาตรฐาน
คำจำกัดความอินเทอร์เฟซหลักสำหรับ CAM และเครื่องมือค้นหาเครือข่าย อื่นๆ ได้รับการระบุไว้ในข้อตกลงการทำงานร่วมกันที่เรียกว่าLook-Aside Interface (LA-1 และ LA-1B) ซึ่งพัฒนาโดย Network Processing Forum [ 4 ] อุปกรณ์จำนวนมากที่สอดคล้องกับข้อตกลงการทำงานร่วมกันได้รับการผลิตโดยIntegrated Device Technology , Cypress Semiconductor , IBM , Broadcomและอื่นๆ เมื่อวันที่ 11 ธันวาคม พ.ศ. 2550 OIF ได้เผยแพร่ข้อตกลงอินเทอร์เฟซ serial look-aside (SLA)
การใช้งานเซมิคอนดักเตอร์

CAM เร็วกว่า RAM มากในแอปพลิเคชันการค้นหาข้อมูล อย่างไรก็ตาม CAM มีข้อเสียด้านต้นทุน ต่างจากชิป RAM ซึ่งมีเซลล์จัดเก็บข้อมูลแบบง่ายๆ แต่ละบิตหน่วย ความจำ ใน CAM แบบขนานเต็มรูปแบบจะต้องมีวงจรเปรียบเทียบที่เกี่ยวข้องเพื่อตรวจจับการจับคู่ระหว่างบิตที่จัดเก็บและบิตอินพุต นอกจากนี้ เอาต์พุตการจับคู่จากแต่ละเซลล์ในคำข้อมูลจะต้องรวมกันเพื่อให้ได้สัญญาณการจับคู่คำข้อมูลที่สมบูรณ์ วงจรเพิ่มเติมนี้ทำให้ขนาดทางกายภาพและต้นทุนการผลิตของชิป CAM เพิ่มขึ้น วงจรเพิ่มเติมยังเพิ่มการใช้พลังงานเนื่องจากวงจรเปรียบเทียบทุกวงจรทำงานในทุกรอบสัญญาณนาฬิกา ดังนั้น CAM จึงใช้เฉพาะในแอปพลิเคชันเฉพาะทางที่ไม่สามารถทำความเร็วในการค้นหาได้โดยใช้วิธีการที่มีต้นทุนต่ำกว่า การใช้งานในช่วงแรกที่ประสบความสำเร็จอย่างหนึ่งคือ IC และระบบประมวลผลแบบเชื่อมโยงอเนกประสงค์[ 5 ]
ในช่วงต้นทศวรรษ 2000 บริษัทเซมิคอนดักเตอร์หลายแห่ง รวมถึงCypress , IDT , Netlogic , Sibercore [ 6 ]และMOSAIDได้แนะนำผลิตภัณฑ์ CAM ที่มุ่งเป้าไปที่แอปพลิเคชันเครือข่าย ผลิตภัณฑ์เหล่านี้มีชื่อว่า Network Search Engines (NSE), Network Search Accelerators (NSA) และ Knowledge-based Processors (KBP) แต่โดยพื้นฐานแล้วก็คือ CAM ที่มีอินเทอร์เฟซและคุณสมบัติเฉพาะที่ได้รับการปรับให้เหมาะสมสำหรับเครือข่าย ปัจจุบันBroadcomนำเสนอ KBP หลายตระกูล[ 7 ]
การนำไปใช้งานทางเลือก
เพื่อให้ได้สมดุลที่แตกต่างกันระหว่างความเร็ว ขนาดหน่วยความจำ และต้นทุน การใช้งานบางอย่างจึงเลียนแบบการทำงานของ CAM โดยใช้การค้นหาแบบต้นไม้มาตรฐานหรือการออกแบบแฮชในฮาร์ดแวร์ โดยใช้เทคนิคฮาร์ดแวร์ เช่น การจำลองแบบหรือการประมวลผลแบบไปป์ไลน์เพื่อเร่งประสิทธิภาพการทำงาน การออกแบบเหล่านี้มักใช้ในเราเตอร์อัลกอริทึม Luleåเป็นการใช้งานที่มีประสิทธิภาพสำหรับการค้นหาการจับคู่คำนำหน้าที่ยาวที่สุดตามที่จำเป็นในตารางการกำหนดเส้นทางอินเทอร์เน็ต
CAM ไตรภาค

Binary CAMเป็น CAM ประเภทที่ง่ายที่สุดและใช้คำค้นหาข้อมูลที่ประกอบด้วย1 และ 0ทั้งหมด Ternary CAM ( TCAM ) [ 8 ]อนุญาตให้มีสถานะการจับคู่ที่สามคือXหรือไม่สนใจสำหรับบิตหนึ่งบิตขึ้นไปในคำที่จัดเก็บไว้ ซึ่งเพิ่มความยืดหยุ่นในการค้นหา ตัวอย่างเช่น คำที่จัดเก็บไว้10XX0ใน ternary CAM จะตรงกับคำค้นหาทั้งสี่คำคือ10000 , 10010 , 10100หรือ10110ความยืดหยุ่นในการค้นหาที่เพิ่มเข้ามานั้นมาพร้อมกับต้นทุนที่เพิ่มขึ้นเมื่อเทียบกับ binary CAM เนื่องจากเซลล์หน่วยความจำภายในจะต้องเข้ารหัสสถานะที่เป็นไปได้สามสถานะแทนที่จะเป็นสองสถานะสำหรับ binary CAM สถานะเพิ่มเติมนี้มักจะถูกนำไปใช้โดยการเพิ่มบิตมาสก์ ( บิต สนใจหรือไม่สนใจ ) ให้กับเซลล์หน่วยความจำทุกเซลล์ ในปี 2013 IBM ได้ผลิต TCAM แบบไม่ระเหยโดยใช้เซลล์ 2 ทรานซิสเตอร์/2 ตัวต้านทาน (2T-2R) [ 9 ]เมื่อเร็วๆ นี้ กลุ่มนักวิทยาศาสตร์นานาชาติได้เผยแพร่การออกแบบ TCAM โดยใช้FeFET เฟอร์โรอิเล็กทริกไฮบริด [ 10 ]
ตัวอย่างการใช้งาน
หน่วยความจำที่ระบุตำแหน่งตามเนื้อหา (Content-addressable memory หรือ CAM) มักใช้ในอุปกรณ์เครือข่ายคอมพิวเตอร์ตัวอย่างเช่น เมื่อสวิตช์เครือข่ายรับเฟรมข้อมูลจากพอร์ตใดพอร์ตหนึ่ง มันจะอัปเดตตารางภายในด้วยที่อยู่ MAC ต้นทางของเฟรม และพอร์ตที่ได้รับเฟรมนั้น จากนั้นจะค้นหาที่อยู่ MAC ปลายทางในตารางเพื่อพิจารณาว่าเฟรมนั้นต้องส่งต่อไปยังพอร์ตใด และส่งออกไปที่พอร์ตนั้น โดยปกติแล้วตารางที่อยู่ MAC จะถูกสร้างขึ้นด้วย CAM แบบไบนารี เพื่อให้สามารถค้นหาพอร์ตปลายทางได้อย่างรวดเร็ว ลดความหน่วงของสวิตช์
CAM แบบไตรภาค (Ternary CAM) มักใช้ในเราเตอร์ เครือข่าย โดยที่แต่ละแอดเดรสจะมีสองส่วน คือ คำนำหน้าเครือข่าย (network prefix ) ซึ่งอาจมีขนาดแตกต่างกันไปตาม การกำหนดค่า ซับเน็ตและแอดเดรสโฮสต์ (host address) ซึ่งใช้บิตที่เหลืออยู่ แต่ละซับเน็ตจะมีมาสก์เครือข่าย (network mask) ที่ระบุว่าบิตใดของแอดเดรสเป็นคำนำหน้าเครือข่ายและบิตใดเป็นแอดเดรส โฮสต์ การกำหนดเส้นทางทำได้โดยการตรวจสอบตารางกำหนดเส้นทาง (routing table) ที่เราเตอร์เก็บรักษาไว้ ซึ่งประกอบด้วยคำนำหน้าเครือข่ายปลายทางที่รู้จัก มาสก์เครือข่ายที่เกี่ยวข้อง และข้อมูลที่จำเป็นในการกำหนดเส้นทางแพ็กเก็ตไปยังปลายทางนั้น ในการใช้งานซอฟต์แวร์อย่างง่าย เราเตอร์จะเปรียบเทียบแอดเดรสปลายทางของแพ็กเก็ตที่จะกำหนดเส้นทางกับแต่ละรายการในตารางกำหนดเส้นทาง โดยทำการดำเนินการAND แบบบิตกับมาสก์เครือข่ายและเปรียบเทียบกับคำนำหน้าเครือข่าย หากเท่ากัน ข้อมูลการกำหนดเส้นทางที่เกี่ยวข้องจะถูกใช้เพื่อส่งต่อแพ็กเก็ต การใช้ CAM แบบไตรภาคสำหรับตารางกำหนดเส้นทางทำให้กระบวนการค้นหามีประสิทธิภาพมากยิ่งขึ้น ที่อยู่จะถูกจัดเก็บโดยไม่สนใจส่วนโฮสต์ของที่อยู่ ดังนั้นการค้นหาที่อยู่ปลายทางใน CAM จะดึงรายการการกำหนดเส้นทางที่ถูกต้องได้ทันที ทั้งการมาสก์และการเปรียบเทียบจะดำเนินการโดยฮาร์ดแวร์ CAM วิธีนี้ใช้ได้ผลหาก (ก) รายการถูกจัดเก็บตามลำดับความยาวของมาสก์เครือข่ายที่ลดลง และ (ข) ฮาร์ดแวร์จะส่งคืนเฉพาะรายการที่ตรงกันรายการแรกเท่านั้น ดังนั้นการจับคู่กับมาสก์เครือข่ายที่ยาวที่สุด ( การจับคู่คำนำหน้าที่ยาวที่สุด ) จะถูกนำมาใช้[ 11 ]
แอปพลิเคชัน CAM อื่นๆ ได้แก่:
- ตัวควบคุมแคชแบบ เชื่อมโยงอย่างสมบูรณ์และบัฟเฟอร์การค้นหาการแปล[ 12 ]
- เครื่องมือฐานข้อมูล
- ฮาร์ดแวร์การบีบอัดข้อมูล
- เครือข่ายประสาทเทียม[ 13 ]
- ระบบป้องกันการบุกรุก
- โปรเซสเซอร์เครือข่าย
- มีการสร้าง คอมพิวเตอร์แบบกำหนดเองหลายรุ่น เช่น Goodyear STARANเพื่อใช้งาน CAM
ดูเพิ่มเติม
- เครือข่ายที่สามารถระบุเนื้อหาได้
- โปรเซสเซอร์แบบขนานที่สามารถระบุเนื้อหาได้
- ระบบจัดเก็บข้อมูลที่ระบุเนื้อหาได้หรือ ระบบไฟล์
- หน่วยความจำแบบกระจายที่เบาบาง
- พื้นที่ทูเพิล
บรรณานุกรม
- Anargyros Krikelis, Charles C. Weems (บรรณาธิการ) (1997). การประมวลผลแบบเชื่อมโยงและโปรเซสเซอร์ , สำนักพิมพ์ IEEE Computer Science Press. ISBN 0-8186-7661-2
- สิทธิบัตรสหรัฐอเมริกาหมายเลข 6823434 , Hannum และคณะ, "ระบบและวิธีการรีเซ็ตและเริ่มต้นอาร์เรย์แบบเชื่อมโยงอย่างสมบูรณ์ไปยังสถานะที่ทราบเมื่อเปิดเครื่องหรือผ่านสถานะเฉพาะของเครื่อง", ตีพิมพ์ในปี 2004
- Pagiamtis, K.; Sheikholeslami, A. (2006). "วงจรและสถาปัตยกรรมหน่วยความจำที่ระบุเนื้อหาได้ (CAM): บทช่วยสอนและการสำรวจ" (PDF) . IEEE Journal of Solid-State Circuits . 41 (3): 712– 727. Bibcode : 2006IJSSC..41..712P . doi : 10.1109/JSSC.2005.864128 . S2CID 11178331 .
- Stormon, CD; Troullinos, NB; Saleh, EM; Chavan, AV; Brule, MR; Oldfield, JV; วงจรประมวลผล CMOS แบบเชื่อมโยงอเนกประสงค์และระบบ, Coherent Research Inc., East Syracuse, NY, USA, IEEE Micro, ธันวาคม 1992, เล่มที่: 12 ฉบับที่: 6
ลิงก์ภายนอก
- CAM Primer
- การประมวลผลทางคณิตศาสตร์โดยใช้หน่วยความจำแบบเชื่อมโยง
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ หน่วยความจำที่สามารถระบุเนื้อหาได้
หน่วยความจำที่ระบุเนื้อหาได้ ( CAM ) เป็น หน่วยความจำคอมพิวเตอร์ชนิดพิเศษที่ใช้ในแอปพลิเคชันการค้นหาความเร็วสูงมากบางประเภท
ประวัติศาสตร์
Dudley Allen Buck คิดค้นแนวคิดหน่วยความจำที่ระบุเนื้อหาได้ในปี พ.ศ. 2498 Buck ได้รับการยกย่องว่าเป็นผู้คิดค้นแนวคิดหน่วย การรับรู้ [ 2 ]
อาร์เรย์เชื่อมโยงฮาร์ดแวร์
แตกต่างจากหน่วยความจำคอมพิวเตอร์มาตรฐาน หน่วยความจำเข้าถึงแบบสุ่ม (RAM) ซึ่งผู้ใช้ป้อนที่อยู่หน่วยความจำและ RAM จะส่งคืนคำข้อมูลที่เก็บไว้ในที่อยู่นั้น CAM ถูกออกแบบมาให้ผู้ใช้ป้อนคำข้อมูล และ CAM...
มาตรฐาน
คำจำกัดความอินเทอร์เฟซหลักสำหรับ CAM และ เครื่องมือค้นหาเครือข่าย อื่นๆ ได้รับการระบุไว้ในข้อตกลงการทำงานร่วมกันที่เรียกว่า Look-Aside Interface (LA-1 และ LA-1B) ซึ่งพัฒนาโดย Network Processing Forum [ 4 ]...