Computer architecture is the internal design and operational structure of a computer system. It includes the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance, and cost goals. Computer architecture consists of instruction set architecture, machine organization, and abstraction layers that translate high-level requests into low-level commands. Forces acting on computer architecture include technology trends and the prevalence of computers in everyday devices. Computer architecture is an interdisciplinary field that relates to areas like electrical engineering, computer science, and software.