1.
1   Organization and Architecture
Computer architecture: refers to those attributes of a
system visible to a programmer or, put another way, those
attributes that have a direct impact on the logical
execution of a program. Examples of architectural
attributes include the instruction set, the number of bits
used to represent various data types (e.g., numbers,
characters), I/O mechanisms, and techniques for
addressing memory.
   refers to the operational units and their
    interconnections that realize the architectural
    specifications.   Organizational     attributes
    include those hardware details transparent to
    the programmer, such as control signals;
    interfaces between the computer and
    peripherals; and the memory technology
    used.
   A computer is a complex system; contemporary computers
    contain millions of elementary electronic components.
   How, then, can one clearly describe them?
   The key is to recognize the hierarchical nature of most
    complex systems, including the computer. A hierarchical
    system is a set of interrelated subsystems, each of the
    latter, in turn, hierarchical in structure until we reach some
    lowest level of elementary subsystem.
   The hierarchical nature of complex systems is essential to
    both their design and their description. The designer need
    only deal with a particular level of the system at a time. At
    each level, the system consists of a set of components and
    their interrelationships.
   The behavior at each level depends only on a simplified,
    abstracted characterization of the system at the next lower
    level. At each level, the designer is concerned with
    structure and function:
   Structure: The way in which the components
    are interrelated
   Function: The operation of each individual
    component as part of the structure
   In terms of description, we have two choices:
    starting at the bottom and building up to a
    complete description, or beginning with a top
    view and decomposing the system into its
    subparts. Evidence from a number of fields
    suggests that the top down approach is the
    clearest and most effective.
   the simplest possible depiction of a computer
   Data Processing
   The computer, of course, must be able to process
    data. The data may take a wide variety of forms,
    and the range of processing requirements is broad.
    However, we shall see that there are only a few
    fundamental methods or types of data processing.
   Data Storage
   It is also essential that a computer store data. Even
    if the computer is processing data on the fly (i.e.,
    data come in and get processed, and the results go
    out immediately), the computer must temporarily
    store at least those pieces of data that are being
    worked on at any given moment. Thus, there is at
    least a short-term data storage function. Equally
    important, the computer performs a long-term
    data storage function. Files of data are stored on
    the computer for subsequent retrieval and update.
   Move Data
   The computer must be able to move data between itself
    and the outside world. The computer’s operating
    environment consists of devices that serve as either
    sources or destinations of data. When data are received
    from or delivered to a device that is directly connected to
    the computer, the process is known as input–output (I/O),
    and the device is referred to as a peripheral. When data are
    moved over longer distances, to or from a remote device,
    the process is known as data communications.
   Control
   Finally, there must be control of these three functions.
    Ultimately, this control is exercised by the individual(s)
    who provides the computer with instructions. Within the
    computer, a control unit manages the computer’s
    resources and orchestrates the performance of its
    functional parts in response to those instructions.