Computer architecture is at the interface of computer hardware and software. Its practitioners are responsible for specifying, designing, and implementing at the architecture level the hardware structures that carry out the work specified by computer software. Computer architects share the responsibility for providing mechanisms that algorithms, compilers, and operating systems can use to enhance the performance and/or energy requirements of running applications. Computer architecture spans many dimensions, such as the scope of a processor (embedded processors, desktop systems, servers, and supercomputers); the target application (general-purpose versus domain-specific); the characteristics of the design objectives (speed, power consumption, cost, reliability, availability, and reconfigurability); and the measurement and analysis of resulting designs.
Architecture, Computer Systems, and Embedded Systems (ACSES)