1 पॉइंट द्वारा GN⁺ 2024-12-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें

AMD ने Zen 4 के loop buffer को disable किया

  • loop buffer की भूमिका: यह CPU के frontend में स्थित होता है और पहले से fetch किए गए instructions को store करता है। छोटे loops loop buffer में समा सकते हैं, जिससे frontend के कुछ stages को disable करके power बचाई जा सकती है और performance बेहतर हो सकती है। यह Intel, Arm और AMD cores में इस्तेमाल की जाने वाली पुरानी तकनीक है.

  • Zen 4 का loop buffer: Zen 4, AMD के high-performance cores में ऐसा एकमात्र core है जिसमें loop buffer शामिल है। performance counter experiments के अनुसार, जब core एक thread पर चलता है, तब इसमें 144 entries होती हैं। जब दो SMT threads active होते हैं, तब हर thread को 72 entries दी जाती हैं। loop के भीतर call और return होने पर वे loop buffer में capture नहीं होते.

  • BIOS update के बाद बदलाव: ASRock B650 PG Lightning को BIOS version 3.10 पर update करने के बाद, hardware performance monitoring में पुष्टि हुई कि frontend अब loop buffer से micro-ops dispatch नहीं करता। BIOS version 1.21 पर वापस जाने पर loop buffer फिर से active हो जाता है। ऐसा लगता है कि AMD ने BIOS 1.21 (AGESA version 1.0.0.6) और BIOS 3.10 (AGESA version 1.2.0.2a) के बीच loop buffer को disable किया.

SPEC CPU2017: फर्क ढूंढना

  • performance पर असर: SPEC CPU2017 scores दिखाते हैं कि loop buffer के active या inactive होने से कोई खास नजर आने वाला फर्क नहीं पड़ता। integer और floating-point suites के कुल scores में 1% से कम का अंतर दिखता है। SMT performance uplift पर भी इसका असर नहीं पड़ता.

  • loop buffer की भूमिका: loop buffer का मुख्य लक्ष्य performance बढ़ाना नहीं, बल्कि core को frontend के बड़े हिस्सों को disable करने की अनुमति देना है। Zen 4 के processor programming reference के अनुसार, performance counters को इस तरह program किया जा सकता है कि event count threshold पार होने पर वे हर बार 1 से बढ़ें.

Cyberpunk 2077

  • game performance test: Cyberpunk 2077 के built-in benchmark का उपयोग करके देखा गया कि loop buffer disable होने से game performance पर क्या असर पड़ता है। पाया गया कि इसका game performance पर लगभग कोई असर नहीं पड़ता.

power consumption की जांच की कोशिश

  • power efficiency: Zen 4 के core power counters का उपयोग करके यह जांचने की कोशिश की गई कि क्या loop buffer power efficiency बेहतर बनाता है, लेकिन नतीजे एकसमान नहीं थे। नए BIOS में loop buffer को test नहीं किया जा सकता.

निष्कर्ष

  • loop buffer disable करने की वजह: AMD ने Zen 4 के loop buffer को क्यों disable किया, यह स्पष्ट नहीं है। hardware bugs की वजह से CPU features disable किए जा सकते हैं। Zen 4, AMD के high-performance CPU में loop buffer लाने का पहला उदाहरण था। performance पर इसका असर लगभग नहीं है, और अनुमान है कि power consumption पर भी इसका असर बहुत मामूली होगा.

1 टिप्पणियां

 
GN⁺ 2024-12-02
Hacker News राय
  • हार्डवेयर vulnerability को रोकने के लिए यह फीचर disable किया गया हो सकता है। इससे संकेत मिलता है कि loop buffer का performance या power में कोई खास लाभ नहीं था

    • हो सकता है कि engineering टीम ने महीनों तक नया फीचर बनाया हो, लेकिन वास्तव में उसका कोई फायदा न रहा हो, और सिर्फ दिखावे के लिए उसे release किया गया हो
    • software टीमों में भी codebase को फिर से लिखकर performance बढ़ाने की कोशिश की जाती है, लेकिन project पूरा होने के बाद code बढ़ जाता है और performance खराब हो जाती है
    • दोनों ही मामलों में project को release नहीं किया जाना चाहिए था
  • Zen 4 का loop buffer दिखाता है कि कंपनी के पास engineering क्षमता है और वह प्रयोग कर सकती है

    • इस बार नतीजा नहीं मिला, लेकिन engineers का low-risk, low-impact फीचर्स पर प्रयोग करना आत्मविश्वास बढ़ाने का अच्छा तरीका है
    • आगे और अधिक आत्मविश्वास की उम्मीद है
  • मैं 7950x3d इस्तेमाल कर रहा हूँ, और Skylake के 6700k से upgrade किया है

    • लगता है कि मैं अनजाने में ऐसे chips की ओर आकर्षित होता हूँ जिनमें hardware loop buffer software द्वारा disable किया गया हो
  • गेमिंग में loop buffer disable होने पर non-cache die पर pin होने की स्थिति में performance 5% घट जाती है

    • अधिक विस्तृत power measurements से यह पता चल सकता है कि क्या यह thermal/power budget से जुड़ा मामला है
    • यह फीचर power बचाने के लिए लगता है
  • loop buffer इतना छोटा था कि सिर्फ कुछ खास scenarios में ही फर्क पड़ता था, और बड़ा buffer लागत के मुकाबले कम लाभ देता

    • कुछ workloads में performance में हल्की गिरावट हो सकती है, लेकिन AMD ने release के बाद थोड़ा performance improvement हासिल किया है
    • इसे Zen 4 के BIOS option के रूप में होना चाहिए था। ऐसा न होना bug या security issue की संभावना दिखाता है
  • Cortex-A15 में यह एक "मुख्य design feature" है

    • जानना दिलचस्प होगा कि दूसरे chips पर इसका प्रभाव कितना है
    • लंबे समय तक इस्तेमाल होने वाले designs (जैसे console) में इसे optimization target के रूप में इस्तेमाल किया जा सकता है
  • समझ नहीं आता कि loop buffer die पर कितनी जगह लेता है

    • अगर इसे हटा दिया जाए, तो क्या भविष्य के chips में उस जगह का उपयोग L2 cache जैसी अधिक उपयोगी चीज़ के लिए किया जा सकता है
  • "power" सेक्शन में प्रति सेकंड execute हुए instructions की संख्या से divide नहीं किया गया है

    • loop buffer के फायदे को देखने के लिए सही metric energy per second नहीं, बल्कि energy per instruction है
  • 1979 के 68000 और 1982 के 68010 के बीच एक अंतर 6-byte loop buffer, "loop mode", जोड़े जाने का था