CH 1
CH 1
Chapter 1
Basic Concepts and
Computer Evolution
1
2
Computer Architecture
Computer Organization
• Attributes of a system • Instruction set, number of
visible to the bits used to represent
programmer various data types, I/O
• Have a direct impact on mechanisms, techniques
the logical execution of a for addressing memory
program
Architectural
Computer
attributes
Architecture
include:
Organizational
Computer
attributes
Organization
include:
Function
• There are four basic functions that a computer can perform:
– Data processing
▪ Data may take a wide variety of forms and the range of processing
requirements is broad
– Data storage
▪ Short-term
▪ Long-term
– Data movement
▪ Input-output (I/O) - when data are received from or delivered to a device
(peripheral) that is directly connected to the computer
▪ Data communications – when data are moved over longer distances, to or from
a remote device
– Control
▪ A control unit manages the computer’s resources and orchestrates the
performance of its functional parts in response to instructions
6
The Computer: Top-Level Structure
COMPUTER
I/O Main
memory
System
Bus
CPU
CPU
Registers ALU
Internal
Bus
Control
Unit
CONTROL
UNIT
Sequencing
Logic
Control Unit
Registers and
Decoders
Control
Memory
7
There are four main structural components
of the computer:
• Registers
Provide storage internal to the CPU
• CPU Interconnection
Some mechanism that provides for communication among the
control unit, ALU, and registers
9
• Core
– An individual processing unit on a processor chip
– May be equivalent in functionality to a CPU on a single-CPU system
– Specialized processing units are also referred to as cores
• Processor
– A physical piece of silicon containing one or more cores
– Is the computer component that interprets and executes instructions
– Referred to as a multicore processor if it contains multiple cores
10
Cache Memory
• Multiple layers of memory between the processor and main
memory
• Is smaller and faster than main memory
• Used to speed up memory access by placing in the cache data
from main memory that is likely to be used in the near future
• A greater performance improvement may be obtained by using
multiple levels of cache, with level 1 (L1) closest to the core and
additional levels (L2, L3, etc.) progressively farther from the core
11
Multicore Computer
MOTHERBOARD
Main memory chips
Processor
I/O chips chip
PROCESSOR CHIP
L3 cache L3 cache
CORE
Arithmetic
Instruction and logic Load/
logic unit (ALU) store logic
L2 instruction L2 data
cache cache
12
History of Computers
First Generation: Vacuum Tubes
• Vacuum tubes were used for digital logic elements and memory
• IAS computer
– Fundamental design approach was the stored program
concept
▪ Attributed to the mathematician John von Neumann
▪ First publication of the idea was in 1945 for the EDVAC
– Design began at the Princeton Institute for Advanced Studies
– Completed in 1952
– Prototype of all subsequent general-purpose computers
13
IAS Structure
14
IAS Memory Formats
15
Registers
Memory buffer register • Contains a word to be stored in memory or sent to the I/O unit
(MBR) • Or is used to receive a word from memory or from the I/O unit
Memory address • Specifies the address in memory of the word to be written from
register (MAR) or read into the MBR
Instruction register (IR) • Contains the 8-bit opcode instruction being executed
Accumulator (AC) and • Employed to temporarily hold operands and results of ALU
multiplier quotient (MQ) operations
16
Partial Flowchart of IAS Operation
17
The IAS Instruction Set
Instruction Symbolic
Type Opcode Representation Description
Unconditional 00001101 JUMP M(X,0:19) Take next instruction from left half of M(X)
branch 00001110 JUMP M(X,20:39) Take next instruction from right half of M(X)
00001111 JUMP + M(X,0:19) Take next instruction from right half of M(X)
Conditional
Branch 00010000 JUMP + M(X,20:39) If number in the accumulator is nonnegative, take next
instruction from right half of M(X)
00000110 SUB M(X) Subtract M(X) from AC; put the result in AC
00001000 SUB |M(X)| Subtract |M(X)| from AC; put the remainder in AC
Arithmetic 00001011 MUL M(X) Multiply M(X) by MQ; put most significant bits of result
in AC, put least significant bits in MQ
00001100 DIV M(X) Divide AC by M(X); put the quotient in MQ and the
remainder in AC
00010100 LSH Multiply accumulator by 2; that is, shift left one bit position
00010101 RSH Divide accumulator by 2; that is, shift right one position
00010010 STOR M(X,8:19) Replace left address field at M(X) by 12 rightmost bits
Address of AC
modify 00010011 STOR M(X,28:39) Replace right address field at M(X) by 12 rightmost bits
of AC
18
Integrated Circuits
Data storage – provided by • A computer consists of gates, memory cells, and
memory cells interconnections among these elements
Data processing – provided by • The gates and memory cells are constructed of
gates simple digital electronic components
Data movement – the paths Exploits the fact that such components
among components are used as transistors, resistors, and conductors
to move data from memory to can be fabricated from a semiconductor
memory and from memory such as silicon
through gates to memory Many transistors can be produced at the
Control – the paths among same time on a single wafer of silicon
components can carry control Transistors can be connected with a
signals processor metallization to form circuits
20
Transistors
• The fundamental building block of digital circuits used to construct
processors, memories, and other digital logic devices
• Discrete component
– A single, self-contained transistor
– Were manufactured separately, packaged in their own containers, and soldered
or wired together onto Masonite-like circuit boards
21
Multichip Module
26
Clock speeds 108 kHz 108 kHz 2 MHz 2 MHz, 8 MHz, 10 MHz 5 MHz, 8 MHz
1970s Processors
27
Clock speeds 6–12.5 MHz 16–33 MHz 16–33 MHz 25–50 MHz
Addressable memory 16 MB 4 GB 16 MB 4 GB
Virtual memory 1 GB 64 TB 64 TB 64 TB
Cache – – – 8 kB
1980s Processors
28
Clock speeds 16–33 MHz 60–166 MHz 150–200 MHz 200–300 MHz
Number of transistors 1.185 million 3.1 million 5.5 million 7.5 million
Addressable memory 4 GB 4 GB 64 GB 64 GB
Virtual memory 64 TB 64 TB 64 TB 64 TB
512 kB L1 and
Cache 8 kB 8 kB 512 kB L2
1 MB L2
1990s Processors
29
1.06–1.2
Clock speeds 450–660 MHz 1.3–1.8 GHz 4 GHz 4.3 GHz
GHz
Number of transistors 9.5 million 42 million 167 million 1.86 billion 7.2 billion
Virtual memory 64 TB 64 TB 64 TB 64 TB 64 TB
1.5 MB L2/
Cache 512 kB L2 256 kB L2 2 MB L2 14 MB L3
1.5 MB L3
Number of cores 1 1 2 6 10
Recent Processors
30
Highlights of the Evolution of the Intel Product
Line: (1 of 2)
8080 8086 80286 80386 80486
• World’s first • A more • Extension of the • Intel’s first 32- • Introduced the
general- powerful 16-bit 8086 enabling bit machine use of much
purpose machine addressing a • First Intel more
microprocessor • Has an 16-MB memory processor to sophisticated
• 8-bit machine, instruction instead of just support and powerful
8-bit data path cache, or 1MB multitasking cache
to memory queue, that technology and
• Was used in the prefetches a sophisticated
first personal few instructions instruction
computer before they are pipelining
(Altair) executed • Also offered a
• The first built-in math
appearance of coprocessor
the x86
architecture
• The 8088 was a
variant of this
processor and
used in IBM’s
first personal
computer
(securing the
success of Intel
31
Highlights of the Evolution of the Intel Product
Line: (2 of 2)
Pentium
• Intel introduced the use of superscalar techniques, which allow multiple instructions to execute in parallel
Pentium Pro
• Continued the move into superscalar organization with aggressive use of register renaming, branch
prediction, data flow analysis, and speculative execution
Pentium II
• Incorporated Intel MMX technology, which is designed specifically to process video, audio, and graphics
data efficiently
Pentium III
•Incorporated additional floating-point instructions
•Streaming SIMD Extensions (SSE)
Pentium 4
• Includes additional floating-point and other enhancements for multimedia
Core
• First Intel x86 micro-core
Core 2
• Extends the Core architecture to 64 bits
• Core 2 Quad provides four cores on a single chip
• More recent Core offerings have up to 10 cores per chip
• An important addition to the architecture was the Advanced Vector Extensions instruction set
32
Embedded Systems
• The use of electronics and software within a product
• Billions of computer systems are produced each year that are
embedded within larger devices
• Today many devices that use electric power have an embedded
computing system
• Often embedded systems are tightly coupled to their environment
– This can give rise to real-time constraints imposed by the need to interact with the
environment
▪ Constraints such as required speeds of motion, required precision of
measurement, and required time durations, dictate the timing of software
operations
– If multiple activities must be managed simultaneously this imposes more complex
real-time constraints
33
• Has a processor whose behavior is difficult to observe both by the programmer and
the user
• Is not programmable once the program logic for the device has been burned into
ROM
ARM
Refers to a processor architecture that has evolved from
RISC design principles and is used in embedded systems
ARM Products
Cortex-M
• Cortex-M0
• Cortex-M0+
Cortex-R • Cortex-M3
• Cortex-M4
Cortex-A • Cortex-M7
• Cortex-M23
• Cortex-M33
40