0% found this document useful (0 votes)
9 views

1.Week

The document outlines the course 'Advanced Computer Architecture' taught by Prof. Dr. Hasan Hüseyin Balik, covering topics such as computer evolution, performance issues, CPU structure, and instruction sets. It includes details on course policies, grading, and a syllabus that spans various aspects of computer architecture and organization. Key components discussed include the CPU, memory, I/O systems, and the evolution of microprocessors.

Uploaded by

Aiman Al Arab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

1.Week

The document outlines the course 'Advanced Computer Architecture' taught by Prof. Dr. Hasan Hüseyin Balik, covering topics such as computer evolution, performance issues, CPU structure, and instruction sets. It includes details on course policies, grading, and a syllabus that spans various aspects of computer architecture and organization. Key components discussed include the CPU, memory, I/O systems, and the evolution of microprocessors.

Uploaded by

Aiman Al Arab
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

(Advanced) Computer Architecture

Prof. Dr. Hasan Hüseyin BALIK


(1st Week)
Outline
• Course Information and Policies
• Course Syllabus
1. Overview
—Basic Concepts and Computer Evolution
—Performance Issues
Course Information
• Instructor: Prof. Dr. Hasan Huseyin BALIK,
[email protected], and www.hasanbalik.com
• Class Homepage:
http://www.hasanbalik.com/LectureNotes/CompArch/
Book: Computer Organization and Architecture, 11th
Edition, William Stallings, Prentice Hall 2019
• Grading: Final 100%
Course Syllabus-1
◼ Overview
◼ Basic Concepts and Computer Evolution
◼ Performance Issues

◼ The computer system


◼ A Top-LevelView of Computer Function and Interconnection
◼ Operating System Support

◼ Instruction sets
◼ Instruction Sets: Characteristics and Functions
◼ Instruction Sets: Addressing Modes and Formats
◼ Assembly Language and Related Topics
Course Syllabus-2
◼ The central processing unit
◼ Processor Structure and Function
◼ Reduced Instruction Set Computers (RISCs)
◼ Instruction-Level Parallelism and Superscalar Processors
◼ Control Unit Operation and Microprogrammed Control

◼ Parallel organization
◼ ParallelProcessing
◼ Multicore Computers
+
1.1 Basic Concepts and Computer
Evolution
1.1 Outline
• Organization and Architecture
• Structure and Function
• The IAS Computer
• Gates, Memory Cells, Chips, and Multichip
Modules
• The Evolution of the Intel x86 Architecture
• Embedded Systems
• ARM Architecture
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:

• Hardware details • The operational units and


transparent to the their interconnections
programmer, control that realize the
signals, interfaces architectural
between the computer specifications
and peripherals, memory
technology used
IBM System
370 Architecture
• IBM System/370 architecture
– Was introduced in 1970
– Included a number of models
– Could upgrade to a more expensive, faster model without having
to abandon original software
– New models are introduced with improved technology, but retain
the same architecture so that the customer’s software investment
is protected
– Architecture has survived to this day as the architecture of IBM’s
mainframe product line
Structure and Function
• Hierarchical system • Structure
– Set of interrelated subsystems – The way in which components
relate to each other
• Hierarchical nature of complex
systems is essential to both their • Function
design and their description – The operation of individual
components as part of the
• Designer need only deal with a particular structure
level of the system at a time
– Concerned with structure and function
at each level
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
COMPUTER

Main
Structure I/O
memory

System
Bus

CPU

CPU

Registers ALU

Internal
Bus

Control
Unit

CONTROL
UNIT
Sequencing
Logic

Control Unit
Registers and
Decoders

Control
Memory

The Computer: Top-Level


Figure 1.1 A Structure
Top-Down View of a Computer
There are four main structural components
of the computer:
• CPU – controls the operation of the computer and
performs its data processing functions
• Main Memory – stores data
• I/O – moves data between the computer and its external
environment
• System Interconnection – some mechanism that
provides for communication among CPU, main memory,
and I/O
CPU
Major structural components:
• Control Unit
– Controls the operation of the CPU and hence the computer

• Arithmetic and Logic Unit (ALU)


– Performs the computer’s data processing function

• Registers
– Provide storage internal to the CPU

• CPU Interconnection
– Some mechanism that provides for communication among the
control unit, ALU, and registers
Multicore Computer Structure
• Central processing unit (CPU)
– Portion of the computer that fetches and executes instructions
– Consists of an ALU, a control unit, and registers
– Referred to as a processor in a system with a single processing unit

• 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
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
MOTHERBOARD
Main memory chips

Processor
I/O chips chip

PROCESSOR CHIP

Core Core Core Core

L3 cache L3 cache

Core Core Core Core

CORE
Arithmetic
Instruction and logic Load/
logic unit (ALU) store logic

L1 I-cache L1 data cache

L2 instruction L2 data
cache cache

Figure 1.2 Simplified View of Major Elements of a Multicore Computer


Motherboard with Two Intel Quad-Core
Xeon Processors

Source: Courtesy of Chassis Plans Rugged Rackmount Computers


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
Central processing unit (CPU)

Arithmetic-logic unit (CA)

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

Figure 1.6 IAS Structure


0 1 39

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

Figure 1.7 IAS Memory Formats


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

Instruction buffer • Employed to temporarily hold the right-hand instruction from a


register (IBR) word in memory

• Contains the address of the next instruction pair to be fetched


Program counter (PC) from memory

Accumulator (AC) and • Employed to temporarily hold operands and results of ALU
multiplier quotient (MQ) operations
The IAS Instruction Set
Instruction Symbolic
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 location X

Data transfer 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

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)

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

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
Boolean Binary
I nput logic Output I nput storage Output
function cell

Read

Activate Write
signal

(a) Gate (b) M emory cell

Figure 1.9 Fundamental Computer Elements


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 as
among components are used to transistors, resistors, and conductors can be
move data from memory to fabricated from a semiconductor such as
memory and from memory 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
signals • Transistors can be connected with a
processor metallization to form circuits
Transistors
• The fundamental building block of digital circuits used to construct
processors, memories, and other digital logic devices

• Active part of the transistor is made of silicon or some other


semiconductor material that can change its electrical state when
pulsed
– In its normal state the material may be nonconductive or conductive
– The transistor changes its state when voltage is applied to the gate

• 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
(a) Close-up of packaged chip (b) Chip on motherboard

Figure 1.11 Processor or M emory Chip on M otherboard


t
ui
g

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 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

Figu r e 1 .1 2 Gr ow t h in Tr a n sist or Cou n t on I n t e gr a t e d Cir cu it s


( D RAM m e m or y )
Moore’s Law
1965; Gordon Moore – co-founder of Intel

Observed number of transistors that could be


put on a single chip was doubling every year

Consequences of Moore’s law:


The pace slowed to a
doubling every 18
months in the 1970’s
but has sustained The cost of The electrical Computer
computer logic path length is becomes smaller Reduction in
that rate ever since and memory shortened, power and
Fewer
and is more
interchip
circuitry has increasing convenient to cooling
use in a variety connections
fallen at a operating requirements
dramatic rate speed of environments
Evolution of Intel Microprocessors (1 of 4)

4004 8008 8080 8086 8088

Introduced 1971 1972 1974 1978 1979

Clock speeds 108 kHz 108 kHz 2 MHz 2 MHz, 8 MHz, 10 MHz 5 MHz, 8 MHz

Bus width 4 bits 8 bits 8 bits 16 bits 8 bits

Number of transistors 2,300 3,500 6,000 29,000 29,000

Feature size (m) 10 8 6 3 6

Addressable memory 640 bytes 16 KB 64 KB 1 MB 1 MB

(a) 1970s Processors


Evolution of Intel Microprocessors (2 of 4)
80286 386TM DX 386TM SX 486TM DX CPU

Introduced 1982 1985 1988 1989

Clock speeds 6–12.5 MHz 16–33 MHz 16–33 MHz 25–50 MHz

Bus width 16 bits 32 bits 16 bits 32 bits

Number of transistors 134,000 275,000 275,000 1.2 million

Feature size (m) 1.5 1 1 0.8–1

Addressable memory 16 MB 4 GB 16 MB 4 GB

Virtual memory 1 GB 64 TB 64 TB 64 TB

Cache – – – 8 kB

(b) 1980s Processors


Evolution of Intel Microprocessors (3 of 4)
486TM SX Pentium Pentium Pro Pentium II

Introduced 1991 1993 1995 1997

Clock speeds 16–33 MHz 60–166 MHz 150–200 MHz 200–300 MHz

Bus width 32 bits 32 bits 64 bits 64 bits

Number of transistors 1.185 million 3.1 million 5.5 million 7.5 million

Feature size (m) 1 0.8 0.6 0.35

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

(c) 1990s Processors


Evolution of Intel Microprocessors (4 of 4)
Core i7 EE Core i9-
Pentium III Pentium 4 Core 2 Duo
4960X 7900X

Introduced 1999 2000 2006 2013 2017

1.06–1.2
Clock speeds 450–660 MHz 1.3–1.8 GHz 4 GHz 4.3 GHz
GHz

Bus width 64 bits 64 bits 64 bits 64 bits 64 bits

Number of transistors 9.5 million 42 million 167 million 1.86 billion 7.2 billion

Feature size (nm) 250 180 65 22 14

Addressable memory 64 GB 64 GB 64 GB 64 GB 128 GB

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

(d) Recent Processors


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
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
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
Custom
logic

Processor Memory

Human Diagnostic
interface port

A/D D/A
conversion Conversion

Actuators/
Sensors
indicators

Figure 1.14 Possible Organization of an Embedded System


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 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
Embedded Application Processors
Operating versus
Systems Dedicated Processors
• There are two general • Application processors
approaches to developing an – Defined by the processor’s ability to
execute complex operating systems
embedded operating system – General-purpose in nature
(OS): – An example is the smartphone – the
– Take an existing OS and adapt it embedded system is designed to
support numerous apps and perform
for the embedded application a wide variety of functions
– Design and implement an OS
intended solely for embedded use • Dedicated processor
– Is dedicated to one or a small
number of specific tasks required by
the host device
– Because such an embedded system
is dedicated to a specific task or
tasks, the processor and associated
components can be engineered to
reduce size and cost
Processor

Analog data A/D Temporary


RAM
acquisition converter data

Analog data D/A Program


ROM
transmission converter and data

Send/receive Serial I/O Permanent


EEPROM
data ports data

Peripheral Parallel I/O Timing


TIMER
interfaces ports System functions
bus

Figure 1.15 Typical Microcontroller Chip Elements


Deeply Embedded Systems
• Subset of embedded systems

• Has a processor whose behavior is difficult to observe both by the programmer and
the user

• Uses a microcontroller rather than a microprocessor

• Is not programmable once the program logic for the device has been burned into
ROM

• Has no interaction with a user

• Dedicated, single-purpose devices that detect something in the environment,


perform a basic level of processing, and then do something with the results

• Often have wireless capability and appear in networked configurations, such as


networks of sensors deployed over a large area

• Typically have extreme resource constraints in terms of memory, processor size,


time, and power consumption
ARM
Refers to a processor architecture that has evolved from
RISC design principles and is used in embedded systems

Family of RISC-based microprocessors and microcontrollers


designed by ARM Holdings, Cambridge, England

Chips are high-speed processors that are known for their


small die size and low power requirements

Probably the most widely used embedded processor


architecture and indeed the most widely used processor
architecture of any kind in the world

Acorn RISC Machine/Advanced RISC Machine


ARM Products

Cortex-M
• Cortex-M0
• Cortex-M0+
Cortex-R • Cortex-M3
• Cortex-M4
Cortex-A • Cortex-M7
• Cortex-M23
• Cortex-M33

You might also like