سبارك
سبارك SPARC (بنية المعالج القابل للتوسع) هي مجموعة تعليمات ريسك RISC طورتها شركة صن ميكروسيستمز وأصدرتها في منتصف عام 1987.
سبارك علامة تجارية مسجلة لشركة سبارك إنترناشونال SPARC International، وهي مؤسسة أنشئت عام 1989 لتطويربنية سبارك وإدارة علامات سبارك التجارية وتقديم اختبار مطابقة المواصفات. بدأ تصميم واستخدام تطبيقات بنية سبارك 32-بت الأصلية في محطة عمل صن-4 Sun-4 workstation وأنظمة الخوادم وحلت محل أنظمة صن-3 التي بنيت على عائلة المعالجات موتورولا 68000 Motoro]]a 68000. ثم استخدمت معالجات سبارك فيما بعد في خوادم إس إم بي SMP من إنتاج شركة صن ميكروسيستمز وسولبورن Solbourne وفوجيتسو وآخرين، وتم تصميمها لتجري العمليات التي تحتاج 64-بت.
كان الخطة أن تفتح سبارك انترناشيونال بنية سبارك لإتاحة بيئة أوسع لتطوير التصميم الذي تم ترخيصه لعدد من الشركات المصنعة بما فيها تكساس إنسترمنتز Texas Instruments وأتميل Atmel وسيبرس سيميكوندكتور Cypress Semiconductor وفوجيتسو. ونتيجة لوجود سبارك إنترناشيونال أصبحت بنية سبارك متاحة بالكامل ولا تمتلكها جهة بعينها.
في مارس 2006 أصدرت صن ميكروسيستمزالتصميم الكامل لمعالجها الدقيق ألتراسبارك تي1 UltraSPARC T1، وهو مفتوح المصدر ومتاح على OpenSPARC.net، وسمته أوبن سبارك تي1 OpenSPARC T1. وفي عام 2007 أصدرت صن أيضا تصميم مفتوح المصدر لمعالجها الدقيق ألتراسبارك تي2 تحت اسم أوبن سبارك تي2، أنظر OpenSPARC.net.
وفي يونيو 2009 استخدمت فوجيتسو تصميم سبارك لعمل معالج Venus SPARC64 VIIIfx القادر على إجراء 128 مليار عملية فاصلة عائمة في الثانية (128 جي فلوب).
تأثرت بنية سبارك بشدة بتصاميم ريسك السابقة عليها بما فيها ريسك 1 و2 الذين صدرا عن جامعة كاليفورنيا، بركلي وآي بي إم 801 IBM 801. كانت هذه التصميمات الأولى تتيح أقل قدر ممكن من الإمكانيات وأكواد العمليات opcodes، وكانت تحاول تنفيذ الأوامر بمعدل أمر واحد في كل دورة ساعة تقريبا، وهذا يجعلها مشابهة بنية ميبز في عدة وجوه مثل غياب بعض العمليات كالضرب والقسمة، خاصية أخرى من خصائص سبارك التي تأثرت بإصدارات ريسك الأولى هي خاصية أمر تأخير التفرع.
يحتوي معالج سبارك عادة على 160 سجل عام، يستطيع أي برنامج الوصول إلي 32 منهم فقط في أي وقت، 8 منهم يستطيع النظام بأكمله استخدامهم (واحد منهم g0 يحتوي دائمأعلى القيمة 0 لذلك 7 سجلات فقط هم القابلين للاستخدام) و24 من مكدس السجلات، وهذه تمثل ما يسمى بنافذة السجلات وتتحرك هذه النافذة صعودا وهبوطا في مكدس السجلات مع عملية مناداة\رجوع الدالة، تحتوي كل نافذة على 8 سجلات وتشترك في 8 مع كل من النوافذ المجاورة، وتستخدم السجلات المشتركة في تمرير متغيرات الدالة والقيم الراجعة، وتستخدم السجلات المحلية في الاحتفاظ بالقيم التي تستخدم داخل نطاق الدالة نفسها.
ومصدر تعبير "قابل للتوسع" المستخدم مع سبارك هو أن مواصفات سبارك تتيح للتطبيقات المختلفة أن تبدأ من المعالجات المدمجة وتتوسع وصولا إلى معالجات الخوادم العملاقة، تشترك جميعا في نفس مجموعة التعليمات الأساسية (الغير مميزة). أحد معاملات التصميم القابلة للتوسع هو عدد نوافذ االسجلات. تسمح مواصفات المعالج بـ 3 نوافذ إلى 32 بالتالي يمكن لأي تطبيق أن يختار استخدام الـ32 نافذة جميعا لتحقيق أفضل كفاءة لمكدس المناداة أو استخدام 3 فقط لتقليل زمن تغيير السياق أو استخدام أي رقم بينهما. من الأنظمة التي تحتوي على خاصية ملف السجلات المماثلة إنتل آي960 Intel i960 وإيتانيوم (معالج) وإيه إم دي 29000 AMD 29000.
وخضعت البنية لعدة مراجعات، وأضيفت لها عمليتي الضرب والقسمة في الإصدار 8، وأهم تحديث جرى عليها هو الإصدار 9 وهو بيان مواصفات سبارك 64-بت (لكل من العناوين والبيانات) الذي نشر في 1994.
في الإصدار 8 من سبارك يحتوي ملف سجلات الفاصلة العائمة على 16 سجل مزدوج الدقة، يمكن استخدام أي منهم كسجل أحادي الدقة بمجمل 32 سجل أحادي الدقة، ويمكن استخدام أي رقم فردي-زوجي من أزواج السجلات مزدوجة الدقة كسجلات رباعية الدقة، ويسمح العدد هنا ب 8 سجلات رباعية الدقة. وأضاف الإصدار9 من سبارك 16 سجل مزدوج الدقة (التي يمكن استخدامها أيضا كـ 8 سجلات رباعية الدقة) لكن لا يمكن استخدام هذه السجلات الإضافية كسجلات أحادية الدقة.
تؤدي عمليات الإضافة والطرح الموسومة حساباتها على اعتبار أن آخر 2 بت لا تشارك في العملية الحسابية، وهذا قد يفيد\يكون له فائدة في تطبيق نظام وقت التشغيل لـلغة ليسب وإم إل وعدد من اللغات المشابهة التي تستخدم الأعداد الصحيحة الموسومة.
أسلوب ترتيب البيانات (endianness) المستخدم في سبارك الإصدار8 32-بت هو ترتيب بالإعلى (big-endian). سبارك الإصدار9 64-بت يستخدم الترتيب بالإعلى في التعليمات بينما يمكنه الوصول للبيانات بالتريب بالأعلى أو الترتيب بالأدنى للبايتات وهو ما يتحدد إما على مستوى أوامر البرنامج (load/store) أو على مستوى صفحة الذاكرة memory page (من خلال إعدادات وحدة إدارة الذاكرة MMU)، وتستخدم الوسيلة الأخيرة عادة في الوصول إلى بيانات من أجهزة تستخدم الترتيب بالأدنى دائما مثل ناقلات PCI.
خضعت البنية لثلاث مراجات رئيسية، أول مراجعة نشرت كانت سبارك 32-بت الإصدار7 (V7) في 1986، وسبارك الإصدار8 وهو تعريف محسن لبنية سبارك تم إصداره عام 1990. الفروق الرئيسية بين الإصدارين كانت إضافة عمليتي الضرب والقسمة، ووصول عمليات الفاصلة العائمة الرياضية "مطولة الدقة" 80-بت إلى عمليات "رباعية الدقة" 128-بت. وكان سبارك الإصدار8 بمثابة الأساس الذي بني عليه معيار IEEE 1754-1994 لبنية المعالج الدقيق 32-بت.
صدر سبارك الإصدار9 - 64-بت –عن سبارك إنترناشيونال في 1993 وقامت بتطويره اللجنة المسئولة عن بنية سبارك التي ضمت كلا من أمدال كوربروريشن Amdahl Corporation وفوجيتسو وآي سي إل ICL وإل إس آي لوجيك LSI Logic وباناسونيك وفيليبس Phi]]ips وروس تكنولوجي Ross Technology وصن ميكروسيستمز وتكساس إنسترمنتز.
في 2002 أصدرت شركتي صن وفوجيتسو بيان مواصفات البرمجة المشتركة 1 Joint Programming Specification 1 (JPS1) لسبارك تصف وظائف المعالج المتطابقة في وحدات المعالجة المركزية لكلا الشركتين ("عمومية"). أول وحدة معالجة مركزية مطابقة لـموصفات JPS1 كانت ألتراسبارك3 من شركة صن وسبارك64 في من شركة فوجيتسو. وتضمنت "ملحقات التطبيق" الخاصة بكل معالج الوظائف التي لم يرد ذكرها في JPS1.
في بدايات عام 2006 أصدرت شركة صن بيان مواصفات مفصل باسم بنية ألتراسبارك 2005 UltraSPARC Architecture 2005، وهذه لم تتضمن الأجزاء الغير مميزة ومعظم الأجزاء المميزة في سبارك الإصدار9 فحسب ولكن كل ما تم إضافته لبنية معالجات ألتراسبارك (مثل CMT وhyperpriviliged وVIS 1 وVIS 2) بدءً من تطبيق ألتراسبارك تي1، كما تضمنت هذه المواصفات كل إضافات شركة صن القياسية وتطابق بيان مواصفات سبارك الإصدار9 المستوى 1.
وأصدرت صن في 2007 بيان مواصفات أحدث وهو بنية ألتراسبارك 2007 UltraSPARC Architecture 2007 وتطبيق ألتراسبارك تي2 يطابق هذه المواصفات.
البنية متوافقة ثنائيا في كل إصداراتها بدايةً من سبارك الإصدار7 عام 1987 حتى إصدارات ألتراسبارك من صن.
ومن ضمن تطبيقات سبارك العديدة كانت تطبيقات شركة صن سوبرسبارك SuperSPARC وألتراسبارك-1 UltraSPARC-I من أكثرها شهرة واستخدمت في مؤسسة سبيك SPEC كنظام مرجعي لقياس آداء CPU95 وCPU2000، واستخدمت المؤسسة أيضا ألتراسبارك-2 296 ميجاهيرتز كنظام مرجعي لقياس آداء CPU2006.
تم ترخيص بنية سبارك للعديد من الشركات التي طورت وصنعت التطبيقات المختلفة مثل:
يحتوي هذا الجدول على مواصفات بعض معالجات سبارك: التردد (ميجاهيرتز), رقم الإصدار، سنة الإصدار، عدد الخيوط threads (الخيوط في النواة الواحدة مضروبا في عدد الأنوية)، عملية التصنيع (ميكرومتر)، عدد الترانزستورات (مليون)، حجم القالب (مليمتر مربع)، عدد إبر الإدخال\الإخراج، الطاقة المبددة (وات)، فرق الجهد، حجم الذاكرة المخبأةـــــبيانات، تعليمات، L2 وL3 (كيبيبايت)
أجهزة سبارك تستخدم عادة صن أو إس أو سولاريس أو أوبن سولاريس، ولكنها استخدمت أنظمة أخرى مثل نكست ستيب NeXTSTEP وآر تيمز RTEMS وفري بي إس دي وأوبن بي إس دي ونت بي إس دي ولينكس.
في 1993 أعلنت شركة إنترجراف عن منقذ من ويندوز إن تي لبنية سبارك وأغلقته فيما بعد.
هناك أربع تطبيقات من بنية سبارك مفتوحة المصدر بشكل كامل.
في عام 2009 شملت قائمة أسرع 500 حاسوب فائق في العالم حاسوب واحد فقط يستخدم معالجات سبارك الدقيقة طبقا لقائمة توب500، وهو FX1 من فوجيتسو وحصل على المركز الـ28 بسرعة 121282 جيفلوبز، وهو يستخدم المعالجات الدقيقة SPARC64 VII رباعية النواة بسرعة 2.52 ميجاهيرتز، تم تجميعه بواسطو بنية دي دي آر إنفيني باند DDR Infiniband. استخدم في أحد مرافق منظمة البحوث اليابانية، في 2002 كان هناك 88 حاسوب يستخدم معالجات سبارك الدقيقة في قائمة توب500 ولكنه منذ حينها في تراجع في مقابل الشرائح الأخرى من آي بي إم وإنتل وإيه إم دي.
في ديسمبر 2010 كشفت أوراكل عن سبارك سوبر كلستر SPARC SuperCluster في خادم T3-4 الذي تفوق على Integrity Superdome من HP وPower 780 من IBM ووصل إلى سرعات 30,249,688 tpmC (transaction per minute)