2012-12-30 12 views
6

निम्नलिखित निर्देशों को सही तरीके से निष्पादित करने के लिए मुझे कितने स्टालों की आवश्यकता है। मैं जो कुछ किया उसके साथ थोड़ा उलझन में हूं, इसलिए मैं विशेषज्ञों के जवाब देखने के लिए यहां हूं।विधानसभा में पाइपलाइनिंग

lw $1,0($2); 

beq $1,$2,Label; 

ध्यान दें कि जांच होगी कि शाखा होगी या नहीं, डीकोडिंग चरण में किया जाएगा। लेकिन इस मामले में $ 1 है जो बीक निर्देश के लिखने के चरण के बाद अद्यतन किया जाएगा। तो क्या हमें स्मृति चरण में स्मृति से नए डेटा को बीक निर्देश के डीकोडिंग चरण में अग्रेषित करने की आवश्यकता है।

स्टेज इस तरह जाना:

enter image description here

यदि: निर्देश प्राप्त कर रहा है; ID: निर्देश को डिकोड नहीं पूर्व: निष्पादन/ALU चरण सदस्य: स्मृति से डाटा पढ़ने पश्चिम बंगाल: गंतव्य में संग्रहीत डेटा रजिस्टर

यह मैं अब तक क्या किया है है।

जब एलडब्ल्यू निष्पादन चरण में होता है और डीकोडिंग चरण में बीक होता है, तो स्थिति खराब हो जाती है और एक बुलबुला बनाया जाता है। अब एमडब्ल्यू मेम स्टेज में है और बीक्यू अभी भी बुलबुले के कारण डीकोडिंग चरण में है, फिर भी स्टॉलिंग हालत सच हो गई है और दूसरा स्टाल हो गया है। और अब एलडब्ल्यू डब्ल्यूबी में है (वापस लिखें) और बीक डीकोडिंग चरण में है लेकिन अभी भी मूल्य $ 1 का डब्लूबीबी चरण के अंत में अपडेट होगा जिसका अंततः मतलब है कि बीक अभी भी $ 1 के गलत मूल्य के साथ काम करेगा।

+0

"जांचें कि शाखा होगी या नहीं" - जो आपकी जांच का मतलब है। Http://www.csc.gatech.edu/~copeland/3055-00/lab/lab-2/MIPS_pipes.JPEG शाखा के अनुसार EX में किया गया है; और नए पीसी को एमईएम में पीसी रजिस्टर के लिए भेजा जाता है। – osgx

+0

देरी हुई शाखा के कारण आपको 1 अतिरिक्त स्टॉल जोड़ना होगा। तो आपको 7 स्टालों की आवश्यकता होगी। – Blood

+0

यह 7 स्टालों कैसे बनता है ?? अधिकांश स्टालों में 2 – Alfred

उत्तर

2

ऐसा लगता है कि आपको डिकोडिंग से पहले रजिस्टर फ़ाइल में वापस जाने की अनुमति देने के लिए तीसरे स्टॉल की आवश्यकता होगी, या लिखने वाले चरण से डेटा को डीकोड चरण में अग्रेषित करने की अनुमति दें। यदि रजिस्टर लिखा जाना है तो इसे किसी भी तरह से निष्पादित किया जाना चाहिए rs के बराबर है।

आपको बहुत सारे स्टालों की आवश्यकता है क्योंकि शाखा को डीकोड चरण में जल्दी पता चला है, जो अच्छा है, क्योंकि यह अनावश्यक निर्देशों को लाने में बचाता है जो किसी भी तरह से फंस जाएंगे, लेकिन आपके पास इसके साथ जाने के लिए उचित खतरे का पता होना चाहिए।

+0

ठीक हो सकता है। जो कुछ मुझे लगता है वह है। और मेरे प्रोफेसर के साथ मेरा तर्क था और वह कहता है कि मुझे केवल दो स्टालों की आवश्यकता है और उपरोक्त मामले के लिए वापस लिखना नहीं है। यही कारण है कि मैं उलझन में हूं – Alfred

+0

@ अल्फ्रेड आपके प्रोफेसर शायद यह मानते हैं कि रजिस्टर फ़ाइल असीमित है और यह अगली घड़ी से पहले अपडेट हो जाएगी, लेकिन शायद यह उस स्मृति का प्रकार नहीं है जिसका आप उपयोग कर रहे हैं या उपयोग करना चाहते हैं। – iabdalkader

संबंधित मुद्दे