The below mentioned solution can resolve the given problem:
The microcode performs the computation and based on that it tries to access the both ends of both the blocks. When a page fault is going to happen, then it will occur in this phase before any modification. Then the move can take place. No page fault is possible as all the relevant pages are residing in memory.
Hope this helps.
One crucial requirement for demand paging is the ability to restart any instruction after a page...