كيف تتم معالجة البيانات في الحواسيب و ما هي الوحدة المسؤولة عنها ؟
ال CPU او وحدة المعالجة المركزية يعتبر بمثابة دماغ للحاسوب و يعتبر اهم وحدة فيه وظيفته هي معالجة الاوامر القادمة اليه بعد ان يقوم بتحويلها من لغة عادية الى لغة الالة التي تعتبر لغة بمستوى ادنى و يأتي غالبا على شكل شريحة مربعة و صغيرة الحجم يحتوى على العديد من الرؤوس حيث تعتبر هي همزة الوصل بينه و بين اللوحة الام.
مبدأ عمل المعالج المعالج ؟
احد العناصر الاساسية التي يتكون منها هي ساعة المعالج او كما تسمى clock و هي تساعد على ابقاء عمل المعالج متزامن. يمكن تخيلها على انها بيان يحتوى على نبضات صاعدة و نازلة و كل نبضة تمثل امرا ما يقوم به المعالج. هذه الساعة تقاس بالهرتز فنجد مثلا معالجا تردده 2 جيجا هرتز ما معناه 2 مليار تردد في الثانية اي ان هذا المعالج يستطيع ان يقوم بملياري عملية في الثانية الواحدة!.
اكثر العمليات التي يقوم بها المعالج تتم بينه و بين الذاكرة العشوائية RAM. فذاكرة الوصول العشوائي تستعمل لتخزين البيانات حيث تحتوي على عناوين و مقابل كل عنوان يتم تخزين اسطر معينة من البيانات و يتم الوصول الى هذه البيانات عن طريق عناوينها.
كيف يتم التعامل مع البيانات ؟
هناك عدة عمليات يقوم بها المعالج اول عملية هي عملية الجلب او Fetch تتم بينه و بين الذاكرة العشوائية حيث يقوم بجلب التعليمة التي يحتاجها عن طريق العنوان الخاص بها. كما ذكرنا سابقا كل برنامج يحتوي على ملايين التعليمات او الاسطر البرمجية و كل سطر او تعليمة يتم تخزينها و اعطاء عنوان لها في الذاكرة العشوائية.
بعد جلب التعليمة التي يحتاجها يقوم بالعملية الثانية و هي عملية فك التشفير حيث يقوم بتحويلها. فعلى سبيل المثال يقوم المعالج بتشغيل برنامج مكتوب بلغة C. يقوم بتحويل التعليمة او سطر البرمجي من لغة C الى لغة التجميع التي تعتبر لغة ذات مستوى ادنى. ثم يقوم بالخطوة الثانية و هي تحويلها الى لغة الالة التي تحتوي على رقمين 0 و 1. يتم هذا عن طريق وحدة داخل المعالج و تسمى المجمع او assembler الذي يعتبر المسؤول عن عملية الترجمة.
و الان اصبح المعالج جاهزا لمعالجة هذه التعليمات او القيام بعملية execute. في هذه العملية يقوم المعالج بالقيام بعمليات حسابية او عمليات منطقية و كل هذا يتم في وحدة الحساب و المنطق او وحدة ALU كما تسمى. ففي عملية الحساب يقوم بجمع او ضرب او طرح او تقسيم الارقام الثنائية التي حصل عليها من ترجمة التعليمات و في العمليات المنطقية يقوم بمقارنة هذه الارقام اكبر او اصغر او يساوي.
ربما ايضا يقوم المعالج فقط بنقل البيانات من عنوان لاخر في الذاكرة العشوائية اي انه لن تكون هناك عمليات حسابية او منطقية
و ربما يقوم بعملية jump او القفز من عنوان لعنوان اخر في الذاكرة.
و اخيرا و بعد ان قام بمعالجة البيانات يجب عليه ان يرد النتيجة فالبيانات التي حصل عليها المعالج يقوم بردها في شكل مخرجات هذه المخرجات يقوم بتخزينها في الذاكرة العشوائية ثم ينتقل الى السطر البرمجي الذي يليه ثم يقوم بمعالجته مرة اخرى.
فلنفرض انك فتحت برنامج الالة الحاسبة و قمت بعملية جمع الرقم 5 و الرقم 3. تذهب هذه البيانات الى الذاكرة العشوائية. يقوم المعالج بجلبها ثم يقوم بتحويلها الى لغة الالة رقم 5 يصبح بلغة الالة 101 و رقم 3 يصبح 11 ثم يقوم بعملية الجمع عن طريق وحدة ALU ليحصل على النتيجة 1000 التي يتم لاحقا تحويلها الى الرقم 8 و تخزن في الذاكرة العشوائية لينتقل المعالج الى السطر البرمجي التالي الذي يحتوي مثلا امر اظهار النتيجة على الشاشة ليقوم بمعالجته مرة اخرى مما يؤدي الى ظهور رقم 8 على شاشتك.
كان هذا شرح بسيط لكيفية عمل المعالج لان طريقة عمله اكثر تعقيدا من هذا بكثير و المعالج بصغر حجمه يحتوي على وحدات كثيرة كل وحدة مسؤولة عن معالجة امر ما. كما ذكرنا سابقا المعالج يحول كل شيء الى لغة الالة التي تتكون من رقمين 0 و 1 و كل رقم له معنى فرقم 1 يعني مرور التيار الكهربائي و رقم 0 يعني عدم مروره. هكذا يقوم المعالج بتحويل برنامج معقد جدا الى امرين بسيطين مرور او عدم مرور.
تعليق واحد