ما هي مسجلات الإزاحة واستخداماتها؟
تم التدقيق بواسطة: فريق أراجيك
بدايةً لا بد من الإشارة إلى أن المسجل (Register) هو عبارة عن موقع تخزين له القدرة على اختزانِ معلومة مؤلّفة من عدة خانات. فهي عبارة عن مسجلات لها القدرة على إزاحة البيانات الموجودة بداخلها خانة واحدة أو أكثر، إما نحو اليمين أو نحو اليسار
ما أهم العمليات التي يمكن إجراؤها على المسجلات؟
وتتمثل العمليّات التي يمكن إجراؤها على المسجلات في:
- الكتابة (Write): تعني تخزين المعلومات في المسجل، عند إجراء عملية الكتابة فإنَّ المعلومات المراد تخزينها تصل من خلال ناقل بيانات (Bus Data).
- القراءة (Read): تعني استرجاع المعلومات المختزنة في المسجل، عند إجراء عملية القراءة فإن المعلومات التي تم استرجاعها يتم نقلها من المسجل إلى الجهة المطلوبة عبر ناقل بيانات (Bus Data).
- نقل البيانات بين المسجلات (Register-to- Register Transfer): يتم من خلال ربط المسجلات بناقل مشترك (Common Bus).
أشكال مسجلات الإزاحة
- الإزاحة إلى اليمين (Shift Right): تتم بمقدار خانة واحدة نحو اليمين.
- الإزاحة إلى اليسار (Left Shift): تتم بمقدار خانة واحدة نحو اليسار.
- الإزاحة الدورانية إلى اليمين (Rotate Right): تتم بمقدار خانة واحدة نحو اليمين دون حدوث فقد أو إدخال من الخارج.
- الإزاحة الدورانية إلى اليسار (Rotate Left): تتم بمقدار خانة واحدة نحو اليسار دون حدوث فقد أو إدخال من الخارج.
- التوقف(Hold): يعني إيقاف عملية الإزاحة بصورة مؤقتة، حيثُ تحلُّ كل خانة من خانات المسجل محل نفسها.
- التعبئة على التوازي (Load Paral): تعني تعبئة المسجل بالبيانات من الخارج للبدء بعملية الإزاحة.
طريقة بناء مسجلات الإزاحة
يتم بناؤها باستخدام المراجيح، والتي يكون عددها موافقًا لعدد الخانات الثنائيّة المكوّنة للمسجل، يتم ربط المراجيح مع بعضها على التسلسل بحيث يكون مخرج كل مرجاح مدخل للمرجاح التالي له وذلك حسب جهة الإزاحة المطلوبة.
آلية عمل مسجلات الإزاحة
تسمح مسجلات الإزاحة بزيادة عدد المدخلات (inputs) أو المخرجات (outputs) الخاصة بالمتحكم ويتم ذلك من خلال تحويل البيانات بين الشكلين التسلسلي (serial) والمتوازي (parallel)، ويتصلُ المعالج بمسجل الإزاحة باستخدام البيانات التسلسلية بينما يقوم مسجل الإزاحة بإخراج البيانات بشكل متوازي.
يتألف مسجل الإزاحة من خانات تتصل مع بعضها البعض وتنقل المعلومات فيما بينها إما من اليمين إلى اليسار او بالعكس وقد تنتقل بالتوازي أو بالتوالي.
كل خانة تمثل قطعة ذاكرة تخزن إما “0” أو “1”، لشرح كيفية نقل المعلومات بطريقة التوالي علينا أن نعلم مصطلحين، الأول هو إدخال بالتوالي والآخر هو إخراج بالتوالي، عندما يتم إدخال معلومات “عادة تكون أرقام ثنائية إما صفر أو واحد” في الخانة الأولى من خلال عملية الإدخال بالتوالي نجد أن النظام كله يتغير حيث تنتقل المعلومات في كل خانة إلى الخانة التي تليها أي لا تبقى أي خانة على حالها، ومعلومات آخر خانة تزول وتتلاشى ويدعى ذلك بعملية الإخراج بالتوالي، أي مع كل نبضة ساعة إننا ندخل قيمة جديدة وتنزاح وتخرج قيمة الخانة الأخيرة.
من الممكن أن تدخل المعلومات الجديدة بطريقة التوالي وتخرج بطريقة التوازي، وهذا بدوره يحتاج نبضة ساعة واحدة لإخراج معلومات جميع الخانات على عكس إدخال التوالي الذي تحتاج نبضة لإدخال كل معلومة، والأمر سيان بالنسبة للإدخال بالتوازي حيث أن نبضة ساعة واحدة قادرة على إدخال عدد من المعلومات “حسب عدد خانات المسجل”.
استخدامات مسجلات الإزاحة
هذه التطبيقات الإلكترونية تشمل حياتنا اليومية حيث نجد أن مسجلات الإزاحة تتداخل في الذواكر العشوائية التي نستخدمها يوميا فإننا نطبقها عندما نحتاج إلى أكثر من مدخل إلى هذه الذواكر، تستخدم أيضا للتحكم في مجموعة ديودوات “LED’s” التي تستخدم للإضاءة ، تطبق أيضا عندما نحتاج للمزيد من أطراف الإدخال والإخراج لأي جهاز إلكتروني، ولها عدة استخدامات مثل:
- تستخدم لتوفير عدد المنافذ الموجودة على المتحكم الدقيق (لكل متحكم عدد محدد من المنافذ تستخدم من أجل المخرجات والمدخلات الرئيسية).
- في حال وجود عدد لا بأس به من الأزرار فإنها تفيد في تجميع عدد كبير من المدخلات معا.
- يفيد بالتحكم بأعداد كبيرة من المخرجات ومثال على ذلك الديودات المضيئة.
- تستخدم مسجلات الإزاحة أيضًا كعدادات، حيث هنالك نوعان من العدادات بناءً على نوع الإخراج ويطلق على هذه العدادات اسم عداد الحلقة وعداد جونسون الدائري.
- أحد الاستخدامات الأكثر شيوعا لمسجل الإزاحة هو التحويل بين الواجهات التسلسلية والمتوازية، هذا مفيد لأن العديد من الدوائر تعمل على مجموعات من Bits بالتوازي، ولكن يعتبر إنشاء واجهات تسلسلية أسهل، كما أنه من الممكن استخدام مسجلات الإزاحة كدارات تأخير بسيطة.
- ترتبط مسجلات الإزاحة إدخال توالي-إخراج توازي عادة بإخراج المعالجات الدقيقة عندما تكون هناك حاجة إلى دبابيس الإدخال/الإخراج، وهذا يسمح بالتحكم في العديد من الأجهزة الثنائية باستخدام اثنان من الدبابيس أو ثلاثة، ولكنه مع ذلك يعتبر أبطأ من الإخراج المتوازي.
- يمكن أيضًا استخدام مسجلات الإزاحة كموسعات النبض، يتطلب ذلك ساعة خارجية ودقة بالتوقيت.
- تم استخدام مسجلات الإزاحة في أجهزة الحاسوب الأولى وكانت مهمتها التعامل مع معالجة البيانات، حيث كان يتم تخزين رقمين وإضافتهما إلى مسجلات الإزاحة، وتم وصلها إلى وحدة حسابية وأخرى منطقية.
بعض الأمثلة عن استخدام مسجلات الإزاحة
عند تنفيذ مشروع بحاجة للتحكم بـ 16 ديود مضيء يحتاج ذلك لاستخدام 16 منفذ من منافذ الدخل أو الخرج الخاصة بالمتحكم الدقيق، وهنا تكمن أهمية مسجلات الإزاحة في حال عدم توفر 16منفذ وذلك من خلال استخدام 2 من مسجلات الإزاحة متصلين على التسلسل، وبذلك نستطيع التحكم بالديودات الـ 16 فقط بواسطة أربعة منافذ دخل-خرج.
جهاز نينتندو: المتحكم الدقيق الأساسي الموجود في الجهاز يحتاج للحصول على ضغطات الأزرار من جهاز التحكم، وللقيام بتلك العملية يتم تجميع المدخلات بواسطة مسجل الإزاحة.
أنواع مسجلات الإزاحة
تصنف مسجلات الإزاحة إلى عدة أنواع:
• مسجلات الإزاحة إدخال توالي-إخراج توازي SIPO.
• مسجلات الإزاحة إدخال توالي-إخراج توالي SISO.
• مسجلات الإزاحة إدخال توازي-إخراج توالي PISO.
• مسجلات الإزاحة إدخال توازي-إخراج توازي PIPO.
وهكذا فإن مسجلات الإزاحة أو Shift Registers هي تطبيق من تطبيقات ال FlipFlops (الماسكات أو القلابات) التي تسجل القيم والمعلومات وتخزنها، بالإضافة إلى أنها تزيحها إلى اليمين أو اليسار، بمعنى آخر هي عبارة عن دوائر صنعية تستخدم بشكل رئيسي للتخزين والإزاحة حيث يتم تخرين رقم ثنائي Binary من عدة Bits ويمكن إزاحتها يمينا أو يسارا مع كل نبضة ساعة.