Ms - Chit Su Mon
Ms - Chit Su Mon
Introduction to Computer
Organizations and
Architecture
MS.CHIT SU MON
The Digital Computer
A sequence of instructions describing how to perform a certain task is called a program. The
electric circuits of each computer can recognize and directly execute a limited set of simple
instructions into which all its programs must be converted before they can be executed.
...
Languages, Levels,
and Virtual Machines (2)
...
Figure 1-1. A multilevel machine.
One method of executing a program written in L1 is first to replace
each instruction in it by an equivalent sequence of instructions in
L0. The resulting program consists entirely of L0 instructions. The
computer then executes the new L0 program instead of the old L1
program. This technique is called translation.
The other technique is to write a program in L0 that takes programs
in L1 as input data and carries them out by examining each
instruction in turn and executing the equivalent sequence of L0
instructions directly. This technique does not require first
generating a new program in L0. It is called interpretation and the
program that carries it out is called an interpreter.
Only programs written in language L0 can be directly carried out
by the electronic circuits, without the need for intervening
translation or interpretation. Programs written in L1, L2, ..., Ln
must either be interpreted by an interpreter running on a lower level
or translated to another language corresponding to a lower level.
Contemporary Multilevel
Machines (1)
...
Figure 1-2. A six-level computer. The support method for each level is indicated below
it (along
with the name of the supporting program).
Contemporary Multilevel
Machines (2)
...
Figure 1-2. A six-level computer. The support method for each level is indicated below
it (along
with the name of the supporting program).
How do we solve a problem
using a computer?
A systematic sequence of transformations between
layers of abstraction.
Problem
Problem
Software Design:
choose algorithms and data structures
Algorithm
Algorithm
Programming:
use language to express design
Program
Program
Compiling/Interpreting:
convert language to
machine instructions
Instr
InstrSet
Set
Architecture
Architecture
Deeper and Deeper…
Instr
InstrSet
Set
Architecture
Architecture
Processor Design:
choose structures to implement ISA
Microarch
Microarch
Logic/Circuit Design:
gates and low-level circuits to
implement components
Circuits
Circuits
Process Engineering & Fabrication:
develop and manufacture
lowest-level components
Devices
Devices
Descriptions of Each Level
Problem Statement
stated using "natural language"
may be ambiguous, imprecise
Algorithm
step-by-step procedure, guaranteed to finish
definiteness, effective computability, finiteness
Program
express the algorithm using a computer language
high-level language, low-level language
Instruction Set Architecture (ISA)
specifies the set of instructions the computer can perform
data types, addressing mode
Descriptions of Each Level
(cont.)
Microarchitecture
detailed organization of a processor implementation
different implementations of a single ISA
Logic Circuits
combine basic operations to realize microarchitecture
many different ways to implement a single function
(e.g., addition)
Devices
properties of materials, manufacturability
Problem Transformation
- levels of abstraction
The desired behavior: Natural Language
the application
Algorithm
Program
Machine Architecture
Micro-architecture
Logic Circuits
The building blocks:
Devices
electronic devices
Levels of Abstraction
Natural Language
These levels do not necessarily correspond to discrete
components, but to well defined standard interfaces. Algorithm
Program
Standard interfaces provide
portability Machine Architecture
third party software/hardware
Micro-architecture
wider usage
Logic Circuits
These levels are to some extent arbitrary - there are other
Devices
ways to draw the lines.
The Program Level
Most computers run a management program
called the operating system (OS). Application Program
Operating System
Application programs interface to the machine
architecture via the OS.
Program (Software)
An example:
Microarchitecture
The implementation of the ISA in a specific CPU - i.e. the way in which the
specifications of the ISA are actually carried out.
The Machine Level - 2
Logic Circuits
Each functional component of the microarchitecture is built up of circuits that make
“decisions” based on simple rules
Devices
Finally, each logic circuit is actually built of electronic devices such as CMOS or
NMOS or GaAs (etc.) transistors.
Evolution of Multilevel Machines
Programs written in a computer’s true machine language
(level 1) can be directly executed by the computer’s
electronic circuits (level 0), without any intervening
interpreters or translators.
These electronic circuits along with the memory and
input/output devices, form the computer’s hardware.
Hardware consists of tangible objects – integrated
circuits, printed circuit boards, cables, power supplies,
memories and printers – rather than abstract ideas,
algorithms or instructions
Evolution of Multilevel Machines
Software, in contrast, consists of algorithms (detailed
instructions telling how to do something) ad their computer
representations- namely, programs.
Programs can be stored on hard disk , CD-ROM, or other
media, but the essence of software is the set of instructions
that makes up the programs, not the physical media on
which they are recorded.
In the very first computers, the boundary between hardware
and software was crystal clear. Over time, however, it has
blurred considerably, primarily due to the addition, removal
and merging of levels as computers have evolved.
Nowadays, it is often hard to tell them apart. In fact,
Hardware and software are logically equivalent.
Evolution of Multilevel Machines
Invention of microprogramming
Invention of operating system
Migration of functionality to microcode
Elimination of microprogramming
Invention of microprogramming
The first digital computers, back in the 1940s, had only two
levels, The ISA level, in which all the programming was
done and the digital logic level, which executed these
programs. The digital logic level’s circuits were
complicated, difficult to understand and build and
unreliable.
Invention of operating system
...
Milestones (2)
...
Milestones (3)
Figure 1-7. The initial offering of the IBM 360 product line.
Technological and Economic
Forces
Figure 1-8. Moore’s law predicts a 60 percent annual increase in the number of
transistors that can be put on a chip. The data points given above and below the line are
memory sizes, in bits.
The Computer Spectrum (1)
Figure 1-10. A printed circuit board is at the heart of every personal computer. This one
is the Intel DQ67SW board. © 2011 Intel Corporation. Used by permission.
Microcontrollers
More at www.Arduino.cc
Mobile and Game Computers
A set up are the mobile platforms and video game machines.
They are normal computers, often with special graphics and
sound capability but with limited software and little
extensibility.
They started out as low-end CPUs for simple phones and
action games like ping pong on TV sets. Over the year, they
have evolved into far more powerful systems, rivaling or
even outperforming personal computers in certain
dimension.
Personal Computers
Personal computers include desktop and notebook models. They
usually come with a few gigabytes of memory, a hard disk holding up
to terabytes of data , a CD-ROM/DVD/Blu-Ray drive, sound card,
network interface, high resolution monitor, and other peripherals.
They have elaborate operation systems, many expansion options , and
a huge range of available software.
The heart of every personal computer is a printed circuit board a the
bottom or side of the case. It usually contains the CPU, memory,
various I/O devices (such as a sound chip and possibly a modem) as
well as interfaces to the keyboard, mouse, disk , network, etc and
some expansion slots as shown in the following figure.
Notebook computers are basically PCs in a smaller package.
Personal Computers
Personal Computers
...
Figure 1-12. The Intel Core i7-3960X die. The die is 21 by 21 mm and has 2.27 billion
transistors. © 2011 Intel Corporation.
Used by permission.
Introduction to the x86
Architecture (4)