لسنة الوحيدون لاكننا الافضل


 
الرئيسيةمكتبة الصوربحـثالأعضاءالتسجيلدخولالعاب فلاشيةرفع الصور لجميع الصيغرفع ملفات

شاطر | 
 

 الفرق ما بين معالج بنواة وحيدة وعدة أنوية ؟ مشاركة الاخ (mustafa haider)

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin2
Admin
Admin
avatar


نوع جهازك : Iphone 4 S نجمة المنتدى
أحب :
أعمل :
مزاج :
من : وادي الرافدين
ذكر برجي : القوس
الديك
عدد المساهمات : 341
النقاط : 989
السٌّمعَة : 1
تاريخ الميلاد : 27/11/1993
تاريخ التسجيل : 02/08/2010
العمر : 24
الموقع : jonidy.yoo7.com
العمل/الترفيه : مساعدة الاخرين
المزاج : متوسط

مُساهمةموضوع: الفرق ما بين معالج بنواة وحيدة وعدة أنوية ؟ مشاركة الاخ (mustafa haider)   الأحد سبتمبر 02, 2012 1:21 pm


ظهر
الجيل الاول من المعالجات كمعالج واحد كبير يعالج مهمة واحدة one process
في زمن معين , بحيث وُجد ما يسمى بال job pool اي بركة المهام فكان المعالج
يختار المهمة تلو الاخرى من بركة المهام لتنفيذها .
وترافق الجيل الاول
من المعالجات مع ظهور حواسب معالجة وحواسب صماء خفيفة Terminals تقوم
بإرسال ما تريد معالجته الى حواسب المعالجة المركزية .
احد اكبر الامثلة
البرمجية على معالجة مهمة واحدة في زمن قياسي واحد هي انظمة Ms-Dos
والبرامج الدفعية Batch , بحيث لا يتوفر امكانية فتح برنامجين مستقلين بنفس
الزمن , بعد ذلك ظهرت فكرة التفرع بالعمل فأمسى المعالج يقوم بتنفيذ عدة
مهام بنفس الوقت رغم ان آلية عمل المعالج تسمح له بمعالجة تعليمة واحدة
بلحظة محددة .
فظهر بالتالي تساؤلات عديدة ومهمة :
كيف يمكن لمعالج بنواة واحدة ولا يستطيع الا ان يعالج تعليمة برمجية واحدة في لحظة معينة ان يعالج عدة مهام process بنفس الوقت ؟

وما الآلية المتبعة لحل تلك المشكلة ؟
"يجدر الذكر بان التطبيق البرمجي application عندما يكون بشكل رماز مصدري
اي ملف نصي على القرص الصلب فانه يدعى برنامج program وعندما يتم تنفيذ هذا
البرنامج في بيئة نظام التشغيل فانه يدعى مهمة او process "
حقيقة ان
الآلية المتبعة هي اقرب ما تميل الى الايهام فقد تم الاستفادة من قدرة
المعالج الكبيرة على معالجة عدد كبير من التعليمات في واحدة الزمن بكل دورة
معالجة cycle فمثلا يمكن لمعالج جيد ان يعالج 1000 تعليمة برمجية خلال
ثانية واحدة ومن هذا المنطلق انبثقت فكرة ان يقوم المعالج بمعالجة جزء من
المهمة 1 في جزء من لحظة وفي جزء آخر بمعالجة جزء من المهمة 2 والانتقال ما
بين المهام .
فالمعالجة والبرمجة التفرعية لم تظهر حقيقة الا بعد ظهور معالجات متعددة تتيح امكانية معالجة عدة مهام بلحظة زمنية واحدة.
ولكن ذلك الامر ترافق مع العديد من التضاربات والمشاكل , فمثلا في نموذج
حاسب Shared Memory تكون الذاكرة مشتركة بين جميع المعالجات بالتالي نحن
بحاجة الى وقت للاتصال ما بين الحواسب للتنسيق لمنع التضاربات , زمن
الاتصال ما بين الحواسب هو غالبا عنق الزجاجة في زمن النقل الاجمالي .
كما
اننا نجد انه يمكن لمعالج يحوي n نواة ان يملك ذاكرة كاش مشتركة كما في
معالج i7 على سبيل المثال , وبالتالي ظهر ما يدعى بالتوافق بين الخابيات
cache coherence لحل مشاكل التضارب .



كما
انه ليس من الضروري ان وجد 3 مهمات بزمن x لكل مهمة , تتم معالجتها وفق n
معالج ان يكون الزمن الأمثل هو 3x/n فوفقاً لقانون امبدال الشهير هذا الزمن
هو الزمن الأمثل الذي نسعى اليه , والأداء المفروض هو الاداء الاصلي *n
لكن في معظم الحالات العامة لا يمكن الوصول الى ذلك الرقم .
كان الهدف
الاول والاسمى للعديد من المعالجات فيما مضى زيادة عدد الترنستورات
الموجودة ضمن المعالج بهدف زيادة الاداء وفقاً لقانون مور القائل بان عدد
الترانستورات في معالج يزداد كل 18 شهر .
ولكن بيوم من الايام ستصل
شركات تصنيع المعالجات الى العدد الاعظمي من الترانستورات المحشورة ضمن
معالج والتي من بعدها لا يمكن ان يزداد .
من هنا جاءت صناعة المعالجات ذات الانوية المتعددة من مبدأ الحاجة ام الاختراع .
كما يجدر الذكر بان اي تطور حاصل على المعالجات لا يرافقها اي فائدة مالم يتم برمجة برامج تستغل الطاقات المثلى للمعالجات العديدة .




تحياتي اخوكم انس الجنيدي

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


الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://jonidy.yoo7.com
 
الفرق ما بين معالج بنواة وحيدة وعدة أنوية ؟ مشاركة الاخ (mustafa haider)
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
لسنة الوحيدون لاكننا الافضل :: قسم أجهزة الكترونية والموبايلات :: منتدى تكنلوجيا واسعار الاجهزة في العراق-
انتقل الى: