सीपीयू कैसे डिजाइन किए जाते हैं?


21

मैंने थोड़ी देर पहले इलेक्ट्रॉनिक्स के साथ खेलना शुरू किया है और ट्रांजिस्टर का उपयोग करके सरल तर्क द्वार बना रहा हूं। मुझे पता है कि आधुनिक इंटीग्रेटेड सर्किट ट्रांजिस्टर-ट्रांजिस्टर लॉजिक के बजाय CMOS का उपयोग करते हैं। बात यह है कि मैं सीपीयू कैसे डिजाइन कर रहे हैं के बारे में सोच में मदद नहीं कर सकता।

क्या डिजाइन अभी भी एक (उप) तर्क गेट स्तर पर किया गया है, या उस क्षेत्र में अब बहुत नवीनता नहीं है और क्या हम उच्च स्तर के अमूर्त स्तर पर चले गए हैं? मैं समझता हूं कि ALU कैसे बनाया जाता है, लेकिन सीपीयू की तुलना में बहुत अधिक है।

अरबों ट्रांजिस्टर के लिए डिज़ाइन कहाँ से आते हैं? क्या वे ज्यादातर सॉफ्टवेयर द्वारा उत्पन्न ऑटो हैं या अभी भी बहुत सारे मैनुअल अनुकूलन हैं?


2
मैं कहूंगा कि वेरिलोग या वीएचडीएल।
अवकर

3
जब ये विषय आकर्षक होते हैं, तो हम "वास्तविक समस्याओं पर आधारित व्यावहारिक, उत्तर देने योग्य प्रश्नों" से एक लंबा रास्ता तय करते हैं । इसके अलावा मैं एक पूरी किताब की कल्पना कर सकता हूं जो इस सवाल का जवाब देती है।
मार्टिन

1
@Overv, अभी भी बहुत सारे काम हैं जहाँ आप यह सुनिश्चित करते हैं कि आपके बेस ब्लॉक जिसे आप एक साथ प्लग कर रहे हैं, गेट स्तर पर ऑप्टिमाइज़ किए गए हैं, तो आप उन अनुकूलित ब्लॉकों में एक अनुकूलित तरीके से प्लग इन करें!
कोर्तुक

13
मैंने फिर से खोलने के लिए मतदान किया - जबकि मैं सहमत हूं कि "एक सब कुछ जो आपको स्क्रैच से एक संपूर्ण सीपीयू बनाने के लिए जानना आवश्यक है" बताने वाला एक पूर्ण उत्तर है, इस साइट के लिए एक अच्छा मैच नहीं है, मुझे लगता है कि एक संक्षिप्त अवलोकन और कुछ लिंक होंगे यहाँ एक अच्छा जवाब है।
17

1
मुझे आश्चर्य है कि हमारे पास अर्धचालक उद्योग में काम करने वाले कोई भी व्यक्ति नहीं हैं जो यहां अधिक जटिल ASIC डिजाइन पर टिप्पणी कर सकते हैं। चूंकि मैं कोई विशेषज्ञ नहीं हूं, यह सिर्फ कुछ सामान है जो मैंने सुना है: आईपी कोर में बहुत सारे लाइसेंस हैं और जिस क्षेत्र में यह सब एक साथ रखा जाता है उसे वीएलएसआई कहा जाता है। मेरा मानना ​​है कि डिजाइन VHDL / वेरिलॉग में अत्यधिक अनुकूलित सिंथेसाइजिंग टूल के साथ किया जाता है - यह वफ़र स्तर तक कैसे नीचे जाता है और निर्मित होता है, यह मेरे ज्ञान से परे है।
जॉन एल।

जवाबों:


10

यह बहुत संभावना है कि सीपीयू और एसओसी का उपयोग हार्डवेयर विवरण भाषाओं जैसे वेरिलोग और वीएचडीएल (दो प्रमुख खिलाड़ी) द्वारा किया जाता है।

ये भाषाएं विभिन्न स्तरों के सार की अनुमति देती हैं। VHDL में, आप लॉजिक ब्लॉक को संस्थाओं के रूप में परिभाषित कर सकते हैं; इसमें इनपुट और आउटपुट पोर्ट शामिल हैं। ब्लॉक के भीतर आप आवश्यक तर्क को परिभाषित कर सकते हैं। कहते हैं कि आप इनपुट ए, इनपुट बी और आउटपुट सी के साथ एक ब्लॉक को परिभाषित करते हैं। आप आसानी से सी = ए और बी लिख सकते हैं; और मूल रूप से आपने एक एंड पोर्ट ब्लॉक बनाया है। यह संभवतः सबसे सरल ब्लॉक है जिसकी आप कल्पना कर सकते हैं।

डिजिटल सिस्टम को आमतौर पर एक मजबूत पदानुक्रम के साथ डिज़ाइन किया जाता है। एक सीपीयू के लिए प्रमुख कार्यों के साथ 'टॉप-लेवल' शुरू हो सकता है: सीपीयू: प्रॉसेसर (मल्टीपल) मेमोरी, पीसीआई-एक्सप्रेस, और अन्य ब्रूस। इस स्तर के भीतर स्मृति और प्रोसेसर के बीच टकराव और संचार संकेत पहले से ही परिभाषित हो सकते हैं।

जब आप एक स्तर को नीचे ले जाते हैं, तो यह कुछ 'काम' बनाने के आंतरिक कार्यों को परिभाषित करेगा। एक माइक्रोकंट्रोलर का एक उदाहरण लिया, इसमें एक UART इंटरफ़ेस हो सकता है। एक कार्यात्मक UART बनाने के लिए आवश्यक वास्तविक तर्क नीचे एक स्तर पर परिभाषित किया गया है। यहाँ पर, आवश्यक घड़ी, बफ़र डेटा (FIFO बफ़र्स) को उत्पन्न करने और विभाजित करने के लिए बहुत अधिक तर्क की आवश्यकता हो सकती है, CPU को डेटा (किसी तरह का बस) प्रणाली)।

वीएचडीएल और डिजिटल डिज़ाइन की दिलचस्प बात ब्लॉकों का पुन: उपयोग है। आप उदाहरण के लिए, 2 UARTs बनाने के लिए अपने शीर्ष स्तर में UART ब्लॉक को कॉपी और पेस्ट कर सकते हैं (ठीक है, शायद यह इतना आसान नहीं है, केवल तभी UART ब्लॉक संबोधित करने के कुछ लोगों के लिए सक्षम है!)।

यह डिज़ाइन किसी भी तरह का गेट-लेवल डिज़ाइन नहीं है। वीएचडीएल को एक तरह से 'संकलित' भी किया जा सकता है, जो अंत में लॉजिक गेट्स में अनुवादित किया जाता है। एक मशीन एक इंसान (और जल्दी भी) की तुलना में इस बेहतर को अनुकूलित कर सकती है। उदाहरण के लिए; ब्लॉक ए के आंतरिक सिग्नल को आउटपुट करने से पहले एक इन्वर्टर की आवश्यकता होती है। ब्लॉक बी इस आउटपुट सिग्नल को लेता है और इसे एक बार फिर से निष्क्रिय कर देता है। खैर, श्रृंखला में 2 इनवर्टर बहुत सही नहीं करते हैं? सही है, तो आप बस उन्हें बाहर छोड़ सकते हैं। हालाँकि, 'टॉप-लेवल' डिज़ाइन में आप दो इनवर्टर को सीरीज़ में नहीं देख पाएंगे। एक कंपाइलर एक मानव की तुलना में इस तेज को अनुकूलित कर सकता है।

मूल रूप से डिजिटल सिस्टम डिज़ाइन में यह वर्णन होता है कि तर्क को कैसे व्यवहार करना चाहिए, और कंप्यूटर का उपयोग यह पता लगाने के लिए किया जाता है कि व्यक्तिगत लॉजिक गेट्स को बिछाने के लिए सबसे कुशल तरीका क्या है।


जिस तरह अभी भी सॉफ्टवेयर में असेंबली कोड के लिए एक जगह है, निचले स्तर के हार्डवेयर डिजाइन कुछ मामलों में प्रभावी हो सकते हैं। उदाहरण के लिए, SRAM कोशिकाओं का उपयोग आमतौर पर इसलिए किया जाता है कि घनत्व (अंतिम स्तर के कैश), एक्सेस लेटेंसी (L1 कैश), या अन्य विशेषताओं के लिए अनुकूलन करने के लिए अत्यधिक अनुकूलित डिज़ाइन विकसित किए जाते हैं, विशेष रूप से इंटेल जैसे एकीकृत डिज़ाइन-निर्माता पर।
पॉल ए। क्लेटन

@Paul मेरे लिए सवाल उठाता है कि इंटेल अपने डिजाइनों को हाथ से अनुकूलित करने में कितना निवेश करता है बनाम सॉफ्टवेयर ऑप्टिमाइज़ेशन पासिंग जो समान प्रदर्शन में सुधार को गतिशील और सामान्य रूप से प्राप्त करते हैं।
पनकडूडल

6

मुझे आसान बनाने और मेरी पिछली टिप्पणी का विस्तार और ज़रूरतमंद लोगों लगते हैं के लिए डॉट्स कनेक्ट करने दें।

डिजाइन अभी भी एक (उप) लॉजिक गेट स्तर पर किया जाता है?

  • हाँ

डिजाइन कई स्तरों पर किया जाता है, उप तर्क स्तर हमेशा अलग है । प्रत्येक निर्माण संकोचन सबसे शानदार भौतिकी, रसायन विज्ञान और लिथोग्राफिक प्रक्रिया के अनुभव की मांग करता है क्योंकि एक ट्रांजिस्टर परिवर्तन की संरचना और ज्यामिति भी व्यापार-अप की भरपाई करने के लिए बदल जाती है, क्योंकि यह परमाणु स्तर तक सिकुड़ जाती है और लागत ~ बाइनरी से नीचे $ अरबों हो जाती है। आकार। 14nm ज्यामिति प्राप्त करने के लिए अनुसंधान एवं विकास, प्रक्रिया नियंत्रण और प्रबंधन में एक बड़ा उपक्रम है और यह अभी भी एक ख़ामोशी है!यहाँ छवि विवरण दर्ज करें

उदाहरण के लिए ऐसा करने के लिए आवश्यक नौकरी कौशल; - "एफईटी, सेल, और ब्लॉक-स्तरीय कस्टम लेआउट, एफयूबी-लेवल फ्लोर प्लान, एब्सट्रैक्ट जनरेशन, आरसी एक्सट्रैक्शन, और स्कीमैटिक-टू-लेआउट वेरीफिकेशन और डिबग परसेंट्रिक एक्सट्रैक्शन, स्टैटिक टाइमिंग, वायर लोड सहित फिजिकल डिजाइन डेवलपमेंट के चरणों का उपयोग करता है। मॉडल, घड़ी निर्माण, कस्टम बहुभुज संपादन, ऑटो-जगह और मार्ग एल्गोरिदम, फर्श की योजना, पूर्ण-चिप विधानसभा, पैकेजिंग, और। * *

- क्या अब उस क्षेत्र में ज्यादा नवीनता नहीं है? गलत - सेमीकंडक्टर भौतिकी में मूर के नियम और पेटेंट की संख्या को देखते हुए महत्वपूर्ण और भारी वित्त पोषित नवाचार है, यह कभी नहीं रुकेगा। बिजली, गर्मी और इस प्रकार क्षमता में चौगुनी बचत हर बार बंद हो जाती है।

- क्या हम अमूर्तता के उच्च स्तर पर चले गए हैं? - इसने चलना कभी बंद नहीं किया। - अधिक कोर की मांग के साथ, एआरएम आरआईएससी सीपीयू की तरह एक निर्देश में अधिक करना, अधिक शक्तिशाली एम्बेडेड'sC या MCU है, DDR4 के साथ स्मार्ट रैम जिसमें डिफ़ॉल्ट रूप से ECC और जरूरी मेमोरी फ्लैश के लिए प्राथमिकता बिट्स जैसे फ्लैश हैं। - सीपीयू विकास और वास्तु परिवर्तन कभी भी बंद नहीं होंगे। यहाँ छवि विवरण दर्ज करें

मैं तुम्हें एक संकेत देता हूं। इंजीनियरों के लिए इंटेल, एएमडी, टीआई या ईडी पर नौकरी खोज करें और नौकरी विवरण देखें।

- अरबों ट्रांजिस्टर के लिए डिज़ाइन कहाँ से आते हैं? - यह हार्डवेयर के 64 बिट ब्लॉक को जोड़ने से आया है। लेकिन अब नैनोट्यूब विफल होने से, ब्लॉक बनाने के लिए नीचे से ऊपर के दृष्टिकोण से नैनोट्यूब के दृष्टिकोण को बदलने के लिए सोच को काम करना पड़ता है।

  • क्या वे ज्यादातर सॉफ्टवेयर द्वारा उत्पन्न ऑटो हैं? जीभ के साथ मजबूती से गाल में लगाया ...
  • वास्तव में वे अभी भी स्पेसशिप से एरिया51 से डिजाइन निकाल रहे हैं और जाने के लिए एक रास्ता है .... जब तक कि हम पूरी तरह से नैनो-नैनो ट्यूब कम्पेन्डर नहीं हैं। एक इंजीनियर लाइब्रेरी में जाता है और कहता है कि एनवीडिया हम चाहते हैं कि आप हमारे साथ इस चिप पर यहां आएं और एक हिस्सा बनें, जो एक मैक्रो-ब्लॉक में जाता है । लेआउट को चींटियों की तरह तने में दोहराया जा सकता है , लेकिन सभी कनेक्शनों पर स्पष्ट नियंत्रण मैन्युअल रूप से रूट / चेक आउट किया जाना चाहिए और साथ ही तुलना के लिए DRC और ऑटो-रूटिंग का उपयोग करना चाहिए। हाँ स्वचालन उपकरण लगातार दोहराव और समय बर्बाद करने के लिए उन्नत किया जा रहा है।

    - क्या अभी भी बहुत कुछ मैनुअल ऑप्टिमाइज़ेशन है?

  • प्रथम श्रेणी में रात्रिभोज से सिर्फ 1 जैतून निकालकर एक एयरलाइन ने आपके वेतन का भुगतान करने के लिए पर्याप्त धनराशि देने पर विचार किया, इंटेल समय-सीमा के भीतर जितने संभव हो उतने परमाणु निकालने के तरीके देख रहा होगा। किसी भी अतिरिक्त समाई का मतलब बर्बादी गर्मी, प्रदर्शन है और उफ़ भी अधिक शोर है, इतनी जल्दी नहीं ...

लेकिन वास्तव में सीपीयू का विकास टोक्यो की तरह है, यह रातोंरात नहीं है, लेकिन दसियों लाख लोग लगातार सुधार के साथ वहां रहते हैं। मुझे नहीं पता था कि यूनीव में कैसे डिजाइन किया जाए। लेकिन पढ़ने और समझने की कोशिश करने से कि चीजें कैसे काम करती हैं, मैं बहुत तेजी से उद्योग में तेजी लाने में सक्षम था। मुझे एयरोस्पेस, न्यूक्लियर इंस्ट्रूमेंट डिज़ाइन, SCADA डिज़ाइन, प्रोसेस मॉनिटरिंग, एंटीना डिज़ाइन, ऑटोमेटेड वेदर स्टेशन डिज़ाइन और डीबग, OCXO के PLL के VLF Rx's, ब्लैक ब्रैंड्ट रॉकेट्स का 2 रास्ता रिमोट कंट्रोल ... में 10 साल का अनुभव प्राप्त हुआ। यह मेरा पहला काम था। मुझे नहीं पता था कि मैं क्या कर सकता हूं।

अरबों ट्रांजिस्टर के बारे में चिंता न करें या इस बात से डरें कि क्या सीखना है या आपको कितना जानना है। बस अपने जुनून का पालन करें और अपनी नींद के बीच व्यापार पत्रिकाओं को पढ़ें, तो आप नौकरी पर इतने हरे नहीं दिखेंगे और यह अब काम की तरह महसूस नहीं करता है।

मुझे याद है कि 20 मिनट में एक बार एक परीक्षा के हिस्से के रूप में "741" ओप एम्प को डिजाइन करना। मैंने वास्तव में इसका उपयोग कभी नहीं किया है, लेकिन मैं महान डिजाइनों से अच्छे को पहचान सकता हूं। लेकिन तब इसमें केवल 20 ट्रांजिस्टर थे।यहाँ छवि विवरण दर्ज करें

लेकिन सीपीयू को कैसे डिजाइन करना है, इसकी कल्पना एक युक्ति से करनी चाहिए। सीपीयू को क्यों डिज़ाइन करें और इसे प्राप्त करने के लिए मापने योग्य बेंचमार्क बनाएं; - प्रति सेकंड मैक्रो निर्देश (MIPS) (सीपीयू घड़ी की तुलना में अधिक महत्वपूर्ण), उदाहरण के लिए; - इंटेल की इटेनियम चिप इस बात पर आधारित है कि वे स्पष्ट रूप से समानांतर निर्देश कम्प्यूटिंग (EPIC) डिजाइन को क्या कहते हैं। - Transmeta ने बहुत लंबे इंस्ट्रक्शन वर्ड कोड मॉर्फिंग माइक्रोप्रोसेसर (VLIWCMM) के साथ सीपीयू डिजाइन का पेटेंट कराया। उन्होंने 2006 में इंटेल पर मुकदमा चलाया, दुकान बंद की और 2007 में ~ 200 मिलियन डॉलर में बस गए। - प्रदर्शन प्रति वाट (PPW), जब बिजली की लागत> चिप की लागत (सर्वर के लिए) - गणित के प्रदर्शन के लिए प्रति सेकंड Ops (FLOPS) फ़्लोटिंग।

कई और मेट्रिक्स हैं, लेकिन इसकी गीगाहर्ट्ज स्पीड पर सीपीयू की डिज़ाइन क्वालिटी को आधार नहीं बनाया गया है (मिथ देखें)

तो सीपीयू को डिजाइन करने के लिए कौन से उपकरण डे पत्रिकाओं की आवश्यकता है? सूची इस पृष्ठ पर परमाणु स्तर की भौतिकी डिजाइन से गतिशील जाल EMC भौतिक EM / RF डिज़ाइन से लेकर फ्रंट एंड डिज़ाइन सत्यापन टेस्ट इंजीनियर तक फिट नहीं होगी, जहाँ आवश्यक कौशल शामिल हैं; - फ्रंट-एंड RTL सिमुलेशन - IA और कंप्यूटर आर्किटेक्चर और सिस्टम लेवल डिज़ाइन का ज्ञान - VHDL या वेरिलॉग का उपयोग करके लॉजिक वेरिफिकेशन और लॉजिक सिमुलेशन। - ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और विभिन्न सीपीयू, बस / इंटरकनेक्ट, सुसंगत प्रोटोकॉल।


6
"वेरिलोग" और "वीएचडीएल" केवल इन सभी भोले की सतह को खोजते हैं, फिर भी प्रेरणा देने वाले प्रश्न हैं। वास्तविक दुनिया डिजिटल की तुलना में बहुत अधिक अनुरूप है जितना आपको एहसास है।
टोनी स्टीवर्ट Sunnyskyguy EE75

क्या आपके पास कहीं भी Op Amp सर्किट की व्याख्या है। सभी मैं देख सकता हूं कि एक कैस्केड ओटीए है, बाकी सर्किट वूडू है।
साइबरमेन

3
वाह। बहुत बुरा यह सवाल करने के लिए ज्यादातर अप्रासंगिक है।
डेव ट्वीड

3
मुझे कहना होगा कि यह एक बहुत ही मनोरंजक पाठ था। लेखक से क्रमिक बदलाव मूल सवाल के साथ उसे करने के लिए पाठक के मन को संख्याओं और शब्द के साथ उड़ाने का प्रयास करने और फिर कुछ आत्म सहायता प्रदान करने के बाद उसके स्कूल-लड़के दिनों की सिर्फ एक संकेत के साथ और अंत में आगे बढ़ने के लिए क्लिच्ड पर "यह इतना जटिल है कि मैं इसे कभी यहाँ संक्षेप में प्रस्तुत नहीं कर सकता"। बेहद सुंदर।
पॉन्काडूडल

और फिर भी मेरी यह टिप्पणी कुछ व्यंग्यपूर्ण थी, मुझे आशा है कि आप इसे हल्के-फुल्के अंदाज में लेंगे। मैंने ईमानदारी से पढ़ने का आनंद लिया।
पॉन्काडूडल

2

सीपीयू डिजाइन के एएमडी का अवलोकन

इंटेल का संस्करण

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


मैंने उस TomsHardware पेज को पहले देखा था। हालांकि, यह बताता है कि प्रोसेसर कैसे निर्मित होते हैं , न कि वे कैसे डिज़ाइन किए
स्टीवनह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.