السلام عليكم ورحة الله وبركته
كيف تعمل الحاسبات : بنية البرنامج المخزن:
بينما تغيرت التقنيات المستخدمة في الحاسبات بصورة مثيرة منذ ظهور أوائل الحاسبات الإليكترونية متعددة الاغراض من أربعينات القرن العشرين ، ما زال معظمها يستخدم بنية البرنامج المخزن (يطلق عليها في بعض الاحيان بنية von Neumann). استطاع التصميم جعل الحاسب العالمي حقيقيا جزئيا.
تصف البنية حاسبا ذا أربع اقسام رئيسية: وحدة الحساب و المنطق (ALU) و دائرة التحكم و الذاكرة و أجهزة الإدخال و الإخراج (يعبر عنها بمصطلح I/O). هذه الاجزاء تتصل ببعضها عن طريق حزم من الاسلاك (تسمى "النواقل" عندما تكون نفس الحزمة تدعم أكثر من مسار بيانات) و تكون في العادة مساقة بمؤقت أو ساعة (مع أن الاحداث الاخرى تستطيع أن تقود دائرة التحكم).
فكريا، من الممكن رؤية ذاكرة الحاسب كأنها قائمة من الخلايا. كل خلية لها عنوان مرقم و تستطيع الخلية تخزين كمية قليلة و ثابتة من المعلومات. هذه المعلومات من الممكن أن تكون إما تعليمة (أمر) و التي تخبر الحاسب بما يجب أن يفعله و إما أن تكون بيانات و هي المعلومات التي يقوم الحاسب بمعالجتها باستخدام الأوامر التي تم وضعها على الذاكرة. عموما، يمكن استخدام اي خلية لتخزين إما أوامر أو بيانات.
إن وحدة الحساب و المنطق بالعديد من المعانى هي قلب الحاسب. إنها قادرة على تنفيذ نوعين من العمليات الأساسية. الأولى هي العمليات الحسابية، جمع أو طرح رقمين سويا. إن مجموعة العمليات الحسابية قد تكون محدودة جدا، في الواقع، بعض التصميمات لا تدعم عمليتي الضرب و القسمة بطريقة مباشرة (عوضا عن الدعم المباشر، يستطيع المستخدمون دعم عمليتي الضرب و القسمة و ذلك من خلال برامج تقوم بمعالجات متعددة للجمع و الطرح و الارقام الاخرى). القسم الثاني من عمليات وحدة الحساب و المنطق هي عمليات المقارنة: بإدخال رقمين، تقوم هذه الوحدة بالتحقق من تساوي او عدم تساوي الرقمين و تحديد أي الرقمين هو الأكبر.
إن أنظمة الإدخال و الاخراج هي الوسائل التي تجعل الحاسب يستقبل المعلومات من العالم الخارجي و يقرر النتائج ثانية إلى العالم. في الحاسب الشخصي العادي تتضمن أجهزة الإدخال مكونات مثل لوحة المفاتيح و الفأرة و تتضمن أجهزة الإخراج الشاشات و الطابعات و ما يشابهها، و لكن من الممكن توصيل مجموعة ضخمة و متنوعة من الأجهزة إلى الحاسب و تعمل كأجهزة إدخال و إخراج.
إن نظام التحكم يجمع كل ذلك. إن وظيفته هي قراءة الاوامر و البيانات من الذاكرة أو من أجهزة الإدخال و الإخراج، و كذلك فك شفرة الأوامر، تغذي وحدة الحساب و المنطق بالمدخلات الصحيحة طبقا للأوامر، تخبر وحدة الحساب و المنطق بالعملية الواجب تنفيذها على تلك المدخلات و تعيد إرسال النتائج إلى الذاكرة أو إلى أجهزة الإدخال و الإخراج. يعتبر العداد من المكونات الرئيسية في نظام التحكم و الذي يقوم بمتابعة عنوان الأمر الحالي، في العادة يزداد قيمة العنوان في كل مرة يتم فيها تنفيذ الأمر إلا إذا أشار الأمر نفسه إلى أن الأمر التالي يجب أن يكون في عنوان آخر (ذلك يسمح للحاسب بتنفيذ نفس الأوامر بطريقة متكررة).
بدءا من ثمانينات القرن العشرين، صار كل من وحدة الحساب و المنطق و وحدة التحكم (يسميان مجتمعان بوحدة المعالجة المركزية CPU) في المعتاد موجودين في دائرة متكاملة واحدة تسمى المعالج الدقيق (المايكروبروسيسور).
إن آلية عمل أي حاسب في الأساس تكون واضحة تماما. في المعتاد، في كل دورة زمنية يقوم الحاسب بجلب الأوامر و البيانات من الذاكرة الخاصة به. يتم تنفيذ الأوامر، يتم تخزين النتائج، ثم يتم جلب الأمر التالي. هذا الإجراء يتكرر حتى تتم مقابلة أمر التوقف.
إن الأوامر التي تقوم وحدة التحكم بتفسيرها و تقوم وحدة الحساب و المنطق بتنفيذها يكون عددها محدود، و محددة بدقة و تكون عمليات بسيطة جدا. بصفة عامة، فإنها تندرج ضمن واحد أو أكثر من أربعة اقسام:
- نقل بيانات من مكان لاخر (مثال على ذلك أمر "يخبر" وحدة المعالجة المركزية أن "تنسخ محتويات الخلية 5 من الذاكرة و وضع النسخة في الخلية 10")
- تنفيذ العمليات الحسابية و المنطقية على بيانات (على سبيل المثال "قم باضافة محتويات الخلية 7 إلى محتويات الخلية 13 و ضع الناتج في الخلية 20")
- اختبار حالة البيانات ("لو أن محتويات الخلية 999 هي 0 فإن الامر التالي يكون موجود في الخلية 30")
- تغيير تسلسل العمليات (يغير المثال السابق تسلسل العمليات و لكن الاوامر مثل "الامر التالي يوجد في الخلية 100" تكون ايضا قياسية).
إن الأوامر تكون ممثلة مثل البيانات في صورة شفرة ثنائية (نظام للعد قاعدته الرقم 2). على سبيل المثال، الشفرة لنوع من انواع عملية "نسخ" في المعالجات الدقيقة من نوع Intel x86 هي 10110000. إن الأمر الجزئي يكون معد بحيث أن حاسب معين يدعم ما يعرف بلغة آلة الحاسب. إن استخدام لغة الالة سابقة التبسيط جعلها أكثر سهولة لتشغيل برامج موجودة على آلة جديدة: و هكذا في الأسواق حيثما تكون إتاحة البرامج التجارية أمرا ضروريا فإن المزودين يتفقون على واحد أو عدد صغير جدا من لغات الآلة البارزة.
إن الحاسبات الأكبر مثل (minicomputers و mainframe computers و servers) تختلف عن الأنواع السابقة في أمر هام هو أن بدلا من وجود وحدة معالجة مركزية واحدة فإنه في الغالب يوجد أكثر من وحدة. غالبا ما تمتلك الحاسبات السوبر بنيات غير عادية بدرجة كبيرة و هذه البنيات مختلفة بشكل ملحوظ عن بنية البرنامج المخزن الاساسية و في بعض الاحيان تحتوي على الآلاف من وحدة المعالجة المركزية، و لكن مثل هذه التصميمات تصبح ذات فائدة فقط لأغراض متخصصة.