1. A data processing system comprising: a memory protection unit (MPU); and a plurality of region descriptors associated with the MPU, wherein each region descriptor is associated with one of multiple subsets of the region descriptors and include an address range, protection settings, and attributes for a respective region of memory, and the subsets include data-only region descriptors, instruction-only region descriptors, and shared region descriptors, wherein the shared region descriptors are used to access memory regions for data and instruction memory requests.