In computer science and engineering, computer architecture is the art that specifies the relations and parts of a computer system. Computer architecture is different than the architecture of buildings, the latter is a form of visual arts while the former is part of computer sciences. In both instances (building and computer), a complete design has many details, and some details are implied by common practice.For example, at a high level, computer architecture may be concerned with how the central processing unit (CPU) acts and how it uses computer memory. Some fashionable (2011) computer architectures include cluster computing and Non-Uniform Memory Access.