Mô tả:
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Văn Hưởng
M T S PHƯ NG PH P T I ƯU
TRONG
GI I ĐOẠN PH T TRIỂN PH N
MỀM NHÚNG
LUẬN ÁN TIẾN SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội – 2015
i
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Văn Hưởng
M T S PHƯ NG PH P T I ƯU
TRONG
GI I ĐOẠN PH T TRIỂN PH N
MỀM NHÚNG
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 62 48 01 03
LUẬN ÁN TIẾN SĨ NGÀNH CÔNG NGHỆ
THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS. TS. Nguyễn Ngọc Bình
Hà Nội – 2015
ii
M ĐO N
LỜI
T n t i l Ph m V n H ởng l nghi n u sinh ng nh C ng nghệ th ng tin
huy n ng nh Kỹ thuật phần mềm kh K16 tr ờng Đ i họ C ng nghệ – Đ i họ Quố
gi H Nội Luận n ti n s
l
làm việ nghi m t
ng tr nh nghi n
u
t i liệu th m kh o
tr nh
t i y trong luận n
m k t v hịu tr h nhiệm n u
s
s is t
ri ng t i Luận n l k t qu
tr h ẫn r r ng C
ho ph p s
ng
qu tr nh
ng tr nh kho họ
ng t
gi
T i xin
Hà Nội, ngày 4 tháng 8 năm 2015
Nghi n c u sinh
Phạm Văn Hưởng
iii
LỜI ẢM
N
Tr ớ h t em xin g i lời m ơn sâu sắ tới PGS TS Nguyễn Ngọ B nh
t nh hỉ o v s
hữ s i s t gi p em ho n th nh luận n n y
Xin trân trọng m ơn
Thầy C trong Hội
C ph n iện nhận x t hỉ r những khi m khuy t
tận
ng nh gi luận n v
Thầy
luận n
ho n thiện hơn
Xin trân trọng m ơn
Thầy C tr ờng Đ i họ C ng nghệ - Đ i họ Quố gi
H Nội Phong
h gi ng y v s hỉ o nhiệt t nh
Thầy C
th s em
những ki n th quý u ũng nh những ịnh h ớng ng nghệ tốt
Xin hân th nh
m ơn
nh hị em trong nh m nghi n
u về hệ thống nh ng
v phần mềm nh ng t i tr ờng Đ i họ C ng nghệ - Đ i họ Quố gi H Nội về
ý hữu h v s phối h p nghi n u
g p
.
Hà Nội, ngày 4 tháng 8 năm 2015
Nghi n c u sinh
Phạm Văn Hưởng
iv
MỤ LỤ
BẢNG THUẬT NGỮ .................................................................................................. IV
BẢNG
KÝ HIỆU ............................................................................................... VII
D NH MỤ
BẢNG ............................................................................................. X
D NH MỤ
HÌNH VẼ..................................................................................... XII
MỞ Đ U ......................................................................................................................... 1
HƯ NG 1. TỔNG QU N ........................................................................................... 5
1.1. Tổng quan về tối ưu hệ thống nhúng và phần mềm nhúng ...................................5
1 1 1 Tối u ơn m ti u ........................................................................................... 10
1 1 2 Tối u m ti u ............................................................................................. 11
1 1 3 C gi i o n tối u ........................................................................................... 11
1.2. Hiện trạng và thách th c ....................................................................................... 12
1 2 1 Hiện tr ng v th h th trong gi i o n thi t k ............................................... 12
1 2 2 Hiện tr ng v th h th trong gi i o n lập tr nh .............................................. 14
1 2 3 Hiện tr ng v th h th trong gi i o n th thi ............................................... 16
1.3. Phư ng pháp và nội dung nghi n c u .................................................................. 18
1 3 1 Ph ơng ph p nghi n u .................................................................................... 18
1 3 2 Nội ung nghi n u .......................................................................................... 18
1.4. Tổng
t chư ng .................................................................................................... 19
HƯ NG 2. T I ƯU PH N MỀM NHÚNG TRONG GI I ĐOẠN THIẾT KẾ ... 20
2.1. Tối ưu hiệu năng trong giai đoạn thi t ............................................................. 20
2 1 1 Tối u hiệu n ng
tr n i u
lớp ................................................................ 21
2.1.2. Tối u hiệu n ng
tr n huy n ổi m h nh .................................................. 34
2.2. Tối ưu bộ nhớ trong giai đoạn thi t
................................................................. 40
2 2 1 Tối u ộ nhớ hi m ng
tr n sắp x p t -pô .............................................. 40
2 2 2 Tối u ộ nhớ hi m ng
tr n huy n ổi m h nh .................................... 49
2.3. Tối ưu đa mục ti u dựa tr n biểu đồ lớp .............................................................. 55
2.4. Tổng
t chư ng .................................................................................................... 61
i
HƯ NG 3. T I ƯU PH N MỀM NHÚNG TRONG GI I ĐOẠN LẬP TRÌNH . 64
3.1. Quá trình bi n dịch chéo và các m c tối ưu ......................................................... 65
3.2. Tối ưu mã nguồn m c cao độc lập máy đích ........................................................ 65
3 2 1 Cơ sở lý thuy t về tối u m ngu n m
o...................................................... 65
3 2 2 C i ti n tối u
ộ
tr n th y th i u th t ơng ơng .......................... 70
3 2 3 C i ti n hiệu n ng phần mềm nh ng
tr n n n ữ liệu .................................. 76
3.3. Tối ưu mã hợp ngữ hướng đ n các PU hệ thống nhúng .................................... 79
3 3 1 C ph ơng ph p tối u ơ n
tr n m h p ngữ......................................... 80
3 3 2 Tối u hiệu n ng
tr n lập lị h
lệnh ........................................................ 83
3 3 3 Tối u iện n ng ti u th
tr n lập lị h
lệnh ........................................... 91
3.4. Tổng
t chư ng .................................................................................................... 94
HƯ NG 4. T I ƯU PH N MỀM NHÚNG TRONG GI I ĐOẠN THỰ THI ... 95
4.1. Tối ưu môi trường thực thi .................................................................................... 96
4 1 1 Kỹ thuật i n ị h t m ...................................................................................... 96
4 1 2 Ph ơng ph p tối u
tr n lập lị h ti n tr nh .................................................. 96
4 1 3 Tối u trong thời gi n th thi
tr n huy n iệt h .................................... 97
4 1 4 Tối u iện n ng ti u th
tr n kỹ nghệ ng
v t i ấu h nh CPU ........... 100
4.2. Tối ưu dựa tr n cải ti n môi trường truyền dữ liệu ........................................... 103
4.3. Tối ưu hóa chư ng trình thực thi dựa tr n mã tự sửa ....................................... 104
4.4. Tổng
t chư ng .................................................................................................. 105
KẾT LUẬN ................................................................................................................. 106
D NH MỤ
ÔNG TRÌNH KHO HỌ
Ủ T
GIẢ LIÊN QU N ĐẾN
LUẬN N.................................................................................................................... 110
TÀI LIỆU TH M KHẢO .......................................................................................... 112
PHỤ LỤ . TỔNG H P
HƯ NG TRÌNH THỰ NGHIỆM...................... 119
P.1. ác chư ng trình và công cụ tối ưu .................................................................... 119
P 1 1 Khung l m việ DSL v T4 ............................................................................. 119
P 1 2 Ch ơng tr nh tối u hiệu n ng
tr n nh gi i u
lớp ........................... 125
P 1 3 Ch ơng tr nh tối u m ti u
tr n i u
lớp ...................................... 127
P 1 4 Ch ơng tr nh tối u ộ nhớ
tr n sắp x p t -pô .......................................... 127
P 1 5 Ch ơng tr nh tối u
tr n huy n ổi m h nh ............................................ 129
P 1 6 Ch ơng tr nh phân t h m h p ngữ t m ấu h nh tối u .............................. 131
P 1 7 Ch ơng tr nh lập lị h
lệnh tối u........................................................... 132
ii
P.2. ác chư ng trình sử dụng trong iểm ch ng .................................................... 132
P 2 1 Ch ơng tr nh nhận ng hữ N m tr n Po ketPC ............................................ 133
P 2 2 Ch ơng tr nh nhận ng hữ N m theo ị h v we ........................................ 134
P 2 3 Th p H Nội .................................................................................................... 137
P 2 4 Ch ơng tr nh 8 quân Hậu ................................................................................. 137
P25 C
h ơng tr nh nh ng ho
v Netduino Plus ................... 138
P26 C
h ơng tr nh nh ng ho vi x lý MIPS ..................................................... 143
BẢNG HỈ MỤ ....................................................................................................... 144
iii
BẢNG THUẬT NGỮ
STT
Từ vi t tắt
ụm từ ti ng nh
Mô tả
1
ALU
Arithmetic and Logic Unit
Bộ lôgic v số họ
2
ARM
Advanced RISC Machine
Máy RISC ti n ti n
T n một lo i vi iều khi n
tập o n Atmel,
h i nh thi t k
tiên
theo t n
hip ầu
3
AVR
Alf and Vegard's RISC
4
CFG
Control Flow Graph
5
CISC
6
CPU
Central Processing Unit
Bộ x lý trung tâm
7
CSE
Common Subexpression
Elimination
Lo i ỏ i u th
8
DAG
Directed Acyclic Graph
Đ thị
trình
9
DSL
Domain Specific Language
Ng n ngữ huy n iệt miền
10
DTG
Dependent Task Graph
Đ thị t
11
ES
Embedded Software
Phần mềm nh ng
12
ESD
Embedded Software Design
Thi t k phần mềm nh ng
13
ESMO
Embedded Software Memory
Optimization
Tối u ộ nhớ phần mềm nh ng
14
ESPO
Embedded Software
Tối u hiệu n ng phần mềm
Performance Optimization
nhúng
15
FPU
Floating Point Unit
Đơn vị số ấu phẩy ộng
16
GCC
GNU Compiler Collection
Bộ
tr nh i n ị h m
ngu n mở GNU
17
GNU
GNU's Not Unix
Hệ iều h nh ngu n mở h ớng
t ơng th h với Unix
18
GZIP
GNU Zip
Kỹ thuật n n GNU Zip
19
IEEE
Institute of Electrical and
Electronics Engineers
Viện kỹ thuật iện v
iện t
20
J2ME
Java to Micro Edition
Nền t ng J v
thi t ị
Bi u
Complex Instruction Set
Computer
iv
lu ng iều khi n
M y t nh với tập lệnh ph
t p
on hung
h ớng kh ng hu
v ph thuộ
ho
t nh hất nhỏ gọn
Just In Time
Kỹ thuật i n ị h t m
JVM
Java Virtual Machine
M y oJ v
23
LED
Light Emitting Diode
Điốt ph t qu ng
24
LCD
Liquid Crystal Display
M n h nh tinh th lỏng
25
MEM
Maximum Entropy Model
Mô h nh Entropy
26
MIPS
Microprocessor without
Bộ vi x lý kh ng ần
Interlocked Pipeline Stages
ống lệnh
27
MOO
Multi-objective Optimization
Tối u
28
MSIL
Microsoft Intermediate
Language
Ng n ngữ trung gi n Mi rosoft
29
MSQ
Measures of Software Quality
Độ o hất l
30
OMT
Optimizing Embedded Software
Based on Model Transformation
Tối u phần mềm nh ng
tr n huy n ổi m h nh
31
OOP
Object-Oriented Programming
Lập tr nh h ớng ối t
32
OS
Operating System
Hệ iều h nh
33
OSC
Optimizing Embedded Software
Based on Simulation Code
Tối u phần mềm nh ng
tr n m m phỏng
34
PC
Personal Computer
Máy tính cá nhân
35
PHP
Hypertext Preprocessor
Ng n ngữ lập tr nh we PHP
36
PMO
37
RAM
Random Access Memory
Bộ nhớ truy xuất ngẫu nhi n
38
RISC
Reduced Instruction Set
Computer
M y t nh với tập lệnh r t gọn
39
ROM
Read Only Memory
Bộ nhớ hỉ ọ
40
SDK
Software Development Kit
Bộ ng
mềm
41
SOAP
Simple Object Access Protocol
Gi o th truy xuất ối t
ơn gi n
42
SoC
System on Chip
Hệ thống t h h p tr n một hip
43
SOO
Single Objective Optimization
Tối u ơn m
44
SPE
Software Performance
Engineering
Kỹ nghệ hiệu n ng phần mềm
45
SPO
Software Performance
Tối u hiệu n ng phần mềm
21
JIT
22
Pareto Multi-objective
Optimization
v
Tối u
i
tầng
ng ộ
m
m
ti u
ng phần mềm
ng
ti u P reto
ph t tri n phần
ng
ti u
Optimization
Structured Query Language
Ng n ngữ truy vấn
Text Template Transformation
Bộ
Toolkit
mẫu v n
UML
Unified Modeling Language
Ng n ngữ m h nh h
nhất
XML
eXtensible Markup Language
Ng n ngữ
46
SQL
47
T4
48
49
vi
ng
huy n ổi
ấu tr
tr n
n
thống
nh ấu mở rộng
BẢNG CÁC KÝ HIỆU
Ký hiệu
Mô tả
asj
Bi n t nh th j trong một lớp
aoj
Bi n ối t
pk
Th m số th k trong một ph ơng th
ng th j trong một lớp
Tập
lớp trong một i u
i
Tập
ph ơng th
Vsi
Tập
Mo i
Tập
ph ơng th
Voi
Tập
i n ối t
Pmj
Tập
vr j
Bi n th m hi u
re j
Ki u tr về
C
Ms
t nh trong lớp th i
i n t nh trong lớp th i
ối t
ng trong lớp th i
th m số trong ph ơng th
gọi ph ơng th
ph ơng th
Hệ số ph thuộ
Hệ số ph thuộ
th j
th j
th nh phần t nh
hiệu n ng v o k h th ớ th
hiệu n ng v o
Hệ số ph thuộ
ối t
th j
hiệu n ng v o
Hệ số ph thuộ
th t nh
th
ng trong lớp th i
th nh phần ối t
hiệu n ng v o k h th ớ th
ng
fp
H m
nh gi hiệu n ng
fm
H m
nh gi
ộ nhớ
fe
H m
nh gi
iện n ng ti u th
fc
H m
nh gi
hi ph
f
H mm
ti u to n
f1
H mm
ti u hiệu n ng
f2
H mm
ti u ộ nhớ
S1
Kích th ớc các bi n t nh
S2
Kích th ớc các ph ơng th c t nh
S3
Kích th c th c thi các ph ơng th c t nh
S4
Kích th ớc các bi n ối t
S5
Kích th ớc các ph ơng th c ối t
vii
thi ph ơng
ng
ng
ng
thi ph ơng
S6
Kích th ớc th c thi các ph ơng th c ối t
G
Đ thị t
U
Tập ỉnh trong
thị ph thuộ
V
Tập
nh trong
thị ph thuộ
N
Số t
v
M
K h th ớ
ộ nhớ hi m
Sc
K h th ớ
ộ nhớ h
Se
K h th ớ vùng nhớ he p
ri
Ki u ữ liệu tr về
Ds
K h th ớ
ộ nhớ h
x
Một ấu tr
ữ liệu
ai
Th nh phần ữ liệu th i trong ấu tr
mi
H m th i trong ấu tr
n
Tần số s
Ao
Tổng số th nh phần ữ liệu trong x
Mo
Tổng số h m trong một ấu tr
K
Số ấu tr
t0
Thời gi n
tr trong ộ nhớ
wi
Trọng số
h mm
tu
Thời gi n trung
nh
n n một yte ữ liệu
td
Thời gi n trung
nh
gi i n n một yte
tc
Thời gi n trung
nh
truyền một yte ữ liệu
r
Tỉ lệ n n
T
Tổng thời gi n th
T1
Thời gi n x lý tr n iện tho i
T2
Thời gi n x lý tr n m y h
T3
Thời gi n ữ liệu i tr n
Td
Thời gi n gi m
Ti
Thời gi n t ng l n
Tt
Tổng thời gi n ti t kiệm
NI
Số âu lệnh trong h ơng tr nh
Ns
Số gi i o n trong ki n tr
Ts
Kho ng thời gi n
ng
v ph thuộ
ng
ng
m lệnh
t
ấp ph t ộng khi th
v i
ữ liệu t nh
một th nh phần trong ấu tr
mới
t or
một yte ữ liệu
ti u i
thi
ờng truyền
ờng ống lệnh
một gi i o n trong
viii
ờng ống
thi t
v
ta
Thời gi n th
si
Thời gi n trễ
nd
Số o n trễ
SI k
Nh m lệnh
EI k-1
Tập
SN k
C
hiện một lệnh
âu lệnh th i
một âu lệnh
gi i m trong
lệnh
th
sổ lệnh t i
thi t i
ớ k–1
lệnh ti p theo trong huỗi lệnh
H m
nh gi hiệu n ng
ớ k
n ầu
ịnh ngh
ệ quy t i
ớ k
PCPU
Điện n ng ti u th
CPU
Pd
Điện n ng ti u th
ộng
Ps
Điện n ng ti u th
o o nm h
Pl
Điện n ng l ng ph
Cc
Điện ung
fx
Tần số
Vc
Điện p
Tỉ lệ số ổng l gi th y ổi tr ng th i
E1
N ng l
ng ti u th
h ơng tr nh với ấu h nh ầy
E2
N ng l
ng ti u th
h ơng tr nh với ấu h nh tối u
N ng l
ng ti t kiệm
ng h trong CPU
Nu
Tổng số ơn vị h
n ng trong CPU
Nu1
Tổng số ơn vị h
n ng
ix
s
ng trong CPU
DANH MỤC CÁC BẢNG
Bảng 2.1. C
Bảng 2.2. C
th m số s
ng
nh gi hiệu n ng ................................................... 21
ộ o nh h ởng
n hiệu n ng ............................................................... 22
Bảng 2.3. Thống k
ộ o v gi trị h m
nh gi hiệu n ng .................................... 29
Bảng 2.4. Tổng h p thời gi n th
thi
Bảng 2.5. M i tr ờng th
h ơng tr nh v
thi
h ơng tr nh ........................................... 30
.................................................... 30
Bảng 2.6. Tổng h p th m số ộ o v h m nh gi hiệu n ng h ơng tr nh
Netduino_8digit .............................................................................................................. 33
Bảng 2.7. Tổng h p k t qu tối u v th nghiệm th
t ............................................... 39
Bảng 2.8. Tổng h p k t qu tối u v th nghiệm th
t ............................................... 55
Bảng 2.9. Tổng h p th m số
ộ o v gi trị
Bảng 3.1. Th y th lệnh ph
t p ................................................................................... 67
Bảng 3.2. Di huy n m
h mm
ti u ..................................... 61
tối u .................................................................................. 68
Bảng 3.3. Minh họ
ớ
Bảng 3.4. M i tr ờng th
nghiệm................................................................................. 74
Bảng 3.5. Thời gi n th
h ng minh h i i u th
thi v k h th ớ
Bảng 3.6. M i tr ờng ph t tri n v th
t ơng
ơng ........................... 71
h ơng tr nh ................................................ 75
hiện ng
ng .................................................. 78
Bảng 3.7. Tổng h p thời gi n th
thi phi n
n kh ng n n ........................................... 78
Bảng 3.8. Tổng h p thời gi n th
thi phi n
n n n ữ liệu .......................................... 79
Bảng 3.9. Kỹ thuật ổi t n th nh ghi .............................................................................. 81
Bảng 3.10. Th y th lệnh ph
t p ằng
lệnh ơn gi n............................................. 82
Bảng 3.11. Tổng h p k t qu tối u hiệu n ng
tr n lập lị h ho ki n tr
ờng ống
lệnh ................................................................................................................................ 88
Bảng 3.12. Tổng h p k t qu tối u hiệu n ng
tr n lập lị h ho ki n tr siêu vô
h ớng in-order ............................................................................................................... 89
Bảng 3.13. Tổng h p k t qu tối u hiệu n ng
tr n lập lị h ho ki n tr si u v
h ớng out-of-order ......................................................................................................... 90
x
Bảng 3.14. Đ nh gi
iện n ng ti u th th ng qu Cc khi lập lị h theo G .................... 93
Bảng 3.15. Đ nh gi
iện n ng ti u th th ng qu Cc khi lập lị h theo thuật to n List .... 93
Bảng 4.1. Chuy n iệt h
m ngu n ............................................................................. 98
Bảng 4.2. Tổng h p k t qu tối u iện n ng ti u th
Bảng P.1. C
lớp ngữ ngh v tr
Bảng P.2. Tổng h p
tr n t i ấu h nh CPU ......... 103
qu n h nh trong si u m h nh ............................ 125
h ơng tr nh th nghiệm ho MIPS ....................................... 143
xi
DANH MỤC CÁC HÌNH VẼ
Hình 1: Cấu tr
tổng th
luận n ------------------------------------------------------------ 4
Hình 1.1: Quy tr nh ph t tri n hệ thống nh ng theo ph ơng ph p truyền thống ----------- 6
Hình 1.2: Quy tr nh ph t tri n hệ thống nh ng theo ph ơng ph p
Hình 1.3: Quy tr nh thi t k v xây
ng phần
ng thi t k ----------- 6
ng ------------------------------------------- 7
Hình 1.4: M h nh tối u tổng th trong ph t tri n phần mềm nh ng ----------------------- 8
Hình 1.5: Quy tr nh nghi n
u v tri n kh i trong luận n ---------------------------------- 17
Hình 2.1: Quy tr nh nghi n
u v th
Hình 2.2: Một i u
lớp
nghiệm tối u
tr n i u
lớp -------------- 21
h ơng tr nh Netduino_8digit ------------------------------- 25
Hình 2.3: K t qu t nh
ộ ov h m
nh gi hiệu n ng -------------------------------- 26
Hình 2.4: C
i u
lớp
h ơng tr nh Netduino_8digit-------------------------------- 27
Hình 2.5: C
i u
lớp
h ơng tr nh Netduino_LCD --------------------------------- 28
Hình 2.6: C
i u
lớp
h ơng tr nh Netduino_SerialPort -------------------------- 28
Hình 2.7: Bi u
so s nh h m hiệu n ng tr n h i i u
Hình 2.8: Bi u
so s nh thời gi n th
Hình 2.9: Tập
i u
lớp
thi th
lớp ------------------------------ 29
t ------------------------------------------- 30
h ơng tr nh Netduino_8digit --------------------------- 32
Hình 2.10: K t qu tối u hiệu n ng
tr n i u
lớp ------------------------------------ 33
Hình 2.11: Quy tr nh nghi n u v th nghiệm tối u hiệu n ng
tr n huy n ổi
mô hình ----------------------------------------------------------------------------------------------- 34
Hình 2.12: M h nh
n ầu ---------------------------------------------------------------------- 37
Hình 2.13: M h nh tối u ------------------------------------------------------------------------ 37
Hình 2.14: Đặ t
ng v n
Hình 2.15: Minh họ
Hình 2.16: L
ặ t
n
sinh t
n ầu v
họn ph p huy n ổi v
Hình 2.17: Quy tr nh nghi n
ộng từ m h nh------------------------------ 37
ặ t tối u ------------------------------------------ 38
i u
so s nh hiệu n ng ----------------------- 38
u ph ơng ph p tối u ộ nhớ
xii
tr n sắp x p t -pô ---- 40
Hình 2.18: Cấu tr
một h ơng tr nh C/C++ -------------------------------------------------- 41
Hình 2.19: Tổ h
ộ nhớ khi th
hiện h ơng trình --------------------------------------- 43
Hình 2.20: Cấp ph t v gi i ph ng vùng nhớ ng n x p khi th
Hình 2.21: Đ thị ph thuộ m - un nhận
Hình 2.22: Đặ t
ng v n
n
thi h m ------------------ 43
ng hữ N m ----------------------------------- 46
thị ph thuộ ----------------------------------------- 46
Hình 2.23: Minh họ một phần tập
huỗi t -pô ------------------------------------------- 47
Hình 2.24: C
ng ộ nhỏ hi m
huỗi t -p
Hình 2.25: Bi u
Hình 2.26: M
hi m
hi m
ung l
ng ộ nhớ theo
ng ộ nhớ th
ng nhỏ nhất ------------------ 47
huỗi t -pô -------------------------------- 47
t ---------------------------------------------------- 48
Hình 2.27: Quy tr nh nghi n u v th nghiệm ph ơng ph p tối u ộ nhớ hi m ng
tr n huy n ổi m h nh ---------------------------------------------------------------------- 49
Hình 2.28: M h nh ữ liệu
n ầu ------------------------------------------------------------- 53
Hình 2.29: Minh họ
ng v n
ặ t
n
m h nh
Hình 2.30: Phân t h m h nh v t nh gi trị h m
Hình 2.31: L
nh gi
họn ph p i n ổi v so s nh m
Hình 2.32: M h nh tối u ộ nhớ hi m
Hình 2.33: Quy tr nh tối u
m
n ầu ---------------------------- 53
ộ nhớ -------------------------- 54
hi m
ng ộ nhớ ------------------- 54
ng ------------------------------------------------ 54
ti u
tr n i u
lớp ------------------------------- 56
Hình 2.34: M h nh ấp ph t truy xuất ộ nhớ trong qu tr nh th thi h ơng tr nh
h ớng ối t ng ------------------------------------------------------------------------------------- 58
Hình 2.35: Một i u
Hình 2.36: Đặ t
lớp
ng v n
h ơng tr nh -------------------------------------------------- 59
n
i u
lớp ----------------------------------------------- 59
Hình 2.37: K t qu phân t h th m số v t nh gi trị
Hình 2.38: Bi u
h mm
ti u -------------------- 60
thống k k t qu tối u P reto -------------------------------------------- 61
Hình 3.1: Qu tr nh i n ị h h o v
m
tối u ---------------------------------------- 66
Hình 3.2: Đ thị lu ng iều khi n --------------------------------------------------------------- 69
Hình 3.3: Quy tr nh tối u
Hình 3.4: Khối ơ
tr n i u th
t ơng
ơng ---------------------------------- 70
n v D G t ơng ng ----------------------------------------------------- 72
xiii
Hình 3.5: Minh họ x lý lo i ỏ i u th
on chung --------------------------------------- 73
Hình 3.6: M sinh r từ D G kh ng h
m
Hình 3.7: M h nh th
i u th
nghiệm th y th
Hình 3.8: Bi n ị h v l
t ơng
ơng --------------------------- 74
họn tối u với GCC ---------------------------------------------- 75
Hình 3.9: So s nh thời gi n th
Hình 3.10: Quy tr nh nghi n
Hình 3.11: M h nh
h t -------------------------------------------- 73
thi
phi n
n h ơng tr nh ----------------------- 75
u tri n kh i tối u
tr n n n ữ liệu ------------------- 76
i ti n hiệu n ng
Hình 3.12: So s nh thời gi n th
v o n n ữ liệu ---------------------------------- 77
thi khi n n v kh ng n n ữ liệu ------------------------ 79
Hình 3.13: Quy tr nh tối u hiệu n ng
tr n lập lị h
Hình 3.14: Minh họ thời gi n trễ trong ki n tr
Hình 3.15: Ki u ph thuộ ghi
lệnh---------------------------- 83
ờng ống lệnh ------------------------- 84
ọ --------------------------------------------------------- 85
Hình 3.16: Ki u ph thuộ ghi sau ghi ---------------------------------------------------------- 85
Hình 3.18: Minh họ th
Hình 3.17: Ho t ộng
hiện lệnh trong ki n tr
n trong CPU
ki n tr
si u v h ớng ------------------------- 85
si u v h ớng -------------------------- 86
Hình 3.19: Bi u iễn một nhiễm sắ th trong G -------------------------------------------- 87
Hình 3.20: Bi u
nh gi m
i ti n hiệu n ng
tr n lập lị h
lệnh ho ki n
tr
ờng ống lệnh -------------------------------------------------------------------------------- 89
Hình 3.21: Bi u
nh gi m
i ti n hiệu n ng
tr n lập lị h
lệnh ho ki n
tr si u v h ớng in-order------------------------------------------------------------------------ 90
Hình 3.22: Bi u
nh gi m
i ti n hiệu n ng
tr n lập lị h
lệnh ho ki n
tr si u v h ớng out-of-order ------------------------------------------------------------------- 91
Hình 3.23: Quy tr nh tối u iện n ng ti u th
tr n lập lị h
lệnh ------------------ 91
Hình 3.24: Bi u
so s nh m
ộ ti t kiệm iện n ng ti u th
tr n lập lị h
lệnh
theo thuật to n G v List ------------------------------------------------------------------------- 93
Hình 4.1: So s nh giữ tối u t nh v tối u ộng m ngu n
huy n iệt h
--------- 98
Hình 4.2: Quy tr nh nghi n u v th nghiệm tối u n ng l ng
tr n ấu h nh CPU
--------------------------------------------------------------------------------------------------------- 99
Hình 4.3: Th
hiện Sim-Wattch
m phỏng ti u th n ng l
xiv
ng ---------------------- 102
Hình 4.4: Một phần k t qu ti u th
Hình 4.5: Bi u
nh gi m
iện n ng----------------------------------------------- 102
iện n ng ti t kiệm từ ấu h nh tối u ------------------ 103
Hình P.1: Một phần si u m h nh ho DSL thi t k
thị t
v ph thuộ ------------ 121
Hình P.2: V n ph m XML m t si u m h nh ---------------------------------------------- 122
Hình P.3: Thi t k
thị t
Hình P.4: Mẫu T4 sinh m
v ph thuộ trong khung l m việ ------------------------- 122
ặ t
thị ph thuộ ------------------------------------------ 123
Hình P.5: Thi t k si u m h nh ho DSL ặ t m h nh ữ liệu trừu t
Hình P.6: S
ng khung l m việ
thi t k m h nh ữ liệu trừu t
Hình P.7: Minh họ mẫu T4 lấy ặ t từ i u
Hình P.8: Gi o iện h ơng tr nh tối u
ng ----------- 124
ng -------------- 124
lớp -------------------------------------- 125
tr n
nh gi m h nh---------------------- 126
Hình P.9: Minh họ m ngu n h ơng tr nh tối u hiệu n ng ----------------------------- 126
Hình P.10: Ch ơng tr nh tối u
m
Hình P.11: Ch ơng tr nh tối u m
ti u P reto
hi m
tr n
ng ộ nhớ
Hình P.12: Mã ngu n h nh h ơng tr nh tối u ộ nhớ
Hình P.13: Gi o iện h ơng tr nh tối u
nh gi m h nh --------- 127
tr n sắp x p t -pô------- 128
tr n sắp x p t -pô -------- 129
tr n huy n ổi m h nh ----------------- 130
Hình P.14: M ngu n phân t h m h nh ----------------------------------------------------- 131
Hình P.15: Ch ơng tr nh phân t h v t o ấu h nh tối u --------------------------------- 131
Hình P.16: Gi o iện h ơng tr nh lập lị h--------------------------------------------------- 132
Hình P.17: Ch ơng tr nh nhận
Hình P.18: M h nh
ng hữ N m ----------------------------------------------- 133
i ti n hiệu n ng Nhận
Hình P.20: Giao iện m - un nhận
ng hữ N m phân t n ------------------- 134
ng hữ N m tr n iện tho i i ộng ------------- 135
Hình P.21: M ngu n ị h v we ------------------------------------------------------------ 135
Hình P.19: C i ti n hiệu n ng nhận
ng hữ N m phân t n tr n iện tho i i ộng -- 136
Hình P.22: M ngu n x lý tr n iện tho i i ộng ----------------------------------------- 136
Hình P.23: Gi o iện h ơng tr nh th p H Nội --------------------------------------------- 137
Hình P.24: Gi o iện h ơng tr nh 8 quân Hậu ---------------------------------------------- 138
xv
Hình P.25: Hệ thống nh ng iều khi n
n LED 8 số -------------------------------------- 139
Hình P.26: Một phần m ngu n h ơng tr nh Netduino_8digit --------------------------- 139
Hình P.27: Hệ nh ng hi n thị m n h nh với
v m n h nh
HD44780U ----------------------------------------------------------------------------------------- 140
Hình P.28: Sơ
k t nối
với m n h nh HD44780U ----------- 140
Hình P.29: Một phần m ngu n h ơng tr nh Netduino_LCD----------------------------- 141
Hình P.30: Sơ
gh p nối
iều khi n iốt ---------------------------- 142
Hình P.31: Một phần m ngu n h ơng tr nh Netduino_SerialPort ---------------------- 142
xvi
- Xem thêm -