ذاكرة ذات محتوى قابل للقصد أو الذكرة الترافقية أو الذاكرة الاقترانية (Content-addressable memory أو Associative Memory) هي نمط خاص من ذاكرة ال RAM والتي يتم الوصول فيها إلى بيانات محددة ليس من خلال عنوانها وإنما من خلال مقارنة هذه البيانات مع محتويات الذاكرة[1] وهذا النمط من الذواكر يستخدم في بعض ذواكر الكاش والذواكر الافتراضية[2].
الذاكرة المترافقة
يتم بناء ذاكرة الكاش إما باستخدام ال SRAM أو الذواكر المترافقة وفقا للنمط المستخدم في تخطيط الذاكرة في الذاكرة SRAM يتم الوصول لمحتوياتها كسائر أنماط الذواكر حيث تستقبل عنوان وتعطي محتوياتها الموجودة على ذاك العنوان ولكن في الذاكرة المترافقة يتم الوصول للبيانات بشكل مختلف عن باقي أنماط الذواكر حيث يتم تحديد جزء من البيانات المطلوبة (مثلا إذا كان طول الكلمة البيانات 20 بت تحدد 4 بتات مثلا). وتقوم الذاكرة المترافقة بالبحث في كل مواقعها الذاكرية على التوازي وتؤشر على المواقع التي حدث فيها تطابق مع جزء البيانات المحدد وتتم قراءة قيم هذه البيانات للتوضيح افترض بأنه لدينا ذاكرة مترافقة بثماني حجرات ذاكريه طول كل حجرة 16بت كما هو موضح بالشكل(2-9):
أيضا هنالك بت إضافي لبتات البيانات في كل كلمة معطيات والمسمى (V) بت الصلاحية Valid Bit وال (1) في هذا الموضع يشير إلى أن الحجرة الذاكرية تحتوي على بيانات صالحة لإجراء المقارنة والقيمة (0) تدل على أن القيمة غير صالحة لإجراء المقارنة. (كل بت في الذاكرة أما يحتوي القيمة (0) أو القيمة (1) سواء أكان يدل على صلاحية البيانات أو لا لهذا السبب من المهم أن يكون لدينا علم يحدد ببساطة هل البيانات صالحة أم غير صالحة وهذا شي مهم في عملية تحديد تطابق البيانات) القيمة الأولى في الحجرة هي بيانات والقيمة الثانية هي دليل أو مفتاح.
مثال 1
إذا كانت ال CPU تريد الوصول إلى البيانات التي خاناتها الأربعة الأعلى أهمية 1010 في الذاكرة المترافقة والتي تحوي البيانات الموضحة بالجدول التالي:
تقوم ال CPU بتحميل القيمة 0000 0000 1111 في المسجل Mask Register حيث أن كل بت يجب أن يتم فحصه بوضع (1) بغض النظر عن قيمته وباقي الخانات توضع على (0) وتقوم ال CPU بتحميل القيمة 1010 xxxx xxxx إلى مسجل البيانات (Data register) أو (Argument register) والبتات المحددة هي البتات التي يجب أن يتم فحصها والبتات إل 12 الأخرى يمكن أن تأخذ أي قيمة لأنه لن يتم فحصها والآن تقوم CPU بفحص كل خاناتها على التوازي حيث تحدث المطابقة إذا كانت قيمة كل خانة ذات القيمة (1) في المسجل Masked Register في الموقع الذاكري متطابقة مع قيمتها في مسجل البيانات Data Register والخانة المفتاح تحوي على القيمة V=1.
تحقيق الذاكرة المترافقة
كل موقع ذاكري في الذاكرة المترافقة يحتوي على البنية اللازمة لانجاز هذه العملية حيث تحتوي الذاكرة المترافقة على مسجل مطابقة (Match register) والذي يملك بت من أجل كل حجرة ذاكريه فإذا حدثت المطابقة مع هذه الحجرة توضع قيمة البت الموافق لهذه الخانة على القيمة (1) وإلا يوضع على القيمة (0) كما تحقق بنية الحجرة عملية القراءة والكتابة من الحجرة.
إن كتابة البيانات في الذاكرة المترافقة يتم بشكل مباشر حيث تقوم ال CPU بإرسال البيانات إلى مسجل البيانات ثم ترسل إشارة الكتابة write وتقوم الذاكرة المترافقة بالبحث عن موقع ذاكري قيمة خانة الدليل فيه تساوي (0) وتكتب البيانات الجديدة فيها وإذا لم تجد فيجب أن تقوم بمسح لتوضع قيمة البيانات فيه وتقوم باسنا القيمة (1) إلى خانة الدليل لهذه القيمة الجديدة ويتم تحديد هذه الخانة المستبدلة من خلال خوارزمية الاستبدال المطبقة من قبل الذاكرة.
مراجع
- موقع موسوعة شبكة المعرفة الريفية ذاكرةٌ اقترانية تاريخ الولوج 12 أبريل 2012
- موقع قاموس المصطلحات العلمية ذاكرة ذات محتوى قابل للقصد تاريخ الولوج 12 أبريل 2012 نسخة محفوظة 25 مارس 2016 على موقع واي باك مشين.