William Stallings Computer Organization and Architecture 10 Edition
William Stallings Computer Organization and Architecture 10 Edition
William Stallings
Computer Organization
and Architecture
10th Edition
© 2016 Pearson Education, Inc., Hoboken,
NJ. All rights reserved.
+
Chapter 1
Basic Concepts and
Computer Evolution
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
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:
◼ Discipline
Digital Design and Computer Architecture: ARM® Edition © 2015 Chapter 6 <5>
Abstraction
programs
adders
memories
AND gates
NOT gates
amplifiers
filters
transistors
diodes
electrons
Digital Design and Computer Architecture: ARM® Edition © 2015 Chapter 6 <6>
The Three -y’s
• Hierarchy
– A system divided into modules and
submodules
• Modularity
– Having well-defined functions and interfaces
• Regularity
– Encouraging uniformity, so modules can be
easily reused
Digital Design and Computer Architecture: ARM® Edition © 2015 Chapter 6 <7>
+
Structure and Function
◼ A computer is a complex
system; contemporary
computers contain millions of
Elementary electronic
components. How, then, can one
clearly describe them? The key
is to recognize the hierarchical ◼ At each level, the designer is
nature of most complex systems, concerned with structure and
including the computer function
◼ Hierarchical system
◼ Structure
◼ Set of interrelated subsystems
◼ The way in which components
◼ Hierarchical nature of complex relate to each other
systems is essential to both their
design and their description ◼ Function
◼ Designer need only deal with a ◼ The operation of individual
particular level of the system at components as part of the
a time structure
◼ Concerned with structure and
function at each level
I/O Main
memory
System
Bus
CPU
CPU
Registers ALU
Structure Internal
Bus
Control
Unit
CONTROL
UNIT
Sequencing
Logic
Control Unit
Registers and
Decoders
Control
Memory
System Interconnection –
some mechanism that provides
for communication among CPU,
main memory, and I/O
◼ Registers
◼ Provide storage internal to the CPU
◼ CPU Interconnection
◼ Some mechanism that provides for
communication among the control
unit, ALU, and registers
◼ 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
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
Figure 1.3
Motherboard with Two Intel Quad-Core Xeon Processors
zEnterprise
EC12 Processor
Unit (PU)
Chip Diagram
zEnterprise
EC12
Core Layout
AC MQ
Input-
Arithmetic-logic output
circuits
equipment
(I, O)
MBR
Instructions
and data
Instructions
and data
M(0)
M(1)
M(2)
M(3) PC IBR
M(4) AC: Accumulator register
MQ: multiply-quotient register
MBR: memory buffer register
IBR: instruction buffer register
MAR IR PC: program counter
MAR: memory address register
Main
IR: insruction register
memory
(M)
Control
Control
circuits
signals
M(4092)
M(4093)
M(4095)
Program control unit (CC)
Addresses
0 8 20 28 39
opcode (8 bits) address (12 bits) opcode (8 bits) address (12 bits)
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
Yes Is next No
instruction MAR PC
No memory in IBR?
Fetch access
cycle required
MBR M(MAR)
Left
No Yes IBR MBR (20:39)
IR IBR (0:7) IR MBR (20:27) instruction
IR MBR (0:7)
MAR IBR (8:19) MAR MBR (28:39) required?
MAR MBR (8:19)
PC PC + 1
Decode instruction in IR
Execution Yes
Is AC > 0?
cycle
AC MBR AC AC + MBR
Table 1.1
branch 00001110 JUMP M(X,20:39) Take next instruction from right half of M(X)
00001111 JUMP+ M(X,0:19) If number in the accumulator is nonnegative,
take next instruction from left half of M(X)
0 JU If number in the
0 MP accumulator is nonnegative,
Conditional branch 0 + take next instruction from
The IAS
1 M(X right half of M(X)
0 ,20:
0 39)
Instruction Set
0
0
00000101 ADD M(X) Add M(X) to AC; put the result in AC
00000111 ADD |M(X)| Add |M(X)| to AC; put the result in AC
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
◼ Cheaper
◼ Introduced:
◼ More complex arithmetic and logic units and
control units
◼ The use of high-level programming languages
◼ Provision of system software which provided the
ability to:
◼ Load programs
◼ Move data to peripherals
◼ Libraries perform common computations
Mag tape
units
CPU
Card
punch
Data
channel Line
printer
Card
reader
Drum
Multi- Data
plexor channel
Disk
Data
Disk
channel
Hyper-
tapes
◼ Discrete component
◼ Single, self-contained transistor
◼ Manufactured separately, packaged in their own containers, and
soldered or wired together onto masonite-like circuit boards
◼ Manufacturing process was expensive and cumbersome
Read
Activate Write
signal
Chip
Gate
Packaged
chip
ed of
rc
or in
ga w
d
st rk
ci
ul l a
at n
te
gr tio
si o
’s
an w
om e
te n
r
tr irst
in ve
pr o o
In
M
F
100 bn
10 bn
1 bn
100 m
10 m
100,000
10.000
1,000
100
10
1
1947 50 55 60 65 70 75 80 85 90 95 2000 05 11
◼ Announced in 1964
Similar or
Similar or
identical Increasing
identical
operating speed
instruction set
system
Increasing
Increasing
number of I/O Increasing cost
memory size
ports
Omnibus
Generations
VLSI
Very Large
Scale
Integration
ULSI
Semiconductor Memory Ultra Large
Microprocessors Scale
Integration
In 1974 the price per bit of semiconductor memory dropped below the price per bit
of core memory
There has been a continuing and rapid decline in Developments in memory and processor
memory cost accompanied by a corresponding technologies changed the nature of computers in
increase in physical memory density less than a decade
Each generation has provided four times the storage density of the previous generation, accompanied
by declining cost per bit and declining access time
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
Processor Memory
Human Diagnostic
interface port
A/D D/A
conversion Conversion
Actuators/
Sensors
indicators
◼ With reference to the end systems supported, the Internet has gone through
roughly fourGenerations of deployment culminating in the IoT:
◼ Information technology (IT)
◼ PCs, servers, routers, firewalls, and so on, bought as IT devices by enterprise IT
people and primarily using wired connectivity
◼ Operational technology (OT)
◼ Machines/appliances with embedded IT built by non-IT companies, such as
medical machinery, SCADA, process control, and kiosks, bought as appliances by
enterprise OT people and primarily using wired connectivity
◼ Personal technology
◼ Smartphones, tablets, and eBook readers bought as IT devices by consumers
exclusively using wireless connectivity and often multiple forms of wireless
connectivity
◼ Sensor/actuator technology
◼ Single-purpose devices bought by consumers, IT, and OT people exclusively using
wireless connectivity, generally of a single form, as part of larger systems
◼ It is the fourth generation that is usually thought of as the IoT and it is marked
by the use of billions of embedded devices
◼ Is not programmable once the program logic for the device has been
burned into ROM
Cortex-M
• Cortex-M0
Cortex-R • Cortex-M0+
• Cortex-M3
Cortex- • Cortex-M4
A/Cortex-
A50
◼ The two architectures use both the ARM and Thumb-2 instruction sets;
the principal difference is that the Cortex-A is a 32-bit machine, and the
Cortex-A50 is a 64-bit machine.
◼ The Cortex-R includes enhancements both to the instruction set and to the processor
organization to support deeply embedded real-time devices.
◼ Most of these processors do not have MMU; the limited data requirements and the limited
number of simultaneous processes eliminates the need for elaborate hardware and
software support for virtual memory.
◼ The Cortex-R does have a Memory Protection Unit (MPU), cache, and other memory
features designed for industrial applications. An MPU is a hardware module that prohibits
one program in memory from accidentally accessing memory assigned to another active
program. Using various methods, a protective boundary is created around the program, and
instructions within the program are prohibited from referencing data outside of that
boundary.
◼ Examples of embedded systems that would use the Cortex-R are automotive braking
systems, mass storage controllers, and networking and printing devices.
Peripheral bus
32-bit bus
Voltage Voltage High fre- High freq Flash SRAM Debug DMA
regula- compar- quency RC crystal memory memory inter- control-
tor ator oscillator oscillator 64 kB 64 kB face ler
Microcontroller Chip
ICode SRAM &
interface peripheral I/F
Bus matrix
Debug logic
Memory
DAP protection unit
ARM
NVIC core ETM
Cortex-M3 Core
NVIC ETM Cortex-M3
interface interface
Processor
32-bit ALU
Hardware 32-bit
divider multiplier
Control Thumb
logic decode
Instruction Data
interface interface
Cloud Storage
◼ Subset of cloud computing