المعلوماتية > عام
وحدة المعالجة المركزية
وحدةُ المعالجة المركزية Central processing unit أو CPU، هذا الجهاز الذي يحوي جميع الدارات التي تُمكّن الحاسوب من معالجة البيانات وتنفيذ التعليمات، وحدة المعالجة المركزية صغيرةٌ بشكلٍ مثيرٍ للدهشة نظراً للكمية الهائلة من الدارات التي تحتويها. الدارات الحاسوبية مصنوعةٌ من البوابات المنطقية والتي بدورها مصنوعةٌ أيضاً من عنصرٍ صغيرٍ آخر يسمى الترانزستور، وتحوي وحدة المعالجة المركزية الملايين من الترانزستورات في داراتِها.
تتكون وحدة المعالجة المركزية من خمسة مكوناتٍ أساسية هي:
- ذاكرة الوصول العشوائي RAM: تمتاز طرازات المعالجات الأحدث بوجود ذاكرةٍ عشوائيةٍ منفصلة خارجية على عكس ما نراه في هذا الطراز.
- المسجلات Registers.
- النواقل Buses.
- وحدة العمليات المنطقية ALU.
- وحدة التحكم Control Unit.
كُلٌّ من هذه المكونات موضحٌ في الرسم البياني المرفق. يُظهِر الرسمُ البياني بشكلٍ مبسّط وحدةَ المعالجة المركزية ذات 16 بايت من ذاكرة الوصول العشوائي RAM. لفهمٍ أفضل للمكوّنات الأساسية لوحدة المعالجة المركزية، سننظر في كلِّ مكوِّنٍ بالتفصيل.
- ذاكرة الوصول العشوائي RAM: تتألف من قلابات Flip flop ومفككِ ترميز Decoder، تقوم القلابات بعملية تخزين المعلومات ضمن الذاكرة بينما توفر مفككاتُ الترميز طريقةً لاختيار مواقع معينة في الذاكرة للتخزين.
- المسجلات Registers: هي مواقع تخزين أو ذواكر يمكن الوصول إليها بسرعة كبيرة أكبر من تلك التي نصل بها الى ذاكرة RAM، ونلاحظ في صورة المعالج المرفقة ثلاثة أنواعٍ للمسجلات فقط وهي: مسجل التعليمات IR وعداد البرامج PC والمراكم Accumulator.
لمعرفة المزيد عن كل المسجلات (مسجلات الحاسب Registers)
- النواقل BUS: وتمثلُ الطريقَ السريع في وحدات المعالجة المركزية، وهي عبارةٌ عن حزمةٍ من الأسلاك الميكروية المسؤولة عن نقل البيانات بين مكوِّنات وحدة المعالجة، ونلاحظ ضمن المخطط أهم ثلاثةِ أنواعٍ للنواقل وهي: نواقل البيانات ونواقل التحكم ونواقل العناوين.
- وحدة العمليات المنطقية والرياضية ALU، وهي المسؤولة عن أداء جميع العمليات الرياضية من جمعٍ وطرحٍ وضربٍ وقسمة على الأرقام الثنائية، بالإضافة للعمليات المنطقية AND، OR.
- وحدة التحكم Control Unit: هذا المكون هو المسؤول عن توجيه تدفق التعليمات والبيانات داخل وحدة المعالجة المركزية. في الواقع؛ فقد تم بناء وحدة التحكم من العديد من دوائر الاختيار الأخرى مثل أجهزة فك الترميز والضارِبات Multiplexer، كما في الرسم المرفق.
حتى تستطيعَ وحدة المعالجة المركزية أن تنجز عمليةً مفيدةً فهي بحاجةٍ إلى نوعين من المدخَلَات هما التعليمات والبيانات، التعليمات هي المُدخل الّذي يخبر وحدة المعالجة المركزية بالإجراءات التي يتعيَّن القيام بها على البيانات ويتم تخزين كلٍّ من البيانات والتعليمات بصيغةٍ رقمية ثنائية في ذاكرة الوصول العشوائية.
لمْ تتمتع الحواسيب الأولى بالمرونة، إذ أن البرنامج الذي ينفذه الحاسوب يشكل جزءاً من وحدة التحكم ذاتها، وللحصول على المرونة في الحواسيب تم تصميم وحدات التحكم لكي تكون قابلةً للبرمجة. وقد شكَّلَت عمليةُ كتابةِ البرامجِ وترميزها مع البيانات في الذاكرة العشوائية ثورةً في عالم الحواسيب، إذ لم تعد وحدات التحكم مسبقةَ البرمجة بل أصبحت تقومُ بفك ترميز البرنامج وفكِّ التعليمات وتنفيذِها، ويكفي تغييرُ محتويات الذاكرة لتغيير البرنامج الذي يتم تنفيذه دون الحاجة لإعادة توجيه وحدات التحكم. وعندها؛ أصبح هذا المفهوم هو النهجَ المعياريَّ المتبعَ حتى اليوم وأصبحت الحواسيب قادرةً على التعرف على أنماط بتٍّ ثنائية معينة على أنها تعليمات، وتسمى هذه المجموعة من التعليمات جنباً إلى جنب مع نظام الترميز لغةَ الجهاز، لأنه يحدد النهج الذي تستخدمه الآلة في فهم الخوارزميات.
يتم تخزين كلٍّ من نمطي المدخلات (تعليمات وبيانات) في الذاكرة وتقومُ وحدة المعالجة المركزية بجلب التعليمات وفكِّ ترميزها وتنفيذها بشكلٍ دوري وهذا ما يُعرف بدورة جلب وفك تنفيذ التعليمات.
تبدأ هذه الدورة بجلبِ التعليمات من الذاكرة إلى مسجل التعليمات IR عبر نواقل البيانات، ويتم استخراجُ التعليمات وإرسالُها إلى فاكّات الترميز المسؤولة عن تحديد التعليمة التي يمثلها كلُّ نمطٍ من البتات، وتتنوع هذه العمليات من عملية قراءة معلومات أو عملية تخزينٍ في الذاكرة أو تفعيل وحدة العمليات المنطقية لتقوم بعملية رياضية ما، وحالما تنتهي هذه الدورة فإنها تبدأ من جديد مع التعليمة التالية.
علَم وحدةُ المعالجة المركزية أين تجد التعليمة التالية اعتماداً على مسجل عداد البرامج PC الذي يسجل عنوان العملية الحالية وعند الانتهاء منها يتم زيادة واحد إلى هذا العداد.
تنقسمُ كلُّ تعليمةٍ إلى أمرٍ ومعامل، يحدد الأمرُ نوعيةَ العملية (قفز، جمع، تخزين...) بينما يحدد المًعامل المعلومةَ التفصيلية للعملية، على سبيل المثال إذا كانت العملية أو الأمر هي تخزين store فيحدد المُعامل ما هو السجل الذي يجب تخزين قيمتِه في الذاكرة، وما هو عنوان الذاكرة الذي سيتم التخزين فيه. نلاحظ في الصورة التالية نمطَ التعليمات في وحدة المعالجة المركزية، إذ تمثل أول ثلاث بتّاتٍ الأمرَ الذي سينفَّذ، أما الست بتات الأخيرة فتشير إلى المُعامل، أما البت الأوسط فيستخدم للتمييز بين إذا كان المعامل هو عنوان في الذاكرة أم رقم، فعندما تكون قيمته 1 فمعناه أن المُعاملَ رقمٌ، وعندما يكون 0 فمعناه أن المعاملَ عنوانٌ في الذاكرة.
نلاحظ أن جميع التعليمات يرمز لها بكلماتٍ إنكليزيّةٍ بسيطة لتبسيط عملية البرمجة، ويُطلق على مجموعة التعليمات لغةَ التجميع Assembly language، ويجبُ أن يتم تحويل البرنامج المكتوب بلغة التجميع للترميز الثنائي قبل أن تستطيع وحدة المعالجة المركزية التعاملَ معه، ويتم ذلك من قِبَل برنامج آخر يدعى المجمع.
--------------------------------------------------------