CSE309 - Computer Architecture and
Organization
Basic Consepts and Evolution
Topics
• Organization and architecture • Embedded systems
• Structure and function • The Internet of things
• Brief history of computers • Embedded operating
• The First Generation: Vacuum tubes systems
• The Second Generation: Transistors • Application processors
versus dedicated processors
• The Third Generation: Integrated • Microprocessors versus
Circuits microcontrollers
• Later generations • Embedded versus deeply
embedded systems
• The evolution of the Intel x86
architecture • ARM architecture
• ARM evolution
• Cloud computing • Instruction set architecture
• Basic concepts • ARM products
• Cloud services
Organization and Architecture
Computer architecture Computer organization
The parts that are visible to programmer The details at the level of hardware
Consists of; Consists of;
• Instruction Set Architecture (ISA) • Buses, control unit, ALU (Arithmetic Logic
• Data types and sizes Unit)
• Addressing modes • Memory hierarchy (caches, RAM, disk
• Register set access)
• Memory architecture (e.g., Von • Pipeline structure
Neumann or Harvard) • Parallel processing, control signals
• I/O systems • How the actual hardware is implemented
What can this computer do? How does this computer take the commands?
What commands does it understand? How this commands run physically?
Example
The task is adding → ADD
The registers are R1, R2 and R3
The job is R1 = R2 + R3
Architecture (What to do?) Organization (How to do?)
1. ADD, R1, R2, R3 Instruction is fetched from RAM
2. R2 + R3 is calculated ALU performs the addition
3. Result is written to R1 Control signal initiates write to R1 register
Stucture and Function
Computers have hierarchical system
The operation of each individual The way in which the components
component as part of the structure. are interrelated.
Function Structure
Running programs CPU, ALU, control unit, registers
Storing data RAM, hard disk, cache, addressing unit
Receiving input Keyboard, mouse, USB controller
Producing output Monitor, printer, sound card
Performing I/O operations I/O controllers, data buses
Stucture and Function - Structure
A simple single-processor computer (Fig 1.1)
• CPU – the brain of the computer
• Main memory – stores data
• I/O – moves data between computer and external
enviroment
• System bus – communication mechanism
between the CPU, I/O and main memory
Stucture and Function - Structure
A simple single-processor computer
• Control unit – Controls the operation of the CPU and
hence the computer.
• Arithmetic and logic unit (ALU) – Performs the
computer’s data processing functions.
• Registers – Provides storage internal to the CPU.
• Internal bus – (= CPU interconnection) Some
mechanism that provides for communication among
the control unit, ALU, and registers.
In summary;
• The CPU is the command execution center of the computer.
• It performs operations, moves data, makes decisions, and
controls processes.
• Every line of code you write is ultimately processed step by
step by the CPU.
4 main tasks; • Fetch
• Decode
• Execute
• Store
Stucture and Function – Multicore computer structure
single processor in a single computer → multiple processors in a single computer
When these processors are located on a single
chip, the term multicore computer is used
And here, each processing unit is called a core.
consisting of a control unit, ALU, registers, and perhaps cache
Multicore Computer Structure (Fig 1.2) Cache memory
= multiple layers of memory
between the processor and main memory
It is smaller and faster than main memory
It is used to speed up memory access by placing in
the cache data from main memory
A greater performance by using multiple levels of cache
L1 (level1) is the closest to the core
L2 and L3 are progressively farther from the core
A real life example Intel 3420 chipset is an I/O
controller for direct memory
Motherboard with two Intel Quad-Core Xeon processor chips (Fig 1.3)
access operations between
Interfaces for DDR (double data peripheral devices and main
rate) main memory chips memory
Serial ATA (SATA) sockets for
connection to disk memory
USB sockets for
peripheral
devices
Ethernet controller and
PCI-Express slots for a high-end display Ethernet ports for network
adapter and for additional peripherals connections.
A processor chip for the IBM zEnterprise EC12 (zEC12) mainframe computer
We see that this chip has six cores, or processors.
SC → storage control → handles cache
management and maintains coherence
MC → memory controller → controls access
to memory external to the chip
GX → Global/Group eXchange → controls the
interface to the channel adapters accessing
the I/O (i.e. chip-to-chip communication,
cache coherency)
zEnterprise EC12 Processor Unit (PU) Chip Diagram (Fig 1.4)
A processor chip for the IBM zEnterprise EC12 (zEC12) mainframe computer
ISU (instruction sequence unit)
IFU (instruction fetch unit)
IDU (instruction decode unit)
LSU ( load-store unit)
XU (translation unit)
FXU ( fixed-point unit)
BFU (binary floating-point unit)
DFU (decimal floating-point unit)
RU (recovery unit)
COP (dedicated co-processor)
I-cache
L2 control
Data-L2
zEnterprise EC12 Core Layout (Fig 1.5) Instr-L2
A Brief History of Computer
• First generation Vacuum tubes
• Second generation Transistors
• Third generation Integrated circuits
• Later generations
A Brief History – The first generation
The First Generation: Vacuum Tubes
Vacuum tubes were used for digital logic elements and memory
Vacuum tubes contain electrodes for controlling electron flow and
were used in early computers as a switch or an amplifier.
ENIAC - EDVAC - IAS Computer
IAS Computer (von Neumann machines):
• known as the stored-program concept
• Prototype of all subsequent general-purpose computers
• The first publication of the idea was in a 1945 proposal by
von Neumann for a new
• computer, the EDVAC (Electronic Discrete Variable
Computer).
• Design began in the Institute for Advanced Studies (IAS,
Princeton) in 1946
• Completed in 1952
Central processing unit (CPU)
central arithmetical part of the device
Arithmetic-logic unit (CA)
AC MQ
Input-
Arithmetic-logic output
circuits
equipment
(I, O)
MBR
R: outside recording medium of the device
Instructions
Informtaion transfer
and data from R to specific parts
Instructions
C and M
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
Memory signals
circuits
M(4092)
M(4093)
M(4095)
Program control unit (CC) central control
Addresses
Structure of IAS Computer (Fig 1.6)
Figure 1.6 IAS Structure
4096 storage locations (words)
0 1 39
+5 → 0 0000000000000000000000000000000000000101
-5 → 1 0000000000000000000000000000000000000101
sign bit (a) Number word
left instruction (20 bits) right instruction (20 bits)
0 8 20 28 39
opcode (8 bits) address (12 bits) opcode (8 bits) address (12 bits)
(b) Instruction word
Also enables to store two
instructions in a word.
Figure 1.7 IAS Memory Formats
IAS Memory Formats (Fig. 1.7)
Symbolic
I nstruction 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
00100001 STOR M(X) Transfer contents of accumulator to memory
Data transfer location X
The IAS Instruction Set (Table 1.1) 00000001 LOAD M(X) Transfer M(X) to the accumulator
00000010 LOAD –M(X) Transfer –M(X) to the accumulator
00000011 LOAD |M(X)| Transfer absolute value of M(X) to the
accumulator
00000100 LOAD –|M(X)| Transfer –|M(X)| to the accumulator
0 1 39 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) If number in the accumulator is nonnegative,
take next instruction from left half of M(X)
(a) Number word 0 JU If number in the
sign bit
0 MP accumulator is nonnegative,
Conditional branch 0 + take next instruction from
1 M(X right half of M(X)
left instruction (20 bits) right instruction (20 bits) 0 ,20:
0 39)
0
0 8 20 28 39 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
opcode (8 bits) address (12 bits) opcode (8 bits) address (12 bits)
00001000 SUB |M(X)| Subtract |M(X)| from AC; put the remainder
in AC
(b) Instruction word 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
Figure 1.7 IAS Memory Formats 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
A Brief History – The second generation
The Second Generation: Transistors
• Smaller
• Cheaper
• generates less heat than a vacuum tube
• The use of the transistor defines the second generation of
computers
• more complex arithmetic and logic units and control units,
• the use of high-level programming languages
• and the provision of system software
✓ Load programs
✓ Move data to peripherals
✓ Libraries perform common computations
A data channel is an independent I/O
module with its own processor and
instruction set.
In a scenario of I/O transfer
1. CPU send signal to data channel to execute the instruction
which are in the memory
2. Data channel performs the task indedepently of the CPU
3. When the task finished, data channel sends signal to CPU
So,
the CPU can focus on other tasks without dealing
with I/O operations.
An IBM 7094 Configuration (Fig 1.9)
The multiplexor is the central
termination point for data
channels, the CPU, and memory.
When the CPU and data channel
want to access to the memory, the
multiplexor schedules this access
to the memory.
An IBM 7094 Configuration (Fig 1.9)
A Brief History – The third generation
The Third Generation: Integrated Circuits
The self-contained transistors are developed → called
discreate component
refers to an integrated or packaged unit
a small single structure that combines a transistor + necessary
components (such as resistors, etc.)
These types of transistors are more compact, require less assembly,
and can perform a specific function entirely on their own.
This concept is considered a precursor to integrated circuits.
Integrated circuits (IC) are used in the third generation of computers.
Meaning that many transistors and other components are combined on a single chip.
Integrated circuits → started microelectronics the reduction in size of digital electronic circuits
Two fundamental components of a computer. By interconnecting large
numbers of these fundamental devices, we can construct a computer.
Data storage, movement, processing, and
control functions must be carried out by a
computer. Boolean Binary
Input logic Output Input storage Output
function cell
These are done by gate and memory cell.
Read
Activate Write
signal
Component Function Example
(a) Gate (b) Memory cell
Processing data Addition,
Gate Fundamental Computer Elements (Fig 1.10)
(arithmetic/logic) comparison
Figure 1.10 Fundamental Computer Elements
Memory Storing data (at the RAM, register,
Cell bit level) cache cell
controls data flow stores 1 bit of data
• Exploits the fact that such components as transistors,
resistors, and conductors can be fabricated from a
semiconductor such as silicon.
• Many transistors can be produced at the same time on a
single wafer of silicon.
• Transistors can be connected with a processor metallization
to form circuits.
Structure of wafer, chip and gate (Fig 1.11)
Moore’s law
propounded by Gordon Moore, cofounder of
Intel, in 1965
1. The cost of computer logic and memory circuitry has fallen at a dramatic rate.
2. The electrical path length is shortened, increasing operating speed.
3. The computer becomes smaller, making it more convenient to place in a variety of
environments.
4. There is a reduction in power and cooling requirements.
5. With more circuitry on each chip, there are fewer interchip connections.
PDP-8
central-switched architecture
PDP-8 Bus Structure (Fig 1.13)
An IBM Configuration (Fig 1.9)
PDP-8 used a structure that became virtually universal for microcomputers: the bus structure.
• There are 96 separate signal paths.
• These paths carry control, address, and data signals.
• All components use the same bus, so their use can be controlled by the CPU.
A Brief History – Later generations
Table 1.2
Approximate Typical Speed
Generation Dates Technology (operations per second)
1 1946–1957 Vacuum tube 40,000 The first generation
2 1957–1964 Transistor 200,000 The second generation
3 1965–1971 Small and medium scale 1,000,000 The third generation
integration
4 1972–1977 Large scale integration 10,000,000
5 1978–1991 Very large scale integration 100,000,000 Later generations
6 1991- Ultra large scale integration >1,000,000,000
Large-scale integration (LSI) more than 1,000 components can be placed on a single integrated circuit chip.
Very-large-scale integration (VLSI) achieved more than 10,000 components per chip.
Ultra-large-scale integration (ULSI) chips can contain more than one billion components.
Important developments have been occured in the memory and processors.
Semiconductor memory
Smaller and faster machines
with larger memory sizes.
Magnetic-core memory Semiconductor memory
• Fast • Faster,
• But expensive, bulky and • Smaller
destructive readout • No destructive readout
• Cheaper
Microprocessors
• The density of elements on processor chips continued to Microprocessors
rise
• More and more elements were placed on each chip so that All components of the CPU housed on a single chip
fewer and fewer chips were needed to construct a single
computer processor
What's Inside a Microprocessor?
• 1971 Intel developed 4004 • ALU (Arithmetic Logic Unit) → Performs arithmetic
• First chip to contain all of the components of a CPU on a and logical operations.
single chip • Control Unit → Interprets instructions and directs
• Birth of microprocessor other components.
• Registers → Temporary storage areas for data.
• 1972 Intel developed 8008
• Data and Address Buses → Provide communication
• First 8-bit microprocessor with memory and other units.
• 1974 Intel developed 8080
• First general-purpose microprocessor
• Faster, has a richer instruction set, has a large addressing
capability
Two important computer architectures
Intel x86 ARM
Processor desing: complex instruction set com- Processor desing: reduced instruction set
puters (CISCs) computer (RISC)
mainframes , servers, game-computers embedded systems
Intel Product Line
Intel has ranked as the number one maker of microprocessors
for non-embedded systems for decades.
Today, most desktop and laptop computers are still based on
this architecture.
In addition to Intel, companies like AMD and VIA also produce
x86-compatible processors.
[Link]
x86 ARM
Feature CISC RISC
Number of Instructions Very high (100+ instructions) Low (30–50 instructions)
Instruction Length Variable Fixed
Performance Can be slower Faster, pipeline-friendly
Power Consumption Can be high Low (suitable for mobile devices)
Complexity Complex hardware Simple hardware
Usage Areas PCs, servers Mobile, embedded, IoT
Embedded Systems
Camera
An embedded system is a special-purpose computer system designed to perform a Smart TV
specific task or a limited set of tasks.
It is often as part of a larger system.
ATMs
• Dedicated function: Unlike general-purpose computers, embedded systems usually perform Airbag control unit
one specific task.
• Real-time capability: Can be designed to meet strict timing requirements (e.g., car braking
systems).
• Compact and efficient: Small in size and consumes low power.
• Hardware-software integration: Typically contains a microcontroller (MCU) or microprocessor
(CPU).
Blood pressure monitors
Inductrial rbotic arms
Sense, manipulate and communicate
Custom
logic
Processor Memory
The unit which the system
interacts with the user.
Human Diagnostic The diagnostic port is used for diagnosing
interface port the system and the computer.
A/D D/A
conversion Conversion
Actuators/
Sensors
indicators
Possible Organization of an Embedded System (Fig 1.14)
Internet of Things (IoT)
Internet of Things (IoT) is a technology concept that enables physical devices to connect to
the internet and exchange data with each other and with systems.
IoT is a network of devices equipped with internet-connected sensors, software, and other technologies.
The goal create smarter, more automated, and efficient systems.
• Information technology (IT) → such as PCs, servers, routers, firewalls
• Operational technology (OT) → such as medical machinery, SCADA, process control,
and kiosks
• Personal technology → such as smartphones, tablets, and eBook
• Sensor/actuator technology → generally of a single form, as part of larger systems
Some important terminologies
Application Processors versus Dedicated Processors
• used for special-purpose
• used for general-purpose
• i.e. processor in heartbeat measurement device
• i.e. pocessors in smartphones
• The embedded system is designed to dedicated to one
• The embedded system is designed to support numerous
or a small number of specific tasks required by the host
apps and perform a wide variety of functions.
device
Microprocessors versus Microcontrollers
all CPU elements on a single chip CPU, RAM, ROM, I/O units, and a clock on a single chip
Embedded Systems versus Deeply Embedded Systems
• user interaction and program modifiability are possible • user interaction and program modifiability are usually not
• power consumption is important but not critical done
• i.e. smartwatch, printer, TV • power consumption is important and critical, must be low
• i.e. Pacemaker, airbag control unit
ARM architecture
ARM is a family of RISC-based microprocessors and
microcontrollers designed by ARM Holdings,
Cambridge, England.
i.e. Cortex-A53, Cortex-M4
ARM chips are high-speed processors Two types of ARM licences;
• Processor licence
Small in size the customer buys the rights to use ARM-supplied design in
Low power requirements their own chips
• Processor architecture licence
the customer buys the rights to design their own processor
compliant with ARM’s architecture.
i.e. ARMv8, ARMv9
EFM32 microcontroller from Silicon Labs (Fig 1.16)
a typical microcontroller built with the Cortex-M3
ARM-supplied processor design
Cloud computing
Cloud computing is a technology that provides access to computer and technology resources over
the internet.
Company Computer / Office Cloud Data Center
Server in the Physical servers
Office (local)
Without internet, you can Accesses resources internet.
only use this much power. It is easy to scale and manage.
Instead of purchasing, setting up and you can rent and use the resources located in large
managing your own physical hardware and secure data centers that are accessible via the
such as servers, storage, software, or internet
networking infrastructure
A cloud service provider (CSP) maintains computing
and data storage resources that are available over the
Internet or private networks.
Three cloud service models:
• SaaS → i.e. Gmail, dropbox, Google docs
• PaaS → i.e. Google App Engine, Heroku
• IaaS → i.e. Amazon EC2 (AWS), Microsoft Azure
Virtual Machines, Google Compute Engine
Alternative cloud service model applications (Fig 1.17)
Read chapter 1
Computer Organization and Architecture,
Designing for Performance, by William Stallings,
10th Global Edition, Pearson, 2016