Lecture 1 Introduction to Computer Organization & Architecture Lecture Duration: 2 Hours.
-
Upload
erin-brown -
Category
Documents
-
view
222 -
download
0
Transcript of Lecture 1 Introduction to Computer Organization & Architecture Lecture Duration: 2 Hours.
Lecture 1
Introduction to Computer Organization & Architecture
Lecture Duration: 2 Hours
Prepared by Dr. Hassan SALTI - 2012 2
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
Prepared by Dr. Hassan SALTI - 2012 3
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%
Prepared by Dr. Hassan SALTI - 2012 4
Course description (2/3)
Success Requirements• Attend at least 5/7 lectures (≈70% attendance)• Get at least 20/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
Prepared by Dr. Hassan SALTI - 2012 5
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• History of computers, computers models, Binary
arithmetic, Boolean algebra, Digital logic, Memory, …
Prepared by Dr. Hassan SALTI - 2012 6
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
Prepared by Dr. Hassan SALTI - 2012 7
Overview of computer organization and architecture (1/5)Chapter 1: Introduction
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”
Prepared by Dr. Hassan SALTI - 2012 8
Overview of computer organization and architecture (2/5)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 9
Overview of computer organization and architecture (3/5)Chapter 1: Introduction
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?
Prepared by Dr. Hassan SALTI - 2012 10
Overview of computer organization and architecture (4/5)Chapter 1: Introduction
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?
Prepared by Dr. Hassan SALTI - 2012 11
Overview of computer organization and architecture (5/5)Chapter 1: Introduction
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.
Prepared by Dr. Hassan SALTI - 2012 12
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
Prepared by Dr. Hassan SALTI - 2012 13
The main components of a computer (1/3)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 14
The main components of a computer (2/3)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 15
The main components of a computer (3/3)Chapter 1: Introduction
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?
Prepared by Dr. Hassan SALTI - 2012 16
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
Prepared by Dr. Hassan SALTI - 2012 17
An example system: wading through the jargon (1/10)Chapter 1: Introduction
The stated system is a wise buy?Does it serve your needs?
Prepared by Dr. Hassan SALTI - 2012 18
An example system: wading through the jargon (2/10)Chapter 1: Introduction
“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)
Prepared by Dr. Hassan SALTI - 2012 19
An example system: wading through the jargon (3/10)Chapter 1: Introduction
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• “Bits, bytes, KB, MB, …” are used to measure the storage capacity of a
device (RAM, HDD, Flash memory, etc.)• We use the below table to convert from one unit to another
Example:• 1KB = 210 = 1024 Bytes = 1024 x 8 bits = 8192 bits
Prepared by Dr. Hassan SALTI - 2012 20
An example system: wading through the jargon (4/10)Chapter 1: Introduction
A reminder (TU170):
• The speed of a device is usually measured in Hz (Hertz), KHz, MHz, …
- Example: Processor speeds are measured in MHz or GHz.
• The table in figure 1.2 (Slide 19) help us to convert from one unit to another
- Example: 1MHz = 106 Hz =1,000,000 Hz
Prepared by Dr. Hassan SALTI - 2012 21
An example system: wading through the jargon (5/10)Chapter 1: Introduction
Back to the advertisement (Slide 17) 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).
Prepared by Dr. Hassan SALTI - 2012 22
An example system: wading through the jargon (6/10)Chapter 1: Introduction
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)
Prepared by Dr. Hassan SALTI - 2012 23
An example system: wading through the jargon (7/10)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 24
An example system: wading through the jargon (8/10)Chapter 1: Introduction
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)
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).
Prepared by Dr. Hassan SALTI - 2012 25
An example system: wading through the jargon (9/10)Chapter 1: Introduction
Intel 3D AGP graphics card?• Graphic interface for 3D graphics• AGP stands for “Accelerated Graphics Port”
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
Prepared by Dr. Hassan SALTI - 2012 26
An example system: wading through the jargon (10/10)Chapter 1: Introduction
A look inside a computer
Prepared by Dr. Hassan SALTI - 2012 27
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
Prepared by Dr. Hassan SALTI - 2012 28
Standards organizations (1/3)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 29
Standards organizations (2/3)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 30
Standards organizations (3/3)Chapter 1: Introduction
Other county(ies)-wide organizations• ANSI: American National Standards Institute• CEN: Comité Européenne de Normalisation
(European committee for standardization)• BSI: British Standards Institution
Prepared by Dr. Hassan SALTI - 2012 31
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
Prepared by Dr. Hassan SALTI - 2012 32
Historical development of computers (1/6)Chapter 1: Introduction
To fully appreciate the computers of today, it is helpful to understand how things got the way they are.
The evolution of computing machinery has taken place over several centuries.
In modern times computer evolution is usually classified into four generations according to the salient technology of the era.
Prepared by Dr. Hassan SALTI - 2012 33
Historical development of computers (2/6)Chapter 1: Introduction
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.
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
Prepared by Dr. Hassan SALTI - 2012 34
Historical development of computers (3/6)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 35
Historical development of computers (4/6)Chapter 1: Introduction
The Fourth Generation: VLSI Computers (>1980)• More integration, more transistors on a single silicon chip (see the
table below)• Computers became smaller: Appearance of micro-computers• 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
Prepared by Dr. Hassan SALTI - 2012 36
Historical development of computers (5/6)Chapter 1: Introduction
Size comparison
Vacuum Tube
TransistorIntegrated circuit
chip
Integrated circuit package
Prepared by Dr. Hassan SALTI - 2012 37
Historical development of computers (6/6)Chapter 1: Introduction
Moore’s Law (Gordon Moore – Intel Founder, 1965)• The density of transistors in an integrated circuit will double
every year• The law hold for almost today (2012)!
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
Prepared by Dr. Hassan SALTI - 2012 38
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
Prepared by Dr. Hassan SALTI - 2012 39
The computer level hierarchy (1/6)Chapter 1: Introduction
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.
Prepared by Dr. Hassan SALTI - 2012 40
The computer level hierarchy (2/6)Chapter 1: Introduction
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”.
Prepared by Dr. Hassan SALTI - 2012 41
The computer level hierarchy (3/6)Chapter 1: Introduction
Prepared by Dr. Hassan SALTI - 2012 42
The computer level hierarchy (4/6)Chapter 1: Introduction
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).
Prepared by Dr. Hassan SALTI - 2012 43
The computer level hierarchy (5/6)Chapter 1: Introduction
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.
Prepared by Dr. Hassan SALTI - 2012 44
The computer level hierarchy (6/6)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 45
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
Prepared by Dr. Hassan SALTI - 2012 46
The Von Neumann model (1/7)Chapter 1: Introduction
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
Prepared by Dr. Hassan SALTI - 2012 47
The Von Neumann model (2/7)Chapter 1: Introduction
The Von Neumann architecture is shown in Figure 1.4 – Slide 48
It satisfies at least the following characteristics• Consists of three hardware systems (see figure 1.4 – slide 48)
- 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
Prepared by Dr. Hassan SALTI - 2012 48
The Von Neumann model (3/7)Chapter 1: Introduction
Prepared by Dr. Hassan SALTI - 2012 49
The Von Neumann model (4/7)Chapter 1: Introduction
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)
Prepared by Dr. Hassan SALTI - 2012 50
The Von Neumann model (5/7)Chapter 1: Introduction
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.
Prepared by Dr. Hassan SALTI - 2012 51
The Von Neumann model (6/7)Chapter 1: Introduction
Instruction 1
Instruction 2
Instruction 3
Instruction 4
…
…
…
Instruction N
Instruction 3
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
Data 1 Data 2
Prepared by Dr. Hassan SALTI - 2012 52
The Von Neumann model (7/7)Chapter 1: Introduction
Instruction 1
Instruction 2
Instruction 3
Instruction 4
…
…
…
Instruction N
Instruction 3
3. Execute • Execute the
instruction• Place the
results in registers or memory
Data 1 Data 2
Result
Prepared by Dr. Hassan SALTI - 2012 53
Conclusion (1/1)Conclusion
This chapter has given you an overview of the subject of computer architecture.
You should now be sufficiently familiar with general system structure to guide your studies throughout the remainder of this course.
Subsequent chapters will explore many of these topics in great detail.
End of lecture 1
Try to solve all exercises related to lecture 1