إنتل إيتانيوم 2

إنتل إيتانيوم 2
المعالج إيتانيوم 2 هو المعالج الثاني لعائلة معالجات Itanium Processor Family (IPF)وظهر له عدة تحسينات مترافقة مع نماذج أخرى لنفس التصميم.
تهدف معالجات الإيتانيوم إلى نقل تصميم المعالجات من معمارية Risc التقليدية إلى جيل جديد يتناسب مع التطلبات الكبيرة على المعالجة ضمن الحاسب. يعتمد بشكل صريح على مبدأ
instruction-level parallelism.
هذه بعض مواصفات المعالج
يعمل بتردد ساعة 733 MHz to 1.66 GHz
سرعة الناقل الامامي FSB 300 MHz to 667 MHz
عدد الأنوية 1 أو 2
سرعة Bus المعالج 400–667 MHz
نواة 180 nm - 90 nm حسب اختلاف التصاميم
عدد الترانستورات 221 مليون
الكاش: 256 kb من المستوى الثاني وما بين 1.5 إلى 24 MB في الاجيال الجديدة
دعم EPIC
ان معمارية Risc جاءت للتقليل من التعقيد العتادي لتصاميم ال Cisc
وبعد اجيال عديدة عدنا إلى نقطة أصبحت فيها معالجات Risc معقدة من ناحية التصميم العتادي.ونتيجة لذلك ظهرت عدة تقنيات للعودة إلى نقطة نخفف بها من تعقيد التصميم العتادي بالمقابل أداء أعلى وقابلية للتطور ومن هذه المعماريات ظهرت EPIC.
يعمل إيتانيوم2 وفق مبدا (explicitly parallel instruction computing)EPIC التي تسمح للمعالج بان يقوم بتنفيذ عدة تعليمات في دورة واحدة. كما تقوم بتطبيق لمعمارية very long instruction word (VLIW).
الفائدة من EPIC : تقليل تعقيد تصميم العتاد وجعل المعالج يتفرغ لمعالجة امور أخرى نقل بعض تعقيدات التصميم العتادي إلى البرمجيات القابلة للتعديل.
بالمقابل نجد زيادة تعقيد في تصميم المترجم compiler وطريقة تنفيذ التعليمات لهذا فقد خصص لهذا المعالج أنظمة تشغيل تستثمر قدرات EPIC كما في HP-UX
وقد عملت شركة إنتل على تطوير مترجمات لتوافق بالعمل على منصة الإيتانيوم على سبيل المثال لا الحصر يوجد مترجمات GCC وMS Visual Studio 2005 والإصدارات التالية له. كانت هذه المترجمات قادرة على إعطاء machine code للإيتانيوم كما دعمت شركة HP برمجيات مفتوحة المصدر من اجل دعم مترجمات وبرمجيات قادرة على العمل مع منصات الإيتانيوم.
لقد قامت هذه المعمارية بالتقدم على قصور معمارية معالجات Risc
دعم SIMD
معمارية المعالج إيتانيوم2 تعرف نمط تفرعي SIMD لمعالجة عمليات الفاصلة العائمة مما يؤدي إلى تحسين الأداء بشكل ملحوظ لمعالجة المعطيات. بحيث تتحكم تعليمة مفردة للآلة في التنفيذ المتزامن لعدد من عناصر المعالجة وفق قاعدة الخطوة المتشابكة ولكل عنصر معالجة ذاكرة معطيات مرفقة به ولذا فإن كل تعليمة تنفذ على مجموعة متختلفة من المعطيات من قبل معالجات مختلفة
الخصائص الهندسية لمعالجات إيتانيوم
لقد عمل معالج إيتانيوم2 على تحقيق بعض التقنيات predication, speculation, branch prediction كما يستعمل register renaming في هندسة المعالج
التحسينات على مستوى ملف السجلات
التحسينات على مستوى Branching القفز
التحسينات على مستوى التعامل مع الذاكرة
انابيب خط المعالجة
التعامل مع الذاكرة الافتراضية
إنتل إيتانيوم (9100) المستقبل
التحسينات على مستوى ملف السجلات
يتطلب استعمال الاجرائيات تعليمتين وهما تعليمة الاستدعاء call التي تنقل التنفيذ من الموضع الحالي إلى الاجراء المطلوب وتعليمة العودة return التي تعيد التنفيذ من الاجراء إلى المكان الذي استعديت منه وهاتان التعليمتان هما شكلان من اشكال تعليمات التفريع
في البرمجة الإجرائية والغرضية التوجه وجد انه يتم استدعاء الإجرائيات بشكل متكرر ناهيك عن التبدلات الحاصلة في سجلات المعالج بشكل كبير نتيجة الاستدعاءات المتككرة حيث تاخذ وقت كبير من معالجة الحاسب. لذلك قام معالج إيتانيوم بايجاد سجل فيزيائي كبير Large physical integer register file stack يحوي 128 سجل بحيث يحوي 32 سجل fixed و96 سجل stacked
كل استدعاء لإجرائية معينة يمكن ان تحجر إلى ما اقصاه 96 سجل من سجلات ال stacked بينما يمكنها الوصول إلى 32 سجل من سجلات fixed.كل سجل يملك register frame والذي يتميز بالليونة بالحجم على عكس معمارية Sparc.
معظم استدعاءات الاجرائيات تتطلب القليل من السجلات الجديدة للحجز بحيث يمكن إجراء العديد من الاستدعاءات قبل أن يتم تجاوز الحد الاعظمي لعدد السجلات.
إذا انتهى المعالج من تنفيذ الاجرائية ولم يتم تجاوز الحد الاعظم من السجلات المذكورة آنفاً فلا يقوم بحجز مساحة من الذاكرة لتخزين وتحميل محتوى السجلات. هذه الطريقة فعالة جدا لتقلل من عمليات استدعاء تعليمات البرنامج آو الاجرائية من الذاكرة كل مرة وتسرع من عمل الاجرائية بنسبة احصائية 23%.
يملك المعالج أيضا
128 سجل من اجل الارقام.
128 سجل للفاصلة العائمة.
64 one-bit للتنبؤ.
8 سجلات للتفرع.
المعالج إيتانيوم مجهز Register Save Engine (RSE) بشكل عتادي
حيث مهمة ال RSE هي التعامل مع شروط ال overflow وال underflow في سجلات الارقام بشكل اوتوماتيكي عندما تستدعى اجرائية وتستنفذ عدد السجلات الفيزيائية المتاحة سيقوم RSE بتفريغ السجلات وحفظ السجلات القديمة ضمن الذاكرة.وفي حال تم استدعاء تلك الاجرائية مرة أخرى سيقوم RSE بشكل آلي باسترجاع القيم المناسبة من الذاكرة وحفظها ضمن السجلات (العتاد RSE متوفر حسب الطلب) بحيث يوجد بعض نماذج معالجات إيتانيوم 2 التي تدعم هذه الخاصية.
التحسينات على مستوى Branching القفز
يدعم المعالج إيتانيوم التنبؤ بالقفز Predication Branching بحيث يتوفر بعض العتاديات ضمن هذا المعالج التي توفر هذه الميزة والتي تهدف إلى تسريع عمل ال pipeline في حالة التفرعات بحيث ينفذ هذا المعالج قسمي الشرط فورا وعند تحقق احداها يتم تنفيذها بشكل مباشر وذلك لتسريع عمل المعالج. طبعا عند الحديث عن هذه الميزة يوجد لدينا نوعين من التفرع التفرع الأول يدعى if-conversion والذي هو بكل بساطة عبارة عن if –else فقط والتفرع المتعدد Multi-way branching كما في حالة Switch
يدعم معالج الإيتانيوم 2 معالجة تفرعية تصل إلى 6 معالجات تنبؤية للتفرع في دورة واحدة. كأن يكون لدينا Switch وضمنها 6 خيارات ممكنة سيقوم معالج الإيتانيوم بتنفيذ التعليمات الست مباشرة منتظرا الانتقال إلى الحالة المنتقاة
تضمن معالجات الإيتانيوم 2 64-bit من السجلات لدعم عمليات القفز حتى تسمح للمترجمات بتحديد مكان القفز قبل البدء بمعالجة تعليمة القفز branch instruction
Loop branch control. تهدف هذه الخاصية إلى تسريع عمل الحلقات وهي مدعمة من إيتانيوم 2 وإيتانيوم1
Early Branch Condition Testing
إن تقنية Epic تفصل ما بين شرط القفز وتعليمة القفز بحد ذاتها هذه الميزة تجعل اختبار القفز يتم باكراً حتى يسمح للعتاد بمعرفة الجهة الصحيحة لجهة القفز قبل أن تصل إلى تعليمة القفز.
التحسينات على مستوى التعامل مع الذاكرة
لقد ظهرت محاولات عدة لتخفيف التحميل من وإلى الذاكرة فظهرت عملية التنبؤ ومحاولة الالتفاف بطرق برمجية للتقليل من عمليات التحميل والتخزين في ذاكرة النظام.
ان عملية التنبؤ تهدف بشكل رئيسي إلى تخفيف الذهاب إلى ذاكرة النظام كونها مكلفة،
لكن عاجلا ام آجلا سيتم الذهاب إلى الذاكرة واحضار المعطيات منها لهذا السبب قام مهندسو إنتل بالعمل على تحسينات مهمة على مستوى التعامل مع الذاكرة بسبب اهمية العملية.
لهذا السبب فإن معالج إيتنايوم 2 يدعم بتقنية ال epic حلول برمجية وعتادية لتحقيق المطلوب
بحيث يدعم المعالج العمليات التالية Control Speculation –Data Speculation
انابيب خط المعالجة
انابيب خط المعالجة
-يستطيع معالج إيتانيوم 2 معالجة 6 تعليمات بشكل عام في خط ال pipeline بحيث يحدد المعالج التعليمات بشكل مخصص ب 4 عمليات تعامل مع ذاكرة و6 عمليات ALU و4 عمليات على الارقام و6 عمليات تفرع و2 عملية فاصلة عائمة
-يتالف انبوب معالجة المعالج من 8 مراحل
التعامل مع الذاكرة الافتراضية
التعامل مع الذاكرة الافتراضية
يملك 64 بت عنوان افتراضي Virtual Address
يملك 50 بت عنوان فيزيائي Physical Address
تفاصيل المعالج إيتانيوم2
الجدول التالي يوضح تفاصيل المعالج إيتانيوم1 وإيتانيوم2
إنتل إيتانيوم (9100) المستقبل
إنتل إيتانيوم (9100) المستقبل
إنتل إيتانيوم (9100) ثناية النواة هي أحد المعالجات التي أطلقتها شركة إنتل ومن مزايا الجديدة في السلسلة إيتانيوم 9100 تقنية التحويل حسب الطلب، التي تقلل من استهلاك الخادم للطاقة أثناء فترات الاستخدام المتخفض، ويمكن أن يؤدي إلى توفير في تكاليف الإنتاج.
وتمتاز السلسلة 9100 بسرعات تصل إلى 66.1 GHz وناقل أمامي بتردد 667 ميغاهيرتز ضمن مستوى استطاعة يبلغ 104واط، وتمتاز أيضا بانخفاض استهلاكها للطاقة.
المراجع
محمد وسيم أبوزينة
.intel.com
.carbon.cudenver.edu
HP References
يعتبر المعالج (إيتانيوم) الجيل الثاني للمعالج (Itanium ISA) ويمكن تمثيل بنية هذا المعالج بالشكل:
بنية هذا المعالج
يستخدم تقنية ال EPIC (Explicitly Parallel Instruction Computing) والذي يعمل على تحقيق درجة عالية من التفريع باستخدام تقنية التفريع على مستوى التعليمة ILP (Instruction- level Parallesim)-.
يستطيع تنيفذ 6 تعليمات (خلال دور الساعة) وبعمق 8 مراحل للتوارد ويعمل على التردد 1.5 GHZ.
كلمة التعليمة 128 بت ويمكن تقسيم التعليمات إلى:
تعليمات المعالجة وهي
تعليمة الجلب المسبق (prefetch)
وهي عملية نقل تعليمات خطوط الذاكرة الخابية من الطبقة العليا للخابية –الخاصة بالتعليمات- أو الذاكرة إلى طبقة الخابية الأولى (L1) كما أن هذه التعليمة تعتمد على الاستراتيجية المستخدمة بعملية التنبؤ بالتفرع (وهذا المعالج يسمح بآليتي التنبؤ الستاتيكي والديناميكي).
عملية الجلب fetch)
تسمح هذه العملية بجلب كلمتين من التعليمات إلى خط التوازي من طبقة الخابية (L1) خلال نبضة الساعة مما يسمح بتنفيذ 6 تعليمات خلال نبضة الساعة.
تعليمات التنفيذ، وتتألف وحدة التنفيذ من
وحدات التنفيذ
(6) وحدات خاصة بالعمليات على الأعداد الصحيحة (integer).
وحدتي تحميل (load) ووحدتي تخزين (store).
(3) وحدات خاصة بعمليات التفرع (branch).
(4) وحدات خاصة بالعمليات على أعداد الفاصلة العائمة (FP) وهي تتألف من: وحدتين للأعداد ذو الدقة المفردة.
وحدتين للأعداد ذو الدقة المضاعفة.كما أنها تدعم التصنيف (سيمد).
(6) وحدات لمعالجة الوسائط المتعددة (Multimedia) وهي تندرج أيضاً تحت التصنيف (SIMD).
السجلات وتقسم إلى
(128) سجل خاص بالأعداد الصحيحة.
(128) سجل خاص بأعداد الفاصلة العائمة.
(8) سجلات خاصة بعملية التفرع.
(64) سجل خاص بعملية التنبؤ.
v الذاكرة الخابية في هذا المعالج غير مغلقة وتتألف من ثلاث طبقات هي:
v
طبقات الخابية للمعالج
الطبقة الأولى من الخابية (L1): حجمها 16 KB وهي تقسم إلى قسمين:
قسم خاص بالمعطيات (L1D).
قسم خاص بالتعليمات (L1I).
الطبقة الثانية من الخابية (L2): حجمها 256 KB – للمعطيات والتعليمات -.
الطبقة الثالثة من الخابية (L3): حجمها يتراوح (1.5 – 24) MB.
ان المسرى بين هذه الطبقات يسمى بمنفذ التوسع (Scalability Port) وهو قادر على نقل (2×128) بت خلال نبضة الساعة وبسرعة تصل إلى 533MHZ (تنقل بـ 17.056 GB/s).
المراجع المستخدمة
Intel Itanium 2 Processor
هذا المعالج هو نموذج من عائلة معالجات الـIntel’s IA-64 64-bit وهو أيضا" التصميم الثاني من تصميمات الـItanium، المعالج الأول من الـItanium ظهر في عام 2001 ولكنّه لم ينتشر لأنّ الـItanium 2 تبعه بسرعة مع مستويات أداء تبلغ ضعف مستوى أداء المعالج الأول.
يمتلك هذا المعالج 6 خطوط توارد بـ8 مراحل.
موارد هذا المعالج:
6 وحدات حساب ومنطق خاصة بالأعداد الصحيحة
6 وحدات حساب ومنطق لمعالجة الوسائط المتعددة.
2 وحدة تحميل،2 وحدة تخزين.
3 وحدات تفريع.
2 وحدة للفاصلة العائمة بدقة موسعة، 2 وحدة للفاصلة العائمة بدقة مفردة.
128 سجل خاصة للأعداد الصحيحة،128 سجل خاصة بالفاصلة العائمة،64 سجل خاصة بالتنبؤ.
يستطيع هذا المعالج أن يقوم بعمليات الجلب وتصدير الأوامر والتنفيذ لـ6 تعليمات أو (2 حزمة) خلال دور الساعة.
يمتلك ذاكرة مخبئية بثلاث مستويات لتخفيض زمن النفاذ للذاكرة.
يستخدم تعليمة جلب مسبقة ديناميكيّاً (أي يقوم بجلب التعليمات ويُخزّنها في رتل لوقت حاجته لها)، ويقوم بالتنبّؤ بالتفرع.
صُمِّم هذا المعالج ليحقق درجة عالية من التوازي، كما أنه يُحقق تلاحم وثيق بين الهاردوير والسوفت وير وذلك عن طريق:
يستغل المترجم (compiler) الوقت الازم للترجمة ليقوم بتحسين الكود.
المعالج يُنفِّذ التعليمات بأسرع مايمكن.
خلاصة
أخر معالج تمَّ إصداره من الـItanium 2 رفع الأداء من 30%-50% بالنسبة لمعالجات الـItanium التقليديّة.
معالجات الـItanium 2 مناسبة للمتطلبات الكبيرة كتدعيم قواعد المعطيات.
في وسط عام الـ2003 : كان معالج الـItanium 2 بذاكرة مخبئية سعتها 6MB وبثلاث مستويات، وكان يعمل بتردد 1.5GHZ وكان يُدعى سابقاً بـMadison.
في نهاية عام الـ2003: معالج ذوو كمونيّة منخفضة تم إصداره.
في وسط عام 2004: تم إصدار معالج Madison ولكن مع ذاكرة خابية بسعة 9MB وبثلاث مستويات مع زيادة في تردد هذا المعالج.
في عام 2005: معالج Montecito أضاف ميزة جديدة وهي (النواة المزدوجة) وتعني معالجين منطقيين منفصلين على رقاقة واحدة.
المراجع
معالجات إنتل