المعلوماتية > عام

وحدة المعالجة المركزية

استمع على ساوندكلاود 🎧

وحدةُ المعالجة المركزية Central processing unit أو CPU، هذا الجهاز الذي يحوي جميع الدارات التي تُمكّن الحاسوب من معالجة البيانات وتنفيذ التعليمات، وحدة المعالجة المركزية صغيرةٌ بشكلٍ مثيرٍ للدهشة نظراً للكمية الهائلة من الدارات التي تحتويها. الدارات الحاسوبية مصنوعةٌ من البوابات المنطقية والتي بدورها مصنوعةٌ أيضاً من عنصرٍ صغيرٍ آخر يسمى الترانزستور، وتحوي وحدة المعالجة المركزية الملايين من الترانزستورات في داراتِها.

تتكون وحدة المعالجة المركزية من خمسة مكوناتٍ أساسية هي:

  1. ذاكرة الوصول العشوائي RAM: تمتاز طرازات المعالجات الأحدث بوجود ذاكرةٍ عشوائيةٍ منفصلة خارجية على عكس ما نراه في هذا الطراز.
  2. المسجلات Registers.
  3. النواقل Buses.
  4. وحدة العمليات المنطقية ALU.
  5. وحدة التحكم Control Unit.

كُلٌّ من هذه المكونات موضحٌ في الرسم البياني المرفق. يُظهِر الرسمُ البياني بشكلٍ مبسّط وحدةَ المعالجة المركزية ذات 16 بايت من ذاكرة الوصول العشوائي RAM. لفهمٍ أفضل للمكوّنات الأساسية لوحدة المعالجة المركزية، سننظر في كلِّ مكوِّنٍ بالتفصيل.

حتى تستطيعَ وحدة المعالجة المركزية أن تنجز عمليةً مفيدةً فهي بحاجةٍ إلى نوعين من المدخَلَات هما التعليمات والبيانات، التعليمات هي المُدخل الّذي يخبر وحدة المعالجة المركزية بالإجراءات التي يتعيَّن القيام بها على البيانات ويتم تخزين كلٍّ من البيانات والتعليمات بصيغةٍ رقمية ثنائية في ذاكرة الوصول العشوائية.

لمْ تتمتع الحواسيب الأولى بالمرونة، إذ أن البرنامج الذي ينفذه الحاسوب يشكل جزءاً من وحدة التحكم ذاتها، وللحصول على المرونة في الحواسيب تم تصميم وحدات التحكم لكي تكون قابلةً للبرمجة. وقد شكَّلَت عمليةُ كتابةِ البرامجِ وترميزها مع البيانات في الذاكرة العشوائية ثورةً في عالم الحواسيب، إذ لم تعد وحدات التحكم مسبقةَ البرمجة بل أصبحت تقومُ بفك ترميز البرنامج وفكِّ التعليمات وتنفيذِها، ويكفي تغييرُ محتويات الذاكرة لتغيير البرنامج الذي يتم تنفيذه دون الحاجة لإعادة توجيه وحدات التحكم. وعندها؛ أصبح هذا المفهوم هو النهجَ المعياريَّ المتبعَ حتى اليوم وأصبحت الحواسيب قادرةً على التعرف على أنماط بتٍّ ثنائية معينة على أنها تعليمات، وتسمى هذه المجموعة من التعليمات جنباً إلى جنب مع نظام الترميز لغةَ الجهاز، لأنه يحدد النهج الذي تستخدمه الآلة في فهم الخوارزميات.

يتم تخزين كلٍّ من نمطي المدخلات (تعليمات وبيانات) في الذاكرة وتقومُ وحدة المعالجة المركزية بجلب التعليمات وفكِّ ترميزها وتنفيذها بشكلٍ دوري وهذا ما يُعرف بدورة جلب وفك تنفيذ التعليمات.

تبدأ هذه الدورة بجلبِ التعليمات من الذاكرة إلى مسجل التعليمات IR عبر نواقل البيانات، ويتم استخراجُ التعليمات وإرسالُها إلى فاكّات الترميز المسؤولة عن تحديد التعليمة التي يمثلها كلُّ نمطٍ من البتات، وتتنوع هذه العمليات من عملية قراءة معلومات أو عملية تخزينٍ في الذاكرة أو تفعيل وحدة العمليات المنطقية لتقوم بعملية رياضية ما، وحالما تنتهي هذه الدورة فإنها تبدأ من جديد مع التعليمة التالية.

علَم وحدةُ المعالجة المركزية أين تجد التعليمة التالية اعتماداً على مسجل عداد البرامج PC الذي يسجل عنوان العملية الحالية وعند الانتهاء منها يتم زيادة واحد إلى هذا العداد.

تنقسمُ كلُّ تعليمةٍ إلى أمرٍ ومعامل، يحدد الأمرُ نوعيةَ العملية (قفز، جمع، تخزين...) بينما يحدد المًعامل المعلومةَ التفصيلية للعملية، على سبيل المثال إذا كانت العملية أو الأمر هي تخزين store فيحدد المُعامل ما هو السجل الذي يجب تخزين قيمتِه في الذاكرة، وما هو عنوان الذاكرة الذي سيتم التخزين فيه. نلاحظ في الصورة التالية نمطَ التعليمات في وحدة المعالجة المركزية، إذ تمثل أول ثلاث بتّاتٍ الأمرَ الذي سينفَّذ، أما الست بتات الأخيرة فتشير إلى المُعامل، أما البت الأوسط فيستخدم للتمييز بين إذا كان المعامل هو عنوان في الذاكرة أم رقم، فعندما تكون قيمته 1 فمعناه أن المُعاملَ رقمٌ، وعندما يكون 0 فمعناه أن المعاملَ عنوانٌ في الذاكرة.

نلاحظ أن جميع التعليمات يرمز لها بكلماتٍ إنكليزيّةٍ بسيطة لتبسيط عملية البرمجة، ويُطلق على مجموعة التعليمات لغةَ التجميع Assembly language، ويجبُ أن يتم تحويل البرنامج المكتوب بلغة التجميع للترميز الثنائي قبل أن تستطيع وحدة المعالجة المركزية التعاملَ معه، ويتم ذلك من قِبَل برنامج آخر يدعى المجمع.

--------------------------------------------------------

المصدر