In computer science and engineering, computer architecture is the practical art of defining the structure and relationship of the subcomponents of a computer. As in architecting buildings, the definition of an architecture can comprise many levels of information.The highest level of the definition conveys the concepts to be implemented, whereas in building architecture this over-view is normally visual, in computer architecture it is primarily logical, positing a conceptual system which would serve a intended purposes. In both instances (building and computer), there are many levels of detail needed to completely specify a given implementation. As in building architecture, some of these details are often implied, as they are regarded as common practice.
An early example of an architectural definition of a computer was John Von Neumann's 1945 paper, "First Draft of a Report on the EDVAC", which described an organization of logical elements. IBM used this to develop the IBM 701, the company's first commercial stored program computer, delivered in early 1952.