Professional Documents
Culture Documents
Introduction
Introduction
Introduction
Muhammad Tahir
Lecture 1-2
Contents
2 Architecture Classification
Computer Architecture Trends
2/36
Instruction Set Architecture Architecture Classification System Software and Tools
3/36
Instruction Set Architecture Architecture Classification System Software and Tools
Application Programs
Software Design
OS + Device Drivers
ISA
(Instruction Set
Architecture)
uA
Software Hardware (datapath + control)
Interface RTL
(digital-design)
Hardware Design
Transistor
(circuit-design)
Layout
(fabrication)
4/36
Instruction Set Architecture Architecture Classification System Software and Tools
ISA Design
5/36
Instruction Set Architecture Architecture Classification System Software and Tools
6/36
Instruction Set Architecture Architecture Classification System Software and Tools
ISA Attributes
7/36
Instruction Set Architecture Architecture Classification System Software and Tools
8/36
Instruction Set Architecture Architecture Classification System Software and Tools
8/36
Instruction Set Architecture Architecture Classification System Software and Tools
8/36
Instruction Set Architecture Architecture Classification System Software and Tools
9/36
Instruction Set Architecture Architecture Classification System Software and Tools
time
Execution Time = N × CPI ×
cycle
where,
N ∼ instruction count
cycles
CPI ∼
instruction
10/36
Instruction Set Architecture Architecture Classification System Software and Tools
X time
Execution Time = (Ni × CPIi ) ×
cycle
i
where,
11/36
Instruction Set Architecture Architecture Classification System Software and Tools
12/36
Instruction Set Architecture Architecture Classification System Software and Tools
Amdahl’s Law
To = To (1 − p) + pTo
13/36
Instruction Set Architecture Architecture Classification System Software and Tools
Amdahl’s Law
To = To (1 − p) + pTo
p
Tn = To (1 − p) + To
s
13/36
Instruction Set Architecture Architecture Classification System Software and Tools
To
Speedup =
Tn
1
= p
(1 − p) + s
14/36
Instruction Set Architecture Architecture Classification System Software and Tools
To
Speedup =
Tn
1
= p
(1 − p) + s
14/36
Instruction Set Architecture Architecture Classification System Software and Tools
To
Speedup =
Tn
1
= p
(1 − p) + s
14/36
Instruction Set Architecture Architecture Classification System Software and Tools
15/36
Instruction Set Architecture Architecture Classification System Software and Tools
16/36
Instruction Set Architecture Architecture Classification System Software and Tools
16/36
Instruction Set Architecture Architecture Classification System Software and Tools
17/36
Instruction Set Architecture Architecture Classification System Software and Tools
18/36
Instruction Set Architecture Architecture Classification System Software and Tools
19/36
Instruction Set Architecture Architecture Classification System Software and Tools
ISA Classification
20/36
Instruction Set Architecture Architecture Classification System Software and Tools
21/36
Instruction Set Architecture Architecture Classification System Software and Tools
22/36
Instruction Set Architecture Complex Instruction
Architecture Classification von Ne
System Software and Tools
32-bit Set Compuetr Archite
CISC vs RISC
RISC CISC
Architecture Architecture
23/36
Instruction Set Architecture Architecture Classification System Software and Tools
CISC Features
24/36
Instruction Set Architecture Architecture Classification System Software and Tools
RISC Features
• Simplified instructions used by the architecture
• Each complex operation is broken into multiple simplified
operations e.g., load and store instructions are provided for
memory read and write operations. Other instructions cannot
access memory directly.
• RISC computer requires a relatively larger number of
simplified instructions and results in low code density
• An associated advantage is fewer memory addressing modes
resulting in reduced complexity
• The simplicity in the hardware architecture in RISC is
complemented by the increased complexity in the generation
of assembly code by the tools (compiler)
25/36
Instruction Set Architecture Architecture Classification System Software and Tools
Instruction Encoding
(Source: Appendix A,
[Patterson and Hennessy, 2019])
26/36
Instruction Set Architecture Architecture Classification System Software and Tools
27/36
Instruction Set Architecture Architecture Classification System Software and Tools
28/36
Instruction Set Architecture Architecture Classification System Software and Tools
Heterogeneous System-on-Chip
29/36
Instruction Set Architecture Architecture Classification System Software and Tools
Software System
User User
Application 1 Application k
System
Operating System (OS) Core
Libraries
Hardware
30/36
Instruction Set Architecture Architecture Classification System Software and Tools
Compilation Process
Source code
(High level)
Compiler
Assembler Assembler
31/36
Instruction Set Architecture Architecture Classification System Software and Tools
Symbol Table
Target
Code Optimizer Code Generator Machine
Code
32/36
Instruction Set Architecture Architecture Classification System Software and Tools
Linking Process
Source code Source code
(High level) (High level)
Compiler Compiler
Machine/ Machine/
object code object code
Executable
List file MAP file
33/36
Instruction Set Architecture Architecture Classification System Software and Tools
Suggested Reading
34/36
Instruction Set Architecture Architecture Classification System Software and Tools
Acknowledgment
35/36
Instruction Set Architecture Architecture Classification System Software and Tools
References
Flynn, M. J. (1972).
Some computer organizations and their effectiveness.
IEEE transactions on computers, 100(9):948–960.
36/36