Chapter 1
Chapter 1
[email protected]
Why are we studying this course?
Programmer’s view of a
computer system
HW designer’s view of a
computer system
Digital logic as a model of
computation
Why are we studying this course?
Problem
Algorithm
SW
Program Language
Runtime System (OS)
Architecture
Organization
Logic
Circuits
Electronics
Designing Computers
5
Von-Neumann Computer Architecture
Organizational
Computer
attributes
Organization
include:
• Hardware details • The operational units
transparent to the and their
programmer, control
signals, interfaces
interconnections that
between the computer realize the
and peripherals, memory architectural
technology used specifications
Key Computer Architecture Computer Organization
Logic Diagrams
Circuit Diagrams
What is Computer Organization?
Electronic Desired
Devices Behavior
Computer
software
organization
General
Electronic Desired
Purpose
Devices Behavior
Computer
Structure and Function
• A computer is a complex system; contemporary computers
contain millions of Elementary electronic components.
• The hierarchical nature of complex systems is essential to
both their design and their description.
• A hierarchical system is a set of interrelated subsystems, each
of the latter, in turn, is hierarchical in structure until we reach
the lowest level of the elementary subsystem.
Internal
CPU Interconnection:
Bus
Some mechanism that
provides for
Control
Unit communication among the
control unit, ALU, and
registers
Control Unit: Controls the
operation of the CPU and hence
the computer
Multicore Computer Structure
Accumulator (AC)
• Employed to temporarily hold operands and results
and multiplier of ALU operations
quotient (MQ)
Symbolic
Instruction Type Opcode Representation Description
00001010 LOAD MQ Transfer contents of register MQ to the
accumulator AC
00001001 LOAD MQ,M(X) Transfer contents of memory location X to
MQ
Data transfer
00100001
00000001
STOR M(X)
LOAD M(X)
Transfer contents of accumulator to memory
location X
Transfer M(X) to the accumulator
The IAS
00000010
00000011
LOAD –M(X)
LOAD |M(X)|
Transfer –M(X) to the accumulator
Transfer absolute value of M(X) to the
Instruction
accumulator
Unconditional
00000100
00001101
LOAD –|M(X)|
JUMP M(X,0:19)
Transfer –|M(X)| to the accumulator
Take next instruction from left half of M(X)
Set
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
1 M(X right half of M(X)
0 ,20:
0 39)
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
in AC
00001011 MUL M(X) Multiply M(X) by MQ; put most significant
bits of result in AC, put least significant bits
Arithmetic
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; i.e., shift left one
bit position
00010101 RSH Divide accumulator by 2; i.e., shift right one
position
00010010 STOR M(X,8:19) Replace left address field at M(X) by 12
rightmost bits of AC
Address modify
00010011 STOR M(X,28:39) Replace right address field at M(X) by 12
rightmost bits of AC
History of Computers
Second Generation: Transistors
• Smaller
• Cheaper
• Dissipates less heat than a vacuum tube
• Is a solid state device made from silicon
• Was invented at Bell Labs in 1947
• It was not until the late 1950’s that fully transistorized
computers were commercially available
Second Generation Computers
•Introduced:
• More complex arithmetic and logic units and
control units
• The use of high-level programming languages
• Provision of system software that provided the
ability to:
• Load programs
• Move data to peripherals
• Libraries perform common computations
Data channels 1952 to 1964
from differences
between the IAS
computer and
this generation.
• A data channel
is an
independent I/O
module with its
own processor
and instruction
set.
• The CPU
initiates an I/O
transfer by
sending a control
signal to the data
channel,
instructing it to
execute a
sequence of
instructions in
memory.
History of Computers
Third Generation: Integrated Circuits
•1958 – the invention of the integrated
circuit
•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
Microelectronics
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
p r oo
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
Processor Memory
Human Diagnostic
interface port
A/D D/A
conversion Conversion
Actuators/
Sensors
indicators
Figure Organization
1.14 Possible Organization of an Embedded
of an Embedded SystemSystem
Differences between general purpose computers
and embedded systems:
• An interactive system, there are a variety of interfaces that enable
the system to measure, manipulate, and otherwise interact with the
external environment. Embedded systems often interact (sense,
manipulate, and communicate) with external world through sensors
and actuators.
• The human interface may be as simple as a flashing light or as
complicated as real-time robotic vision. In many cases, there is no
human interface.
• The diagnostic port may be used for diagnosing the system that is
being controlled.
• Software often has a fixed function and is specific to the
application.
• Efficiency is of paramount importance for embedded systems. They
are optimized for energy, code size, execution time, weight and
dimensions, and cost.
• The ability to field upgrade to fix bugs, to improve security, and to
add functionality, has become very important for embedded system.
Application Processors
Embedded Operating versus
Systems Dedicated Processors
• There are two general • Application processors
• Defined by the processor’s ability to
approaches to execute complex operating systems.
developing an • General-purpose in nature
embedded operating • An example is a smartphone – the
embedded system is designed to
system (OS): support numerous apps and perform a
wide variety of functions
• Take an existing OS
and adapt it for the • Dedicated processor
embedded application • Is dedicated to one or a small number
of specific tasks required by the host
• Design and implement device
an OS intended solely • Because such an embedded system is
for embedded use dedicated to a specific task or tasks, the
processor and associated components
can be engineered to reduce size and
cost.
Microprocessors
Contemporary
microprocessor chips
include multiple cores
and a substantial
amount of cache
memory.
Microcontroller
“computer on a
chip “
a
microcontroller
is a single chip
that contains the
processor, non-
volatile memory
for the program
(ROM), volatile
memory for
input and output
(RAM), a clock,
and an I/O
control unit.
The Internet of Things (IoT)
• Term that refers to the expanding interconnection of smart
devices, ranging from appliances to tiny sensors.
• Is primarily driven by deeply embedded devices.
• Generations 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 system
Cloud Computing