Computer Organization & Architecture

Download Report

Transcript Computer Organization & Architecture

Chapter 1
Introduction to
Computer Organization & Architecture
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
2
Course description (1/3)
 Course name
• T103 - Computer Organization and Architecture
 Course level
• Level 1 course
• Equivalent to 3 CH (Credit Hours)
 Assessment
• Continuous Assessment (CA) : 50%
- 1 TMA (Tutor Marked Assignment) : 20%
- 1 MTA (Mid-Term Assessment): 30%
• Final Exam: 50%
3
Course description (2/3)
 Success Requirements
•
•
•
•
Attend at least 4/6 lectures (≈70% attendance)
Get at least 15/50 on the CA (TMA + MTA)
Get at least 20/50 on the Final Exam
Get at least a total of 50/100 (TMA + MTA + Final)
 Course Lectures
• Number of lectures: 7 lectures
• Bi-Weekly lectures: One lecture every 2 weeks
• Lecture duration : 2 Hours
4
Course description (3/3)
 Reference Book
• The essentials of Computer Organization and
Architecture, 2nd edition – Author: Linda Null and
Julia Lobur
 Topics to be covered
• Chapters 1, 2, 3, 4, 5, 6
• Topics: Introduction, Boolean algebra, …
5
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
6
Chapter 1: Introduction
Overview of computer organization and architecture (1/5)
 Some programs/algorithms are
today computationally
infeasible, why?
 Tomorrow, those could become
feasible, why?
 To understand why we need to:
• see the program from the
computer’s point of view
• explore the “computer
organization and architecture”
7
Chapter 1: Introduction
Overview of computer organization and architecture (2/5)
 What is computer organization and
architecture?
• In a computer system, hardware and many
software components are fundamentally related
• Computer organization and architecture help us
to understand how hardware and software
interact with each other
8
Chapter 1: Introduction
Overview of computer organization and architecture (3/5)
 Computer organization?
• It encompasses all physical aspects of computer
systems.
- How components are connected together?
- How components interact with/talk to each other?
• It addresses issues such as
- Control signals, signaling methods
- Memory types, …
• It helps us to answer the question: How does a
computer work?
9
Chapter 1: Introduction
Overview of computer organization and architecture (4/5)
 Computer architecture?
• It focuses on the structure and behavior of the
computer system
• It refers to the logical aspects of system
implementation as seen by the programmer.
• It includes many elements such as
- instruction sets and formats, data types, addressing
modes, number and type of registers, …
• It helps us to answer the question: How do I
design a computer?
10
Chapter 1: Introduction
Overview of computer organization and architecture (5/5)
 Computer organization VS architecture?
• The distinction between computer organization
and computer architecture is not clear-cut.
• These are strongly interrelated and
interdependent.
• We can truly understand each of them only when
we comprehend both of them.
11
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
12
Chapter 1: Introduction
The main components of a computer (1/3)
 From Software to Hardware
• Computer scientists design algorithms
• Computer scientists implement an algorithm by
using high level programing language (Java, C,
etc.)
• Another algorithm runs this algorithm and
another one runs that algorithm and so on
• We finally get down to machine level
• Machine level can be thought of as an algorithm
implemented as an electronic device
13
Chapter 1: Introduction
The main components of a computer (2/3)
 Principle of Equivalence of Hardware and
Software
Anything that can be done with software can also be done with
hardware, and anything that can be done with hardware can
also be done with software
 We implement an application in Hardware or
Software level?
• Our knowledge of computer organization and
architecture will help us to make the best choice
14
Chapter 1: Introduction
The main components of a computer (3/3)
 Computer Hardware main components
• A processor to interpret and execute programs
• A memory to store both data and programs
• A mechanism for transferring data to and from
the outside world (Input/Output)
 Think of how a student sitting in class exhibits
the three components of a computer?
15
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
16
Chapter 1: Introduction
An example system: wading through the jargon (1/7)
The stated system is a wise buy?
Does it serve your needs?
17
Chapter 1: Introduction
An example system: wading through the jargon (2/7)
 “64MB SDRAM”, “64-bit PCI sound card”,
“32KB L1cache”, …?
 Without having a handle on such terminology,
you would be hard-pressed to answer such
questions…
 The next few slides explain the content of the
advertisement (ad)
18
Chapter 1: Introduction
An example system: wading through the jargon (3/7)
 A reminder (TU170):
• Computers do computations in base 2 (binary
system)
• A binary character is called a bit (0 or 1)
• A byte is a set of 8 bits
19
Chapter 1: Introduction
An example system: wading through the jargon (4/7)
 Pentium III 667 MHz?
• Pentium III : The microprocessor type
• 667 MHz: microprocessor’s clock speed
- Each microprocessor has a synchronization clock (it sends electrical
pulses)
- Here, the clock speed is 667 million electrical pulse per second
- The number of instructions per second that a processor can execute
is proportionate to its clock speed (not equal to).
 133 MHz 64MB SDRAM?
• SDRAM: Main memory type, “Synchronous Dynamic Random
Access Memory”
• 133 MHz: Speed of the system bus (between the memory and
the microprocessor)
• 64 MB : Memory Capacity (64 x 220 x 8 bits = 536870912 bits)
20
Chapter 1: Introduction
An example system: wading through the jargon (5/7)
 32KB L1 cache, 256KB L2 cache?
• Two cache memory to speed up the data transfer between the main
memory and the processor
• 32KB and 256KB are the capacity of level 1 (L1) and level 2 (L2)
memory respectively
 30GB EIDE hard drive (7200 RPM)?
• 30GB: The capacity of the hard drive
• 7200 RPM: Speed of disk rotation is 7200 round per minute
• EIDE: disk interface (connectivity with the rest of the computer’s
components). EIDE stands for Enhanced Integrated Drive Electronics
 48X max variable CD-ROM
• CD-ROM drive
• 48X: the maximum reading data rate the CD drive can achieve (48
times the traditional audio CD data transfer rate)
21
Chapter 1: Introduction
An example system: wading through the jargon (6/7)
 2 USB ports, 1 serial port, 1 parallel port?
• Ports that allow movement of data to and from devices external to
the computer.
 19" monitor, .24mm AG, 1280 x 1024 at 85Hz?
• The monitor size (19”), resolution (1280 x 1024), refresh rate (85Hz)
and pixel size (0.24mm).
 Intel 3D AGP graphics card?
• Graphic interface for 3D graphics
 56K PCI voice modem? 64-bit PCI sound card?
• PCI : Dedicated I/O buses, PCI stands for Peripherial Component
Interconnect
• PCI voice modem: for internet connection
• PCI sound card : for the system’s stereo speakers
22
Chapter 1: Introduction
An example system: wading through the jargon (7/7)
 A look inside a computer
23
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
24
Chapter 1: Introduction
Standards organizations (1/2)
 Standards organizations?
• Number of government and industry
organizations
• Some standards-setting organizations are
consortia made up of industry leaders
• Aims
- Establish common guide lines for a particular type of
equipment
- Why? To ensure a “worldwide”1 interoperability
(compatibility)
1
The term “worldwide” is correct only when the organization and its standards are international
25
Chapter 1: Introduction
Standards organizations (2/2)
 Some international standards organizations
• IEEE
- Institute of Electrical and Electronic Engineers
- sets standards for various computer components, signaling protocols, and data
representation
• ITU
- International Telecommunications Union
- Sets standards for telecommunications systems, including telephone, telegraph, and
data communication systems
• ISO
- International Standards Organization
- coordinates worldwide standards development
 Other county(ies)-wide organizations
• ANSI: American National Standards Institute
• CEN: Comité Européenne de Normalisation (European committee for
standardization)
• BSI: British Standards Institution
26
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
27
Chapter 1: Introduction
Historical development of computers (1/5)
 Generation Zero: Mechanical Calculating Machines (1642 – 1945)
• Use of mechanical technology to do calculations
• Suggest the use of binary number system rather than the decimal
number system

First Generation: Vacuum tube computers
(1945–1953)
• Use of electrical/electronic technology (much
faster than mechanical technology)
• Invent binary machines built from vacuum tubes
• Invent vaccum tubes diodes and triodes
• Disadvantages: Bulky systems, Power
consumption and heat dissipation.
28
Chapter 1: Introduction
Historical development of computers (2/5)
 The Second Generation: Transistorized Computers
(1954–1965)
• Transistors revolutionize computers
- Transistors consume less power than vacuum tubes, are smaller,
and work more reliably,
- the circuitry in computers became smaller and more reliable.
 The Third Generation: Integrated Circuit Computers
(1965–1980)
• Integrating multiple transistors in a single
silicon/germanium chip
• Explosion in computer use
• Computers became faster, smaller, and cheaper, bringing
huge gains in processing power
29
Chapter 1: Introduction
Historical development of computers (3/5)
 The Fourth Generation: VLSI Computers (>1980)
• More integration, more transistors on a single silicon
chip (see the table below)
• Computers became smaller: Appearance of microcomputers
• Increasing the processing power of all computers
types (also supercomputers and main frame
computers)
Scale Integration
Number of components per chip
SSI: Small Scale Integration
10 – 100
MSI: Medium Scale Integration
100 – 1000
LSI: Large Scale Integration
1000 - 10000
VLSI: Very Large Scale Integration
> 10000
30
Chapter 1: Introduction
Historical development of computers (4/5)
 Size comparison
Vacuum Tube
Transistor
Integrated circuit
chip
Integrated circuit
package
31
Chapter 1: Introduction
Historical development of computers (5/5)
 Moore’s Law (Gordon Moore – Intel Founder, 1965)
• The density of transistors in an integrated circuit doubles
every 18 months (1.5 year).
• The law hold for almost today (2013)!
 Rock’s Law (early Intel capitalist Arthur Rock)
• The cost of capital equipment to build semiconductors will
double every four years
 If Moore’s Law is to hold, Rock’s Law must fall or
computers must shift to a radically different
technology
 Research into new computing paradigms has been
proceeding in earnest during the last half decade
32
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
33
Chapter 1: Introduction
The computer level hierarchy (1/6)
 The user executes programs on a PC (Paint, word files,
games, etc.)
 The user is outside the computer! He uses input and
output devices to communicate with the computer.
 Now, what happens INSIDE the computer?
 To understand, we will use a “divide and conquer”
approach.
34
Chapter 1: Introduction
The computer level hierarchy (2/6)
 Imagine the machine (computer) as a hierarchy
of levels, in which each level has a specific
function.
 The highest level – Level 6 – is the “user’s level”
• Level 6 is composed of applications
• User runs programs such as word processors,
graphics packages, or games.
 The lower levels are unseen by the user those
can be considered as “virtual machines”.
 Let us discover these “virtual machines”.
35
Chapter 1: Introduction
The computer level hierarchy (3/6)
36
Chapter 1: Introduction
The computer level hierarchy (4/6)
 Level 5: High-Level Language Level
• Consists of languages such as C, C++, FORTRAN, Lisp,
Pascal, and Prolog.
• Programmers write programs at this level.
• Compilers translates these languages to a language the
machine can understand (that lower levels could
understand): Assembly then machine languages.
 Level 4: Assembly Language Level
• More “machine dependent” language.
• Assembly language is then one to one translated to
machine language (one assembly language instruction is
translated to exactly one machine language instruction).
37
Chapter 1: Introduction
The computer level hierarchy (5/6)
 Level 3: System Software Level
• Deals with operating system instructions (multiprogramming,
protecting memory, synchronizing processes, and various other
important functions)
• Instructions translated from assembly language to machine
language are passed through this level unmodified
 Level 2: Instruction Set Architecture (ISA), or Machine
Level
• Machine language recognized by the particular architecture of
the computer system
• Programs written in machine language can be executed directly
by the electronic circuits without any interpreters, translators,
or compilers.
38
Chapter 1: Introduction
The computer level hierarchy (6/6)
 Level 1: The Control Level
• Is where a control unit do its job
- Receives machine instructions from the level above
- decodes and executes those instructions properly
- Moves data to where and when it should be
• The control unit interprets the machine
instructions
 Level 0: The Digital Logic Level
• is where we find the physical components of the
computer system: the gates and wires
39
Lecture Overview
 Course description
 Chapter 1 : Introduction
•
•
•
•
•
•
•
Overview of computer organization and architecture
The main components of a computer
An example system: wading through the jargon
Standards organizations
Historical development of computers
The computer level hierarchy
The Von Neumann model
40
Chapter 1: Introduction
The Von Neumann model (1/6)
 A computer architecture model published by a
famous Hungarian mathematician named John
von Neumann
 The idea is to store programs’ instructions inside
a main memory in order to avoid rewiring the
system each time it had a new problem to solve,
or an old one to debug.
 All stored-program computers have come to be
known as von Neumann systems using the von
Neumann architecture
41
Chapter 1: Introduction
The Von Neumann model (2/6)
 The Von Neumann architecture is shown in Figure 1.4
– Slide 43
 It satisfies at least the following characteristics
• Consists of three hardware systems (see figure 1.4 – slide
43)
- A central processing unit (CPU) with a control unit, an arithmetic
logic unit (ALU), registers (small storage areas), and a program
counter;
- a main-memory system, which holds programs that control the
computer’s operation;
- and an I/O system.
• Capacity to carry out sequential instruction processing
• Contains a single path, between the main memory system
and the control unit of the CPU
42
Chapter 1: Introduction
The Von Neumann model (3/6)
43
Chapter 1: Introduction
The Von Neumann model (4/6)
 Program instructions are stored inside the main memory
 The machine runs the programs sequentially (instruction per
instruction – machine instruction)
 Each machine instruction is fetched, decoded and executed during
one cycle known as the von Neumann execution cycle (also called
the fetch-decode-execute cycle)
 One iteration of the cycle is as follows:
1. The control unit fetches the next program instruction from the
memory, using the program counter to determine where the instruction
is located.
2. The instruction is decoded into a language the ALU can understand.
3. Any data operands required to execute the instruction are fetched
from memory and placed into registers within the CPU.
4. The ALU executes the instruction and places the results in registers or
memory.
44
Chapter 1: Introduction
The Von Neumann model (5/6)
1. Fetch
• PC indicates
the iteration
number
• CU fill the
instruction
register
2. Decode
• what ALU
should do
(add, multiply,
…)?
• Fill registers
with needed
data
Instruction 1
Instruction 2
Instruction 3
Data 1
Data 2
Instruction 3
Instruction 4
…
…
…
Instruction N
45
Chapter 1: Introduction
The Von Neumann model (6/6)
3. Execute
• Execute the
instruction
• Place the
results in
registers or
memory
Instruction 1
Instruction 2
Instruction 3
Data 1
Data 2
Instruction 3
Instruction 4
Result
…
…
…
Instruction N
46
End of lecture 1
Try to solve all exercises related to lecture 1