اعتذر كتبت الموضوع بالخطأ في قسم الوسائط
اتمني نقله لقسم المعالجات :o
السلام عليكم
هناك للأسف خطأ شائع يقوم التجار بإستخدامه
حينما يصدر معالج ثنائي النواة بسرعة 2.2 فهم يكتبوا 2*2.2 فيقوم التاجر سواء أكان بجهل منه او بتعمد بضرب الرقمين
فهذه العلاقة 2*2.2 لا تعني ان السرعة هي 4.4 فهي ليست علاقة ضرب ولكنها علاقة توضح ان هناك نواتين كل نواة ترددها 2.2 كحد أقصي
فيأتينا سؤال دائما
لو سرعة كل نواة 2.2 فهذا معناه فعلاً أن السرعة الكلية 4.4
الجواب أيضا لا
طيب كيف تفسر الأمر ؟
سأشرح لكم بمثال بسيط
لنتخيل ان لدينا بلدين الأولي تسمي X والثانية تسمي Y
المسافة بين البلدين هي 1000 كيلومتر
لو أحضرنا سيارة بسرعة 100 كيلومتر في الساعه فكم من الوقت ستحتاج ؟
الجواب 10 ساعات
طيب سؤال هل لو أحضرنا سيارتين كل واحدة بسرعة 100 كيلومتر في الساعة ستكون سرعتنا 200 كيلومتر في الساعة وبالتالي نصل في 5 ساعات :D
الجواب طبعاً بالطبع لا
طيب إذا ما هي فائدة تعدد الأنوية ؟
تعدد الأنوية يصلح لو كان التطبيق يمكن تقسيمه وجعله يسير في مسارين كل مسار في نواة فنختصر الوقت
هل تريد مثال أيضا بسيط ؟
سأشرح لكم
تخيلو لو كانت السيارة تأخذ فقط 14 راكب
ولدينا 28 راكب فكم من الوقت سنحتاج ؟
سنحتاج 10 ساعات لنقل 14 راكب
ثم 10 ساعات أخري لنقل ال 14 راكب الأخرين ( لن نحسب زمن عودة السيارة لانه في المعالج لا يوجد رجوع ولكنه وقت تنفيذ مهمة ثم ينتقل للتالية لها )
طيب لو كان معنا سيارتين ؟
سننقل ال 28 راكب في 10 ساعات فقط وبذلك نكون قد وفرنا نصف الوقت حقاً
سؤال أخر : هل يعني ذلك أن المعالجات الثنائية وغيرها تنفع فقط في البرامج التي تدعم تعدد الأنوية ؟
الجواب لا
فهي تنفع ايضا في تعدد المهام مثل فتح أكثر من برنامج وتخصيص نواة لكل برنامج ليعمل عليها فتجد ان فتح برنامج يعمل علي نواة واحدة لا يعيقك بشكل كامل ولكنه يترك لك المجال للعمل علي برنامج أخر علي النواة الثانية
سؤال أخر : هل يعني ذلك أن البرنامج الداعم لتعدد الأنوية يأخذ علي المعالج الثنائي نصف وقت الأحادي بالضبط كالمثال الذي ذكرته ؟
الجواب لا
عملية برمجة تطبيق يدعم تعدد الأنوية معقدة جدا
ولذلك معظم التطبيقات هذه لا تقسم المهام بالنصف بالضبط فهذا أمر مستحيل طبعا إلا في شروط وحدود معينة
بل تقوم مثلا بجعل مهمات معينة تتم في نواة ومهمات اخري تتم في النواة الثانية
مثلا لنفترض ان هناك تطبيق قمت بفتحه هذا التطبيق يحتاج لتنفيذ مهام في البداية تأخذ 20 ثانية يتبعها بتنفيذ مهام تأخذ 80 ثانية
فلو كانت المهام التابعة لا تعتمد علي الأولي يمكننا إرسال ال 20 ثانية الأولي لنواة وال 80 ثانية الثانية لنواة أخري فنكون قد وفرنا بالضبط من الزمن 20 ثانية
وبذلك يكون المعالج ثنائي الانوية أعطانا توفير في الوقت 20 % فقط وليس 50 % كون التطبيق الذي يحتاج 80 ثانية لا يمكن تقسيمه فهو متتابع ويعتمد علي بعضه
وبالتالي لو كان هناك معالج ثلاثي أو رباعي أو حتي ثماني فلن يقدم المزيد في ذلك التطبيق
سؤال : ما هي التطبيقات التي يمكن تقسيمها بشكل كامل لأقسام ؟
الجواب : هذه التطبيقات تكون غالباً تأخذ وقت طويل جدا من التنفيذ ويمكن تقسيمها لمهمات منفصلة كل مهمة تتم في نواة مختلة
مثلاً الريندر في الجرافيك يمكننا تقسيم العملية المطلوبة لأجزاء كل جزء منفصل عن الأخر ويتم في نواة منفصلة وبالتالي فلو قسمنا عملية تحتاج لساعه لعدة عمليات كل عملية هي جزء كامل مكتمل
جزء يحتاج لدقيقتين
وجزء يحتاج ل 150 ثانية
وجزء أخر يحتاج ل 260 ثانية إلخ
يتم ترتيب تلك الأقسام في طابور عمليات Process Queue وإرسالها بالتتابع علي الأنوية والنواة التي تنهي عملها نرسل لها جزء جديد خلفه أياً كان زمنه وبالتالي فكل نواة تعمل علي حدي وكأننا نعمل في موقف سيارات فيه العديد من السيارات تقوم بنقل المتواجدين في الموقف بحسب كل سيارة
فهذه تاخذ 5 ركاب مرة وهذه 14 وهذه تزيد واحد يركب في مكان إضافة إلخ
هذا كمثال بسيط
ولعمل ذلك بشكل برمجي فهو يتم بخطوات شديدة التعقيد ولهذا فالبرامج الداعمة لتعدد الأنوية ليست بكثيرة في الوقت الراهن
وحالياً صبت أنظمة التشغيل الكثير من وقتها في تطوير بنيتها لتقوم دائما بوضع كل المهمات المطلوبة في طوابير وإرسالها بالتتابع علي الأنوية بدون قيود لعدد الأنوية فلا يتم ذلك علي نواتين وترك الأثنين الأخرين متفرغين او 4 إلخ
ولكن مهما كان عدد الأنوية تحسباً للتطور الحاضر في المستقبل أو لتركيب عدة معالجات علي نفس اللوحة الأم
أتمني يكون الموضوع زاد وضوحاً
اعتذر كتبت الموضوع بالخطأ في قسم الوسائط
اتمني نقله لقسم المعالجات :o
اشكرك على هذا الموضوع الجميل، سيتم نقله للقسم الخاص به
شكراً موضوع مميز
بجد موضوع رائع
فعلاً موضوع رائع وشرح عملي و مبسّط، بارك الله فيك .
موضوع مهم صراحه اشكرك عليه يالمجروح.
مشكوووووووووور كتير أخوي العزيز :D
ننتظر مواضيعك الجديده بفارغ الصبر
سبحآن الله وبحمده ~
سبحان الله العظيم ..
موضوع جيد
شكرا يا معلم على الموضوع و التوضيحات الغاية فى الاهمية
الف شكر اخي العزيز على هذا التوضيح المهم جداً
مع تحياتي لك ولا تحرمنا من جديدك
a S e m - 1
جيد جدا
الموضوع مهم جداً
مشكور وبارك الله فيك
وعليكم السلام ورحمة الله وبركاته ...
أول حاجة انقولك ان الشرح هذا ياتي من شخص فاهم أصول اللعبة بشكل صحيح وأهنيك على هذا ..
..وأوافقك 100% وخصوصاُ هذا الجزء لا غبار:D عليه
.................................................. .................................................. ...............
يوجد خاصية في وندوز XP SP2 تدعى تعيين صلة المعالج بالامكان تحديد البرنامج الدي تريد تشغيله على اي نواة الى غاية 32 نواة نفس الشيء بالنسبة للينوكس (وبشكل افضل)
الواقع إن النقطة هادي كان صعب تحليلها بالنسبة ليا وهي التناسب بين حاجات التطبيقات وامكانيات المعالج ثنائي النواة..
لأن توزيع التعليمات داخل المعالج يتم بطريقة تختلف عند المعالج الثنائي عن الأحدي ..ولا أعتقد أن تصميم المعالجات الثنائية الحالية يجعلها تعمل كلاحادية النواة أتناء تنفيد التعليمات ..بالتالي لابد من وجود وقت فاقد في هذه الحالة اي لا نعتبر المعالج الثنائي بتردد 3GHz يعمل بتردد 6GHz مقارنة بمعالج أحادي (يحمل نفس النواة) على نفس التردد ..
أعتقد أن هذا نفس المثال الاول ..ولكن لا تنسى التفرع Branch ـلأنها ستضيع المزيد من الوقت بانتظار نتيجتها فاثرها يقع على الثنائي كما يقع عل الاحادي ...
ملاحظ أخيرة :أعتقد ان المثال السابق ينطبق في حال لم يكن نظام التشغيل يدعم تعدد الانوة لان حسب ما اعلم ان نظام التشغيل تمكن البرامج حتى الغير داعمة لتعدد الانوية من الاستفادة من النواة الزائدة ومعاملتها كانها جزء من تركيب معالج واحد ولكن بشكل نسبي
{وَالَّذِينَ جَاؤُوا مِن بَعْدِهِمْ يَقُولُونَ رَبَّنَا اغْفِرْ لَنَا وَلِإِخْوَانِنَا الَّذِينَ سَبَقُونَا بِالْإِيمَانِ وَلَا تَجْعَلْ فِي قُلُوبِنَا غِلًّا لِّلَّذِينَ آمَنُوا رَبَّنَا إِنَّكَ رَؤُوفٌ رَّحِيمٌ } الحشر آية(10).
شكرا بجد موضوع ممتاز بس انا ان شاء الله هشترى بروسيسور وانا عايزه يبقى جامد جدا مع الالعاب وقررت اشترى intel core 2 due E8400 الكل بيقول انه اقوى فى الالعاب من intel core 2 qued وبصراحة E8400 سعره جامد وانا عايزه فى الاساس للالعاب لان كده كده انا مش بستخدم برمجه او Multi tasks
يعنى كده كده البرامج هتبقى ممتازه خصوصا ان انا عندى Celeron 2.6
يعنى هحس بفرق جامد جدا
ولكن فى موقع intel بيقوللو ال qued اقوى فى كله
على كدة انا ممكن استنى شويه واشترى intel core 2 qued Q9550
فيا ياريت اعرف رأيك ؟؟؟؟
ومعلش ان انا مستخدم الوان كتير بس عشان يبان
المفضلات