You can use a disassembler to convert compiled binary code back to assembly language. That would allow you to "read" (with difficulty) software distributed only in binary.
For the other part of your question, you seem to want some sort of hardware decompiler which gives more detailed information about how the cpu executes a particular binary instruction. I don't know of any tool to do this. You'll probably have to read the hardware manuals and do this sort of analysis in your head.