performance 64-बिट SPARC V9 पर 32-बिट SPARC V8 अनुप्रयोग चला सकते हैं?




architecture benchmarking (2)

मेरे पास स्पार्क वी 8 32-बिट वास्तुकला के लिए कुछ बेंचमार्क एप्लिकेशन हैं मैंने उन्हें SPARC 32-bit प्रोसेसर के प्रदर्शन के मूल्यांकन के लिए उपयोग किया था हालांकि, प्रदर्शन में कुछ अनुप्रयोगों की कमी आती है। मैं 64-बिट SPARC V9 वास्तुकला (जैसे ओपनपीआरसी टी 1 / टी 2) के साथ प्रदर्शन का परीक्षण करना चाहता हूं। मेरा प्रश्न यह है कि 32-बिट SPARC V8 आर्किटेक्चर के लिए संकलित बायनेरिज़ SPARC V9 वास्तुकला में किसी भी संशोधन के बिना चलेंगे? दोनों आर्किटेक्चर में बाइनरी संगत हैं?


यह मानते हुए कि आप एक ही ऑपरेटिंग सिस्टम का प्रयोग कर रहे हैं हालांकि शायद एक नए संस्करण में। तो ठीक। Solaris Sparc बहुत बाइनरी पिछड़े संगत है। स्पार्क वास्तुकला के प्रत्येक संशोधन को ध्यान में रखते हुए डिजाइन किया गया था।

आप को ध्यान में रखना चाहिए चीजें:

  • स्पार्क v7 सबसे कम आम भाजक है, हालांकि अभ्यास में स्पार्क वी 8 मशीनों का 99% कवर होता है।
  • स्पार्क v7 में हार्डवेयर फ्लोटिंग प्वाइंट का अभाव है, इसलिए यह अधिकांश मामलों में धीमा हो जाएगा
  • स्पार्कवी 8 कोड स्पार्ट्वा 9 64 बीट कोड के मुकाबले कुछ मामलों में तेजी से हो जाएगा क्योंकि आधे निर्देश लोड ओवरहेड
  • एक स्पार्क v9 के लिए इष्टतम कोड अक्सर स्पार्क v8 + है, जो मूल रूप से कुछ एक्सटेंशन के साथ 32 बिट कोड होता है जो कि अधिकांश भाग केवल 64 बिट मशीनों के लिए होता है। अधिकांश 64 बिट स्पार्क ऑपरेटिंग सिस्टम्स के कारण यह 32 बीटा के साथ अधिकांश कोड है जिसमें कुछ 64 बिट कोड होते हैं, जहां इसमें सॉफ्टवेयर के आधार पर एन्क्रिप्शन जैसे प्रदर्शन के लिए अधिक रैम या 64 बिट तक पहुंच की जरूरत होती है।
  • जबकि स्पार्क के लिए आईएसए काफी स्थिर प्रदर्शन नहीं है .. उदाहरण के तौर पर स्पार्क टी 1 नीआग्रा सीपीयू किसी एकल थ्रेडेड कार्य के लिए कुत्ते को धीमा कर देते हैं, लेकिन जब आप कई कार्यों के साथ उन्हें लोड करते हैं, हालांकि हर क्षेत्र में गति के लिए फ़ूजीत्सू स्पार्क चिप्स के कुछ प्रतिद्वंद्वी इंटेल भी हैं। इसके अलावा, मुझे कम से कम बिट नहीं माना जाएगा यदि पुराने अल्ट्रा वर्कस्टेशनों में से कुछ नीयग्रा टी 1 / टी 2 की तुलना में एक जोड़े के धागे के लिए बहुत तेज थे। एक बार जब आप कई थ्रेड्स के क्षेत्र में आ जाए तो एक नीयाग्रा शैली सीपीयू चमकने लगती है।

तो याद रखें स्पार्क वी 7, स्पार्क वी 8 और स्पार्क वी 9 चिप आर्किटेक्चर नहीं हैं, वे निर्देश सेट आर्किटेक्चर हैं। स्पार्क के लिए प्रदर्शन मुख्यतः CPU वास्तुकला के कार्यान्वयन पर निर्भर है। ओरेकल के नवीनतम स्पार्क प्रोसेसर में एक थ्रेडेड प्रदर्शन में सुधार हुआ है जो पिछले कुछ दिनों से भी ज्यादा ध्यान में रखे हुए हैं (भले ही वे अपने बटुए में एक छेद को टेक्सास के आकार में जला दें)।

अगर आपका प्रदर्शन कम हो रहा है और आप एक एफपीजीए आधारित सीपीयू को डिजाइन कर रहे हैं, तो गंभीरता से अपने सीपीयू डिज़ाइन को सुधारने के बारे में सोचें।


शब्दावली भ्रम ...

स्पार्क थोड़ा एआरएम की तरह है आपके पास:

  • SPARC चिप आर्किटेक्चर (जहां तक ​​सन माइक्रोसिस्टम्स / ओरेकल द्वारा विकसित किए गए थे) को सन sun4[az] नाम दिया गया है; केवल sun4 , sun4c , sun4d , sun4m , sun4u और sun4m sun4d sun4c लिए वास्तविक sun4d
    यह ARM[1-9] , ARM11 , Cortex-... अनुरूप है, यानी सीपीयू डिजाइन का विकास।
  • SPARC CPU निर्देश सेट 'संस्करण' हैं - sparcv7 , sparcv8 / sparcv8+ , sparcv9 ; इनमें से कुछ 32 बिट हैं, sparcv9 64bit है
    यह ARMv[0-9] से मेल खाती है, निर्देश सेट पर revs।
  • ऑपरेटिंग मोड (SPARC पर 32 बिट / 64 बिट);
    एआरएम यहां अंगूठे [2], 32 बिट एआरएम और एआरएमवी 8/64 बिट है।

इस संदर्भ में, sparcv9 9 64 बिट अनुदेश सेट है और इसलिए 64 बिट ऑपरेटिंग मोड की आवश्यकता है; एक ही बाइनरी एन्कोडिंग में 32 बिट / 64 बिट मोड में भिन्न अर्थ हो सकते हैं, और इसलिए sparcv7/8 कोड 64 बिट मोड में नहीं चलेंगे।

फिर भी, sun4u और sun4v सीपीयू आर्किटेक्चर 32 बिट मोड का समर्थन करते हैं - एक sparcv8+ निर्देश सेट के साथ-साथ कुछ एक्सटेंशन, और sparcv8 का एक सुपरसेट है। सूर्य / ओरेकल गर्व खुद को अपने द्विपदीय पीछे की ओर संगतता; सभी वर्तमान SPARC CPUs को बिना समस्याओं के मौजूदा 32 बिट बाइनरी कोड चलाना चाहिए। मैं मानता हूं, इस संदर्भ में, कि आप सोलारिस बायनेरिज़ के बारे में बात कर रहे हैं?





sparc