AMD ने Zen 4 के loop buffer को disable करने का फैसला किया
(chipsandcheese.com)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 टिप्पणियां
Hacker News राय
हार्डवेयर vulnerability को रोकने के लिए यह फीचर disable किया गया हो सकता है। इससे संकेत मिलता है कि loop buffer का performance या power में कोई खास लाभ नहीं था
Zen 4 का loop buffer दिखाता है कि कंपनी के पास engineering क्षमता है और वह प्रयोग कर सकती है
मैं 7950x3d इस्तेमाल कर रहा हूँ, और Skylake के 6700k से upgrade किया है
गेमिंग में loop buffer disable होने पर non-cache die पर pin होने की स्थिति में performance 5% घट जाती है
loop buffer इतना छोटा था कि सिर्फ कुछ खास scenarios में ही फर्क पड़ता था, और बड़ा buffer लागत के मुकाबले कम लाभ देता
Cortex-A15 में यह एक "मुख्य design feature" है
समझ नहीं आता कि loop buffer die पर कितनी जगह लेता है
"power" सेक्शन में प्रति सेकंड execute हुए instructions की संख्या से divide नहीं किया गया है
1979 के 68000 और 1982 के 68010 के बीच एक अंतर 6-byte loop buffer, "loop mode", जोड़े जाने का था