Patent ID: 8521920

Claim:
A data processor comprising: a central processing unit configured to run a software program; a memory management section for address translation from a virtual address in a virtual address space of the central processing unit into a physical address, and for access protection, which has an address translation buffer for holding a plurality of sets of translation entry data, each set including an address translation data pair used in address translation, and identification information for identifying a process of a software program using a virtual address corresponding to the address translation data pair; and a transfer controller configured to control data transfer according to transfer control information set by access from the central processing unit, including an identification-information-memory unit for holding identification information for identifying a process of a software program which the central processing unit is running at a time setting the transfer control information thereon, and an address translation sub-buffer for holding a subset of information held by the address translation buffer, wherein the transfer controller outputs a physical address of a transfer target according to the transfer control information when the address translation sub-buffer has the required translation entry data and when identification information corresponding to the physical address matches identification information in the identification-information-memory unit set by the access from the central processing unit, and protects access to the physical address of the transfer target when identification information corresponding to the physical address does not match the identification information in the identification-information-memory unit set by the access from the central processing unit, and wherein the memory management section protects access to the physical address when a process attempting to access the virtual address corresponding to the address translation data pair does not match the identification information for identifying the process of the software program using the virtual address corresponding to the address translation data pair in the memory management section.