1. A system for unifying access to a physical memory by operations using virtual addresses of the same virtual address space, said operations are generated by at least one central processing unit (CPU operations) and/or by at least one IO device (IO operations), said system comprising: a bus arranged to transfer data and virtual addresses of the same virtual address space from said central processing unit (CPU) and said IO device to a unified memory management unit (UMMU); a unified memory management unit (UMMU) arranged to translate said virtual addresses to physical addresses, and to protect said physical memory from illegal access attempts of said CPU operations and said IO operations; and a memory controller arranged to manage access to said physical memory, said access is done by using physical addresses.