Can Access Fault Exceptions of the MC68040 caused by internal access faults occur in normal situations?Why is the Amiga ROM at a high memory location, and RAM in low memory?Were people building CPUs out of TTL logic prior to the 4004, 8080 and the 6800?How did the Apple II forward binary instructions to the Z80 software card with CPM?How did the original Apple Macintosh and Atari ST use protected mode?Can a retro-computer be a useful way to learn computer-architecture fundamentals?68000 and memory access speedWhat limited the use of the Z8000 (vs. 68K and 8086) CPU for 16-bit computers?What was Burst Mode on the 68030 and why didn't the A2630 support it?Can anyone identify this unknown 1988 PC card from The Palantir Corporation?

How fast can a ship with rotating habitats be accelerated?

Most elegant way to write a one shot IF

Does “comme on était à New York” mean “since” or “as though”?

Who are these Discworld wizards from this picture?

Needle Hotend for nonplanar printing

In the context of a differentiator circuit, what is a “current-sensing resistor”?

Can 'leave' mean 'forget'?

Why do I need two parameters in an HTTP parameter pollution attack?

Miss Toad and her frogs

Is there a category where products don't exist because uniqueness fails?

Is there a way for presidents to legally extend their terms beyond the maximum of four years?

How exactly is a normal force exerted, at the molecular level?

Generate and graph the Recamán Sequence

I hit a pipe with a mower and now it won't turn

Can I travel from Germany to England alone as an unaccompanied minor?

Is there reliable evidence that depleted uranium from the 1999 NATO bombing is causing cancer in Serbia?

How did researchers use to find articles before the Internet and the computer era?

"Plugged in" or "Plugged in in"

Why does a brace command group need spaces after the opening brace in POSIX Shell Grammar?

Can the passive "être + verbe" sometimes mean the past?

How was film developed in the late 1920s?

What exactly is a fey/fiend/celestial spirit?

Why did this meteor appear cyan?

What is the difference between x RadToDeg cos x div and COSC?



Can Access Fault Exceptions of the MC68040 caused by internal access faults occur in normal situations?


Why is the Amiga ROM at a high memory location, and RAM in low memory?Were people building CPUs out of TTL logic prior to the 4004, 8080 and the 6800?How did the Apple II forward binary instructions to the Z80 software card with CPM?How did the original Apple Macintosh and Atari ST use protected mode?Can a retro-computer be a useful way to learn computer-architecture fundamentals?68000 and memory access speedWhat limited the use of the Z8000 (vs. 68K and 8086) CPU for 16-bit computers?What was Burst Mode on the 68030 and why didn't the A2630 support it?Can anyone identify this unknown 1988 PC card from The Palantir Corporation?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















Note: I only have the MC68040 USER'S MANUAL at hand.



In chapter 8.2.1 "Access Fault Exceptions", it is stated that those exceptions can be caused by Bus Error or Internal Access Faults and by that seem to be a replacement of Bus Error (only) for devices without Caches.



Access Fault Exception caused by Bus Error seem clear to me. My question is related to Internal Access Faults. Consider the Statement in the USER'S MANUAL:




Internal Access faults must be corrected to complete execution of the current context.




(The remainder of the section exceeds my expertise)



It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism. In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.



Can this be true?










share|improve this question







New contributor



Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    4















    Note: I only have the MC68040 USER'S MANUAL at hand.



    In chapter 8.2.1 "Access Fault Exceptions", it is stated that those exceptions can be caused by Bus Error or Internal Access Faults and by that seem to be a replacement of Bus Error (only) for devices without Caches.



    Access Fault Exception caused by Bus Error seem clear to me. My question is related to Internal Access Faults. Consider the Statement in the USER'S MANUAL:




    Internal Access faults must be corrected to complete execution of the current context.




    (The remainder of the section exceeds my expertise)



    It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism. In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.



    Can this be true?










    share|improve this question







    New contributor



    Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      4












      4








      4








      Note: I only have the MC68040 USER'S MANUAL at hand.



      In chapter 8.2.1 "Access Fault Exceptions", it is stated that those exceptions can be caused by Bus Error or Internal Access Faults and by that seem to be a replacement of Bus Error (only) for devices without Caches.



      Access Fault Exception caused by Bus Error seem clear to me. My question is related to Internal Access Faults. Consider the Statement in the USER'S MANUAL:




      Internal Access faults must be corrected to complete execution of the current context.




      (The remainder of the section exceeds my expertise)



      It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism. In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.



      Can this be true?










      share|improve this question







      New contributor



      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      Note: I only have the MC68040 USER'S MANUAL at hand.



      In chapter 8.2.1 "Access Fault Exceptions", it is stated that those exceptions can be caused by Bus Error or Internal Access Faults and by that seem to be a replacement of Bus Error (only) for devices without Caches.



      Access Fault Exception caused by Bus Error seem clear to me. My question is related to Internal Access Faults. Consider the Statement in the USER'S MANUAL:




      Internal Access faults must be corrected to complete execution of the current context.




      (The remainder of the section exceeds my expertise)



      It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism. In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.



      Can this be true?







      motorola-68000 motorola-680x0






      share|improve this question







      New contributor



      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question







      New contributor



      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question






      New contributor



      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 8 hours ago









      Hartmut BraunHartmut Braun

      234 bronze badges




      234 bronze badges




      New contributor



      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      Hartmut Braun is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          5
















          An internal access fault also occurs when the data or instruction MMU detects that a
          successful address translation is not possible because the page is write protected,
          supervisor only, or nonresident.





          (My emphasis.)



          So, one major case of an internal access fault is an MMU detected condition, where the page is not resident, i.e. a page fault.




          In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.




          So, yes the operating system would either have to handle page faults as part of its virtual memory management, or disable the MMU, or configure the MMU so that all pages are resident.



          Normally writing to a write-protected page is a fault in the program, which should then be aborted; however, in some environments, a page might be write protected in order to intervene on writes — for example, a debugger might mark a page write protected in order to locate a particular write to that page.  Upon faulting for these a debugger could accomplish the write, and continue the program; a garbage collector might want to intervene on writes so as to track when they occur concurrently with a major collection cycle.




          As far as the other causes of internal access fault, here's what I speculate based on reading the text:



          Board design: the board can dynamically disable cache operation forcing the CPU to bypass the cache and use main memory.  It seems possible that a dual CPU board or some configuration of other system devices might do this to signal a CPU about shared memory updates.



          Apparently also, the board might send signals that cause the CPU to raise an internal access fault.  This might be used to support emulation, where the processor is used to run one (or several) instruction(s) and then suspend execution returning back to the emulator to observe or intervene.






          share|improve this answer























          • Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

            – Hartmut Braun
            7 hours ago











          • I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

            – Tommy
            6 hours ago






          • 1





            @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

            – Erik Eidt
            5 hours ago


















          0















          It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism.




          I just downloaded the manual:



          If I interpret it correctly, I would say: No



          We have to distinguish between cases 1-3 and case 4 described in the manual:



          If I understand correctly, cases 1-3 happen if the external hardware (memory) reports some error (bus error?) while being accessed.



          However, RAM and ROM normally should not report errors. And you should better not access address regions not containing RAM or ROM (such as peripheral devices) with the cache enabled. So if such a memory region is accessed using the cache enabled, I would not talk about "a correct program" (while "program" includes the OS).



          (And yes: Accessing peripheral devices using the cache enabled will definitely lead to unwanted side effects!)



          As Erik Eidt already wrote in his answer, Case 4 will definitely happen in OSs that support memory swapping (virtual memory) and similar features. However, this is not a "side effect" of caching but an intended feature of the OS.



          Case 4 may also happen if the MMU tries to read some "configuration information" from the memory and the memory reports an error. But (just like in cases 1-3) the configuration information for the MMU should be stored in RAM only and RAM normally does not report errors...






          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "648"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );






            Hartmut Braun is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11457%2fcan-access-fault-exceptions-of-the-mc68040-caused-by-internal-access-faults-occu%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            5
















            An internal access fault also occurs when the data or instruction MMU detects that a
            successful address translation is not possible because the page is write protected,
            supervisor only, or nonresident.





            (My emphasis.)



            So, one major case of an internal access fault is an MMU detected condition, where the page is not resident, i.e. a page fault.




            In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.




            So, yes the operating system would either have to handle page faults as part of its virtual memory management, or disable the MMU, or configure the MMU so that all pages are resident.



            Normally writing to a write-protected page is a fault in the program, which should then be aborted; however, in some environments, a page might be write protected in order to intervene on writes — for example, a debugger might mark a page write protected in order to locate a particular write to that page.  Upon faulting for these a debugger could accomplish the write, and continue the program; a garbage collector might want to intervene on writes so as to track when they occur concurrently with a major collection cycle.




            As far as the other causes of internal access fault, here's what I speculate based on reading the text:



            Board design: the board can dynamically disable cache operation forcing the CPU to bypass the cache and use main memory.  It seems possible that a dual CPU board or some configuration of other system devices might do this to signal a CPU about shared memory updates.



            Apparently also, the board might send signals that cause the CPU to raise an internal access fault.  This might be used to support emulation, where the processor is used to run one (or several) instruction(s) and then suspend execution returning back to the emulator to observe or intervene.






            share|improve this answer























            • Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

              – Hartmut Braun
              7 hours ago











            • I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

              – Tommy
              6 hours ago






            • 1





              @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

              – Erik Eidt
              5 hours ago















            5
















            An internal access fault also occurs when the data or instruction MMU detects that a
            successful address translation is not possible because the page is write protected,
            supervisor only, or nonresident.





            (My emphasis.)



            So, one major case of an internal access fault is an MMU detected condition, where the page is not resident, i.e. a page fault.




            In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.




            So, yes the operating system would either have to handle page faults as part of its virtual memory management, or disable the MMU, or configure the MMU so that all pages are resident.



            Normally writing to a write-protected page is a fault in the program, which should then be aborted; however, in some environments, a page might be write protected in order to intervene on writes — for example, a debugger might mark a page write protected in order to locate a particular write to that page.  Upon faulting for these a debugger could accomplish the write, and continue the program; a garbage collector might want to intervene on writes so as to track when they occur concurrently with a major collection cycle.




            As far as the other causes of internal access fault, here's what I speculate based on reading the text:



            Board design: the board can dynamically disable cache operation forcing the CPU to bypass the cache and use main memory.  It seems possible that a dual CPU board or some configuration of other system devices might do this to signal a CPU about shared memory updates.



            Apparently also, the board might send signals that cause the CPU to raise an internal access fault.  This might be used to support emulation, where the processor is used to run one (or several) instruction(s) and then suspend execution returning back to the emulator to observe or intervene.






            share|improve this answer























            • Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

              – Hartmut Braun
              7 hours ago











            • I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

              – Tommy
              6 hours ago






            • 1





              @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

              – Erik Eidt
              5 hours ago













            5












            5








            5









            An internal access fault also occurs when the data or instruction MMU detects that a
            successful address translation is not possible because the page is write protected,
            supervisor only, or nonresident.





            (My emphasis.)



            So, one major case of an internal access fault is an MMU detected condition, where the page is not resident, i.e. a page fault.




            In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.




            So, yes the operating system would either have to handle page faults as part of its virtual memory management, or disable the MMU, or configure the MMU so that all pages are resident.



            Normally writing to a write-protected page is a fault in the program, which should then be aborted; however, in some environments, a page might be write protected in order to intervene on writes — for example, a debugger might mark a page write protected in order to locate a particular write to that page.  Upon faulting for these a debugger could accomplish the write, and continue the program; a garbage collector might want to intervene on writes so as to track when they occur concurrently with a major collection cycle.




            As far as the other causes of internal access fault, here's what I speculate based on reading the text:



            Board design: the board can dynamically disable cache operation forcing the CPU to bypass the cache and use main memory.  It seems possible that a dual CPU board or some configuration of other system devices might do this to signal a CPU about shared memory updates.



            Apparently also, the board might send signals that cause the CPU to raise an internal access fault.  This might be used to support emulation, where the processor is used to run one (or several) instruction(s) and then suspend execution returning back to the emulator to observe or intervene.






            share|improve this answer















            An internal access fault also occurs when the data or instruction MMU detects that a
            successful address translation is not possible because the page is write protected,
            supervisor only, or nonresident.





            (My emphasis.)



            So, one major case of an internal access fault is an MMU detected condition, where the page is not resident, i.e. a page fault.




            In this interpretation, every operating system utilizing MC68040 requires corrective actions (in the corresponding exception handler) in order to continue a program after the exception.




            So, yes the operating system would either have to handle page faults as part of its virtual memory management, or disable the MMU, or configure the MMU so that all pages are resident.



            Normally writing to a write-protected page is a fault in the program, which should then be aborted; however, in some environments, a page might be write protected in order to intervene on writes — for example, a debugger might mark a page write protected in order to locate a particular write to that page.  Upon faulting for these a debugger could accomplish the write, and continue the program; a garbage collector might want to intervene on writes so as to track when they occur concurrently with a major collection cycle.




            As far as the other causes of internal access fault, here's what I speculate based on reading the text:



            Board design: the board can dynamically disable cache operation forcing the CPU to bypass the cache and use main memory.  It seems possible that a dual CPU board or some configuration of other system devices might do this to signal a CPU about shared memory updates.



            Apparently also, the board might send signals that cause the CPU to raise an internal access fault.  This might be used to support emulation, where the processor is used to run one (or several) instruction(s) and then suspend execution returning back to the emulator to observe or intervene.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 7 hours ago









            Erik EidtErik Eidt

            1,6276 silver badges13 bronze badges




            1,6276 silver badges13 bronze badges












            • Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

              – Hartmut Braun
              7 hours ago











            • I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

              – Tommy
              6 hours ago






            • 1





              @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

              – Erik Eidt
              5 hours ago

















            • Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

              – Hartmut Braun
              7 hours ago











            • I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

              – Tommy
              6 hours ago






            • 1





              @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

              – Erik Eidt
              5 hours ago
















            Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

            – Hartmut Braun
            7 hours ago





            Thanks. I think on the platform at hand the MMU is deactivated but I have to check this. The caches are enabled. What confuses me is the mixture of bus error, which to me is clearly an error situation, with something that seems to be a rather normal situation, or even used to implement functionality.

            – Hartmut Braun
            7 hours ago













            I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

            – Tommy
            6 hours ago





            I think also on a fork it's not unusual to provide the same pages to both processes as read only, and then perform a selective copying only if either process writes.

            – Tommy
            6 hours ago




            1




            1





            @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

            – Erik Eidt
            5 hours ago





            @Tommy, yes thx, a good example: copy on write uses write-protection fault but is continuable.

            – Erik Eidt
            5 hours ago













            0















            It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism.




            I just downloaded the manual:



            If I interpret it correctly, I would say: No



            We have to distinguish between cases 1-3 and case 4 described in the manual:



            If I understand correctly, cases 1-3 happen if the external hardware (memory) reports some error (bus error?) while being accessed.



            However, RAM and ROM normally should not report errors. And you should better not access address regions not containing RAM or ROM (such as peripheral devices) with the cache enabled. So if such a memory region is accessed using the cache enabled, I would not talk about "a correct program" (while "program" includes the OS).



            (And yes: Accessing peripheral devices using the cache enabled will definitely lead to unwanted side effects!)



            As Erik Eidt already wrote in his answer, Case 4 will definitely happen in OSs that support memory swapping (virtual memory) and similar features. However, this is not a "side effect" of caching but an intended feature of the OS.



            Case 4 may also happen if the MMU tries to read some "configuration information" from the memory and the memory reports an error. But (just like in cases 1-3) the configuration information for the MMU should be stored in RAM only and RAM normally does not report errors...






            share|improve this answer



























              0















              It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism.




              I just downloaded the manual:



              If I interpret it correctly, I would say: No



              We have to distinguish between cases 1-3 and case 4 described in the manual:



              If I understand correctly, cases 1-3 happen if the external hardware (memory) reports some error (bus error?) while being accessed.



              However, RAM and ROM normally should not report errors. And you should better not access address regions not containing RAM or ROM (such as peripheral devices) with the cache enabled. So if such a memory region is accessed using the cache enabled, I would not talk about "a correct program" (while "program" includes the OS).



              (And yes: Accessing peripheral devices using the cache enabled will definitely lead to unwanted side effects!)



              As Erik Eidt already wrote in his answer, Case 4 will definitely happen in OSs that support memory swapping (virtual memory) and similar features. However, this is not a "side effect" of caching but an intended feature of the OS.



              Case 4 may also happen if the MMU tries to read some "configuration information" from the memory and the memory reports an error. But (just like in cases 1-3) the configuration information for the MMU should be stored in RAM only and RAM normally does not report errors...






              share|improve this answer

























                0












                0








                0








                It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism.




                I just downloaded the manual:



                If I interpret it correctly, I would say: No



                We have to distinguish between cases 1-3 and case 4 described in the manual:



                If I understand correctly, cases 1-3 happen if the external hardware (memory) reports some error (bus error?) while being accessed.



                However, RAM and ROM normally should not report errors. And you should better not access address regions not containing RAM or ROM (such as peripheral devices) with the cache enabled. So if such a memory region is accessed using the cache enabled, I would not talk about "a correct program" (while "program" includes the OS).



                (And yes: Accessing peripheral devices using the cache enabled will definitely lead to unwanted side effects!)



                As Erik Eidt already wrote in his answer, Case 4 will definitely happen in OSs that support memory swapping (virtual memory) and similar features. However, this is not a "side effect" of caching but an intended feature of the OS.



                Case 4 may also happen if the MMU tries to read some "configuration information" from the memory and the memory reports an error. But (just like in cases 1-3) the configuration information for the MMU should be stored in RAM only and RAM normally does not report errors...






                share|improve this answer














                It seems to me that this statement may be interpreted to mean that Internal Access Faults may happen normally even in a correct program as a side effect of the cache mechanism.




                I just downloaded the manual:



                If I interpret it correctly, I would say: No



                We have to distinguish between cases 1-3 and case 4 described in the manual:



                If I understand correctly, cases 1-3 happen if the external hardware (memory) reports some error (bus error?) while being accessed.



                However, RAM and ROM normally should not report errors. And you should better not access address regions not containing RAM or ROM (such as peripheral devices) with the cache enabled. So if such a memory region is accessed using the cache enabled, I would not talk about "a correct program" (while "program" includes the OS).



                (And yes: Accessing peripheral devices using the cache enabled will definitely lead to unwanted side effects!)



                As Erik Eidt already wrote in his answer, Case 4 will definitely happen in OSs that support memory swapping (virtual memory) and similar features. However, this is not a "side effect" of caching but an intended feature of the OS.



                Case 4 may also happen if the MMU tries to read some "configuration information" from the memory and the memory reports an error. But (just like in cases 1-3) the configuration information for the MMU should be stored in RAM only and RAM normally does not report errors...







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 3 hours ago









                Martin RosenauMartin Rosenau

                1,1711 gold badge4 silver badges9 bronze badges




                1,1711 gold badge4 silver badges9 bronze badges




















                    Hartmut Braun is a new contributor. Be nice, and check out our Code of Conduct.









                    draft saved

                    draft discarded


















                    Hartmut Braun is a new contributor. Be nice, and check out our Code of Conduct.












                    Hartmut Braun is a new contributor. Be nice, and check out our Code of Conduct.











                    Hartmut Braun is a new contributor. Be nice, and check out our Code of Conduct.














                    Thanks for contributing an answer to Retrocomputing Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11457%2fcan-access-fault-exceptions-of-the-mc68040-caused-by-internal-access-faults-occu%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                    Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                    199年 目錄 大件事 到箇年出世嗰人 到箇年死嗰人 節慶、風俗習慣 導覽選單