المصدر: http://www.arabhardware.net/forum/showthread.php?t=133578
———-.
فروق المعمارية بين معالجات Core2Q و Core i5 و Core i7 .. ما الجديد؟
اختلفت معالجات شركة Intel في الفترة الأخيرة ، وتنوعت بثلاثة سلاسل كاملة متاحة للبيع في الوقت الحالي .
وعلي الرغم من ذلك ، فمن الناحية التقنية فان المعالجات المذكور اسماؤها في العنوان يشتركون في شئ أساسي واحد ، كونهم جميعا معالجات رباعية النواة !
كيف ذلك ؟ وما الذي يميزهم عن بعض اذا ؟ وكيف يصب ذلك في بوتقة زيادة الأداء المشهورة ؟
تعالوا نتعرف علي كل منهم معا :
أولا : معمارية معالجات 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 فقط .
يحتوي المعالج علي وظيفة لتوفير الطاقة ، وتقوم هذه الوظيفة بتخفيض تردد الأنوية كلها ، اذا كان الحمل علي المعالج خفيفا .
ثانيا معمارية معالجات 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 ، مثل قواعد البيانات Databases ، أما عن التحسينات في عمليات الألعاب والبرامج ثلاثية الأبعاد فكانت معدومة تماما . (ويلاحظ ذلك عند مقارنة Core 2 Q ب Core i7 في تطبيقات الألعاب ) .
____________________________
ثانيا :
أضافت Intel شيئا مهما جدا أيضا ، وهي تقنية Hyper Threading ، أو معالجة المسارات المتعددة ، حيث تسمح لكل نواة من أنوية المعالج بالظهور كأنها نواتين ، ومن ثم يظهر المعالج بأكمله ، وكأنه ذا ثمان أنوية .. أربعة حقيقيون Physical Processors ، أو ماديون ، وأربعة منطقيون Logical Processors ، أو افتراضيون .
ولنفهم كيف يحدث ذلك يجب ان نعلم أن أي معالج يتكون من جزء للتحكم في البيانات وجزء آخر لتنفذيها /معالجتها .
جزء التحكم هذا يستقبل البيانات من الذاكرة ويرسل البيانات اليها كذلك ، كما يستطيع الغاء تنفيذ عملية يتم معالجتها بالفعل Interruption ، ويستطيع كذلك جدولة عناوين البيانات وبعض المهم الأخري .
يمكنني بكل بساطة اضافة تقنية Hyper Threading الي أي معالج .. وذلك عن طريق مضاعفة عدد وحدات التحكم به ، فبدلا من وحدة واحدة ، يتم جعلها اثنين ، وبذلك يحتوي هذا المعالج علي وحدتي تحكم ووحدة تنفيذ واحدة فقط.
ولأن المعالج يحتوي علي وحدتي تحكم ، ولأن وحدة التحكم هي واجهة المعالج عند التعامل مع البيانات ، فان نظام التشغيل يظن في وجود معالجين اثنين ، بسبب وجود وحدتي تحكم ، وبهذا يبدأ في ارسال البيانات علي قسمين!
وهنا تبرز نقطة خطيرة ، فهذا المعالج لا يحتوي الا علي وحدة تنفيذ واحدة فقط ! ماذا يحدث اذا بعث نظام التشغيل بقسمين مختلفين من البيانات الي هذا المعالج ؟
القسم الأول يذهب الي المعالج الحقيقي ، والقسم الثاني يذهب الي المعالج الافتراضي (غير الحقيقي) ، ولأن المعالج يحتوي علي وحدة تنفيذ واحدة فقط ، فان القسمين يذهبون الي نفس المعالج !!!
وينتهي الأمر بحدوث كارثة في المعالج حيث يفاجئ بقسمين مختلفين من البيانات يتصارعان علي وحدة تنفيذ واحدة!
لذا ينبغي علي نظام التشغيل أن يميز بين المعالج الافتراضي والمعالج الحقيقي .. وهذا ما يحدث فعلا ، فنظام التشغيل يقوم بجدولة بعض العمليات علي المعالج الافتراضي (وجدولة هنا تعني أن تلك العمليات موجودة قيد الانتظار ولا يتم معالجتها في الوقت الحالي ) ، ثم يرسل العمليات العادية الي المعالج الحقيقي .. عند حدوث خطأ في أحد تلك العمليات نتيجة خطا في الذاكرة (وهذا يحدث كثيرا ) ، أو عندما يطلب المعالج العمليات من الذاكرة ولا يجدها ، فان المعالج ينتظر الحصول علي البيانات الصحيحة من الذاكرة ، او يتنظر الحصول علي البيانات المفقودة منها ، وبذلك فهو يضيع ترددات ثمينة في انتظار لا طائل منه .. وهنا تتدخل وحدة التحكم الثانية ، وتقوم بقطع العمليات عديمة الفائدة ، واستقبال تلك العمليات الموجودة في وضع الانتظار ، وبذلك توفر تلك الترددات الثمينة الضائعة .
وهنا نفهم ان فائدة تقنية Hyper Threading هي فائدة نصفية ، فهي تعتبر كمعالج احتياطي في حالة حدوث خطأ للمعالج الأصلي .. ولا يمكننا أبدا مساواتها مع نواة حقيقة مهما حدث .
ومع ذلك فان المعالجات التي تدعمها تحصل علي منفعة جيدة منها ، لأن الأخطاء كثير ما تحدث .
____________________________
ثالثا :
الاضافة الثالثة كانت هي دمج وحدة التحكم في الذاكرة بداخل المعالج .
ووحدة التجكم في الذاكرة تلك ، هي الوحدة التي تتحكم تحكما مطلقلا في الذاكرة العشوائية RAM ، فهي تعرف سرعتها وتتحمل عبأ معرفة عناوين الخلايا في الذاكرة كلها ، وهو عدد كبير بالطبع .
كما تقوم هذه الوحدة بتحديث الذاكرة العشوائية Refresh باستمرار ، حتي لا تفقد البيانات الموجودة فيها ، لأن الذاكرة العشوائية RAM هي مستودع مؤقت للبيانات ، بعكس القرص الصلب فهو المستودع الدائم .
وهي تختلف عن وحدة التحكم الخاصة بالمعالج ، فالأخيرة تستقبل البيانات من وحدة التحكم تلك ، وترسل البيانات اليها كذلك .
أي أن الخطوات تسير كالأتي :
الذاكرة —-> وحدة التحكم في الذاكرة باللوحة الأم —-> وحدة التحكم الخاصة بالمعالج —> وحدة التنفيذ في المعالج .
في السابق كانت وحدة التحكم في الذاكرة موجودة في اللوحة الأم ، والآن أصبحت موجودة في داخل المعالج نفسه ، أي أصبحت تقريبا جزءا منه ، وبذلك تم اختصار خطوة كاملة:
الذاكرة —-> وحدة التحكم بالذاكرة/المعالج —> وحدة التنفيذ في المعالج .
ونتيجة لهذا الاختصار ، فان زمن التأخير ما بين ارسال البيانات الي المعالج قد تم تخفيضه ، وحصل المعالج علي البيانات بشكل اسرع من ذي قبل .
ونتيجة لوجود وحدة التحكم في الذاكرة بداخل المعالج ، فان مسألة تغيير نوع الذاكرة (DDR3 أو DDR4 مثلا) ، أصبحت منتهية ، حيث تستلزم تغيير المعالج .. بينما في السابق كان بالامكان الاحتفاظ بالمعالج وتغيير اللوحة الأم.
في السابق كانت وحدة التحكم في الذاكرة ، متصلة بشرائح الذاكرة RAM عن طريق حزمتين من الأسلاك ، بعرض 64 bit ، أي أن العرض الكلي كان 128 bit ، وهو ما يطلق عليه Dual Channel .
نلاحظ هنا أن هاتين الحزمتين مشتركتين مع كل شرائح الذاكرة ، فلو قمت بتركيب أربع شرائح ذاكرة فان الحزمة الكلية لهما تظل 128 bit .
تم زيادة عرض الحزم الي 192 bit ، في معالجات Core i7 ، فاذا قمت بتركيب ثلاث شرائح ذاكرة ، فان عرض الحزمة سيكون 192 bit ، أما اذا قمت بتركيب اثنين ، فان عرض الحزمة يعود الي 128 bit ، واذا قمت بتركيب واحدة فان عرض الحزمة يعود الي الوراء اكثر ويصبح 64 bit .
زيادة عرض الحزمة لها فائدة جمّة في قدرة المعالج (أو وحدة التحكم في الذاكرة الموجودة بالمعالج ) ، علي التعامل مع مساحة أكبر من الذاكرة ، فلك أن تتخيل أن عرض 64 bit للحزمة ، يعني أن المعالج يستقبل أو يرسل 8 بايت فقط من البيانات (64/8) في كل تردد .
بينما عند عرض 128 bit ، تزيد هذه النسبة الي 16 بايت في كل تردد .
وعند عرض 192 بت ، تزيد النسبة الي 24 بايت في كل تردد .. وهذا مقدار أفضل بالتأكيد .
____________________________
رابعا : القلب ، وغير القلب .. Core و Uncore .
وهو مفهوم جديد قامت Intel بتقديمه ، حيث قسمت معالجها الي قسمين ، القلب Core ، ويختوي علي أربع أنوية ، وملحقاتهم من تقنية Hyper Threading ، والمستوي الأول والثاني من الذاكرة المخبأة Level1 and 2 Cache .
والقسم الثاني هو غير القلب Uncore ، ويحتوي علي مستوي الذاكرة المخبأة الثالث Level 3 Cache ، و يحتوي علي وحدة التحكم في الذاكرة ومنفذ الناقل الأمامي ، ويعمل هذا القسم بتردد اقل من القلب Core بحوالي 400~600 ميجاهرتز ، حسب طراز المعالج :
المستوي الثالث من الذاكرة L3 /Level 3 Cache ، هي اضافة جديدة لمعالجات Core i7 ، حيث لم تحتوي معالجات Core2Q علي مستوي ثالث ، وانما احتوت علي مستوي ثاني كبير .
فاحتوت معالجات Core i7 علي مستوي أول صغير ومستوي ثاني أكبر قليلا ، ومستوي ثالث ضخم 8MB .
واحتوت معالجات Core2Q ، علي مستوي أول صغير ، ومستوي ثاني كبير جدا 12MB .
وسبب قيام Intel بتقديم ذاكرة مخبأة من المستوي الثالث ، هي قابلية هذا النوع من التواصل مع الأربع أنوية بسرعة فائقة ، بينما عانت معالجات Core2Q من ضعف التواصل بين أنويتها بسبب ذاكرة L2 المستوي الثاني .
أما عن الناقل الأمامي ، فقد قامت Intel باستبدال الناقل القديم البطئ FSB ، بناقل اكثر سرعة ، وهو QPI DDR ، وهو اختصار Quick Path Interconnect on Double Data Rate ، أو الطريق الموصل السريع بتقنية ضخ البيانات المزدوجة .
حيث يخرج من المعالج حزمة بيانات بعرض 32 bit ، وتعمل علي تردد 3.2Ghz ، (كحد اقصي ) ، وتصل هذه الحزمة الي اللوحة الأم ، وتحديدا الي وحدة التحكم في الأجزاء الطرفية منها (القرص الصلب ، والسواقات وبطاقات الصوت ومنافذ USB ..الخ) كما تصل أيضا الي وحدة التحكم في بطاقة الرسوميات (والتي تكون منفصلة عن وحدة التحكم في الأجزاء الطرفية ، وذلك بسبب كم البيانات الهائل الذي تحتاجه بطاقة الرسوميات) .
عند مقارنة أقصي سرعة للناقل الجديد QPI ، مع أقصي سرعة للناقل القديم FSB ، نستيطع ملاحظة فارق السرعة ، فالناقل القديم يعمي بسرعة 400MHz ، كحد أقصي (تردد حقيقي ) أو 1600MHz كتردد فعال ، بينما يعمل الجديد بسرعة 3200MHz ، كتردد حقيقي أو 6400MHz كتردد فعال !
____________________________
خامسا : توفير الطاقة ، ووضعية Turbo .
تحتوي معالجات Core i7 ، علي عدد كبير من الدوائر الكهربية ، التي تعمل فقط من أجل توفير الطاقة ، ويمكننا القول أن معالجات Core i7 تحتوي علي معالج صغير لتنظيم الطاقة أثناء عمل الاربع أنوية وملحقاتهم ، ونتيجة لذلك يتمكن المعالج الصغير هذا من اغلاق أي نواة يرغب في اغلاقها ، اغلاقا تاما ، حيث لا تستهلك تلك النواة أي مقدار من الطاقة ، ويتم تحقيق ذلك بناء علي الحمل علي الأنوية ، فالنواة التي تكون غير مشغولة يتم اغلاقها تماما ، وهذا يوفر الطاقة التي قد تستهلكها .
يحتوي Core i7 علي خاصية تسمي Turbo Mode ، ويقوم بها معالج الطاقة الصغير أيضا ، حيث يزيد من سرعة المعالج ككل اذا كانت درجة حرارته منخفضة ، لكن الزيادة عادة ماتكون صغيرة جدا ، فتردد المعالج قد يزيد بمقدار 133MHz أو 266MHz فقط .
ثالثا : معمارية معالجات Core i5 :
الكلمة التي قد نصف بها معالجات Core i5 ، هي تكلفة التصنيع الأقل ، فلقد بذلت Intel مجهودا كبيرا لتقلل من امكانات هذا المعالج التقنية ، حتي تصبح تكلفة تصنيعه أقل ، وفي نفس الوقت تحافظ علي سرعته وأداؤه .
وأول التغييرات التي قامت بها هي :
-1-جعل عرض الحزمة الخاص بمتحكم الذاكرة 128 bit فقط ، مما يقلل من قدرة المعالج علي التعامل مع الذاكرة ، لكن لا ننسي أن معالجات Core2Q ، تعمل بنفس عرض الحزمة ولم تعاني من اختناقات في التعامل مع الذاكرة .
-2- الغاء تقنية Hyper Threading ، عن طريق ازالة كل وحدات التحكم الاضافية تماما .
-3-الغاء منفذ QPI من قسم Uncore تماما ، واستبداله بمنفذ اقل سرعة بكثير ، يسمي DMI ، أو Desktop Mangement Interface ، وهو يعمل بتردد 1250MHz كتردد حقيقي أو 2500MHz كتردد فعال ، بعرض حزمة 32 bit أيضا .
هذه المقارنة توضح الفروق بين هذه النواقل :
ناقل FSB : تردد حقيقي 400MHz ، تردد فعّال 1600MHz ، عرض حزمة 64 bit .
ناقل QPI : تردد حقيقي 3200MHz ، تردد فعال 6400MHz ، عرض حزمة 32 bit .
ناقل DMI : تردد حقيقي 1250MHz ، تردد فعال 2500MHz ، عرض حزمة 32 bit .
ناقل HT (معالجات AMD) : تردد حقيقي 2000MHz، تردد فعال 4000MHz ، عرض حزمة 16 bit
يدعم الناقل ترددات أعلي من ذلك (3200MHz حقيقي / 6400MHz فعّال ) .
*عرض الحزمة واحد لكل من التردد الحقيقي والفعّال .
لم يمنع ذلك intel ، من تقديم بعض الخصائص الجديدة في معالجات Core i5 :
1-وحدة تحكم في منفذ PCI-Express ، مدمجة بالمعالج ، حيث كانت موضوعة علي اللوحة الأم في السابق ، وهي المسئولة عن تحديد سرعة المنفذ ، واستقبال وارسال البيانات منه واليه ، وفي السابق كانت الوحدة مدمجة في اللوحة الأم ، أما الأن وفي معالجات Core i5 فقط ، فقد اصبحت جزءا من المعالج ، وبالتحديد من جزء الـ Uncore منه ، واصبح للمعالج تحكم كامل في هذا المنفذ .
في السابق كان مخطط البيانات كالتالي :
بطاقة الرسوميات —> وحدة التحكم في منفذ PCI-E — > وحدة التحكم الخاصة بالمعالج —> وحدة التنفيذ بالمعالج .
والآن في معالجات Core i5 أصبحت كالتالي :
بطاقة الرسوميات —> وحدة التحكم في منفذ PCI-E /المعالج —> وحدة التنفيذ بالمعالج .
ونتيجة لهذا الاختصار أيضا ، زادت سرعة تعامل المعالج مع هذا المنفذ .
2- تم تطوير المعالج الصغير المسئول عن ادارة الطاقة ، بحيث اصبح الأن يستطيع تشغيل أي نواة من الأربع بأي تردد ، فيستطيع خفض ترددها الأصلي أو زيادتها ، فالنواة التي يكون الحمل عليها خفيفا فانها تعمل بتردد منخفض ، أما اذا كان الحمل كبيرا فانها تعمل بتردد أعلي حتي من ترددها الأصلي ، بالاضافة لقدرته علي غلق النواة تماما .
وتفتح هذه الخاصية آفاقا جديدة ، ففي التطبيقات التي لا تستغل أكثر من نواتين علي سبيل المثال ، فان معالج الطاقة الصغير يقوم بغلق نواتين اغلاقا تاما ، ثم يكسر سرعة النواتين المشغولتين الي ترددات كبيرة ، فاذا كان تردد النواة 2.6GHz ، فان ترددها قد يصل الي 3.0GHz ، وفي حالة كان التطبيق يستغل نواة واحدة فقط ، فان التردد يزيد الي 3.2GHz .
تعديل : نستطيع أن نقول ان كسر السرعة يزيد من التردد بمقدار 300MHz في حالة الضغط علي ثلاث أو أربع أنوية .
ويزيده بمقدار 600MHz ، في حالة الضغط علي نواة واحدة أو نواتين .. وتبقي باقي الأنوية مغلقة .
وكلمة مغلقة عموما ليست دقيقة تماما ، فالأنوية تدخل في وضع يشبه وضعية النوم Sleep ، حيث تستهلك مقدارا مهملا من الطاقة .
وبهذا تعدل معالجات Core i5 من نفسها ، حسب الاستهلاك ، فهي تعمل كمعالج رباعي النواة مع التطبيقات متعددة المسارات ، وتعمل كمعالج أحادي النواة مرتفع التردد مع التطبيقات أحادية المسار .