2012-03-03 14 views
11

मुझे समझ में समस्या हो रही है कि निर्देश jal एमआईपीएस प्रोसेसर में कैसे काम करता है। मेरे दो प्रश्न हैं:
क) क्या है मूल्य R31में संग्रहीत "जल" के बाद: पीसी 4 या पीसी + 8?
ख) तो यह वास्तव में पीसी + 8 है, क्या पीसी 4 पर अनुदेश का क्या होगा? क्या इसे कूदने से पहले निष्पादित किया जाता है या इसे कभी निष्पादित नहीं किया जाता है?

पैटरसन और हेनेसी (चौथे संस्करण) में, स्नातकोत्तर 113:

"कूद और लिंक अनुदेश: एक अनुदेश कि करने के लिए और पता कूदता है और एक साथ ($ एक रजिस्टर में निम्नलिखित निर्देश का पता बचाता है MIPS में रा) "

" कार्यक्रम काउंटर (पीसी): रजिस्टर कार्यक्रम में निर्देश का पता युक्त "निष्पादित किया जा रहा

उन दो बयानों को पढ़ने के बाद, यह इस प्रकार है कि मूल्य सा $ आर में ved होना चाहिए (पीसी + 4)।

हालांकि, MIPS संदर्भ डेटा (ग्रीन कार्ड) है कि इस पुस्तक के साथ आता है में, जल अनुदेश एल्गोरिथ्म इस तरह परिभाषित किया गया है:
"कूद और लिंक: जल: जम्मू: आर [31] = पीसी + 8 ; पीसी = JumpAddr "

यह website भी कहा गया है कि" यह वास्तव में पीसी + 8 है ", लेकिन अजीब, उस के बाद यह कहना है कि जब से पाइपलाइनिंग एक उन्नत विषय है" हम यह मान लेंगे वापसी पता पीसी है +4 "।
मैं 8086 असेंबली से आया हूं, इसलिए मुझे पता है कि पते पर लौटने और उसके बाद एक के बीच एक बड़ा अंतर है, क्योंकि यदि मैं कुछ ऐसा नहीं मानता तो प्रोग्राम काम नहीं करेंगे। धन्यवाद।

उत्तर

12

$ आरए में पता वास्तव में पीसी + 8 है। जेल निर्देश के तुरंत बाद निर्देश "branch delay slot" में है। फ़ंक्शन दर्ज होने से पहले इसे निष्पादित किया जाता है, इसलिए फ़ंक्शन लौटने पर इसे फिर से निष्पादित नहीं किया जाना चाहिए।

मिप्स पर अन्य शाखा निर्देशों में शाखा देरी स्लॉट भी हैं।

देरी स्लॉट का उपयोग जेल निर्देश निष्पादित करने में लगने वाले समय में कुछ उपयोगी करने के लिए किया जाता है।

+0

बहुत बहुत धन्यवाद! आश्चर्यजनक रूप से, कई वेबसाइटें गलत जानकारी प्रस्तुत करती हैं (पीसी + 4)। – ReimannCL

1

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

लिंक http://chortle.ccsu.edu/AssemblyTutorial/Chapter-26/ass26_4.html है जो पीसी को 4 जोड़ने के इस अद्भुत स्पष्टीकरण के साथ है। तो वास्तविक निष्पादन में दो जोड़ हैं: 1) नया पीसी = पीसी + 4 पाइपलाइनिंग द्वारा और 2) जेल निर्देश द्वारा $ अतिरिक्त = आरए = नया पीसी +4 जिसके परिणामस्वरूप प्रभावी $ ra = (जेल निर्देश का पता) +8 होता है।

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