الحاسوب Computer آلة بمدخلات ببنية معرّفة وتعالجها بقواعد وتولّد نتائجها بمخرجات.

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الحاسوب Computer آلة بمدخلات ببنية معرّفة وتعالجها بقواعد وتولّد نتائجها بمخرجات.

    حاسوب

    Computer - Ordinateur

    الحاسوب

    الحاسوب Computer آلة تقوم بثلاث مهمات: تتلقى مدخلات ذات بنية معرّفة، وتعالجها وفق قواعد معرّفة سلفاً، وتولّد النتائج على شكل مخرجات. أما النظام الحاسوبي فهو التشكيلة التي تتضمن جميع المكونات الوظيفية للحاسوب والعتاد المرتبط به.
    تتوافر أنواع كثيرة من المنتجات التي يمكن تسميتها حواسيب، وهي تتدرج من المعالجات الصغرية الوحيدة الرقاقة، والتي لا تزيد كلفتها على بضعة دولارات، إلى الحواسيب الفائقة التي تكلف ملايين الدولارات. ولا يقتصر التنوع على اختلاف الكلفة فحسب، بل يشتمل أيضاً على اختلاف الحجم والأداء والتطبيقات. وإن إيقاع التغير السريع، الذي يميّز تطور تقانة الحواسيب، يزداد باستمرار. ويشتمل على كل ما يتصل بالحواسيب، من تقانة الدارات المتكاملة [ر] الموافقة لها، والمستخدمة في تصنيع مكوّنات الحاسوب، إلى الاستخدام المتزايد لمفاهيم التنظيم المتوازي في ربط هذه المكونات بعضها ببعض.
    وعلى الرغم من تنوع حقل الحواسيب، وإيقاع تطوره، ثمة مفاهيم أساسية تُطبق باستمرار. ويعتمد تطبيقها على حالة التقانة الراهنة، وعلى أهداف المصمِّم بحسب عامل الكلفة والأداء.
    تتألف منظومة الحاسوب، شأنها شأن أي منظومة أخرى، من مجموعة مكوّنات مترابط بعضها مع بعض. ويمكن تمييزها بوصف بنيتها، أي طريقة ربط هذه المكونات بينياً، ووظيفة، أي عمل كلِّ مكونة منها إفرادياً. إضافة إلى ذلك، فإن تنظيم الحاسوب تراتبي. ويمكن وصف أي مكوِّن رئيسي فيه بتحليله إلى مكوناته الفرعية والأساسية، ووصف بنيتها ووظيفتها. ويوصف التنظيم التراتبي من الأعلى إلى الأسفل توخياً للوضوح وسهولة الفهم.
    لمحة تاريخية
    الجيل الأول: ظهرت الآلات الحاسبة القادرة على القيام بالعمليات الحسابية الأولية (جمع، طرح، ضرب، قسمة) في القرن السادس عشر أو ربما قبل ذلك بقليل. وكان معظم هذه الآلات ميكانيكياً ذكياً يتكون من مسننات وسيور متحركة وغير ذلك، وابتكر بليز باسكال[ر] Blaise Pascal آلة حاسبة ميكانيكية تقوم بعمليات الجمع والطرح. وطوّر غوتفريد ليبينز (1646-1716) Gottfried Leibins هذا التصميم ليقوم بعمليات الضرب والقسمة أيضاً. واستمر استخدام مثل هذه الآلات حتى القرن التاسع عشر.
    كذلك جرت محاولات لبناء حواسيب عامة الأغراض قابلة للبرمجة باستخدام المكونات الميكانيكية ذاتها. فصمم الإنكليزي تشارلز باباج (1791-1871) Charles Babage في عام 1832 أول حاسوب يقوم آلياً ومن دون تدخل الإنسان بعدة خطوات أسماها «آلة الفرق» Difference Engine تستطيع حساب جداول حسابية وطباعتها. بعد ذلك عُني باباج[ر] في عام 1834 بتصميم آلة أخرى أسماها «الآلة التحليلية» Analytical Engine، وقد عدّت حقاً أول حاسوب متعدد الاستخدامات، ويوضح الشكل 1 المخطط الصندوقي لهذه الآلة.
    أما أول حاسوب اعتمد الدارات الإلكترونية أساساً في تصميمه فهو الحاسوب ENIAC (الحاسوب والمكامل العددي الإلكتروني Electronic Numerical Integrator And Computer الذي أنجز في عام 1946 في مدرسة موور للهندسة Moore School of Engineering في جامعة بنسلفانية ـ الولايات المتحدة الأمريكية، وقد استخدم فيه 18000 صمام إلكتروني و1500 حاكمة Relay، وتمكن هذا الحاسوب من إنجاز نحو 5000 عملية جمع وطرح في الثانية مما جعله متقدماً على الحواسيب الكهروميكانيكية التي سبقته، وكان يزن 30 طناً، ويستهلك عند العمل طاقة كهربائية بلغت 140 كيلو واط، ويعمل على مبدأ النظام العشري، وكانت تتم برمجته يدوياً بإعادة التوصيلات من جديد في كل مرة.
    وقد قادت هذه الصعوبات فريق العمل إلى فكرة تخزين البرامج في وسط تخزين مناسب، فاقترح أحد المصممين تقسيماً وظيفياً للحاسوب يتألف من وحدات إدخال، ووحدات إخراج، ووحدة تحكم، ووحدة معالجة، ووحدة ذاكرة. وأدى ذلك إلى صُنع الحاسوب إدفاك EDVAC (الحاسوب الإلكتروني ذو المتغيرات المنفصلة) Electronic Discrete Variable Computer. طَورت بعد ذلك شركات مختلفة تصميم الحواسيب وصناعتها، مثل الحاسوب الآلي العميم يونيفاك الأول Universal Automatic Computer (UNIVAC I) في أواخر الخمسينات بذاكرة أكبر وأداء أعلى.
    وقدمت شركة IBM عام 1953 وكانت عندئذ المُصَنِّع الرئيسي لتجهيزات معالجة البطاقات المثقبة، حاسوبها الإلكترونــي الأول ذا البرنامج المخزَّن، وهو الحاسوب 701، وكان مخصصاً في الأصل للتطبيقات العلمية. وطورت بعد ذلك سلسلة طويلة من الحواسيب 7000/700 جعلت شركة IBM في المقام الأول في صناعة الحواسيب.
    الجيل الثاني: الترانزستورات[ر] Transistors
    حدث أول تغير رئيسي في الحاسوب عند ما استبدل الترانزستور (نصف الناقل) بالصمام المفرغ. والترانزستور، كما هو معلوم، أصغر حجماً وأرخص كلفة وأقل تبديداً للحرارة من الصمام المفرغ، كما أنه لا يتطلب أسلاكاً وصفائح معدنية وأنابيب زجاجية، بل هو عنصر صلب مصنوع من السيليكون. وباستعمال الترانزستور دخل بناء الحواسيب جيله الثاني. وأضحى تصنيف الحواسيب في أجيال يعتمد على تقانة العتاد الأساسية. ويُميَّز كل جيل من غيره بزيادة سرعة عملياته وسعة ذاكرته وصغر حجمه.
    طرأت على صناعة الحواسيب تغيرات أخرى، فقد شهد الجيل الثانــي إنتاج وحدات حساب ومنطق ووحدات تحكم أكثر تعقيداً واستعمال لغات برمجة عالية المستوى، وتقديم برمجيات نظام System Software مع الحاسوب.
    الجيل الثالث: الدارات المتكاملة[ر]
    حدث في عام 1958 إنجاز أطلق ثورة في الإلكترونيات، فابتدأ عصر الإلكترونيات الصِّغْريَّة، باختراع الدارة المتكاملة Integrated Circuit. إنها الدارة المتكاملة التــي تعرِّف الجيل الثالث للحواسيب.
    الأجيال الأخيرة: لا يوجد اتفاق عام حول تعريف أجيال الحواسيب التــي تلت الجيل الثالث. وما ذُكر في الجدول (1) هو مجرد اقتراح لتحديد الجيلين الرابع والخامس اعتماداً على التطورات في تقانة الدارات المتكاملة. ومع ظهور التكامل الواسع النطاق LSI، غدا من الممكن وضع ما يزيد على 1000 مكوِّن على رقاقة دارة متكاملة واحدة. كذلك حقق التكامل الواسع النطاق جداً VLSI كثافة تزيد على 10.000 مكوِّن لكل رقاقة، ويمكن أن يصل العدد في الرقاقات VLSI الحالية إلى أكثر من 100.000 مكوِّن.
    الجيل التاريخ التقريبي التقانة السرعة النموذجية (عملية بالثانية)
    1 1964-1957 صمام مفرغ 40.000
    2 1958-1964 ترانزستور 200.000
    3 1965-1971 تكامل صغير ومتوسط النطاق 1.000.000
    4 1972-1977 تكامل واسع النطاق 10.000.000
    5 1978- تكامل واسع النطاق جداً 100.000.000
    الجدول (1) أجيال الحواسيب
    ومع تقدم التقانة السريع، وارتفاع معدل ظهور منتجات جديدة، وازدياد أهمية البرمجيات والاتصالات وتطوير العتاد، أصبح التصنيف وفق الأجيال أقل وضوحاً ودلالةً. ويمكن القول إن التطبيق التجاري للتطورات الجديدة أحدث تغيراً رئيسياً في أوائل السبعينيات من القرن العشرين، ومازالت نتائجها قابلة للتحقيق.
    غير أن أهم تطور شهدته صناعة الحواسيب هو ظهور ما يسمى الحاسوب الشخصي [ر:الشخصي (الحاسوب ـ)] في بداية الثمانينيات، والذي أتى نتيجة لتطور تقانة الدارات العالية التكامل وتطور المعالجات الصغرية. وفي الخمس والعشرين سنة الماضية أُنتجت حواسيب ذات قدرات عالية جداً مقارنة بالحواسيب السابقة وبكلفة منخفضة نسبياً.
    المعالِجات الصِّغريّة Microprocessors
    ازدادت كثافة العناصر المكامَلة على رقاقات المعالجات، على نحو مماثل لازدياد كثافة العناصر على رقاقات الذاكرة. وبمرور الزمن، أخذت تضاف عناصر جديدة إلى كل رقاقة شيئاً فشيئاً، فأصبح الحاسوب الوحيد المعالج يحتاج إلى عدد أقل من الرقاقات.
    طورت شركة إنتل Intel في عام 1971 المعالج الصغري 4004. وكانت الرقاقة الأولى التــي تحتوي على كل مكوِّنات وحدة المعالجة المركزية متكاملة، وبشرت بولادة المعالج الصِّغري. يمكن للمعالج الصِّغري 4004 أن يجمع عددين من أربعة بِتّات وأن يضرب بالجمع المكرَّر فقط.

    ويتجلى التطور السريع بعد ذلك في عدد البِتّات التــي يمكن أن يتعامل معها المعالج في كل مرة. وليس هناك مقياس قطعي لذلك، ولكن قد يكون المقياس الأنسب هو عرض مسرى المعطيات Data Bus Width، وهو عدد بتّات المعطيات التــي يمكن أن تُرسَل إلى المعالج أو منه في كل مرة. فعلى سبيل المثال، طُوِّر عدد من المعالجات التــي تعمل على أعداد مرمَّزة إلى 16 بِتّاً في السجلات ولكن تلك المعالجات تستطيع أن تقرأ وتكتب كلمات مرمَّزة إلى 8 بِتاتّ فقط، في كل مرة. ثم تتابع ظهور المعالج الصِّغري 8008 عام 1972 وكان آنئذٍ أول معالج صِّغري ذي 8 بِتّات، ثم المعالج الصِّغري 8080 عام 1974، وكان أول معالج صِّغري عام الاستخدام.
    وفي الوقت ذاته تقريباً بدأ تطوير معالجات ذات 16 بِتّاً، غير أنها لم تكن عامة الاستخدام حتى نهاية السبعينيات. وأحد هذه المعالجات هو المعالج 8086. ثم طورت معالجات صِغرية ذات 32 بِتّاً على رقاقة واحدة، منها المعالج 80386، واستمر الأمر على هذا النحو إلى أن وصل إلى المعالجات بينتيوم التي تصل سعات عملها إلى 2 غيغا هيرتز كالمعالج Pentium IV.
    الوحدات الوظيفية المكونة للحاسوب
    يُقسم الحاسوب وظيفياً إلى وحدة دخل، ووحدة خرج، ووحدة ذاكرة، ووحدة حساب ومنطق، ووحدة تحكم. وتتلخص مهمات كل منها ووظيفتها على النحو الآتي:
    وحدة الدخل: تستقبل هذه الوحدة المعلومات المرمّزة (معطيات أو تعليمات) من الأجهزة الخارجية للإدخال (مثل لوحة المفاتيح أو غيرها) وترسلها إلى الذاكرة لحفظها ومعالجتها أو ترسلها فوراً إلى وحدة الحساب والمنطق لمعالجتها.
    وحدة الخرج: ومهمتها إرسال نتائج المعالجة أو الرسائل إلى الوسط الخارجي عبر أجهزة الإخراج مثل الطابعات ووحدات الإظهار(الشاشة وغيرها).
    ومع تطور تقانات الدارات المتكاملة أصبح ممكناً تصنيع دارات تقوم بوظائف الإدخال والإخراج معاً مبرمجة لهذا الغرض.
    وحدة الذاكرة: تحفظ هذه الوحدة النتائج الوسيطة لكل من المعطيات والتعليمات، وتحفظ البرامج عند تحريرها لتُنفذ لاحقاً. وتتضمن هذه الوحدة ذاكرة رئيسة Main Memory ووسائط تخزين ملحقة مثل الأشرطة الممغنطة والأقراص الممغنطة المرنة والصلبة والأقراص الضوئية.
    وحدة الحساب والمنطق: وهي مسؤولة عن القيام بجميع العمليات الحسابية والمنطقية التي ستنص عليها تعليمات الحاسوب.
    وحدة التحكم: تقوم هذه الوحدة بالإشراف على جلب التعليمات من وحدة الذاكرة وتفسيرها وتنسيق عمل مختلف وحدات الحاسوب لتنفيذ العملية التي تنص عليها التعليمة، ويمكن أن يتحقق ذلك بطريقتين مختلفتين عتادية أو برمجية.
    ونتيجة لتطور تقانة الدارات المتكاملة دُمجت وحدتا التحكم والحساب والمنطق وبعض المكونات الإضافية الأخرى في وحدة واحدة تقوم بجميع المهام وسميت بوحدة المعالجة المركزية Central Processing Unit.
    كانت وحدات المعالجة المركزية في البدايات بسيطة البنية، تحتوي إضافة إلى وحدة الحساب والمنطق ووحدة التحكم مجموعة من السجلات تستخدم للأغراض العامة، ومجموعة أخرى كرست لأغراض خاصة (كعداد البرنامج وسجل عنوان الذاكرة وسجل معطيات الذاكرة وسجل التعليمات وغيرها) وطورت هذه الوحدات من حيث البنية والتقسيم الوظيفي ومن حيث الحجم ودرجة التكامل والسرعة.
    وتعد وحدة التحكم الجزء الأهم في وحدة المعالجة لأي حاسوب إذ إن الهدف منها جلب التعليمات من الذاكرة وتفسيرها وتنفيذها بتعيين الإشارات التحكمية وتفعيلها وإرسالها إلى جزء المعالجة من وحدة المعالجة المركزية.
    وتُفعَّل وحدة التحكم بإحدى الطريقتين: الأولى باستخدام الدارات المنطقية وتسمى وحدة التحكم المبنية عتادياً Hardwired Control Unit. والطريقة الثانية وهي الأعم والمستخدمة في معظم الحواسيب الحديثة فهي استخدام ما يسمى بالبرمجة الصغرية Microprogramming التي تعتمد على تطوير لغة سهلة تترجم كل تعليمة من تعليمات وحدة المعالجة المركزية إلى تعليمات منخفضة المستوى لوحدة التحكم تسمى التعليمات الصغرية Microinstructions.
    مبادئ العمل الأساسية
    يحكم البرنامج المخزن في الذاكرة سلوك الحاسوب، ويتألف من مجموعة من التعليمات رتبت وحفظت في الذاكرة. تُجلب التعليمات من الذاكرة إلى وحدة المعالجة المركزية عند تنفيذ البرنامج. وقد يتطلب تنفيذ العملية استعمال معطيات Data يجب جلبها أيضاً من الذاكرة أو من وسط التخزين الخارجي عبر وحدات الإدخال والإخراج.
    تُنفذ كل تعليمة عادة على مرحلتين: تقوم وحدة المعالجة المركزية أولاً بجلب التعليمات من الذاكرة واحدة واحدة، ثم تقوم بتفسير التعليمة التي جُلبت وتنفيذها.
    تعتمد صحة تنفيذ البرنامج عادة على التتابع الصحيح في جلب التعليمات من الذاكرة. لهذا تخصص جميع وحدات المعالجة المركزية سجلاً خاصاً لهذه المهمة يسمى عدّاد البرنامج Program Counter يُستخدم عادة للإشارة إلى التعليمة التالية في التنفيذ. لهذا يحفظ عداد البرنامج PC عنوان التعليمة التــي ستجلب لاحقاًً.
    تقسم التعليمات عادة إلى قسمين اثنين. يحتوي القسم الأول على رمز التعليمة Operation Code التي ستقوم بها وحدة المعالجة المركزية. وتنقسم التعليمات وفقاً للعملية إلى: تعليمات معالجة المعطيات، وتعليمات تناقل المعطيات بين مختلف المصادر والوجهات في وحدة المعالجة أو الذاكرة، وتعليمات التحكم بالبرنامج، وتعليمات لإدارة حالة وحدة المعالجة المركزية.
    أما القسم الثاني فيحتوي على معامل Operand أو أكثر، لتحديد العنوانات الفعلية المطلوب معالجتها بما يسمى طرق العَنوَنة Addressing Methods المستخدمة في هذا الحاسوب.
    المقاطعات Interrupts
    توفر جميع الحواسيب آلية تستطيع بوساطتها المجتزئات الأخرى (الذاكرة والدخل/الخرج) مقاطعة المعالجة العادية للمعالج. تقدم هذه المقاطعات في المقام الأول وسيلة لتحسين كفاءة المعالجة. فمعظم الأجهزة الخارجية مثلاً أبطأ بكثير من المعالج، وعلى وحدة المعالجة المركزية الانتظار حتى ينهي الجهاز الخارجي البطيء مهمته، وهذا يعني إضاعة وقت كبير، لهذا تضاف إمكانية المقاطعة لإتاحة الفرصة للطرفية مقاطعة وحدة المعالجة عند جاهزيتها فيعلق تنفيذ البرنامج الحالي (حافظاً عنوان التعليمة التالية في البرنامج)، ثم تحميل عداد البرنامج عنوان التعليمة الأولى في برنامج خدمة المقاطعة. يوضح الشكل 3 مخططاً لهذه العملية.
    تسمح معظم وحدات المعالجة المركزية في بعض الأحيان لأجهزة الإدخال والإخراج بالنفاذ المباشر إلى الذاكرة Direct Memory Access (DMA) لقراءة المعطيات أو حفظها.
    مسرى النظام:
    يربط بين الوحدات المذكورة وسط ناقل يسمى «مسرى النظام» System Bus الغاية منه نقل المعلومات بين مختلف الوحدات. وله عادة ثلاثة مساراتٍٍٍِِِِِِِِ وظيفية، هي «مسرى العناوين» Address Bus الذي يستخدم لنقل الإشارات المحدّدة لموضع ذاكرة. ومسرى المعطيات Data Bus لنقل المعطيات من وحدة المعالجة المركزية إلى الوحدات الأخرى، ومسرى التحكم Control Bus الذي يحمل إشارات التحكم من وحدة المعالجة المركزية إلى الذاكرة الرئيسية أو إلى وحدات الإدخال والإخراج. ويبين الشكل 4 هذه البنية.
    تُستخدم خطوط التحكم control lines للنفاذ إلى خطوط المعطيات والعنونة، لأن جميع المكونات تتشارك فيها ولابد من وجود وسيلة للتحكم باستخدامها، وتُرسل إشارات التحكم كلاً من معلومات الأوامر والتوقيت بين مجتزئات النظام.
    توجد معايير كثيرة تفيد في تصميم واختيار مسرى النظام منها: نوعه وعرضه (لكل من خطوط العنوانات والمعطيات)، وطريقة التحكم عند طلب أكثر من طرفية النفاذ إلى مصادر النظام، ونوع نقل المعطيات (قراءة أو كتابة،..)، وطريقة التوقيت (متزامن أو غير متزامن).
    إن مسرى الوصل البيني للمكوّنات الطرفية PCI Peripheral Component Interconnect هو شائع وذو عرض مجال واسع ومستقل عن المعالج، ويمكن أن يعمل كمسرى متوسط، أو مسرى طرفي. إن المعيار PCI صُمم خصيصاً لملاءمة متطلبات الدخل/الخرج I/O للأنظمة الحديثة ملاءمة اقتصادية إذ يتطلب رقاقات قليلة جداً وهو يدعم ربط مسارٍ آخر بـ المسرى PCI. ويبين الشكل 5 مثالين لاستخدام هذا المسرى، حيث يبين الجزء 5-آ استخدام هذا المعيار في نظام وحيد المعالج كالحواسيب الشخصية المكتبية، في حين يبين الجزء 5-ب توظيفاً لهذا المعيار في نظام متعدد المعالجات كما في المخدمات. تستخدم الجسور المبينة في الشكل للمحافظة على المسرى PCI مستقلاً عن سرعة المعالج.
    وحدة الذاكرة:
    تتألف وحدة الذاكرة في كل حاسوب من الذاكرة الرئيسية والتخزين الثانوي الذي يتكون عادة من شرائط مغنطيسية أو أقراص مغنطيسية مرنة وصلبة. تتألف كل منها من عدد من البايتات Bytes أو الكلمات Word (تساوي الكلمة عدداً من البايتات)، وتنظم بحيث يمكن عنونة كل بايت منها أو عنونة كل كلمة. ويعتمد اختيار عناصر الذاكرات بعدة عوامل أهمها السرعة واستهلاك القدرة إضافة إلى حجم المعطيات المتبادلة.
    من معايير أداء الذاكرة زمن النفاذ Access Time، ويعرّف بأنه الزمن الأصغري الذي ينقضي بين لحظة إصدار أمر القراءة read، وتوفر المعطيات جاهزة على خطوط معطيات الذاكرة. كذلك تقاس سعة الذاكرة أحياناً بدورة الذاكرة Memory Cycle التي تعرّف بأنها الزمن الأصغري الذي ينقضي بين عمليتي قراءة متتاليتين. وتصنف أيضاً، من حيث طريقة النفاذ إلى المواضع المختلفة فيها إلى صنفين. الصنف الأول هو الذاكرات ذات النفاذ العشوائي Random Access Memory RAM، ويكون زمن النفاذ لجميع المواقع ذاته بغض النظر عن ترتيبها، ومثالها الذاكرات المصنعة من أنصاف النواقل. والصنف الثاني هو الذاكرات ذات النفاذ التتابعي Sequential Access Memory (SAM)، ويعتمد فيها زمن النفاذ على موضع الكلمة المراد قراءتها في وسط التخزين كما في شرائط التخزين المغنطيسية. وتصنف الذاكرات أيضاًً من حيث القراءة والكتابة، فالذاكرات التي تسمح فقط بقراءة محتوياتها هي ذاكرة قراءة فقط Read Only Memory (ROM). أما الصنف الآخر فهي ذاكرة تسمح بالكتابة فيها والقراءة منها وتسمى ذاكرة القراءة والكتابة Read/Write Memory (RWM).
    تكون الذاكرة الرئيسية في معظم الحواسيب الحديثة كبيرة بقدر مسرى العنوان لوحدة المعالجة المركزية ومصنعة عادة من أنصاف النواقل. وعندما لا تستطيع الذاكرة الرئيسية استيعاب برنامج ما بكامله تخزن الأجزاء التي لا تنفذ في حينها في وحدات التخزين الثانوية. وللوصول إلى أداء جيد للحواسيب العصرية اعتُمد حل لتسريع استجابة وحدة الذاكرة بوضع ذاكرة من النوع السريع وذات تنظيم خاص بين الذاكرة الرئيسية والذاكرة الثانوية وتسمى بالذاكرة الخابية أو الخبيئة [ر] Cache Memory.
    ويعتمد نجاح هذا المنهج على أسس علمية منها التباين الكبير بين سرعة وحدة المعالجة ووحدة الذاكرة، وتتعلق بطريقة توضع البرنامج الذي يجري تنفيذه في الذاكرة أو ما يسمى «محلية المرجع» Locality of Reference. يبين الشكل 6 رسماً توضيحياً لمكان توضع الذاكرة الخبيئة بين وحدة المعالجة المركزية والذاكرة الرئيسية.
    ولما كان حجم الذاكرة الرئيسية أكبر نسبياً من الذاكرة الخابية فلا يمكن نقل كامل البرنامج الذي يجري تنفيذه إلى الذاكرة الخابية. لهذا تقسم الذاكرة الرئيسية والذاكرة الخابية إلى أجزاء اصغر تسمى كتلاً Blocks يجري تبادلها بين الذاكرتين كما يوضح ذلك الشكل 6-ب. يتطلب استخدام الذاكرة الخابية اعتماد خوارزميات استبدال Replacement Algorithms مناسبة لاستبدال المعلومات الموجودة مؤقتاً في الذاكرة الخابية عندما يستبدل بوحدة المعالجة غيرها، وأكثرها شهرة خوارزمية استبدال الكتلة الأقل استخداماً Least Recently Used (LRU).
    البرمجيات
    تقسم برمجيات كل حاسوب إلى برمجيات النظام System Software والبرمجيات التطبيقية Application Software. برمجيات النظام هي مجموعة البرمجيات التي تقدمها الشركات الصانعة للحاسوب أو من في عدادها، وتعمل على تنسيق جميع فعاليات النظام المحوسب وتقوم بفعاليات كثيرة منها: تفسير أوامر المستثمر، وإدخال البرامج التطبيقية وتحريرها، إدارة حفظ الملفات واسترجاعها من وسائط التخزين، التحكم بوحدات الدخل والخرج، ترجمة البرامج التطبيقية التي يكتبها المستثمر بلغات عالية المستوى ووصلها مع البرامج القياسية الموجودة على النظام. تشمل هذه البرمجيات نظام التشغيل Operating System، والمترجمات Compilers، والمحررات Editors ونظم الملفات File Systems.
    البرامج التطبيقية هي برامج يكتبها المستثمر عادة بلغات عالية المستوى High Level Languages مثل فورتران وباسكال ولغة C++، C، وغيرها لحل بعض المعضلات العلمية. تكتب هذه البرامج بلغة تعبر عن العمليات الحسابية أو أي عمليات معالجة بصيغة مستقلة عن نوع الحاسوب الذي سيستخدم لتنفيذ هذه البرامج.
    البنى المتطورة للحواسيب
    تصنف الحواسيب التي تعتمد المبادئ السابقة بأنها حواسيب ذات مجموعة تعليمات معقدة Complex Instruction Set Computers (CISC). وقد استخدمت طرق كثيرة لتحسين أداء هذه الحواسيب منها زيادة عدد سجلا ت الأغراض العامة في وحدة المعالجة المركزية، واستخدام أحدث تقانات الدارات المتكاملة في كل وقت في تصنيع مكونات الحاسوب، إضافة إلى تحسين طرق تصنيع وتنظيم الذاكرة الخابية.
    توارد التعليمات:
    استخدمت المعالجات الحديثة نسبياً نهجاً جديداً وهو توارد التعليمات Instruction Pipelining بحيث تنظم وحدات المعالجة في صيغة محددة تؤمن وجود خط توارد يؤدي إلى تسريع تنفيذ التعليمات. يعتمد ذلك على أن كل تعليمة تتألف من عدة مراحل، وأن كل مرحلة تتضمن فترات زمنية لا يتم التخاطب فيها مع الذاكرة أو الوحدات الأخرى. يمكن استغلال ذلك الوقت لجلب التعليمة التالية على التوازي مع تنفيذ التعليمة الحالية.
    تقسم دورة التعليمة إلى مراحل لزيادة إمكانية التراكب في التنفيذ وزيادة الفعالية، ويخصص لمعالجة حالات المقاطعة أو التنفيذ غير الخطي إجرائيات مختلفة للمحافظة على مزايا توارد التعليمات وتستخدم معظم المعالجات الحديثة هذه المقاربة في معالجة التعليمات، ويبين الشكل 7 تمثيلاً تخطيطياً لهذا التراكب عند استخدام ست مراحل لكل تعليمة هي: جلب التعليمة IF، وفك ترميز التعليمة ID، وتحميل العوامل OL، وتنفيذ التعليمة EX، وكتابة العوامل إلى الذاكرة OS. يتضح من مقارنة الشكلين آ وب الوفر في الزمن الناتج من تراكب التعليمات وتنفيذها على التوازي.
    المعالجة التفرعية:
    ظهرت الحواسيب الفائقة Supercomputers منذ الخمسينيات، وهي تستطيع تنفيذ عدة تعليمات على التوازي، واعتمدت في البداية كثيراً على مبدأ المعالجة في خط توارد باستخدام وحدة معالجة مركزية وحيدة تتكون من عدة مراحل، مما يتيح تنفيذ عدة تعليمات على التوازي وبالتالي زيادة أداء الحاسوب.
    أما المنهج البديل لزيادة أداء الحواسيب فهو استعمال عدة وحدات معالجة مركزية مستقلة تعمل على التوازي لتنفيذ مهمة واحدة. إذ يمكن برمجة شبكة من الحواسيب لتعمل بآن واحد على أجزاء مختلفة من المهمة ذاتها. يستخدم هذا النظام الموزع (ويسمى أحياناً بالنظام الضعيف الترابط Loosely Coupled) لمعالجة المهمات التي يمكن تجزئتها بسهولة إلى مهمات جزئية مستقلة، ويكون التخاطب بينها أو تبادل النتائج قليلاً. إلا أن الكثير من المسائل العلمية الكبيرة يمكن تجزئتها إلى مهمات جزئية ولكن تتطلب تبادلاً سريعاً ودائماً للنتائج الوسيطة بينها. ويكون الزمن لهذه التبادلات كبيراً نسبياً نظراً لاستخدام وحدات الدخل والخرج البطيئة نسبياً مما يجعل فائدة هذه الشبكات محدودة لهذا الغرض. وللتغلب على المشكلة السابقة التي تنجم عن الاتصالات بين وحدات المعالجة لمختلف الحواسيب فقد بُنيت حواسيب توظف عدداً من وحدات المعالجة المركزية المستقلة والشديدة الترابط فيما بينها فيزيائياً ومنطقياً. وتستطيع وحدات المعالجة النفاذ إلى معطيات كل منها بسرعة، وتسمى متعددة المعالجات Multiprocessors. إن كتابة البرامج التفرعية أو المترجمات Compilers لهذه الحواسيب أصعب بكثير من تلك الخاصة بالحواسيب التي لها وحدة معالجة وحيدة حتى لو كانت تستخدم مبدأ توارد التعليمات.
    يوجد نوعان من الحواسيب المتعددة المعالجات هما المتعددة المعالجات ذات الذاكرة المشتركة Shared Memmory والمتعددة المعالجات ذات الذاكرة الموزعة Distributed Memory. تستطيع جميع المعالجات في الحواسيب الأولى النفاذ إلى ذاكرة رئيسية مشتركة وتتصل عبرها لتبادل البرامج والمعطيات. أما في الحواسيب الثانية فإن كل معالج له ذاكرة محلية خاصة به، وتتصل مع بقية المعالجات بإرسال رسائل خاصة عبر نظام جزئي للدخل والخرج يربط بين جميع المعالجات. ويوضح الشكل 8 مخططاً صندوقياً للحالتين السابقتين. ويوضح الشكل 9 أيضاً حالات شبكات الربط المستخدمة في الحواسيب المتعددة المعالجات عندما يكون عدد المعالجات كبيراً (مئات حتى آلاف المعالجات). غير أن برمجة هذه الحواسيب معقدة ولا تستطيع تنفيذ البرامج العادية (المكتوبة للحواسيب الوحيدة المعالج) بكفاءة. لهذا مازال استخدامها محصوراً ببعض التطبيقات العلمية الخاصة.

    فيصل العباس

يعمل...
X