1Chapter IElements of Computer ArchitectureLecture notes for a course inMachine Structures and Programming(CS 220) taught at Minnesota State University by Julio Sanchez.Chapter SummaryThe term "architecture" in relation to computers was coined byLyle Johnson and Frederick Brooks of IBM in 1959. The first useof this term was in the context of characterizing a level ofdetail regarding a complex computer system at Los AlamosScientific Laboratory. Johnson noted the term "architecture" wasmore suitable than "organization" in describing instructions,parameters, and hardware types. Later Brooks wrote:“Computer architecture, like other architecture, is the artof determining the needs of the user of a structure andthen designing to meet those needs as effectively aspossible within economic and technological constraints.”Some authors have objected to the word "architecture" statingthat it implies a static construct while in reality the contentsdescribed are dynamic since they include the interaction betweenthe various components.The term system architecture has sometimes been used as asynonym. In this sense system architecture is the discipline thatdescribes the components of a computer system and theirinteraction.1.0 Abstraction LayersArchitecture can loosely be defined as a vision of the differentabstraction layers of a computer system, It includes theconceptual structure and functional behavior. Architecture doesnot include the data flow, logical design, or hardware elementsof the system, although often internal mechanisms such as memoryaddressing and instruction fetching are included in the contextof computer architecture.The typical list of abstraction layers include:hardware.firmware.assembler and development software.kernel.operating system.