0% found this document useful (0 votes)
42 views

Ms - Chit Su Mon

The document discusses the evolution of computer systems from early machines with simple hardware and software to modern machines with multiple abstraction levels. It describes how early computers had just two levels but microprogramming was later invented, allowing for more complex instruction sets implemented through programming instead of hardware. Operating systems were also developed to manage computing resources and allow multiple programs to run.

Uploaded by

Shambhu Bogati
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Ms - Chit Su Mon

The document discusses the evolution of computer systems from early machines with simple hardware and software to modern machines with multiple abstraction levels. It describes how early computers had just two levels but microprogramming was later invented, allowing for more complex instruction sets implemented through programming instead of hardware. Operating systems were also developed to manage computing resources and allow multiple programs to run.

Uploaded by

Shambhu Bogati
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 53

Chapter 1

Introduction to Computer
Organizations and
Architecture
MS.CHIT SU MON
The Digital Computer

 Machine to carry out instructions


 A program

 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.

 Instructions are simple


 Add numbers
 Check if a number is zero
 Copy data between memory locations

 Primitive instructions in machine language


Languages, Levels,
and Virtual Machines (1)

...
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:

This lecture Data

PowerPoint Application Program

Windows XP Operating System


The Machine Level - 1
 Machine Architecture
 This is the formal specification of all the functions a particular machine can carry
out, known as the Instruction Set Architecture (ISA).

 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

 In these early years, most computers were “open shop”


which meant that the programmer had to operate the
machine personally. Next to each machine was a sign-up
sheet. A Programmer wanting to run a program signed up
for a block of time.
Operating System Tasks

Figure 1-3. A sample job for the FMS operating system.


Migration of functionality to
microcode
 Once microprogramming had become common (by 1970),
designers realized that they could add any instructions by
just extending the microprogram.
 In the other words, they could add “hardware” (new
machine instructions) by programming.
 This revelation led to a virtual explosion in machine
instruction sets, as designer competed with one another to
produce bigger and better instruction sets.
Increased Functionality in Microcode
(1)
 Instructions for integer multiplication and division
 Floating-point arithmetic instructions
 Instructions for calling and returning from procedures
 Instructions for speeding up looping
 Instructions for handling character strings
 Indexing and indirect addressing
 Relocation facilities
 Interrupt systems
 Process switching
 Processing audio, image, multimedia files
Milestones (1)

Figure 1-4. Some milestones in the development


of the modern digital computer.

...
Milestones (2)

Figure 1-4. Some milestones in the development


of the modern digital computer.

...
Milestones (3)

Figure 1-4. Some milestones in the development


of the modern digital computer.
Computer Generations
 Zeroth Generation Mechanical Computers (1642 – 1945)
 First Generation Vacuum Tubes (1945 – 1955)
 Second Generation Transistors (1955 – 1965)
 Third Generation Integrated Circuits (1965 – 1980)
 Fourth Generation Very Large Scale Integration (1980 – ?)
 Fifth Generation Low-Power and Invisible Computers
von Neumann Machine

Figure 1-5. The original von Neumann machine.


PDP-8 Innovation – Single Bus

Figure 1-6. The PDP-8 omnibus.


IBM 360

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-9. The current spectrum of computers available.


The prices should be taken with a grain
(or better yet, a metric ton) of salt.
The Computer Spectrum (2)

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

 Next up the ladder, we have computers that are embedded inside


devices that are not sold as computers.
 The embedded computers, sometimes called microcontrollers,
managed the devices and handle the user interface.
 Microcontrollers are found in a large variety of different devices,
including the following
 Appliances (clock radio, washer, dryer, microwave, burglar alarm)
 Communications gear (cordless phone, cell phone, fax, pager)
 Computer peripherals (printer, scanner, modem, CD ROM-drive)
 Entertainment devices (VCR, DVD, Stereo, MP3 Player, set-top box)
 Imaging devices (TV, Digital camera, camcorder, lens, photocopier)
Microcontrollers
 Medical devices (X- ray, MRI, Heart monitor, Digital
thermometer)
 Military weapon systems (cruise missile, ICBM, torpedo)
 Shopping devices (Vending machine, ATM, cash register)
 Toys (Talking doll, game console, radio-controlled car or
boat)
 A car can easily contain 50 microcontrollers, run
subsystems including the antilock brakes, fuel injection,
radio, lights and GPS. A jet plan can easily have 200 or
more. A family might easily own several hundred computers
without even knowing it.
Microcontrollers
 Within few years, practically everything that runs on
electricity or batteries will contain a microcontroller.
 Each microcontroller has a processor, memory and I/O
capability and control the device’s lights, display, sound and
motors.

 Arduino is one of the fun application of microcontrollers.


Arduino was designed by Massimo Banzi and David
Cuartielles in Ivrea, Italy. Their goal for the project was to
produce a complete embedded computing platform that
costs less than a large pizza with extra toppings, making it
easily assessible to students and hobbyists.
Microcontrollers
 The Arduino system is an open-source hardware design,
which means that all its details are published an free so that
anyone can build and even sell and Arduino system.
 It is based on the Atmel AVR 8-bit RISC microcontroller and
most board designs to included basic I/O support.
 The board is programmed using an embedded
programming language called Wiring.

 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

 Another variant on this theme is the tablet computer, such as


the popular iPad.
 These devices are just normal PCs in a smaller package,
with a solid state disk instead of rotating hard disk, a touch
screen and a different CPU than the x86.
 But from an architectural perspective, tables are just
notebooks with a different form factor.
Servers
 Beefed-up personal computers or workstations are often
used a network servers or both for local area networks
(typically within a single company), and for the Internet.
 These come in single- processor and multiple-processor
configurations, and have gigabyte of memory terabytes of
hard disk space and high-speed networking capability.
 Some of them can handle thousands of transactions per
second.
 Architecturally, however, a single- processor server is not
really very different from a single-processor personal
computer.
 It is just faster, bigger and has more disk space and possibly
a faster network connection.
Clusters
 Combination of large number of powerful servers – Clusters
 Consist of standard server- class systems connected by
gigabit/sec networks and running special software that allow
all the machines to work together on a single problem, often
in business, science or engineering.
 Normally they are what are called COTS (Commodity Off
The Shelf) computes than anyone can buy from a PC
vendor.
 The main additional is high-speed networking but
sometimes that is also a standard commercial network card
too.
 Large clusters are typically housed in special-purpose rooms
or buildings called data centres.
Mainframes
 Room sized computers that hark back to the 1960s.
 These machines are the direct descendants of IBM 360
mainframes acquired decades ago.
 For the most part, they are not much faster than powerful
servers, but they always have more I/O capacity and are
often equipped with vast disk farms often holding thousands
of gigabytes of data.
Introduction to the x86
Architecture (1)

...

Figure 1-11. Key members of the Intel CPU family. Clock


speeds are measured in MHz (megahertz),
where 1 MHz is 1 million cycles/sec.
Introduction to the x86
Architecture (2)

Figure 1-11. Key members of the Intel CPU family. Clock


speeds are measured in MHz (megahertz),
where 1 MHz is 1 million cycles/sec.
Introduction to the x86
Architecture (3)

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)

Figure 1-13. Moore’s law for (Intel) CPU chips.


Introduction to the ARM
Architecture

Figure 1-14. The Nvidia Tegra 2 system on a chip.


© 2011 Nvidia Corporation. Used by permission.
Introduction to the AVR Architecture

Figure 1-15. Microcontroller classes in the AVR family.


Peripherals in the Atmel megaAVR-
168
 Three timers
 Real-time clock with oscillator
 Six pulse-width modulation channels
 Eight analog-to-digital conversion channels
 Universal serial receiver/transmitter
 I2C serial interface
 Programmable watchdog timer
 On-chip analog comparator
 Power brown-out detector
 Internal programmable clock oscillator
Metric Units

Figure 1-16. The principal metric prefixes.

You might also like