3 पॉइंट द्वारा GN⁺ 2025-03-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 1993 में Intel ने उच्च-प्रदर्शन Pentium प्रोसेसर जारी किया
    • Pentium के सर्किट का विश्लेषण करते समय, 3 से गुणा करने वाला एक जटिल सर्किट मिला
    • यह सर्किट Pentium के floating-point multiplier सर्किट का हिस्सा है, जो 64-बिट संख्याओं का octal-आधारित तरीके से गुणा करता है
  • octal-आधारित गुणा की आवश्यकता
    • binary गुणा वैचारिक रूप से सरल है, लेकिन धीमा है
    • Pentium octal-आधारित गुणा का उपयोग करके सर्किट को कम करता है और गति बढ़ाता है
    • octal गुणा जटिल है क्योंकि इसमें 0 से 7 तक की संख्याओं से गुणा करना पड़ता है
  • Booth algorithm और ×3 सर्किट
    • गुणा को optimize करने के लिए Booth algorithm का उपयोग किया गया
    • ×3 सर्किट को floating-point गुणा में एक विशेष मामले के रूप में संभालना पड़ता है
    • इस सर्किट को तेज़ी से काम करना होता है, और performance को अधिकतम करने के लिए carry lookahead जैसी तकनीकों का उपयोग किया जाता है
  • carry lookahead और parallel prefix adder
    • carry lookahead adder सभी carry bit को parallel में गणना करके जोड़ को तेज़ बनाता है
    • 8-बिट chunk में carry lookahead लागू करने के लिए parallel prefix adder का उपयोग किया गया
    • delay को न्यूनतम करने और सर्किट को कुशलतापूर्वक बनाने के लिए Kogge-Stone algorithm का उपयोग किया गया
  • carry select adder
    • carry select adder दो जोड़ एक साथ करता है और carry तय होते ही तुरंत परिणाम देता है
    • Pentium ×3 सर्किट में प्रत्येक 8-बिट chunk के लिए carry select adder का उपयोग करता है
  • BiCMOS output driver
    • ×3 सर्किट के output को उच्च current की आवश्यकता होती है, और signal delay कम करने के लिए BiCMOS process का उपयोग किया गया
    • BiCMOS, CMOS और bipolar transistor को मिलाकर उच्च performance देता है
  • निष्कर्ष
    • Pentium का ×3 सर्किट एक जटिल डिज़ाइन है, जो पुराने microprocessor की तुलना में अधिक transistor का उपयोग करता है
    • यह इस बात का उदाहरण है कि processor की जटिलता कितनी बढ़ चुकी है

1 टिप्पणियां

 
GN⁺ 2025-03-04
Hacker News राय
  • Trinary कंप्यूटर emulation में 3 की घातों से भाग देने को bit shift और addition में बदलने का एक तरीका है

    • 1/3 को 1/2 - 1/2(1/3) के रूप में व्यक्त किया जा सकता है
    • इसे अनंत बार दोहराकर 1/3 = -(-1/2)^N के रूप में व्यक्त किया जा सकता है
    • यह 2 और 3 की किसी भी मनमानी घातों की जोड़ी के साथ भी संभव है
    • इससे किसी constant से division करने वाला सर्किट fixed time के भीतर केवल adder और subtractor से बनाया जा सकता है
  • Cinematronics arcade game processor में दो 12-bit accumulators होते हैं

    • multiply instruction 24-bit मान तक shift करता है और memory की सामग्री जोड़ता है
    • 24-bit result पाने के लिए 8 multiply लगातार चलाए जाते हैं
    • इसका उपयोग मुख्य रूप से game object के coordinates के rotation के लिए 2x2 matrix multiplication में होता था
    • 1970 के दशक के मध्य में 7400 series parts का उपयोग करके इसकी peak throughput 5MIPS थी
  • Peter Kogge ने Stanford से PhD की थी और IBM Fellow के रूप में multi-core CPU का आविष्कार किया

  • address calculation में 3 से multiply करना एक आम काम है

    • LEA instruction का उपयोग करके इसे single cycle में किया जा सकता है
    • transistor budget का उपयोग करना एक अच्छा विकल्प था
  • multiplier में 7 से multiply करने के बजाय 8 से multiply करके 1 घटाने का तरीका है

    • यह carry lookahead circuit जैसा है
    • 7 = 8-1, 6 = 8-2, 5 = 8-3, 4 = 8-4 के रूप में व्यक्त किया जा सकता है
  • ×3 multiplier में लगभग 9000 transistors होते हैं, जो 1976 के Z80 microprocessor से भी अधिक हैं

    • यह processor complexity में हुई जबरदस्त वृद्धि दिखाता है
    • आज हम silicon semiconductor technology की सीमाओं तक पहुँच चुके हैं, और अब अधिक स्मार्ट तरीके से काम करने का समय है
  • radix-8 Booth multiplier को x3 circuit की आवश्यकता होती है

    • यह fmax को आगे बढ़ाने के लिए area/performance trade-off है
  • 8086: 29,000

    • 386: 275,000
    • 486: 1.2 million
    • Pentium: 3.1 million
    • NSA 2000 के बाद शामिल हुई
  • radix-8 multiplication की कमी यह है कि 0 से 7 तक की संख्याओं से multiply करना जटिल है

    • 2 से multiply करना bits को 1 bit बाएँ shift करने के बराबर है
    • 4 से multiply करना bits को 2 bit बाएँ shift करने के बराबर है
    • 7 से multiply करना 8 से multiply करके 1 घटाने के तरीके से किया जा सकता है
    • ×3 को 2x और 1x के योग या 4x और 1x के अंतर के रूप में निकाला जा सकता है
    • अगर ×6 को आसानी से निकाला जा सकता है, तो ×3 उसे right shift करके प्राप्त किया जा सकता है