That is the TLB? The TLB is one I broke that he guards some income of type TranslationEntry. The income are identical to the income of the tables of pages of the last task. Each one has fields for a virtual page, a frame, and some bits. The TLB is very small; in the simulation, it has only four income. Also, there is only a TLB in the machine. There is no a TLB for every process.
In a user's program, every reference to the memory causes that the machine searches in the TLB for an entry with the same virtual page as the reference. If there is an equal entry, the machine reads the number of frame and does the access to the memory. Differently, it generates an exception.
With the exception the control returns to the operating system in ExceptionHandler. The exception takes the virtual direction that failed, and the system has to use her to find (in the table of pages of the process) the frame that contains the page. The system updates the TLB with this information and returns. The machine tries to execute the instruction again, and this time finds the translation necessary in the TLB.
Which is the benefit of the TLB in royal systems?
The benefit of the TLB is that in royal systems, the accesses to the TLB are much more rapid than the accesses to the table of pages. A TLB with a sufficient high rate of successes improves the time to access to the memory and diminishes the cost of the pagination.
At the same time, the operating system (at least in the MIPS) has to do more. For example, the dirty bit is modified only in the TLB; if the system operative guard wants this information, it has to copy it from the TLB to the table of pages of the process.