2011-06-09 8 views
7

प्रीफ़ेच के लिए, वापसी पता है: R14_abt = गर्भपात निर्देश का पता + 4एआरएम अपवादों में प्रीफेच निरस्त करने और डेटा निरस्त करने के वापसी पते क्यों अलग हैं?

और डेटा गर्भपात के लिए, वापसी पता है: R14_abt = गर्भपात अनुदेश + 8

उत्तर

2

मैं डॉन के पते एक आधिकारिक स्पष्टीकरण को याद रखना याद नहीं है, लेकिन यदि आप इसके बारे में सोचते हैं, तो यह बहुत तार्किक है। ,

00000 INSN1 [PC = 08] 
00004 INSN2 [PC = 0C] 
00008 INSN3 [PC = 10] 

प्रोसेसर INSN3 को नहीं लाया जा सकता है, तो बीच में बंद करें यह निष्पादित करने से पहले होता है तो पीसी मूल्य अभी भी INSN2 में से एक है, यानी 0C है:

के इस उदाहरण पर विचार करें।

एक डेटा बीच में बंद करें INSN3 के निष्पादन के दौरान होता है, पीसी मूल्य पहले से ही 10

14

ये ऑफसेट प्रोसेसर की पाइपलाइनिंग की वजह से कर रहे हैं और लाने/डिकोड/निष्पादित चरणों के लिए अद्यतन किया जाता है।

प्रोसेसर का प्रोग्राम काउंटर (पीसी) निष्पादन के दौरान विशिष्ट बिंदुओं पर अद्यतन किया जाता है। अपवाद/डीकोडिंग/निष्पादन के विभिन्न चरणों के दौरान अपवाद हो सकते हैं।

प्रीफेच निरस्त करने के मामले में, निर्देश निष्पादित नहीं किया जा सकता है; अपवाद तब होता है जब प्रोसेसर वास्तव में निर्देश निष्पादित करने का प्रयास करता है (कुछ पूर्व निर्धारित निर्देश निष्पादित नहीं किए जा सकते हैं)।

डेटा निरस्त करने के मामले में, निर्देश निष्पादित किया जा रहा है, और निर्देश के निष्पादन अपवाद का कारण बनता है।

एआरएम प्रलेखन से:

प्रीफ़ेच बीच में बंद करें के बारे में:

[प्रीफ़ेच अपवाद गर्भपात] जब प्रोसेसर एक अनुदेश कि एक अवैध पते से प्रीफ़ेच है निष्पादित करने के लिए प्रयास करता है तब होता है , यानी, पता है कि मेमोरी प्रबंधन उपप्रणाली निर्धारित है प्रोसेसर केमें पहुंच योग्य नहीं हैवर्तमान मोड। पहले से ही पाइप लाइन में

... निर्देश जब तक अवैध अनुदेश तक पहुँच जाता है, इसके बाद से एक प्रीफ़ेच बीच में बंद करें उत्पन्न होता है निष्पादित करने के लिए जारी है।

... क्योंकि कार्यक्रम काउंटर को प्रीफ़ेच निरस्त करने के समय अद्यतन नहीं किया गया है, lr_ABT अपवाद के कारण निर्देश के बाद निर्देश को इंगित करता है। हैंडलर lr_ABT में लौटना चाहिए - 4

और डेटा के बारे में गर्भपात:

[डेटा बीच में बंद करें अपवाद] तब होता है जब एक आंकड़ा अंतरण अनुदेश का प्रयास लोड या कम से दुकान के आंकड़ों के एक अवैध पता।

जब लोड या स्टोर निर्देश स्मृति तक पहुंचने का प्रयास करता है, तो प्रोग्राम काउंटर अपडेट किया गया है। lr_ABT में (पीसी - 4) का संग्रहित मान उस पते से परे दूसरे निर्देश को इंगित करता है जहां अपवाद उत्पन्न हुआ था। जब एमएमयू ने भौतिक स्मृति में उपयुक्त पता लोड किया है, तो हैंडलर को मूल, निरस्त निर्देश पर वापस जाना चाहिए ताकि इसे निष्पादित करने के लिए दूसरा प्रयास किया जा सके। वापसी पता इसलिए दो शब्दों (आठ बाइट्स) कि lr_ABT की तुलना में कम है

दूसरे शब्दों में

तो, डेटा के लिए गर्भपात, हैंडलर lr_ABT में लौटना चाहिए - 8 (दो शब्दों/निर्देश पिछले)

+0

शानदार स्पष्टीकरण – vkulkarni

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