chapter 1 computer architecture - is...
TRANSCRIPT
Chapter 1
Computer Architecture
Introduction to Computer Architecture
Bryar M. Shareef (bryarmustafa.epu.edu.krd)
2016-2017
Computer Architecture by Bryar M. Shareef
2
Fundamental Concepts
What is a computer architecture?
Computer Architecture: The science and art of designing,
selecting, and interconnecting hardware components and
designing the hardware/software interface to create a
computing system that meets functional, performance,
energy consumption, cost, and other specific goals.
Von Neumann architecture
The template for all modern computers is the Von Neumann
architecture, detailed in a 1945 paper by Hungarian
mathematician John von Neumann. This describes a design
architecture for an electronic digital computer with subdivisions of
a processing unit consisting of an arithmetic logic
unit and processor registers, a control unit containing
an instruction register and program counter, a memory to store
both data and instructions, external mass storage, and input and
output mechanisms.
Computer Architecture by Bryar M. Shareef
3
Figure 1.1: Von Neumann architecture
Introduction to Computer Architecture
Computer Organization vs. Architecture
Computer Architecture refers to those attributes of a system that have a direct impact on the logical execution of a program. Examples:
1. the instruction set 2. the number of bits used to represent various
data types 3. I/O mechanisms 4. memory addressing techniques
Computer Organization refers to the operational units and their interconnections that realize the architectural
Computer Architecture by Bryar M. Shareef
4
specifications. Examples are things that are transparent to the programmer: So, for example, It is an architectural design issue whether a computer will have a multiply instruction. It is an organizational issue whether that instruction will be implemented by a special multiply unit or by a mechanism that makes repeated use of the add unit of the system.
Many computer manufacturers offer a family of computer models, all with the same architecture but with differences in organization.
Why Study Computer Architecture? 1. Enable better systems: make computers faster,
cheaper, smaller, more reliable, …
By exploiting advances and changes in
underlying technology/circuits
2. Enable new applications
Life-like 3D visualization 20 years ago?
Chemist, medicine.
3. Enable better solutions to problems
Software innovation is built into trends and
changes in computer architecture
E.g. >50% performance improvement per
year has enabled this innovation
4. Understand why computers work the way they do
5. Understand where computers are going
Future capabilities drive the (computing) world
Computer Architecture by Bryar M. Shareef
5
Real world-impact: no computer architecture! no
computers!
Structure and Function
1. Structure: The way in which the components are interrelated
2. Function: The operation of each individual component as part of the structure.
Structure Figure 1.2 is the simplest possible depiction of a computer. The computer interacts in some fashion with its external environment. In general, all of its linkages to the external environment can be classified as peripheral devices or communication lines. We will have something to say about both types of linkages.
Computer Architecture by Bryar M. Shareef
6
There are four main structural components: • Central processing unit (CPU): Controls the operation of the computer and performs its data processing functions; often simply referred to as processor. • Main memory: Stores data. • I/O: Moves data between the computer and its external environment. • System interconnection: Some mechanism that provides for communication among CPU, main memory, and I/O. A common example of system
CPU major components are: • Control unit: Controls the operation of the CPU and hence the computer • Arithmetic and logic unit (ALU): Performs the computer’s data processing functions • Registers: Provides storage internal to the CPU • CPU interconnection: Some mechanism that provides for communication among the control unit, ALU, and registers.
Computer Architecture by Bryar M. Shareef
7
Figure 1.2: CPU major parts
Functions: Basic functions that a computer can perform:
1. Data Processing - a wide variety of forms, but only a few fundamental methods or types
2. Data Storage - long-term or short, temporary storage 3. Data Movement: The computer must be able to
move data between itself and the outside world.
4. Control - of the above functions, by instructions provided by the user of the computer (i.e. their programs)
Computer Architecture by Bryar M. Shareef
8
Fig 1.3 Functional View of computer
Figures (a-d) shows the four possible types of
operations.
1. The computer can function as a data movement
device (Figure a), simply transferring
data from one peripheral or communications line
to another.
Computer Architecture by Bryar M. Shareef
9
2. It can also function as a data storage device
(Figure b), with data transferred from the external
environment to computer storage (read) and vice
versa (write).
3. The final two diagrams show operations involving
data processing, on data either in storage (Figure
c)
4. en route between storage and the external
environment (Figure d).
Operations (Fig. 1.4: a) Data movement
Computer Architecture by Bryar M. Shareef
10
Operations (Fig. 1.4: b) Storage
Operation (Fig. 1.4: c) Processing from/to storage
Computer Architecture by Bryar M. Shareef
11
Operation (Fig. 1.4: d)
Processing from storage to I/O
Computer Architecture by Bryar M. Shareef
12
Instruction Set Architecture (ISA)
The instruction set, also called instruction set
architecture (ISA), is part of a computer that pertains to
programming, which is basically machine language. The
instruction set provides commands to the processor, to tell it
what it needs to do. The instruction set consists of addressing
modes, instructions, native data types, registers, memory
architecture, interrupt, and exception handling, and external I/O.
CISC vs RISC
Until the early 1980s, all CPUs, whether single-chip or whole-board,
followed the CISC (complex instruction set computer) design
philosophy. CISC refers to CPUs with hundreds of instructions designed
for every possible situation. To design CPUs with so many instructions
Computer Architecture by Bryar M. Shareef
13
consumed not only hundreds of thousands of transistors, but also made
the design very complicated, time-consuming, and expensive. In the
early 1980s, a new CPU design philosophy called RISC (reduced
instruction set computer) was developed. The proponents of RISC
argued that no one was using all the instructions etched into the brain of
CISC-type CPUs. Why not streamline the instructions by simplifying
and reducing them from hundreds to around 40 or so and use all the
transistors that are saved to enhance the power of the CPU? Although
the RISC concept had been explored by computer scientists at IBM as
early as the 1970s, the first working single-chip RISC microprocessor
was implemented by a group of researchers at the University of
California at Berkeley in1980. Today the RISC design philosophy is no
longer an experiment limited to research laboratories. Since the late
1980s, many companies designing new CPUs (either single-chip or
whole-board) have used the RISC philosophy. It appears that eventually
the only CISC microprocessors remaining in use will be members of the
80x86 family (8086, 8088, 80286, 80386, 80486, 80586, etc.) and the
680x0 family (68000, 68010, 68020, 68030, 68040, 68050, etc.). The
80x86 will be kept alive by the huge base of IBM PC, PS, and
compatible computers, and the Apple Macintosh is prolonging the life of
680x0 microprocessors.
The Apple Company in 2005 announced that the company would make a
transition from the use of PowerPC microprocessors supplied
by Freescale (formerly Motorola) and IBM in its Macintosh computers,
to processors designed and manufactured by Intel, a chief supplier for
most of Apple's competitors CISC RISC
Used in laptops and desktop computers,
made by intel or AMD
Used in smartphones and tablets, based
around ARM processor
Has more complex hardware Has simpler hardware
Computer Architecture by Bryar M. Shareef
14
Multiple machine cycles per instruction Single machine cycle per instruction
Physically larger in size and require more
silicon to make thus more expensive
Smaller in size as less complex circuitry
required, less silicon needed to make thus
cheaper
Greater energy consumption Lower energy requirements, and can go
into “sleep mode” when not actively
processing
More intensive tasks will do better with
CISC
Run at lower clock speed, but can
perform simpler tasks more quickly than
CISC
Cannot support pipelining Can support pipelining