1. A memory management unit, comprising: multiple data segment descriptors; each data segment descriptor associated with a data memory segment; multiple program segment descriptors, each program segment descriptor associated with a program memory segment; and a controller, adapted to replace the content of the multiple data segment descriptors and the multiple program segment descriptors in response to a task switch.