Guide to RISC Processors: for Programmers and Engineers