Sunteți pe pagina 1din 110

Introduction to Computer

Systems
Outline …
• Introduction - What is a digital computer?
– The Machine Language
• Basic Computer Architecture
• Program Execution
– Introduction – Translation vs. Interpretation
– Multi-level machines – Virtual machine
• Contemporary multi-level machines
– Machine Architecture
– Von Neumann model
– Evolution of Multilevel Machines
… Outline
• Two Recurring Themes
– Abstraction
– Hardware vs. Software
• Big Idea #1: Universal Computing Devices
• Big Idea #2: Transformations Between Layers
• Historical developments of computers
• Moore’s Law
• Example Computer Families
Introduction …
• What is a digital computer?

– A computer  Electronic circuits (Hardware)

– A digital computer is a machine that can solve


problems for people by carrying out instructions
given to it.

– A program is a sequence of instructions describing


how to perform a certain task.
… Introduction …
• What is a digital computer? (Cont’d)

– A computer can organize and execute a limited set


of simple instructions: Adding, Comparing and
Moving data - primitive instructions.

– All programs must be converted into this set of


simple instructions before they can be executed.
… Introduction …
• The computer's primitive instructions form a
language in which it is possible to communicate
with the computer:
– The Machine Language – L0 (tedious and difficult
to use).
– What do the transistors process?
– Such Language depends on the type of processor
architecture.
The Machine Language …
• Basic computer architectures include:

–Registers
• Hold a binary value of 1’s and 0’s
• Can be 16 bit, 32 bit, 128 bit, etc… in length

–ALU (Arithmetic Logical Unit)


• Processes the binary values in selected
registers, i.e. add, subtract, multiply, divide
… The Machine Language
• Basic computer architectures include (Cont’d):

–Program Counter
• Keeps the current place in memory stored

–Control Unit (decodes instructions)


• Breaks down the 1’s and 0’s of an instruction and
tells the other blocks what to do

–Address Register
• Stores the address where to read/write in memory
Basic Computer Architecture
Control Unit
Register Register Register
s0 s1 s2
Instruction
Arithmetic Decoder
Logical Test
Unit
Instruction
Register Register Register Register
s3 s4 s5

Address Program
Register Counter

Memory and I/O


Interface

Data Bus Address Bus


Basic components of a computer
Secondary Storage

Main Memory

Input Output
Unit Control Arithmetic & Unit
Unit Logic Unit
Central Processing Unit (CPU)

Network Interface Internet


Program Execution
3 Phases
Control Unit
Register Register Register • Fetch
s0 s1 s2 Load instruction
Instruction register with
Arithmetic Decoder next instruction
Logical Test • Decode
Unit Set up buses
Instruction and ALU
Register Register Register Register • Execute
s3 s4 s5
execute and go
back to fetch
Address Program
Register Counter
When fetch gets
Memory and I/O data and not a
valid instruction:
Interface CRASH

Data Bus Address Bus


… Introduction …
• How to communicate with a computer
conveniently?

• Design a new set of instructions that is more


convenient for people to use: new language
L1.

• How programs written in L1 will be


executed by the computer? Two ways:
… Introduction …
• Replace each instruction written in L1 by an equivalent
sequence of instructions in L0, then the computer
hardware executes the new program in L0 -
Translation.

L1 Program  L0 program  Execution

• Write a program in L0 (the interpreter) that takes


programs in L1 as input and carries them out by
examining each statement and executing it directly -
Interpretation
L1 Program Execution
INTERPRETER
… Introduction …
• A virtual machine is defined as a hypothetical
and non real computer whose machine
language is L1.

• The approach is to invent sets of instructions


that are more people oriented and less
machine oriented.
… Introduction …
• A computer can be regarded as a hierarchy of levels
each one performing some well-defined functions.

• The real machine language is made as simple as


possible versus use and performance requirements in
order to reduce cost and complexity of the electronics
needed.

• We may view a computer as a multilevel machine - a


series of layers or levels, one on top of another:
… Introduction
• For every new computer, there is a set of instructions
defined as its machine language.
– A machine defines a language and a language defines a machine:
each virtual machine has some machine language that the
machine can execute.

• The invention of a whole series of languages, each one more


sophisticated than its predecessors can go until a suitable
one is finally achieved.
– Each language uses its predecessor as a basis.
– The bottom-most language or level is the machine language.
– The top-most language or level is the most sophisticated language.
Human
oriented
Virtual machine Mn Programs in Ln are either interpreted by
Level n: with interpreter running on a lower machine
machine language Ln or are translated to machine language of
a lower machine

Programs in L2 are either interpreted by


Virtual machine M2 interpreters running on M1 or M0 or are
Level 2: with translated to L1 or L0
machine language L2

Programs in L1 are either interpreted by


Virtual machine M1 an interpreter running on M0 or are
Level 1: with translated to L0
machine language L1

Programs in L0 can be directly executed


Actual machine M0
by the electronic circuits
Level 0: with
machine language L0

Machine
oriented
Contemporary multi-level machines …
• Six levels are present on most modern computers:

– Level 0 (Digital Logic Level)

– Level 1 (Microarchitecture Level)

– Level 2 (Instruction Set Architecture Level)

– Level 3 (Operating System Machine Level)

– Level 4 (Assembly Language Level)

– Level 5 (Problem-Oriented Language Level)


Level 5: PROBLEM-ORIENTED LANGUAGE LEVEL
Translation (Compiler)

Level 4: ASSEMBLY LANGUAGE LEVEL


Translation (Assembler)

Level 3: OPERATING SYSTEM MACHINE LEVEL


Partial Interpretation (Operating System)

Level 2: INSTRUCTION SET ARCHITECTURE


LEVELInterpretation (Microprogram) or direct execution

Level 1: MICROARCHITECTURE LEVEL


Hardware

Level 0: DIGITAL LOGIC LEVEL


The Abstract Levels of Modern Computing Systems
… Contemporary multi-level machines …
• The device level (level -1): below the digital logic
level is where the designer sees individual electronic
components (transistors, ...) which are the lowest
level primitives for computer designers and concerns
electrical engineering.

• Digital logic level (level 0): We will be concerned


with gates - modeled as digital devices
(components); each gate has one or more digital
inputs (signals representing '0' or '1') and computes
as output some simple function of these inputs.
… Contemporary multi-level machines …

• Microarchitecture level (level 1): A collection of


registers (local memory) connected to the ALU (capable
of performing simple arithmetic operations) to form the
data path. True machine language level - concept of a
program as a sequence of instructions to be carried out
on the hardware.

– On some machines, the operation of the data path is controlled


directly by a program called a microprogram. On other
machines the data path is controlled directly by hardware.
• The microprogram job is to interpret the instructions of L1 or L2; (set of about 20
instructions: moving data, making tests, ...). It fetches, examines, and executes
instructions one by one.
… Contemporary multi-level machines …
• Instruction Set Architecture level (level 2): Every
computer manufacturer publishes a manual for each
of the computers it sells, These manuals are about
the ISA level not the underlying levels.

– When they describe the machine's instruction set, they are


in fact describing the instructions carried out interpretively
by the microprogram or hardware execution circuits.

– If a computer manufacturer provides two interpreters for


one of its machines, interpreting two different ISA levels, it
would need to provide two "machine language" reference
manuals, one for each interpreter.
… Contemporary multi-level machines …
• Operating System Machine level (level 3): The
next level (the operating system machine level) is
usually a hybrid level.

– Most of the instructions in its language are also in the ISA


level. In addition, there is a set of new instructions, a
different memory organization, the ability to run two or
more programs concurrently, and various other features.

– Some of the level 3 instructions are interpreted by the


operating system and some of the level 3 instructions are
interpreted directly by the microprogram (Those level 3
instructions identical to level 2's). This is what we mean by
hybrid.
… Contemporary multi-level machines …

• Operating System Machine level (level 3):


(Cont’d).

– More variation exists between level 3 designs than


between those at either level 1 or level 2.

– The new facilities added at level 3 are carried out


by an interpreter running at level 2, which,
historically, has been called an operating system.
… Contemporary multi-level machines …

• There is a fundamental break between levels 3 and


4:
– the lowest three levels are not designed for direct use by
programmers.
• They are intended primarily for running the interpreters and
translators needed to support the higher levels.
• These interpreters and translators are written by people called
systems programmers who specialize in designing and
implementing new virtual machines.

– Level 4 and above are intended for applications


programmers with a problem to solve.
… Contemporary multi-level machines …

• There is a fundamental break between levels 3 and 4:


– Another change occurring at level 4 is the method by which
the higher levels are supported (interpretation/translation).

– One more difference is that the machine languages of levels


1, 2, and 3 are numeric: programs in them consist of long
series of numbers, which are appropriate (fine) for machines.

– From level 4 and above, the languages contain words and


abbreviations meaningful to people (Add, Load, Store,
Move, ...).
… Contemporary multi-level machines …

• Assembly Language level (level 4): It is really a


symbolic form for one of the underlying languages.

• This level provides a method for people to write


programs for levels 1, 2, and 3 in a form that is not as
unpleasant as the virtual machine languages
themselves.
– Programs in assembly language are first translated
(assembled) to level 1, 2, or 3 language and then
interpreted by the appropriate virtual machine. The program
that performs the translation is called an assembler.
… Contemporary multi-level machines

• Problem-Oriented Language Level (level 5): It


usually consists of languages designed to be used by
applications programmers with problems to solve.

• Such languages are often called high-level languages.

– Programs written in these languages are generally


translated to level 3 or level 4 by translators known as
compilers, although occasionally they are interpreted
instead. Programs in Java, for example, are often
interpreted.
Machine Architecture
• The set of data types, operations and features of each
level is called its architecture. The architecture deals
with those aspects that are visible to the user of that
level.

• The study of how to design those parts of a computer


system that are visible to the programmers is called
computer architecture or computer organization.

– For example, the architecture of the microarchitecture level


concerns the instructions set; memory organization and
input/output and bus structure.
Hardware versus Software …
• Computer's hardware defines the electronics
circuits, the memory, the input/output
devices. Hardware consists of ICs, PCB, Cables,
power supplies, terminals, ...
– Hardware: physical machinery of a computer
system
• a Notebook PC
• a network card
• a monitor
• a printer
… Hardware versus Software …
• Software consists of algorithms and programs
– Software: a collection of programs
• MS Word, a software package for preparing documents
• Window 2000, an operating system on PC
• A Java compiler for translation
• Netscape for surfing the Internet

• Hardware and software are logically equivalent:


– any operation performed by software can also be built
directly into the hardware; and
– any instruction executed by the hardware can also be
simulated in software.
… Hardware versus Software
• The decision to put some functions in hardware and others in
software in based on such factors as:
cost, speed, reliability, frequency of expected changes.
– ADD instruction:
• Hard
• Soft: fetch - decode - data - execute
– MPY instruction:
• Soft
• Hard: wired

• The point is that the boundary between hardware and


software is arbitrary and constantly changing. The boundaries
between the various levels are also fluid!
The Von Neumann Model
• All stored-program computers have come to be known as von
Neumann systems using the von Neumann architecture.

• Today's version of the stored-program machine architecture


satisfies at least the following characteristics:
– Consists of three hardware systems:
• 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, either physically or logically, between the main
memory system and the control unit of the CPU, forcing alternation of
instruction and execution cycles. This single path is often referred to as
the von Neumann bottleneck.
The Von Neumann Model

• This architecture
runs programs in
what is known as
the von
Neumann
execution cycle
(also called the
fetch-decode-
execute cycle),
which describes
The Von Neumann Model

• One iteration of the cycle is as follows:


– The control unit fetches the next program
instruction from the memory, using the program
counter to determine where the instruction is
located.
– The instruction is decoded into a language the ALU
can understand.
– Any data operands required to execute the
instruction are fetched from memory and placed
into registers within the CPU.
– The ALU executes the instruction and places the
results in registers or memory.
The Von Neumann Model
• The ideas present in the von Neumann architecture have
been extended so that programs and data stored in a slow-
to-access storage medium, such as a hard disk, can be
copied to a fast-access, volatile storage medium such as
RAM prior to execution.

• This architecture has also been streamlined into what is


currently called the system bus model.
– The data bus moves data from main memory to the CPU
registers (and vice versa).
– The address bus holds the address of the data that the data bus
is currently accessing.
– The control bus carries the necessary control signals that specify
how the information transfer is to take place.
The Von Neumann Model
The Von Neumann Model

• Other enhancements to the von Neumann


architecture include:
– using index registers for addressing,
– adding floating point data,
– using interrupts and asynchronous I/O,
– adding virtual memory, and
– adding general registers.
Evolution of Multilevel Machines …
• Invention of microprogramming

• Invention of operating system

• Migration of functionality to microcode

• Elimination of microprogramming
… Evolution of multilevel machines …
• 1940s: first digital computers with two levels:
the digital logic level and the machine level.
– The hardware were complicated, difficult to
understand and build.

• In 1951 (Wilkes - U.K.): Design of three level


computer in order to simplify the hardware.

• By 1970, the idea of having the conventional


machine level be interpreted by a
microprogram instead of directly by
… Evolution of multilevel machines …
• During the 1950: Development of assemblers
and compilers. At that time, the programmer
had to operate the machine personally.

• 1960: Automating the operator job, an


operating system was kept in the computer.
– The programmer provided some control cards
along with the program that were read and
carried out by the operating system (O.S.).
– The O.S. was designed to automate the operator's
job.
… Evolution of multilevel machines …
– {Control cards:}
– * Job, Number-Job, User_Name
– * XEQ
– * FORTRAN
– {Fortran program cards}
– ........
– ........
– ........
– * DATA
– {Data cards}
– ........
– ........
– * END
… Evolution of multilevel machines
• Batch system: read card decks and printed output on
the line printer.

• Early 1960 (MIT) : development of operating systems


that allowed multiple programmers to communicate
directly with the computer using remote terminals
connected to the central machines using phone lines.

• Time-sharing systems: multi-processing multi-users

• Level 3: time sharing aspects.


Two Recurring Themes
• Abstraction
– Productivity enhancer – don’t need to worry
about details…
Can drive a car without knowing how
the internal combustion engine works.
– …until something goes wrong!
Where’s the dipstick? What’s a spark plug?
– Important to understand the components and
how they work together.
Two Recurring Themes
• Hardware vs. Software
– It’s not either/or – both are components of a
computer system.
– Even if you specialize in one,
you should understand capabilities and limitations
of both.
Big Idea #1: Universal Computing Device

•All computers, given enough time and memory,


are capable of computing exactly the same
things.

= =
PDA
Workstation
Supercomputer
Turing Machine
• Mathematical model of a device that can perform
any computation – Alan Turing (1937)
– ability to read/write symbols on an infinite “tape”
– state transitions, based on current state and symbol

• Every computation can be performed by some


Turing machine. (Turing’s thesis)
a,b Tadd a+b a,b Tmul ab

Turing machine that adds Turing machine that multiplies


For more info about Turing machines, see For more about Alan Turing, see
http://www.wikipedia.org/wiki/Turing_machine/ http://www.turing.org.uk/turing/
Universal Turing Machine
• A machine that can implement all Turing machines
-- this is also a Turing machine!
– inputs: data, plus a description of computation (other
TMs)
Tadd, Tmul
U
a,b,c c(a+b)

Universal Turing Machine

U is programmable – so is a computer!
• instructions are part of the input data
• a computer can emulate a Universal Turing Machine

A computer is a universal computing device.


From Theory to Practice
• In theory, computer can compute anything that’s
possible to compute
– given enough memory and time

• In practice, solving problems involves


computing under constraints.
– time
• weather forecast, next frame of animation, ...
– cost
• cell phone, automotive engine controller, ...
– power
• cell phone, handheld video game, ...
Big Idea #2: Transformations Between Layers

Problems

Algorithms

Language

Instruction Set Architecture

Microarchitecture

Circuits

Devices
How do we solve a problem using a
computer?
•A systematic sequence of
transformations between layers of
Problem
Problem abstraction.
Software Design:
choose algorithms and data structures
Algorithm
Algorithm
Programming:
use language to express design
Program
Program
Compiling/Interpreting:
convert language to
Instr
InstrSet
Set machine instructions
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
Circuits implement components
Circuits
Process Engineering & Fabrication:
develop and manufacture
Devices
Devices lowest-level components
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
Many Choices at Each Level
Solve a system of equations

Gaussian Jacobi
Red-black SOR Multigrid
elimination iteration

FORTRAN C C++ Java Tradeoffs:


cost
PowerPC Intel x86 Atmel AVR performance
power
Centrino Pentium 4 Xeon (etc.)

Ripple-carry adder Carry-lookahead adder

CMOS Bipolar GaAs


Historical developments of computers
– Computer Generations
• Each computer generation is initiated by significant
advances in computer hardware or computer
software.

• Zeroth Generation: Mechanical Computers (1642 – 1945)

• First Generation: Vacuum Tubes (1945 – 1955)

• Second Generation: Transistors (1955 – 1965)

• Third Generation: Integrated Circuits (1965 – 1980)


Milestones in Computer Architecture (1)

Some milestones in the development of the


modern digital computer.
Milestones in Computer Architecture (2)

Some milestones in the development of the


modern digital computer.
The 0th generation –
Mechanical computers ( up to 1945)
• 1642 (B. Pascal - Fr): Calculating machine
(+, -);

• 1672 (Leibniz - D): Another Calculating machine (+,


-,*,/);

• 1811 (C. Babbage - UK): Difference engine (+, -)


compute table of numbers for naval navigation
(execution of only one algorithm); The result is
punched.
The 0th generation –
Mechanical computers ( up to 1945)
• 1834 : Analytical engine (General Purpose
machine); Four components:
– The Store - memory (1000 words of 50 decimals)
– The mill - computation unit (+, -, *, /, branch,
test)
– The input - punched card reader
– The output - punched and printed output
The 0th generation –
Mechanical computers ( up to 1945)
• 1930 (Zeus -D): automatic calculating
machines using electromagnetic relays;

• Atanasoff-Stibbitz (USA): use of binary


arithmetic and capacitors for memory

• 1944 (Aiken - USA): Mark I: 72 words of 23


decimal digits each; cycle time about 6
seconds; input/output as punched cards.
Early Computers
• Charles Babbage:
Difference engine and
analytical engine
• Herman Hollerith: Z3 (1941)
Tabulating machines
for 1890 census
• Konrad Zuse:
First electronic
computer
The 1 generation –
st

Vacuum tubes (1945 - 1955)

• Computers in vacuum tubes;

• Memory in magnetic cores and

• Programming done in machine language.


The 1 generation –
st

Vacuum tubes (1945 - 1955)


• British intelligence ( a. Turing): build a machine to decrypt
messages transmitted by Germans - COLLOSSUS
• 1946 (Mauchley - Eckert - USA): ENIAC - Electronic
Numerical Integrate And Computer: 20 registers (10-digit
decimal number)
• 1949 (Wilkes - U.K.): EDSAC machine (JOHNIAC - ILLIAC -
MANIAC - WEIZAC)
• Mauchley - Eckert: EDVAC - Electronic Discrete Variable
Automatic Computer
• Von Neumann: IAS machine: 4K words of 40 bits either 40-
bit data or 2*20-bit instruction (8-bit mnemonic - 12-bit
data address) 4K addressable space. ACC (40-bit register)
ENIAC: Electronic Numerical Integrator
And Computer

• Built from
1943-1945
• Ballistic trajectory
computation
• All electronic,
vacuum tubes
• Program was
encoded by
changing wiring
UNIVAC: UNIVersal Automatic Computer
(1951-1954)
• Built from
1943-1945
• 5000 Vacuum Tubes
• 13 Tons
• 125 kW power
consumption
• 1,905 operations per
sec running at 2.25
MHz
• $1,500,000
John von Neumann (1903-1957)

John von Neumann with the IAS computer


Von Neumann Machine

The original Von Neumann machine.


Two Major Breakthroughs

• Binary encoding • Von Neumann


–More reliable than Architecture (1945)
analog representations –General purpose
–More efficient than electronic computer
decade counters –CPU – Memory – I/O

I/O CPU Memory


Bus Bus

Input/Output Memory
The 2nd generation –
transistorized computers (1955 - 1965)

• Vacuum tubes are replaced with transistors;

• Programs are written into machine and


symbolic languages

• Innovation of CRT (512 by 512 point screen).


The 2nd generation –
transistorized computers (1955 - 1965)
• First transistorized computer (TX0 - Transistorized
eXperimental computer) was built at MIT lab. - 16-bit
machine.

• PDP-1 (DEC company - 1961): minicomputer 4K / 18-bit


words, cycle time = 5sec -

• PDP-8 (DEC): 12-bit machine: bus oriented machine


(cheaper than PDP-1)

• 7090 and 7094 (IBM - 1960): 2sec cycle time, 32K of 36-bit
words of core memory
PDP-8 Innovation – Single Bus

The PDP-8 omnibus


The 3rd generation –
Integrated circuits (1965 - 1980)
• Micro miniaturized IC: a number of transistors on
one single chip.
SSI: (103), MSI: (104),
LSI: (105), VLSI: (>106) transistors/chip

• Multiprogramming

• Computer emulation

• From 16-bit to 32-bit registers

• Huge address space (16M bytes)


i4004, i8008, i8080 - 1976
i8088 & others
RCA 1802 - 1974
The 3rd generation –
Integrated circuits (1965 - 1980)
• 360 (IBM) Family machine:

Models 30 40 50 65
Relative performance 1 3.5 10 21
Cycle time (nsec) 1000 625 500 250
Memory size (KB) 64 256 256 512
Bytes fetched /cycle 1 2 4 16
Maximum number of data 3 3 4 6
channels
The 4th generation –
PCs and VLSI (1980 - 1990)
• Increased input / output, storage and processing
capabilities;
• Input / output devices to communicate with
computers over great distances via telephone lines
or special communications lines;
• Scanning pages, displaying pictures, making musical
sounds
• Use of high level languages by programmers;
• Introduction of the compact disk, virtual storage,
advances in software
MICROPROCESSOR YEAR SPEED WORD LENGTH TRANSISTORS MIPS
Intel 4004 1969 108 KHz 4-bit 2,300 .06
Intel 8008 1972 200 KHz 8-bit 3,500 0.06
Intel 8080 1974 2 MHz 8-bit 6,000 .64
Intel 8086 1978 4.47 MHz 16-bit 29,000 .66
Intel 8088 1981 4.47 MHz 16-bit 29,000 .75
Intel 80286 1982 12 MHz 16-bit 134,000 2.66
Intel 80386 1985 16-33 MHz 32-bit 275,000 4
Intel 80486 (i486) 1989 20-100 MHz 32-bit 1.2 Million 70
Intel 80586 (Pentium) 1993 75-200 MHz 32-bit 3.3 Million 126-
203
Intel Pentium Pro 1995 150-200 32-bit 5.5 Million 300
MHz
Intel Pentium MMX 1997 166-233 32-bit 4.5 Million -
MHz
Intel Pentium II 233-450 32-bit 7.5 Million -
MHz
Intel Pentium III 1999 450-933 32-bit Over 9.5 -
i80286, i80386
i80486
i80586 - 1993
The 5th generation –
Artificial Intelligence - Networking
• Computers are capable of reasoning, learning, voice
recognition, fast processing speed, massive storage capabilities.

• Computers can be divided into five overlapping categories,


based on physical size, performance and application areas:

Type MIPS Mbytes Machine Use


PC (desktop) 1 1 IBM word-processing
Minicomputer 2 4 PDP-11/84 Real-time control
Super mini 10 32 Sun-4 Network file server
Mainframe 30 128 IBM 3090/300 Banking
Super computer 125 1024 Cray-2 Weather forecasting
Modern Computing …

Today we use sub-micron technology.


• Microprocessors are composed of tiny transistors
(switches) that are microscopic.
• When the switch is “on” a 1 is represented, when
it is “off”, a 0 is represented.
• They form the basis for logic gates which
compose the architecture shown.
• The processor then interacts with I/O devices,
busses, memory, etc. to form the computer.
… Modern Computing
What’s inside a Pentium?

Chip Package

Card which connects processor


to Printed Wiring Board 7,500,000 Transistors
• 1980s, most computers,
VLSI (Very Large Scale
Integrated circuits)
• 1999, PC
– Pentium II processor
• 333 MHz; 7.5M transistors
• Main memory: 64 Mbyte;
• Hard disk: 4Gbyte;
• Price: 4,000MAD

• 2004, PC
– Pentium 4 processor
• 3 GHz; 125M transistors
• Main memory: 512 Mbyte
• Hard disk: 80Gbyte;
• Price: 6,500MAD
Moore’s Law (1965)
• The rate of technological progress can be modeled by
an observation called Moore’s Law.

• Each new generation of memory chips was being


introduced 3 years after the previous one.

• Each new generation had four times as much memory


as its predecessor, he realized that the number of
transistors on a chip was increasing at a constant rate:
the number of transistors is doubling every 18
months.
Moore’s Law (1965)
• Software creates a constant demand for faster
processors, bigger memories, and more I/O
capacity

• Hard disk capacities have increased by at least


50% per year

• Telecommunication & networking: the transfer


rate has increased dramatically
Technological and Economic Forces

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 in this figure are memory sizes, in bits.
Advances in
technology
(transistors/chip)
Competition
Better products
&
Lower prices
New Markets
& Companies

New
Applications
Moore’s Law
The number of transistors in a chip is doubled every couple
of years (Exponential growth)
The computer Spectrum
• Personal computer:
MB of memory, GB of hard disk, CDROM drive, modem, sound
card, and other peripherals

• Workstation:
like PCs with server characteristics

• Mainframe:
much faster than powerful servers, have more I/O capacity
and are equipped with vast disk farms.

• Supercomputer:
Enormously fast CPUs, many GB of MM, and very fast disks
and networks
The Computer Spectrum

The current spectrum of computers available.


The prices should be taken with a grain (or better yet, a metric ton) of salt.
Personal Computer
1. Pentium 4 socket
2. 875P Support chip
3. Memory sockets
4. AGP connector
5. Disk interface
6. Gigabit Ethernet
7. Five PCI slots
8. USB 2.0 ports
9. Cooling technology
10. BIOS

A printed circuit board is at


the heart of every personal
computer. This figure is a
photograph of the Intel
D875PBZ board.
The photograph is copyrighted by
the Intel Corporation, 2003 and is
used by permission.
Example Computer Families
• Pentium 4 by Intel

• UltraSPARC III by Sun Microsystems

• The 8051 chip by Intel, used for embedded


systems
Intel Computer Family (1)
The Intel CPU family. Clock speeds are
measured in MHz (megahertz) where 1 MHZ is
1 million cycles/sec.
Intel Computer Family (2)

The Pentium 4 chip.


The photograph is copyrighted by the Intel Corporation, 2003 and is used by permission.
Intel Computer Family (3)
Moore’s law for (Intel) CPU chips.
MCS-51 Family

Members of the MCS-51 family.


Metric Units

The principal metric prefixes.

S-ar putea să vă placă și