Examine the principles and design choices involved in creating general-purpose computer systems, including instruction set architectures, virtual machines,