A survey of microprocessor architectures for memory management