ملتقى جحاف: موقع ومنتدى إخباري سياسي اجتماعي ثقافي عام يختص بنشر الأخبار وقضايا السياسة والاجتماع والثقافة، يركز على قضايا الثورة السلمية الجنوبية والانتهكات التي تطال شعب الجنوب من قبل الاحتلال اليمني
 
البوابةالرئيسيةبحـثس .و .جالتسجيلدخول

شاطر|

معالجات core2Q ,core i5,core i7

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل
كاتب الموضوعرسالة
عضو ماهر
avatar
رعــد
عضو ماهر
اس ام اس النص

عدد المساهمات : 392

تاريخ التسجيل : 14/12/2009

مُساهمةموضوع: معالجات core2Q ,core i5,core i7 الأحد 18 أبريل - 15:35

تحت المجهر
Core2Q و Core i5 و Core i7
معالجات


موضوع رائع قرأته في احد المنتديات فنقلته لكم للاستقاده


بسم الله نبداء..




اختلفت معالجات شركة Intel في الفترة الأخيرة ، وتنوعت بثلاثة سلاسل كاملة
متاحة


للبيع في الوقت الحالي .




وعلي الرغم من ذلك ، فمن الناحية التقنية فان المعالجات المذكور اسماؤها في


العنوان يشتركون في شئ أساسي واحد ، كونهم جميعا معالجات رباعية النواة !




كيف ذلك ؟ وما الذي يميزهم عن بعض اذا ؟ وكيف يصب ذلك في بوتقة زيادة
الأداء المشهورة ؟




http://www.youtube.com/watch?v=tKX8bdHWgu8




أولا : معالجات Core 2 Quad :




وهي ببساطة شديدة عبارة عن معالجين من طراز Core 2 Duo ، ملتحمين في بعض ،


وكلنا نعرف أن معالج Core 2 Duo الواحد يحتوي علي نواتين ،


وعند دمج اثنين منه ، نحصل علي معالج بأربع أنوية ،


وهذا ببساطة يصنع معالجا من فئة Core 2 Quad .




والحقيقة أن مسألة دمج المعالجات للحصول علي عدد أكبر
من الأنوية ،


هي مجرد وسلية للهروب من مأزق زيادة التردد ، فالمعالج يتكون من مجموعة


دوائر كهربية تعمل علي نحو متكرر (متردد) عددا من المرات في الثانية ،


أي يتكون باختصار من (دوائر+تردد) ، فاذا لم تستطع زيادة التردد ، فقم
بزيادة عدد الدوائر !




ولقد قابل المصنعون حائطا ضخما عند محاولاتهم زيادة التردد عن حد معين ،


وتنوعت لبنات هذا الحائط ما بين ، استهلاك مرتفع للطاقة ، أو توليد حرارة
كبيرة ،


أو تسريب في الدوائر ، لذا فلم يكن أمامهم سوي زيادة عدد الدوائر.




ومن هنا جائت الفكرة بعمل المعالجات ثنائية النواة ورباعية النواة .




ولكن زيادة الدوائر لا تعني بالضرورة الحصول علي أداء أعلي علي نحو مباشر ،


حيث تتداخل معها عملية البرمجة .




والشئ الذي قد يغيب عن أذهان البعض ، هو أن
كتابة البرامج هي مرحلة


تالية لصناعة العتاد Hardware ، فتخيلوا معي أول حاسب في الوجود ،


هذا الحاسب تم تركيبه وتصميمه قبل تولد اي فكرة لكتابة برنامج ،


وقبل حتي وجود مهنة المبرمج ، وبعد صناعة الحاسب ، بدأ المهندسون


في كتابة البرامج لاستغلال هذا الحاسب في ما يريدون .




ولهذا نستطيع أن نتفهم أنه في زمن وجود معالج وحيد (بنواة وحيدة)


كان السائد في صناعة البرمجة هو كتابة البرامج لتعمل من أجل معالج واحد ،
وهو الموجود .




وكتابة البرامج هي عملية تنقسم الي شقين مهمين : كتابة البرنامج بلغة عالية
المستوي High Level ،


ثم كتابته بلغة منخفضة المستوي Low Level .




كتابة البرنامج بلغة عالية المستوي ، تتضمن قيام
المبرمج بتصميم وظائف البرنامج ،


وتصميم واجهته الرسومية ، وتنظيم مدخلات البرنامج ومفاتيحه وقوائمه .. الخ
،


وهي تسمي عالية المستوي لأن المبرمج يتعامل مع البرنامج الذي


يصممه كأنه شئ واحد : برنامج ، لا أكثر ولا أقل .




أما تصميم البرنامج بلغة منخفضة المستوي فيتضمن
التعامل مع البرنامج


كخطوات بسيطة ، كل خطوة يجب أن تتزامن مع تردد وحيد للمعالج ،


ويتم تنفيذها أثناء هذا التردد ، أي بعبارة أخري ، كأن المبرمج يقسم وظائف


البرنامج الي خطوات ، ثم يقسم الخطوات علي الترددات المتاحة ، وبذلك فهو


يتعامل مع الأمر من منظور منخفض ، حيث يضع في اعتباره سرعة المعالج
والذاكرة وتركيبهما


..الخ .. وكما هو واضح فهي أمور ليست لها علاقة بالبرمجة


كمعني متجرد ، وانما لها علاقة أكثر بطبيعة العتاد .




لذا نستطيع أن نتفهم كيف أنه عند ظهور المعالجات الثنائية وحتي الرباعية ،


كانت البرامج لا تزال تعمل وتصمم من للعمل علي المعالجات وحيدة النواة .




فكما رأينا ، فان عملية البرمجة منخفضة المستوي لا تضع في حسبانها


الا شيئا واحد ، وهو التردد (الخطوات) .




ومع ظهور المعالجات الثائية ، أصبح للمعالج قسمين أو نواتين متشابهتين
تماما ،


يعملان بنفس التردد ، لذا وجب علي لغة المستوي المنخفض أن تضع في


حسبانها تقسيم الخطوات الي قسمين (قسم لكل معالج) ،


ثم مزامنة كل قسم علي التردد الخاص بكل معالج .




ويتكرر الأمر كذلك مع المعالجات رباعية النواة ..


فالتقسيم سوف يكون الي أربعة اجزاء ، وكل جزء سوف يتجه الي أحد الأنوية .




وبالطبع لا داعي أن أقول ان مثل هذه العملية سوف تتطلب جهدا اضافيا من
المبرمج ،


والذي يقع عليه العبأ كله ، ولكنه في النهاية يظل سعيدا ،


لأن برنامجه سوف يعمل بطريقة أسرع ، وسوف يمكنه ذلك من حضر المزيد والمزيد
من الوظائف .




وهنا تبرز مشكلة خطيرة ، مشكلة سوف تبرر كيف أن زيادة
عدد دوائر المعالج


(زيادة عدد الأنوية) لا تعني بالضرورة زيادة الأداء الي الضعف أو الي
أربعة أضعاف ،


هذه المشكلة هي التقسيم نفسه !




قلنا أن خطوات البرنامج يتم تقسيمها ، لكن ماذا عن الخطوات التي لا يمكن
تقسيمها ؟




والخطوات التي لا يمكن أو يستحيل تقسيمها ، هي
خطوات يجب أن تتم بشكل متسلسل ،


فالخطوة 2 تتم بعد الخطوة 1 ، والخطوة 2 تعتمد علي الخطوة 1 ، لذلك لا يمكن
فصلها عنها .




وهذه هي الخضائص التي تميز الخطوات الغير ممكن فصلها : التسلسل والاعتمادية
.




ونضرب لذك مثالا تافها :




5+5 = ناتج الناتج + 10 = ؟؟؟؟




لا يمكنني فصل المعادلة الثانية عن الأولي ، فيجب اولا أن أعرف نتيجة
المعادلة


الأولي (الناتج) ، ثم أضيف الناتج الي المعادلة الثانية ، وبذلك تمت
الخطوتين بشكل متسلسل ،


ولأنني لا أستطيع حل المعادلة الثانية بدون ناتج الأولي ، قلت بأن
المعادلة الثانية تعتمد علي الأولي .




هذا المثال التافه يتكرر علي مقياس أكبر في أمثلة
أخري كثيرة ،


اكثر تعقيدا (أي تسلسلا واعتمادية) ، وباستخدام ارقام ومعادلات أكبر من
هاتين


المعادلتين بكثير .. الأمر الذي يعني في النهاية أن هناك خطوات لا يمكن
تقسيمها


علي عدة معالجات ليتم تنفيذها في نفس الوقت ، بل يجب تنفيذها بشكل متسلسل


وعلي معالج واحد ، (أيا كان هذا المعالج) ، ولذلك لا نحصل دائما علي ضعف


الأداء لبرنامج معين ، عند زيادة الأنوية .




لكن يمكنني الاستفادة من الأنوية المتعددة في أمر آخر ، فيبنما تقوم احد
الأنوية


بتولي الخطوات المتسلسة لهذا البرنامج ، أوكل الي الأنوية الأخري مهمة


معالجة خطوات أخري غير متسلسة ، أو خطوات متسلسة أخري ..الخ .




لكن ما يهمنا في هذا الأمر ، أن الخطوات المتسلسة الأولي لن تزيد سرعة


معالجتها بزيادة الأنوية ، ولكن ستزيد فقط مع زيادة التردد .




ومن هذا المنطلق يأتي معالج Q9770 ، بتردد 3.2GHz ، أي
أنه قادر علي


تنفيذ أكثر من 3 مليار خطوة في الثانية الواحدة ، ويحتوي المعالج علي
أربعة


أنوية تعمل بنفس التردد ، و يمكننا بكل هدوء القول بأن المعالج يعمل


بسرعة 12.8GHz ، علي أساس 3.2X4 ، ولكن هذا لا يصلح بسبب تلك


الخطوات المتسلسلة التي تكلمنا عنها ، والتي ستعمل علي نواة واحدة فقط


منهم بتردد 3.2GHz فقط .




يحتوي المعالج علي وظيفة لتوفير الطاقة ، وتقوم هذه الوظيفة بتخفيض تردد


الأنوية كلها ، اذا كان الحمل علي المعالج خفيفا .





ان شاء الله سنكمل البقيه في وقت اخر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
عضو ماهر
avatar
رعــد
عضو ماهر
اس ام اس النص

عدد المساهمات : 392

تاريخ التسجيل : 14/12/2009

مُساهمةموضوع: رد: معالجات core2Q ,core i5,core i7 الإثنين 19 أبريل - 18:40

ثانيا معالجات Core i7 :







أولا :




هذه المرة ، قامت Intel ، بتصميم معالج رباعي النواة من الصفر ، ولم تقم
بدمج معالجات قديمة مع


بعضها للحصول علي معالج Core i7 .




الا أن ذلك لا يعني بالضرورة أن المعالج الجديد مختلف تماما عن معالجات
Core 2 Quad القديمة ،


والحقيقة أن المعالج الجديد جاء مقلدا لمعمارية


Core 2 Quad في أجزاء كثيرة .




لكن لا ننكر ان المعالج جاء ببعض التحسينات في معماريته ، والتي تمكنه من
القيام ببعض المعليات بطريقة اسرع من معالجات Core 2 Quad


، اذا ما تساوي تردد الاثنين .




ومسألة التحسين في المعمارية بحيث تؤدي
عمليات المعالجة بطريقة افضل عند نفس التردد هي مسألة قديمة جدا ، ونراها
باستمرار.




وحتي نبدا مناقشتها يجب أن نفهم مسألة المعمارية جيدا ، فمعمارية معالج ما
هي طريقة ترتيب دوائره الكهربية بحيث تؤدي الغرض


المطلوب منها وهو معالجة البيانات .




قلنا من قبل أن برمجة المستوي المنخفض Low Level Programming ، تختص بتقسيم
الوظائف الي خطوات ،


ثم تقسيم الخطوات علي الترددات ، أليس كذلك ؟




حسنا ، هناك بعض الخطوات التي لا يمكن تبسيطها ، أي لا
يمكن تقسيمها علي خطوات صغيرة ، كل خطوة لتردد ،


وانما يجب القيام بها كجزء لا يتجزء ، ونتيجة لكون تلك العمليات كبيرة جدا ،
فان المعالج يستغرق أكثر من تردد


More than one clock cycle ليتم معالجتها ، هذا المعالج نقول عنه أن
معماريته متواضعة .




مثال مبسط علي ذلك ، هو العمليات الحسابية الطويلة جدا ، تلك العمليات عادة
ما يتم تقسيمها الي عدة اجزاء كل جزء يتم اتمامه


في تردد منفصل ، ويتم اجراء الجزء الذي يليه في التردد التالي .. وبهذا
يتم اجراء العملية الحسابية في 4 أو 5 من الترددات .




مثال : س2 + 4ص3 + ع3 + 3ف = ؟؟؟




س2 + 4ص3 / تردد أول .


ع3 + 3ف / تردد ثاني .


جمع ناتج العمليتين /تردد ثالث.




أما عن المعالج صاحب المعمارية البارعة ، فهو يتمكن من عمل تلك
الخطوات/العمليات المعقدة في تردد واحد ،


وترجع قدرته علي ذلك الي معماريته ، أو ترتيب الدوائر فيه ، حيث يكون كبيرا
أو متسعا بما فيه الكفاية بحيث


يقبل معالجة هذه العمليات في تردد واحد .




ملخص القول أن معمارية Core i7 جاءت بتحسينات في عدد
من العمليات وبالذات تلك العمليات ذات البيانات الطويلة ،


مثل تطبيقات أجهزة الخوادم Servers ، والتطبيقات التي تعتمد علي الذاكرة
المخبأة Cache Dependent Applications ،


مثل قواعد البيانات Data****s ، أما عن التحسينات في عمليات الألعاب
والبرامج ثلاثية الأبعاد فكانت معدومة تماما .


(ويلاحظ ذلك عند مقارنة Core 2 Q ب Core i7 في تطبيقات الألعاب ) .


____________________________




ثانيا :






أضافت Intel شيئا مهما جدا أيضا ، وهي تقنية Hyper Threading ، أو معالجة
المسارات المتعددة ، حيث تسمح لكل نواة


من أنوية المعالج بالظهور كأنها نواتين ، ومن ثم يظهر المعالج بأكمله ،
وكأنه ذا ثمان أنوية .. أربعة حقيقيون Physical Processors ،


أو ماديون ، وأربعة منطقيون Logical Processors ، أو افتراضيون .




ولنفهم كيف يحدث ذلك يجب ان نعلم أن أي معالج يتكون من جزء للتحكم في
البيانات وجزء آخر لتنفذيها /معالجتها .




جزء التحكم هذا يستقبل البيانات من الذاكرة ويرسل البيانات اليها كذلك ،
كما يستطيع الغاء تنفيذ عملية يتم معالجتها بالفعل Interruption ،


ويستطيع كذلك جدولة عناوين البيانات وبعض المهم الأخري .


يمكنني بكل بساطة اضافة تقنية Hyper Threading الي أي معالج .. وذلك عن
طريق مضاعفة عدد وحدات التحكم به ،


فبدلا من وحدة واحدة ، يتم جعلها اثنين ، وبذلك يحتوي هذا المعالج علي
وحدتي تحكم ووحدة تنفيذ واحدة فقط.




ولأن المعالج يحتوي علي وحدتي تحكم ، ولأن وحدة التحكم هي واجهة المعالج
عند التعامل مع البيانات ،


فان نظام التشغيل يظن في وجود معالجين اثنين ، بسبب وجود وحدتي تحكم ،
وبهذا يبدأ في ارسال البيانات علي قسمين!




وهنا تبرز نقطة خطيرة ، فهذا المعالج لا يحتوي الا
علي وحدة تنفيذ واحدة فقط ! ماذا يحدث اذا بعث نظام التشغيل بقسمين


مختلفين من البيانات الي هذا المعالج ؟




القسم الأول يذهب الي المعالج الحقيقي ، والقسم الثاني يذهب الي المعالج
الافتراضي (غير الحقيقي) ، ولأن المعالج يحتوي


علي وحدة تنفيذ واحدة فقط ، فان القسمين يذهبون الي نفس المعالج !!!




وينتهي الأمر بحدوث كارثة في المعالج حيث يفاجئ بقسمين مختلفين من البيانات
يتصارعان علي وحدة تنفيذ واحدة!




لذا ينبغي علي نظام التشغيل أن يميز بين المعالج
الافتراضي والمعالج الحقيقي .. وهذا ما يحدث فعلا ، فنظام التشغيل يقوم


بجدولة بعض العمليات علي المعالج الافتراضي (وجدولة هنا تعني أن تلك
العمليات موجودة قيد الانتظار ولا يتم معالجتها في الوقت الحالي ) ،


ثم يرسل العمليات العادية الي المعالج الحقيقي .. عند حدوث خطأ في أحد تلك
العمليات نتيجة خطا في الذاكرة (وهذا يحدث كثيرا ) ،


أو عندما يطلب المعالج العمليات من الذاكرة ولا يجدها ، فان المعالج ينتظر
الحصول علي البيانات الصحيحة من الذاكرة ،


او يتنظر الحصول علي البيانات المفقودة منها ، وبذلك فهو يضيع ترددات
ثمينة في انتظار لا طائل منه .. وهنا تتدخل وحدة التحكم الثانية ،


وتقوم بقطع العمليات عديمة الفائدة ، واستقبال تلك العمليات الموجودة في
وضع الانتظار ، وبذلك توفر تلك الترددات الثمينة الضائعة .




وهنا نفهم ان فائدة تقنية Hyper Threading هي فائدة نصفية ، فهي تعتبر
كمعالج احتياطي في حالة حدوث خطأ للمعالج الأصلي ..


ولا يمكننا أبدا مساواتها مع نواة حقيقة مهما حدث .




ومع ذلك فان المعالجات التي تدعمها تحصل علي منفعة جيدة منها ، لأن الأخطاء
كثير ما تحدث
وللحديث بقية
.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
عضو ماهر
avatar
شمسان
عضو ماهر
اس ام اس النص

عدد المساهمات : 274

تاريخ التسجيل : 03/01/2010

مُساهمةموضوع: رد: معالجات core2Q ,core i5,core i7 السبت 24 أبريل - 2:24

مشكور اخي رعد على الاهتمام
قمــــــــــــــــــــــــــه

في الروعه
الرجوع الى أعلى الصفحة اذهب الى الأسفل

معالجات core2Q ,core i5,core i7

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة

مواضيع مماثلة

-
» المفاقيد في المحولات..إعداد المهندس / علاء بيومي عبد العظيم
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ملتقى جحاف :: الملتقيات العلمية والتقنية :: تكنولوجيا-