EEE415 Week01 Introduction
EEE415 Week01 Introduction
EEE An Introduction to
Computer
415 Architecture
Week 1
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 3
Department of EEE, BUET
3
Course Objectives
Illustrate the architecture, programming and operating
principle of an ARM microprocessor
Introduce Microprocessor design using VerilogHDL
Interpret assembly language programs by executing
ARM instruction sets
Introduce design of embedded systems and RTOS
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 4
Department of EEE, BUET
4
Course Instructor(s):
Section A: Dr. Sajid Muhaimin Choudhury, Assistant Professor
Email: [email protected]
Office: ECE222, ECE Building
Website: http://sajid.buet.ac.bd/
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 6
Department of EEE, BUET
6
EEE 415
Course Information
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 8
Department of EEE, BUET
8
programs
• PHY 165 Electricity and Magnetism,
CSE / Comp Engg Modern Physics and Mechanics
device drivers • EEE 101 - Electrical Circuits I
• EEE 105 - Electrical Circuits II
EEE 415
instructions
registers • EEE 201 - Electronic Circuits I
datapaths • EEE 203 - Energy Conversion I
controllers
• EEE 207 - Electronic Circuits II
adders
EEE 415 – Microprocessor and Embedded Systems • EEE 467* VLSI Circuits and Design
Dr. Sajid Muhaimin Choudhury 9
Department of EEE, BUET
9
2. Continuous Assessment –
• 1 assignment (20) – Mandatory
• 3 Class tests, best 2 counted (20)
3. Final Examination – A comprehensive term final examination will be held at the end of the Term following
the guideline of the Academic Council
Distribution of Marks
Class Attendance – 10%
Continuous Assessment – 20%
Final Examination – 70%
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET
11
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 12
Department of EEE, BUET
12
Textbooks
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 13
Department of EEE, BUET
13
Class/Lecture Schedule
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 14
Department of EEE, BUET
14
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 15
Department of EEE, BUET
15
Public Holidays
• 10 Jun 2023 (Sat) – BUET Admission Test
• 29 Jul 2023 (Wed) – Muharram
• 13 Sep 2023 (Wed) – Akhari Chahar Shamba
• 28 Sep 2023 (Wed) – Eid e Miladunnabi
• We anticipate 5 extra classes needed throughout the
semester.
This Course
• Microprocessor Part:
• Aims to introduce the key concepts and ideas in computer architecture
• Explores the design of modern microprocessors
• Examines important trends and current and future challenges
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 18
Department of EEE, BUET
18
EEE Fundamentals of
Microprocessor and
415 Computer
Architecture
Week 1
Lecture 1.1
Dr. Sajid Muhaimin Choudhury, Assistant Professor
Department of Electrical and Electronics Engineering
Bangladesh University of Engineering and Technology
20
Week Content
• What is computer architecture?
• Computer architecture arena and design goals
• Historical performance of computer architecture
• Future trends with multicore processors,
systems on chip (SoCs), and beyond
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 21
Department of EEE, BUET
21
Introduction
• The modern computer is less than 100 years old.
• The first electromechanical and valve-based
machines were produced in the 1930s and 1940s.
• Today’s machines are many orders of magnitude EDSAC replica (2018)1
faster, lower power, more reliable, and cheaper.
What is architecture?
Architecture is the art and technique of designing and
building, as distinguished from the skills associated with
construction.[3] It is both the process and the product of
sketching, conceiving,[4] planning, designing,
and constructing buildings or other structures.[5]
What is architecture?
How do you build a machine that computes?
Quickly,safely,cheaply,efficiently, in technology X,for applicationY,etc.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 24
Department of EEE, BUET
24
Introduction
• The modern microprocessor is often the engine
behind how we communicate and work.
• It has helped to create our digital world where
communication, computation, and storage is almost
free.
Die photo of Arm Cortex-M3 Microcontroller
• It underpins many scientific breakthroughs and can with 16KB flash memory and 4KB RAM1
help us make better use of the world’s limited
resources
1. By Zeptobars, CC BY 3.0
EEE 415 – Microprocessor and Embedded Systems Dr.
2. By Sajid Muhaimin
Connie Zhou, Choudhury
CC BY-NC 4.0 25
Department of EEE, BUET
25
Orientation
The internet
Motherboard
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 26
Department of EEE, BUET
26
Computer Motherboard
IO System Bus
(PCI)
Memory
Memory
Power Power
Memory Memory
EEE 415 – Microprocessor andArchitecture
Embedded Systemsbegins about here.
Dr. Sajid Muhaimin Choudhury 27
Department of EEE, BUET
27
Microprocessor
EEE 415
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 28
Department of EEE, BUET
28
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 29
Department of EEE, BUET
29
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 30
Department of EEE, BUET
30
Melt in furnace
Ingot formation
Pure Sand
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 31
Department of EEE, BUET Cut and polish
31
Mask Mask
Resist Resist
SiO2
SiO2 SiO2
Silicon Wafer Silicon Wafer
Silicon Wafer Silicon Wafer
Grow silicon dioxide
Apply photo resist Expose to UV
Etch SiO2
SiO2 Met Met
(Or not)
Silicon Wafer Silicon Wafer Silicon Wafer Silicon Wafer
Patterned resist Etch SiO2
Deposit metal
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 32
Department of EEE, BUET
32
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 33
Department of EEE, BUET
33
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 35
Department of EEE, BUET
35
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 36
Department of EEE, BUET
36
Building Blocks:Transistors
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 37
Department of EEE, BUET
37
Building Blocks:Wires
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 38
Department of EEE, BUET
38
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 39
Department of EEE, BUET
39
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 40
Department of EEE, BUET
40
415 Week 1
Lecture 1.2
41
What is architecture?
In this course, we will assume that we have the
building blocks of logic in the lower abstraction
levels.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 42
Department of EEE, BUET
42
Introducing Abstraction
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 43
Department of EEE, BUET
43
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 44
Department of EEE, BUET
44
JVM
Processor Software
Compilers Languages
Architectures Abstraction Engineers/
Applications
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 45
Department of EEE, BUET
45
Levels of Abstraction
• Architecture
• A set of specifications that allows developers to write software and firmware firmware is low
level controller
• These include the instruction set. for device's
• Microarchitecture specific
• The logical organization of the inner structure of the computer hardware
• Hardware or Implementation
• The realization or the physical structure, i.e., logic design and chip packaging
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 46
Department of EEE, BUET
46
• It’s cool!
• Microprocessors are among the most sophisticated devices manufactured
by people
• How they work (and even that they work) as reliably and as quickly as they
do is amazing.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 47
Department of EEE, BUET
47
What is architecture?
In computer engineering, computer architecture is a description of
the structure of a computer system made from component parts.[1]
It can sometimes be a high-level description that ignores details of the
implementation.[2]
At a more detailed level, the description may include the instruction
set architecture design, microarchitecture design, logic design,
and implementation.[3]
1. Dragoni, Nicole (n.d.). "Introduction to peer to peer computing" (PDF). DTU Compute – Department of Applied Mathematics and Computer Science. Lyngby, Denmark.
2.^ Clements, Alan. Principles of Computer Hardware (Fourth ed.).
3.^ Hennessy, John; Patterson, David. Computer Architecture: A Quantitative Approach (Fifth ed.). p. 11.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 48
Department of EEE, BUET
48
Architecture Specifications
• The architecture specifies a contract
between the hardware and software.
• Many different compatible processors
may be implemented, e.g., to meet
different power consumption, cost, area,
and performance goals.
• When a software is written to conform
with an architecture specification, it can
be portable.
IBM System/360
Source of photo: Erik Pitti, CC-BY-2.0
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 49
Department of EEE, BUET
49
Computer Architecture
• Computer architecture is much more than the task of defining the instruction-set
or high-level architecture.
• The computer architect must contribute to, and understand, all levels of design
in order to deliver the most appropriate design for a particular application and
target market.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 50
Department of EEE, BUET
50
Computer Architecture
• Computer architecture is concerned with how best to exploit fabrication
technology to meet marketplace demands.
• e.g., how best might we use five billion transistors and a power budget of two watts to design
the chip at the heart of a mobile phone?
• Computer architecture builds on a few simple concepts, but is challenging as we
must constantly seek new solutions.
• What constitutes the “best” design changes over time and depending on our
use-case. It involves considering many different trade-offs.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 51
Department of EEE, BUET
51
Computer Architecture
• Each level of design imposes different
requirements and constraints, which change
over time. Markets
• History and economics: there is commercial Applications
pressure to evolve in a way that minimizes Operating Systems
disruption and possible costs to the Programming languages and
ecosystem (e.g., software). compilers
• There is also a need to look forward and not Architecture
design for yesterday’s technology and Microarchitecture
workloads! Hardware
• Design decisions should be carefully justified Fabrication Technology
through experimentation.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 52
Department of EEE, BUET
52
Computer
architecture
Application
characteristics
Markets
New
applications
Technology
Source: “Early 21st Century Processors,” S. Vajapeyam and M. Valero, IEEE Computer, April 2004
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 53
Department of EEE, BUET
53
Design Goals
• Functional – hard to correct (unlike software). Verification is perhaps the highest single cost in
the design process. We also need to test our chips once they have been manufactured, again
this can be a costly process and requires careful thought at the design stage
• Performance – what does this mean? No single best answer, e.g., sports car vs. off-road 4x4
vehicle – performance will always depend on the “workload”
• Power – a first-order design constraint for most designs today. Power limits the performance of
most systems.
• Security – e.g., the ability to control access to sensitive data or prevent carefully crafted
malicious inputs from hijacking control of the processor
• Cost – design cost (complexity), die costs (i.e., the size or area of our chip), packaging, etc.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 54
Department of EEE, BUET
54
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 55
Department of EEE, BUET
55
Camera
The Smartphone CORTEX-M Sensor hub
Touchscreen & CORTEX-M Power management
sensor hub
CORTEX-M
CORTEX-A
• A single CORTEX-M
smartphone will Flash controller
Apps processor
contain many CORTEX-M
CORTEX-A
different CORTEX-M
processor cores.
GPS
2G/3G/4G/5G CORTEX-M
• Why not use a CORTEX-A
single CORTEX-R
processor? CORTEX-M Bluetooth
CORTEX-M
Wi-Fi
CORTEX-R
CORTEX-M
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 56
Department of EEE, BUET
56
Architecture
§1.2 Eight Great Ideas in Computer
• Design for Moore’s Law
• Hierarchy of memories
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 58
Department of EEE, BUET
58
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 59
Department of EEE, BUET
59
Components of a Computer
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 60
Department of EEE, BUET
60
Computer board
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 61
DepartmentChapter 1 — Computer Abstractions and Technology — 61
of EEE, BUET
61
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 62
Department of EEE, BUET
62
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 63
Department of EEE, BUET
63
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 64
Department of EEE, BUET
64
In the beginning...
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 66
Department of EEE, BUET
66
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 67
Department of EEE, BUET
67
Representing Programs
• We need some basic building blocks -- call
them “instructions”
Program Execution
• This is the algorithm for a stored-program computer
• The Program Counter (PC) is the key
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 70
Department of EEE, BUET
70
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 71
Department of EEE, BUET
71
• •WeThe“Stack
also need to specify semantics of function calls
Discipline,” “Calling convention,” or“Application
binary interface (ABI)”.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 72
Department of EEE, BUET
72
• More complexity
• More different instruction types are required.
• Increased design and verification costs
• More complex hardware.
• More difficult to use --What’s the right instruction in this context?
• Less complexity
• Programs will require more instructions -- poor code density
• Programs can be more difficult for humans to understand
• In the limit,decremement-and-branch-if-negative is sufficient
• Imagine trying to decipher programs written using just one instruction.
• It takes many,many of these instructions to emulate simple operations
.
• •Today,what matters most is the compiler
The Machine must be able to understand program
• A program must be able to decide which instructions to use
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 73
Department of EEE, BUET
73
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 74
Department of EEE, BUET
74
75
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 76
Department of EEE, BUET
76
Year
A. Danowitz, K. Kelley, J. Mao, J. P. Stevenson, and M. Horowitz.
Clock Frequency, Stanford CPU DB. Accessed on Nov. 5, 2019.
[Online]. Available:
EEE 415 – Microprocessor and Embedded Systems http://cpudb.stanford.edu/visualize/clock_frequency
Dr. Sajid Muhaimin Choudhury 77
Department of EEE, BUET
77
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 78
Department of EEE, BUET
78
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 79
Department of EEE, BUET
79
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 80
Department of EEE, BUET
80
Relative Performance
• Define Performance = 1/Execution Time
• “X is n time faster than Y”
Performanc e X Performanc e Y
Execution time Y Execution time X n
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 82
Department of EEE, BUET
82
CPU Clocking
• Operation of digital hardware governed by a
constant-rate clock
Clock period
Clock (cycles)
Data transfer
and computation
Update state
CPU Time
CPU Time CPU Clock Cycles Clock Cycle Time
CPU Clock Cycles
Clock Rate
• Performance improved by
• Reducing number of clock cycles
• Increasing clock rate means, high frequecy
• Hardware designer must often trade off
clock rate against cycle count
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 84
Department of EEE, BUET
84
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 86
Department of EEE, BUET
86
CPI Example
• Computer A: Cycle Time = 250ps, CPI = 2.0
• Computer B: Cycle Time = 500ps, CPI = 1.2
• Same ISA
• Which is faster, and by how much?
CPU Time Instruction Count CPI Cycle Time
A A A
I 2.0 250ps I 500ps A is faster…
CPU Time Instruction Count CPI Cycle Time
B B B
I 1.2 500ps I 600ps
CPU Time
B I 600ps 1.2
…by this much
CPU Time I 500ps
A
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 87
Department of EEE, BUET
87
Relative frequency
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 88
Department of EEE, BUET
88
CPI Example
• Alternative compiled code sequences using
instructions in classes A, B, C
Class A B C
CPI for class 1 2 3
IC in sequence 1 2 1 2
IC in sequence 2 4 1 1
Sequence 1: IC = 5 Sequence 2: IC = 6
Clock Cycles Clock Cycles
= 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3
= 10 =9
Avg. CPI = 10/5 = 2.0 Avg. CPI = 9/6 = 1.5
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 89
Department of EEE, BUET
89
Performance Summary
The BIG Picture
• Performance depends on
• Algorithm: affects IC, possibly CPI
• Programming language: affects IC, CPI
• Compiler: affects IC, CPI
• Instruction set architecture: affects IC,
CPI, Tc
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 90
Department of EEE, BUET
90
• In CMOS IC technology
Power Capacitive load Voltage 2 Frequency
×30 5V → 1V ×1000
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 91
Department of EEE, BUET
91
Reducing Power
• Suppose a new CPU has
• 85% of capacitive load of old CPU
• 15% voltage and 15% frequency reduction
Pnew Cold 0.85 (Vold 0.85)2 Fold 0.85
2
0.85 4 0.52
Pold Cold Vold Fold
What Is Pipelining?
Engine
Chassis Paint
Time Time
A A
B B
C C
improvements. 0.003
in IPC. 0.0005
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 94
Department of EEE, BUET
94
Year
A. Danowitz, K. Kelley, J. Mao, J. P. Stevenson, and M.
EEE 415 – Microprocessor and Embedded Systems Horowitz. Stanford CPU DB. Accessed on Nov. 5, 2019.
Dr.
[Online]. Available: Sajid Muhaimin Choudhury
http://cpudb.stanford.edu 95
Department of EEE, BUET
95
Moore’s Law
• Moore’s Law predicts that the number of
transistors we can integrate onto a chip, for
the same cost, doubles every 2 years.
Moore’s Law
• Processor transistor budgets grew
quickly as microarchitectures became
more complex.
• 1985 – Intel 386
275K transistors, die size = 43 mm2
• 2002 – Intel Pentium 4
42M transistors, die size = 217 mm2
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 98
Department of EEE, BUET
98
Year
A. Danowitz, K. Kelley, J. Mao, J. P. Stevenson, and M. Horowitz.
Stanford CPU DB. Accessed on Nov. 5, 2019. [Online]. Available:
http://cpudb.stanford.edu
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 99
Department of EEE, BUET
99
Instruction Count
• Increased datapath width (e.g., 16-bit to 32-bit to 64-bit)
• Larger register files (fewer load/store instructions)
• More complex instructions?
• SIMD instructions
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 0
100
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 1
101
Year
Figure source: Original data collected and plotted by M. Horowitz, F. Labonte, O. Shacham, K.
Olukotun, L. Hammond, and C. Batten. Dotted-line extrapolations by C. Moore: Chuck Moore,
2011, “Data processing in exascale-class computer systems,” The Salishan Conference on
High Speed Computing, April 27, 2011.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 2
102
Multicore Processors,
Systems on Chip (SoC), and Beyond
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 3
103
As a result performance gains slowed from 52% to 21% per year for the highest
performance processors.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 4
104
Multicore Processors
• Eventually, it made sense to shift from
single-core to multicore designs.
• From ~2005, multicore designs
became mainstream.
• The number of cores on a single chip
increased over time.
• Clock frequencies increased more
slowly.
• Individual cores were designed to be
as power efficient as possible.
e.g., 4 x Arm Cortex-A72 processors,
each with their own L1 caches and a
shared L2 cache
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 5
105
Multicore Processors
Exploiting multiple cores comes with its own set of challenges and limitations:
• Power consumption may still limit performance.
• We need to write scalable and correct parallel programs to exploit them.
• We might not be able to find enough parallel threads to take advantage of our
cores.
• On-chip and off-chip communication will limit performance gains.
• Off-chip bandwidth is limited and may throttle our many cores.
• Cores also need to communicate to maintain a coherent view of memory.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 6
106
Specialization
• Today, we often need to look beyond general-purpose programmable processors
to meet our design goals.
• We trade flexibility for efficiency.
• We remove the ability to run all programs and design for a narrow workload,
perhaps even a single algorithm.
• These “accelerators” can be 10-1000x better than a general-purpose solution in
terms of power and performance.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 7
107
Specialization
Specialization
What does specialization allow us to do?
• Remove infrequently used parts of the processor.
• Tune the instruction set for common operations or replace with hardwired control
.
• Exploit forms of parallelism abundant in the application(s) – we often see a
specialized processing element and local memory reproduced many times.
• Instantiate specialized memories and tune their widths and sizes.
• Provide specialized interconnect between components.
• Optimize data-use patterns.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 10
Department of EEE, BUET 9
109
Specialization
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET 0
110
Limits to Specialization
• There are costs associated with designing each new accelerator.
• The chip, or “ASIC,” produced may only be competitive in a smaller target
market, reducing profitability.
• Specialization reduces flexibility.
• The logic invested in specialized accelerators is no longer general-purpose.
• Algorithm changes may render specialized hardware obsolete.
• Once we’ve specialized, further gains may be difficult to achieve.
• Specialization isn’t immune to the concept of diminishing returns.
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET 1
111
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET 4
114
130X
High-performance
32-bit core
(e.g., Arm Cortex-M7) High-performance
13X
Used in automotive, processor (e.g., Arm
sensor hub, and other Cortex-A73). For
embedded applications. mobile and consumer
devices.
EEE 415 – Microprocessor and Embedded Systems 520X Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET 5
115
Next Week
• Introduction to Assembly Language Programming
EEE 415 – Microprocessor and Embedded Systems Dr. Sajid Muhaimin Choudhury 11
Department of EEE, BUET 6
116