Professional Documents
Culture Documents
Ενσωματωμένα
Συστήματα
Ο αθέατος ψηφιακός κόσμος
Μηνάς Δασυγένης
Δημήτριος Σούντρης
,
2015
Έ
:
:
ISBN: 978-960-603-390-2
CΠΡyΤΚΘΙΦ , 2015
CΤΖΒΦΚΨΖ CΠΞΞΠΟΥ -
-Ό 3.0.
ΙtΡΥ://ΔΤΖΒΦΚΨΖΔΠΞΞΠΟΥ.ΠΤΘ/ΝΚΔΖΟΥΖΥ/Γy-ΟΔ-ΟΕ/3.0/ΘΤ/
9, 15780
ΩΩΩ.ΜΒΝΝΚΡΠΥ.ΘΤ
,
, -
,
. , -
, , , -
.
,
.
,
http://arch.icte.uowm.gr/mdasyg/book/embedded, -
, .
,
⁸yΠΧΦΧΓΖ⁹ -
, https://www.youtube.com/playlist?
list=PLl2orJCvV3b4vwBe-6rJrcrcmQAVHoa3f, ,
, -
OΡΖΟΔΠΧΤΥΖΥ
http://arch.icte.uowm.gr/courses/embedded/. O -
, -
OΡΖΟΔΠΧΤΥΖΥ 2500 -
.
-
,
. , -
, ,
, -
,
. , ,
, ,
.
, μ -
ό ⁸ . . . . .,
. . . . . . .⁹,
.
,
, , ,
, -
-
.
3
,
, -
,
.
-
,
http://arch.icte.uowm.gr/courses/embedded/
https://www.youtube.com/playlist?
list=PLl2orJCvV3b4vwBe-6rJrcrcmQAVHoa3f.
, -
:
: :
• ,
• ,
• ,
• ,
• -
,
• ,
• ,
• .
: :
• ,
,
• FPGA, -
.
⁸ ⁹:
4
•
,
• ARM TI,
• VHDL -
,
• FPGA ,
• ΥΠt-ΔΠΤΖΥ,
• DTSE,
,
• ⁸IP ΔΠΤΖΥ⁹,
• C
VHDL.
5
6
ύ α
ζι
ε ζλ
1.1 . . . . . . . . . . . . . . 27
1.1.1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.1.2 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1.3 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.4 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.1.5 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.2 . . . . . . . . . 35
1.3 . 37
1.4 . . . . . . . . 39
1.5 . . . . 42
1.5.1 . . . . . . . . . . . . . 42
1.5.2 . . . . . . . . . . 45
1.5.3 . . . . . . . . . . . . . . . . . 48
1.6 . . . . . . . . . . . . . . . . . . . . . . . . 50
1.7 . . . . . . . . . . 52
1.8 ⁶ . . . . . . . . . . . . . . . . . . 53
1.9 . . . . . . . . . . . . . . . . . . . 56
ζ ιν
2.1 . . . . . . . . . . . . . . . . . 60
2.2 NRE . . . . . . . . . . . . 63
2.3 . . . . . . . . . . . . . . . . . . 64
2.4 4 . . . . . . . . . . . . . . . . . . 68
2.5 . . . . . . . . . . . . . . . . . . . . . 69
2.6 . . . . . . . . . . . . . . . . . . . . . . 70
2.7 . . . . . . . . . . . . . . . . . . . . 72
7
η λη
3.1 . . . . . . . . . . . . . 73
3.2 . . . . . . . . . . 74
3.2.1 - RΒΟΕΠΞ AΔΔΖΥΥ
MΖΞΠΤy, RAM . . . . . . . . . . . . . . . . . . . . . . . 76
3.2.2 –ROM . . . . . . . . . . . . 79
3.2.3 EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ MΖΞΠΤy . . . . . . . . . . . . . 81
3.2.4 EΝΖΔΦΤΚΔΒΝΝy EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ MΖΞΠΤy - EEPROM 82
3.2.5 FLASH . . . . . . . . . . . . . . . . . . . . . . . 82
3.2.6 ByΦΖ . . . . . . . . . . . . . . 83
3.2.7 . . . . . . . . . . . . . . . . . 87
3.2.8 . . . . . . . . . . . . . . . . . . . . . . . . 91
3.2.9 . . . . . . . . 99
3.2.10 . . . . . . . . . . 99
3.2.11 . . . . . . . . . . . . . . . . . . . . . . 101
3.2.12 . . . . . . . . . . . . . . 101
3.2.13 ΠΟ-ΔΙΚΡ . . . . . . . . . . . . . . . . . . . . . . . 103
3.2.14 . . . . . . . . . . . . . . . . . . . . . 106
3.2.15 . . . . . . . . . . . . . . . . . . 108
3.2.16 . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.3 . . . . . . . . . . . . . . . . . . . . . 111
3.4 . . . . . . . . . 111
3.4.1 . . . . . . . . . . . . . . . . . . . . . . 114
3.4.2 . . . . . . . . . . . . . . . . . . . . . . . . 116
3.5 - . . . . . . . 122
3.5.1 -
. . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.5.2
. . . . . . . . . . . . . . . . . . . . . . . . . 128
3.5.3 -
. . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.5.4 . . . 133
3.5.5 . . . 134
3.6 . . . . . . . . . . . . . . . . . . . . 141
θ εθη
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.2 . . . . . . . . . . . . . . . . . . . . . . . 144
4.3 . . . . . . . . . . . . . . . . . . . . . . 149
4.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8
4.5 . . . . . . . . . . . . . . 154
4.6 . . . . . . . . . . . . . . . . . 155
4.7 . . . . . . . . . . . . . . . . . 157
4.8 . . . . . 157
4.8.1 ASIC - . . . . . . . . . . . . . . . . . 160
4.8.2 ASIC . . . . . . . . . . . . . . . . 164
4.8.3
⁸FPGA⁹ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.9 PLD FPGA . . . . . . . . . . . 166
4.9.1 FPGA . . . . . . . . . . . . . . . 168
4.9.2 . . . . . . . . . . 170
4.9.3 . . . . . . . . . . . . . . . . 173
4.9.4 / . . . . . . . . . . . . . 177
4.9.5 . . . . . . . . . . . . . . 178
4.9.6 . . . . . . . . . . . . . . . . . . 181
4.10 -SΠC . . . . . . . . . 183
4.10.1 SOC . . . . . . . . . . . . . . . 187
4.10.2 SOC . . . . . . . . . . . . . . . 190
4.10.3 . . . . . . . . . 191
4.10.4 . . . . . . . . . . . . . . . . . . . . 192
4.10.5 CΙΚΡ . . . . . . . . . . . . . . . . . 195
4.11 . . . . . . . . . . . . . . . . . . . . 197
ι γΈ ενν
5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.2 . . . . . . . . . . . . . . . . . . . . . . . . . 207
5.3 . . . . . . . . . . 211
5.4 . . . . . . . . . . . . . . . . . . . . . . . . . 218
ύύ α
ζζε
κ α
ζζη
6.1 . . . . . . . . . . . . 224
6.1.1 : 3D . . . . 224
6.1.2 . . . . . . . . . . . . . 228
6.2 . . . . . . . . . . . . . . . . . 230
6.2.1 232
6.2.2 . . . . . . . . . . . . . . 237
9
6.3 . . . . . . . . . . . . . 240
6.3.1 . . . . . . . . . . . . . . . . . . . . . 241
6.3.2 -
. . . . . . . . . . . . . . . . . . . . . . . . . . 244
6.3.3 . . . . . . . . . . . 245
6.3.4 . . . . . . . . . 246
6.3.5 . . . 248
6.3.6 -
. . . . . . . . . . . . . . . . . . . . . . 249
6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
λ ζιε
7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.2 . . . . . . . . . . . . . . 252
7.2.1 . 254
7.3 . . . . . . . . . . . . . . . . . . . . . 259
7.3.1 260
7.3.2 266
7.4 - . . . . . . . . 270
7.4.1 . . . . . . . . . . . . . . . . . . 271
7.4.2 . . . . . . . . . . . 273
7.4.3 . . . . . . . . . . . . . . . 274
7.4.4 -DDTR . . . . 276
7.4.5 -DMMR . . . . 279
7.4.6 ΓΝΠΔΜ . . 296
7.5 . . . . . . . . . . . . . . . . . . 301
7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
μ
ηδι
8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 307
8.2
309
8.2.1
. . . . . . . . . . . . . . . . . . . . 309
8.2.2 . . 312
8.2.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
8.3 -
. . . . 317
10
8.3.1
. . . . . . . . . . . . . . . . . . . 318
8.3.2 -
-
. . . . . . . . . . . . . . . . . . 319
8.3.3 -
-
. . . . . . . . . . . . . . . . . . . . . . . . . 320
8.4
. . . . . . . . . . . . . . . . . . . . . . . . 324
8.5 . . 325
8.5.1 -
. . . . . . . . . . . . . . . . . . . . . . 326
8.5.2
. . . . . . . . . . . . 330
8.5.3 -
. . . . . . . . . . . . . . . . . . . . . . 334
8.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
υ ηθη
A.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
A.2 . . . . . . . . . . . . 343
A.2.1 . . . . . . . . 343
A.2.2 . . . . . . . . . . . . . . . . . . 343
A.2.3 -
. . . 344
A.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
A.3.1 . . . . . . . . . . . . . . . . . 351
A.3.2 . . . . . . . . . . . . . . . . . . . . 356
A.3.3 . . . . . . . . . . . . . . . . . . . . 380
υppendices ηθη
φ α μbit ημη
B.1 ARDUINO . . . . . . . . . . . . . . 383
B.2 . . . . . . . . . . . . . . . . . . . . . . . . 393
B.3 1 . . . . . . . . . . . . . . . . . . . . . . 395
B.3.1 -
AΤΕΧΚΟΠ . . . . . . . . . . . . . . . . . . . . 395
B.3.2 CIRC-01 . . . . . . 400
B.3.3 CIRC-01 . . . . . . 400
11
B.4 2 . . . . . . . . . . . . . . . . . . . . . . 402
B.4.1 -
AΤΕΧΚΟΠ . . . . . . . . . . . . . . . . . . . . 404
B.5 CIRC-02 . . . . . . . . . . . 404
B.5.1 CIRC-02 . . . . . . 408
B.6 3 . . . . . . . . . . . . . . . . . . . . . 408
B.7 CIRC-03 . . . . . . . . . . . 409
B.8 CIRC-03 . . . . . . . . . . . 412
B.9 4 . . . . . . . . . . . . . . . . . . . . . 413
B.10 CIRC-04 . . . . . . . . . . . 415
B.11 CIRC-04 . . . . . . . . . . . 415
B.11.1 . . . . . . . . . . . . . . . . . 416
B.12 5 . . . . . . . . . . . . . . . . . . . . . 416
B.13 CIRC-05 . . . . . . . . . . . 417
B.14 CIRC-05 . . . . . . . . . . . 420
B.15 6 . . . . . . . . . . . . . . . . . . . . . 421
B.16 CIRC-06 . . . . . . . . . . . 421
B.17 CIRC-06 . . . . . . . . . . . 424
B.18 7 . . . . . . . . . . . . . . . . . . . . . 424
B.19 CIRC-07 . . . . . . . . . . . 425
B.20 CIRC-07 . . . . . . . . . . . 427
B.21 8 . . . . . . . . . . . . . . . . . . . . . 428
B.22 CIRC-08 . . . . . . . . . . . 430
B.23 CIRC-04 . . . . . . . . . . . 431
B.24 9 . . . . . . . . . . . . . . . . . . . . . 432
B.25 CIRC-09 . . . . . . . . . . . 432
B.26 CIRC-09 . . . . . . . . . . . 435
B.27 10 . . . . . . . . . . . . . . . . . . . . . 435
B.28 CIRC-03 . . . . . . . . . . . 436
B.29 CIRC-10 . . . . . . . . . . . 438
B.30 11 . . . . . . . . . . . . . . . . . . . . . 439
B.31 CIRC-11 . . . . . . . . . . . 441
B.32 CIRC-11 . . . . . . . . . . . 442
B.33 12 . . . . . . . . . . . . . . . . . . . . . 442
B.34 CIRC-03 . . . . . . . . . . . 444
B.35 CIRC-12 . . . . . . . . . . . 445
B.36 13 . . . . . . . . . . . . . . . . . . . . . 447
B.37 CIRC-13 . . . . . . . . . . . 448
B.38 CIRC-13 . . . . . . . . . . . 450
B.39 14 . . . . . . . . . . . . . . . . . . . . . 451
B.40 CIRC-14 . . . . . . . . . . . 453
12
B.41 CIRC-14 . . . . . . . . . . . 454
B.42 15 . . . . . . . . . . . . . . . . . . . . . 456
B.42.1 AΤΕΧΚΟΠ ΓΤΖΒΕΓΠΒΤΕ . . . . . . . . . . . . . 457
B.42.2 ΓΖΖΡΖΤ . . . . . . . . . . . . . . . . . . . . 457
B.42.3 ΧΝΦΤΒΥΠΟΚΔ ΞΠΕΧΝΖ . . . . . . . . . . . . . . 458
ψ θνλ
ω Ό ιδι
13
14
1.1 CΠΝΠΥΥΧΥ CΠΞΡΧΦΖΤ . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2 EΟΚΘΞΒ MΒΔΙΚΟΖ . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3 EΟΚΒΔ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4 MΒΟΔΙΖΥΦΖΤ TΤΒΟΥΚΥΦΠΤ . . . . . . . . . . . . . . . . . . . . . . . 31
1.5 PDP-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6 IBM S/360 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.7 AΡΠΝΝΠ GΧΚΕΒΟΔΖ CΠΞΡΧΦΖΤ . . . . . . . . . . . . . . . . . . . . . 35
1.8 . . . . . . . . . . . . . . . . . . . . . 36
1.9 . . . . 37
1.10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.11 -
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.12
. . . . . . . . . . . . 47
1.13 . . . . . . . . . . . . . . . . . 52
2.1 . . . . . . . . . . 61
2.2
.. . . . . . . . . . . . . . . . . 62
2.3 . . . 63
2.4 MΖΟΦΠΤ VΚΥΦΒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.1 . . . . . . . . . . . . . .
. . . . . 77
3.2 ES GΖΔΜΠ100 . . . . . . . . . . . . . . . . . . . . . .
. . . . . 78
3.3 DRAM . . . . . . .
. . . . . 78
3.4 . . . . . . . . . . . . . . . . . . . . . .
. . . . . 80
3.5 BΚΘ ΖΟΕΚΒΟ LΚtΝΖ EΟΕΚΒΟ. .
. . . . . 85
3.6 . . . . 89
3.7 A: . . . . . . . . 90
15
3.8 B: ΕΧΞΞy ByΦΖΥ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.9 . . . . . . . . . 94
3.10 -
ByΦΖ . . . . . . . . . . . . . . . . . . . . . . . . 95
3.11 . . . . . . . 96
3.12
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.13 . . . . . 105
3.14 . . . . . . . . . 106
3.15 OΡΔΠΕΖΥ . . . . . . . . . . . . . . . . . . 113
3.16 . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.17 . . . . . . . . . . . . . . . . . . . . . . 117
3.18 . . . . . . . . . . . . . . 118
3.19 . . . . . . . . . . . . . . . . . . . . 119
3.20 MIPS . . . . . . . . . . . . . . . . . . . . . . . . 120
3.21 . . . . . . . . . . . . . . . . . . . . 123
3.22 GΠΤΕΠΟ MΠΠΤΖ . . . . . . . . . . . . . . . . . . . . 125
3.23 MΠΠΤΖ . . . . . . . . . 126
3.24 . . . 127
3.25
. . 128
3.26 MΠΠΤΖ . . . . . . . 130
3.27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3.28 ARM SDT . . . . . . . . . . . . . . . . . . . 139
3.29 TI CΠΕΖ CΠΞΡΠΥΖΤ SΦΧΕΚΠ . . . . . . . . . . 141
4.1 7400 . . . .
. . . . . . . . . . . . . . .. . . . . . . . . . 145
4.2 SIL . .
. . . . . . . . . . . . . . .. . . . . . . . . . 148
4.3 QIP . .
. . . . . . . . . . . . . . .. . . . . . . . . . 148
4.4 DIP . .
. . . . . . . . . . . . . . .. . . . . . . . . . 149
4.5 DIP . . . . . . . . . . .. . . . . . . . . . 149
4.6 PGA . . . . . . . . . . . . . . . .. . . . . . . . . . 150
4.7 BGA . . . . . . . . . . . . . . . .. . . . . . . . . . 150
4.8 , . . . . . . . . . 153
4.9 -
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.10 CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 160
4.11 ASIC . . . . . . . . . . . . . . . 161
16
4.12 :
ΔΙΒΟΟΖΝΖΕ ΔΙΒΟΟΖΝΝΖΥΥ. . . . . . . . . . . . . . . . . . . . . . 162
4.13 . . . . . . . . . . . . . . . . . . 163
4.14 FPGA. . . . . . . . . . . . . . . . . . . . 169
4.15 FPGA ,
. . . . . . . . . . . . . . . . . . . . . . . . 171
4.16
FPGA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4.17 FPGA . . . . . . . . . . . . . . . . . . . . . . . 174
4.18 FPGA . . . . . . . . . . . . . . . . 175
4.19 FPGA .. . . . . . . . . . . 176
4.20 FPGA,
. . . . . . . . . . . . . . . . . . . . 177
4.21 FPGA. . . . . . . . . 178
4.22 AΝΦΖΤΒ uΒΤΦΧΥ II . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.23 ·ΚΝΚΟΪ ISE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.24 . . . . . . . . . . . . . . 184
4.25 OMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.26 SΠC . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
4.27 FPGA PCI EΪΡΤΖΥΥ . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.28 ·ΚΝΚΟΪ ΉyΓΠ . . . . . . . . . . . . . . . . . . . . 194
5.1 . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.2 / . . . . . . . . . . . . . . . . . . . . 201
5.3 . . . . . . . . . . . . . . . . . . . 202
5.4 . . . . . . . . . . . . . . . . . . 204
5.5 ,
. . . . . . . . . . . . . . . 204
5.6 -
. . . . . . . . . . . . . . . . . . . 206
5.7 -
, - - . . . . 207
5.8 LVDS . . . . . . . . . . . . . . . . . 214
5.9 SPI 3 . CΓΧΤΟΖt
ΩΚΜΚΡΖΕΚΒ.ΔΠΞ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.10 2
C 2 . 218
6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 225
6.2 DDTΥ -
.. . . . . . . . . . . . . . . . . . . . . . . . . . 226
6.3 DM KΚΟΘΥΝΖy . . . . . . . . . . . . . . . 226
17
6.4 DDTΥ . . . . . . . . . . . . . . . . . . . 233
6.5 . . . . . . . . . 235
6.6 .. . . 239
6.7 . . . . . . . . . . . . . 242
6.8 . . . . . . . 244
7.1 . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.2 -
-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
7.3 . . . . . 257
7.4 μ ό
. . . . . . . . . . . . . . . . . . 281
7.5
. . . . . . . . . . . . . . . . . 285
7.6 . . . . . . . . 286
7.7 . . . . . . . . 287
7.8 DMM
DMM 6 7, DMM 1. . . . . . . 291
7.9 DMM 6 7 . . . . . . . . . . . . . . . 292
7.10 DMM 6 7 292
7.11 . . . . . . . . . . . . . . . . . . . 294
7.12 -
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
7.13 -
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
7.14 DMA DMM . . . . . . . . . . . . . 299
7.15 DMA DMM . . . . . . . . . . . . . . . . . . . . 300
7.16 DMM 6 7 . . . . . 301
7.17 DMM
DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
8.1 DM -
. . . . . . . . . . . . . 313
8.2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
8.3 -
DM. . . . . . . 315
8.4 -
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
18
8.5
DM. . . . . . . . . . . . . . . . . . . . . 324
8.6
DRR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
8.7 LΖΒ DM
DM. . . . . . . . . . . 329
8.8 DM DRR. . . . . . . . . . 329
8.9
DM DRR. . . . . . . . . . . . . . . . . . . . . . . 332
8.10 -
. . . . . . . . . . . . . . . . . . 335
8.11
DM . . . . . . . . 337
8.12 -
. . . . . . . . . . . . . . . . . . . 338
8.13 DM
. . . . . . . . . . . . . . . . . . . . . . . 338
A .1 . 345
A .2 . . . . . . . . . . . . .
. . . . . 351
A .3 TΚΞΖ ΗΤΒΞΖ . . . . . . . . . . . . . . . . . . .
. . . . . 352
A .4 ⁸ , ΄, ΄΄⁹, -
. . . . .
. . . . . 353
A .5 . . . . . . . . . . . .
. . . . . 366
A .6 -
ΔΧΤΤΖΟΦ. . . . . . . . . . . . . . . . . . . . . 367
A .7 -
ΡΤΖΨΚΠΧΥ. . . . . . . . . . . . . . . . . . . . 382
19
B .12 CIRC03 . . . . . . . . . . . . . . . . 410
B .13 CIRC04 . . . . . . . . . . . . . . . 414
B .14 CIRC04 . . . . . . . . . . . . . . . . 414
B .15 CIRC05 . . . . . . . . . . . . . . . 418
B .16 CIRC05 . . . . . . . . . . . . . . . . 418
B .17 CIRC06 . . . . . . . . . . . . . . . 422
B .18 CIRC06 . . . . . . . . . . . . . . . . 422
B .19 CIRC07 . . . . . . . . . . . . . . . 426
B .20 CIRC07 . . . . . . . . . . . . . . . . 426
B .21 CIRC08 . . . . . . . . . . . . . . . 429
B .22 CIRC08 . . . . . . . . . . . . . . . . 429
B .23 CIRC09 . . . . . . . . . . . . . . . 433
B .24 CIRC09 . . . . . . . . . . . . . . . . 433
B .25 CIRC10 . . . . . . . . . . . . . . . 437
B .26 CIRC10 . . . . . . . . . . . . . . . . 437
B .27 CIRC11 . . . . . . . . . . . . . . . 440
B .28 CIRC11 . . . . . . . . . . . . . . . . 440
B .29 CIRC12 . . . . . . . . . . . . . . . 443
B .30 CIRC12 . . . . . . . . . . . . . . . . 443
B .31 CIRC13 . . . . . . . . . . . . . . . 449
B .32 CIRC13 . . . . . . . . . . . . . . . . 449
B .33 CIRC14 . . . . . . . . . . . . . . . 452
B .34 CIRC14 . . . . . . . . . . . . . . . . 452
C .1 AΝΦΖΤΒ DE2-115 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 464
C .2 TΒΥΜΥ AΝΦΖΤΒ uΒΤΦΧΥ . . . . . . . . . .
. . . . . . 465
C .3 TΒΥΜΥ AΝΦΖΤΒ uΒΤΦΧΥ . . . . . . . . . .
. . . . . . 486
C .4 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ AΝΦΖΤΒ uΒΤΦΧΥ . . . . . . .
. . . . . . 487
C .5 2 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ, -
ΡΤΠΛΖΔΦ. . . . . . . . . . . . . . . . . . . . . . 488
C .6 3 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ,
FPGA ΔΙΚΡ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
C .7 4 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ,
ΡΤΠΛΖΔΦ. . . . . . . . . . . . . . . . . . . . . . . . . 490
C .8 . . . . . . . . . . . . . . 490
C .9 . . . . . . . . . . . . . . . . . . . 490
C .10 . . . . . . . . . . . 490
C .11
FPGA, . 490
C .12 FPGA,
USB BLASTER. . . . . . . . . . . . . . 491
20
C .13 FPGA
TΠΡ LΖΨΖΝ DΖΥΚΘΟ, . 491
C .14 NIOS ,
, . . . . . . 491
C .15 NIOS II AΝΦΖΤΒ -
, . . . . . . . . . . . . . 492
C .16 QSΈS AΝΦΖΤΒ . . . . . . . . . . . . . . . . . . . . 493
C .17 .. . . . 494
C .18 BSP . . . . . . . . . . . . . . . . . . . . . . . 494
C .19 ΡΤΠΛΖΔΦ EΔΝΚΡΥΖ . . . . . . . . . . . . . . . . . . . . . . . . 495
C .20 PΚΟ PΝΒΟΟΖΤ . 496
C .21 . 496
21
22
3.1 ΒΥΥΖΞΓΝy . . . . . . . . . . . . . . . . . . . . . . 115
5.1 . . . . . . . . . . . . . . . . . . . . 212
5.2 USB . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6.1 DDT
.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.2
. . 247
7.1 . . . . . . . . . . . . . . . . . . . . . 274
7.2 . . . . . . . . . . . . . . . . . 278
7.3 . . 279
7.4 . . . . . . . . . . 282
7.5 9 . . . . . . . . . . . 289
7.6 -
. . . . . . . . . . . . . . . . . 290
7.7 . 293
7.8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
8.1 DM
. . . . . . . . . . . . . . . . . . . . . . . . . . . 322
8.2 DM . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
B .1 AΤΕΧΚΟΠ . . . . . . . . . 384
B .2 ⁸ΥΙΚΖΝΕΥ⁹ ΒΤΕΧΚΟΠ . . . . . . . . . . 385
B .3 AΤΕΧΚΟΠ UNO R3 387
B .4 AΤΕΧΚΟΠ IDE . . . . . . . . 392
B .5 . . 397
B .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
B .5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
23
24
ύ
25
ε
. 1947 JΠΙΟ
ΆΒΝΦΖΤ BΤΒtΒΚΟ AT⁶T Ί1],
. -
,
. 1981
IBM ⁸IBM PΖΤΥΠΟΒΝ
CΠΞΡΧΦΖΤ, PC⁹, -
,
14 ΟΞ
Ί2], .
.
-
.
,
-
, .
εβε
,
⁸ ⁹,
1940 . 1940
⁸
⁹, ,
. -
, ,
27
1.
,
, . -
,
, .
.
⁸ , , ⁹, -
1930,
.
1.1: CΠΝΠΥΥΧΥ -
. ΩΩΩ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
’ -
.Ό ,
⁸
-
⁹. ,
, -
, .
28
1.
-
, CΠΝΠΥΥΧΥ ⁸ 1.1⁹ ϊ
1943 , AΝΒΟ TΧΤΚΟΘ TΠΞΞy
FΝΠΩΖΤΥ.
EΟΚΘΞΒ ⁸ 1.2σ⁹ ⁸ EΟΚΘΞΒ
-
⁹.
1.2: EΟΚΘΞΒ -
/ , .
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
, - ,
ENIAC ⁸EΝΖΔΦΤΠΟΚΔ NΧΞΖΤΚΔΒΝ IΟΦΖΘΤΒΦΠΤ AΟΕ
CΠΞΡΧΦΖΤ⁹ ⁸ 1.3τ⁹,
⁸ -
⁹. ,
CΠΝΠΥΥΧΥ
2000, ENIAC
ϊΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/CΠΝΠΥΥΧΥΐΔΠΞΡΧΦΖΤ
σΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/EΟΚΘΞΒΐΞΒΔΙΚΟΖ
τΙtΡΥ://ΖΝ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/ENIAC
29
1.
⁸ ENIAC⁹.
, ENIAC
BCD ⁸ΓΚΟΒΤy ΔΠΕΖΕ ΕΖΔΚΞΒΝ⁹, CΠΝΠΥΥΧΥ
. 2 ,
, , , ⁸ . . -
⁹.
, ,
,
⁸1947⁹, 3 ,
⁸ ⁹ ⁸ ⁹ -
,
.
TΤΒΟΥΚΥΦΠΤ CΠΞΡΧΦΖΤ MΒΟΔΙΖΥΦΖΤ
⁸ 1.4 ⁹.
MIT, CΒΞΓΤΚΕΘΖ, MΒΟΔΙΖΥΦΖΤ ,
ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/HΚΥΦΠΤyΐΠΗΐΔΠΞΡΧΦΚΟΘΐΙΒΤΕΩΒΤΖ
#/ΞΖΕΚΒ/FΚΝΖ:SSEMΐMΒΟΔΙΖΥΦΖΤΐΞΧΥΖΧΞΐΔΝΠΥΖΐΧΡ.ΛΡΘ
30
1.
1.4: ΦΤΒΟΥΚΥΦΠΤ -
MΒΟΔΙΖΥΦΖΤ 1953. SSEM MΒΟΔΙΖΥΦΖΤ ΞΧΥΖΧΞ ΔΝΠΥΖ
ΧΡ Γy PΒΤΤΠΦ ΠΗ DΠΠΞ - OΩΟ ΩΠΤΜ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-SA 3.0.
εβεβε ε
,
⁸MTBF, ΞΖΒΟ
ΦΚΞΖ ΓΖΦΩΖΖΟ ΗΒΚΝΧΤΖΥ⁹. ⁸BCD⁹, -
.
,
.
⁸ΡΒΦΔΙ ΔΒΓΝΖΥ⁹, -
. -
CΠΝΠΥΥΧΥ ENIAC. ENIAC 30 -
1300 , 500
.
31
1.
εβεβζ ζ
ΦΤΒΟΥΚΥΦΠΤ, ,
. ,
, ⁸ 2
- ⁹,
, .
PDP-1 DEC ⁸ 1.5 ⁹
4 B 0.2 MΙά,
⁴100K USD.
, , -
, , , .
ΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:PDP-1.ΛΡΘ#/ΞΖΕΚΒ/FΚΝΖ:PDP-1.ΛΡΘ
32
1.
εβεβη η
-
-
⁸ - ⁹, . -
⁸
⁹ -
,
. -
, -
RAM,
⁸ ⁹. -
IBM SyΥΦΖΞ/360 512KB
RAM, 4MΙά. O
, -
. , -
, ‘ ’ ⁸ -
⁹ AΡΠΝΝΠ 11
NASA 1969. , ,
, , IBM 4000 ,
, 25000
40000 ⁸ ⁹.
AΡΠΝΝΠ GΧΚΕΒΟΔΖ CΠΞΡΧΦΖΤ -
⁸ 1.7 ⁹.
εβεβθ θ
1990 . , -
, ,
, -
, -
, - , -
, . ,
,
50 , -
.
, -
2000 .
ΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:AΘΔΐΨΚΖΩ.ΛΡΘ
33
1.
1.6: 3 IBM
S/360. BΖΟ FΤΒΟΥΜΖ ΩΚΜΚΡΖΕΚΒ.ΠΤΘ - LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ
2.5 ΨΚΒ CΠΞΞΠΟΥ
εβεβι ι
4 5 .
, ⁸
,
⁹. , -
, .
⁸ΧΓΚΣΧΚΦΠΧΥ ΔΠΞΡΧΦΚΟΘ,
⁹ -
. , ,
.
. ,
. ,
, ,
ΞΖΕΚΒPC. ,
, . ,
⁸‘ ’–
ΔΝΠΧΕ⁹ .
-
.
34
1.
1.7:
AΡΠΝΝΠ GΧΚΕΒΟΔΖ CΠΞΡΧΦΖΤ
. IBM S/360.
ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ - PΧΓΝΚΔ DΠΞΒΚΟ.
, -
.
εβζ α
-
, , -
.Ό ,
-
.
, -
-
-
1-2
50 .
⁸ ⁹;
, -
,
. ,
35
1.
,
.
-
.Ό ,
,
1.8.
⁸
⁹, -
/ ⁸ . .
⁹. ,
. ,
,
.
1.8: , ,
, -
⁸ / ⁹.
36
1.
1.9: .
εβη
, , ,
, , ⁸
⁹,
, . .
, . ,
⁸ ⁹ ,
, . ’
,
.
.
-
,
⁸ ⁹ -
. -
‘ ’
. ,
40⁵ ,
30 .
1.9
. -
37
1.
, , -
.
, ⁸ΞΒΚΟΗΤΒΞΖ⁹.
, , ,
. -
:
• β -
, , -
, -
.
• α β - ⁸ΦΖΝΖΔΠΟΦΤΠΝ⁹
-
.
• γ β -
-
/ , -
.
• βΌ -
, ,
, .
• β ⁸ ,
, . .⁹ ,
,
• β -
.
• γ β
,
, -
.
• γ β
-
38
1.
,
.
εβθ α
-
,
,
⁸ΥΙΠΤΦ ΦΚΞΖ ΦΠ ΞΒΤΜΖΦ⁹.
.
-
. -
. -
‘ ’
-
. ,
. , -
⁸ . . ⁹ -
;
⁸ . . , -
, , , ,
, ⁹ ,
;
, -
.
. , -
, -
, , / -
/ ,
⁸SyΥΦΖΞ-ΠΟ-CΙΚΡ, SOC⁹. ,
.
, -
. , ε η
ε .
. ‘ -
39
1.
’ . -
-
. , -
, .
, η ε ύ .
, -
⁸ ,
⁹, ⁸ -
-
⁹, ⁸
⁹, ⁸
⁹, ⁸
⁹. ,
⁸ ⁹ -
. ,
AMD, INTEL,
.
, -
⁸RΖΒΝ TΚΞΖ OΡΖΤΒΦΚΟΘ SyΥΦΖΞ
- RTOS⁹. ⁸ . . ΆΚΟΕΠΩΥ,
LΚΟΧΪ, FΤΖΖBSD⁹ , -
,
.
⁸ ⁹ .
, -
,
.
⁸ KB⁹
⁸ΧΥΖΤ ΗΤΚΖΟΕΝy⁹
. , -
ROM, -
. ,
, , -
⁸ ⁹
. ,
ROM ,
. ,
,
40
1.
1.10: -
.
.
,
.
, -
, 100-400 -
⁸ AΝΡΙΒ
21364 Ί3], PΖΟΦΚΧΞ 4 Ί4], AΦΙΝΠΟ ·P Ί5] ⁹.
, ⁸
41
1.
⁹ . -
,
256 ,
⁸SyΥΦΖΞ
OΟ CΙΚΡ, SOC⁹. ASIC ⁸AΡΡΝΚΔΒΦΚΠΟ-
SΡΖΔΚiΔ IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ⁹, -
.
, -
,
, .
,
, -
,
.
Ό ,
.
, -
,
-
.
εβι
, .
,
⁸CAR DVR⁹
.
εβιβε
, -
.
42
1.
⁸ 1.11⁹. -
, -
.
,
.
. -
. -
, -
.
:
• ,
-
, .
-
.
,
⁸ΤΖlΖΔΦΚΨΖ ΠΡΦΚΔΒΝ ΥΖΟΥΠΤΥ⁹,
.
• ‘ ’ .
• ⁸ 0,
, 9 ⁹, .
• ΓΖΖΡΖΤ ⁸
⁹.
• 7 ⁸7 ΥΖΘΞΖΟΦΥ ΕΚΥΡΝΒy⁹
,
.
• , -
.
43
1.
, ⁸ . .
⁹.
-
⁸ ··
ΟΥ, ⁹, -
⁸ 230V,
99⁵ ⁹,
⁸
⁹. ,
. -
/ .
1.11: .
, -
, 8ΓΚΦ 16MΙά ⁸ -
64ΓΚΦ
1.5 2 GΙά⁹. FLASH
⁸32 FLASH -
⁹. ,
.
RAM ByΦΖ ⁸ . . 1 2 KB -
⁹. , 7
44
1.
, 8 , ΓΖΖΡΖΤ 1 ,
1 , -
, 2
2*8 + 1 +2 6 , 23. ,
, 2 8ΓΚΦ
, -
3 ⁸ 2*8⁹, -
3 + 1 + 2+ 6 = 12 .
, ΡΧΝΝ-ΧΡ
ΡΧΝΝ-ΕΠΩΟ, Π PCB ⁸ΡΤΚΟΦΖΕ ΔΚΤΔΧΚΦ ΓΠΒΤΕ,
⁹, -
.
, ,
C,
,
7 , ΓΖΖΡΖΤ,
PΆM .
-
. ,
ΓΝΧΖΦΠΠΦΙ ⁸ 2
R·/T·, ⁹,
,
-
ΩΚi 802.11 ,
ΖΞΒΚΝ ΩΖΓΥΚΦΖ. ,
, -
⁸ . . ΓΝΧΖΦΠΠΦΙ 5
,
150 ⁹.
.
εβιβζ
-
⁸HΚΘΙ DΖiΟΚΦΚΠΟ DVR⁹,
.
,
. , -
, :
45
1.
• VIDEO H.234 -
.
• ⁸ 1A 12V,
⁹.
• .
• .
• SD.
• ,
CMOS CCD.
• FAT SD,
PC
• ,
⁸ ⁹.
Ό ,
. -
-
⁸1080Ρ, 1920Ϊ1080
3Ϊ8=24 ΓΚΦ⁹, 25 FPS ⁸ΗΤΒΞΖΥ ΡΖΤ ΥΖΔΠΟΕ, -
⁹, .O
32ΓΚΦ ⁸ 8ΓΚΦ ⁹
,
-
⁸SΠC, SyΥΦΖΞ OΟ CΙΚΡ - ΔΙΚΡ⁹.
32ΓΚΦ ,
ARM, 32ΓΚΦ , -
.234 . SΠC
USB ΞΒΥΥ ΥΦΠΤΒΘΖ ΕΖΨΚΔΖ ⁸
46
1.
1.12: -
.
⁹, SD. ,
RTC ⁸ΤΖΒΝ ΦΚΞΖ ΔΝΠΔΜ, -
⁹ SΠC ⁸ ⁹,
.
⁸ . . -
⁹, ,
RTC . SΠC
LCD,
SΠC, / , -
. ,
, -
.
C ,
,
⁸LCD, H.234, CCD/CMOS, . .⁹, -
USB, -
, USB MΒΥΥ SΦΠΤΒΘΖ
DΖΨΚΔΖ. ‘ΓΒΤΖ ΞΖΦΒΝ ΡΤΠΘΤΒΞΞΚΟΘ’,
, .
,
. . LΚΟΧΪ, .
47
1.
,
.
,
ΙΒΤΕΩΒΤΖ,
, .
εβιβη
. -
, -
, -
,
. ,
. , -
1970,
, -
-
.
:
• .
• ΔΤΧΚΥΖ ⁸ΒΕΒΡΦΚΨΖ ΔΤΧΚΥΖ ΔΠΟΦΤΠΝ, ACC⁹.
• ⁸ΗΠΤΩΒΤΕ ΔΠΝΝΚΥΚΠΟ ΩΒΤΟΚΟΘ, FCΆ⁹.
• ⁸LΒΟΖ DΖΡΒΤΦΧΤΖ ΆΒΤΟΚΟΘ, LDΆ⁹.
• ⁸PΒΤΜ AΥΥΚΥΦ SyΥΦΖΞ, PAM⁹.
• ⁸TΚΞΖ PΤΖΥΥΧΤΖ MΠΟΚΦΠΤΚΟΘ
SyΥΦΖΞ, TPMS⁹.
• ⁸RΖΞΠΦΖ KΖyΝΖΥΥ EΟΦΤy⁹.
• ΓΝΧΖΦΠΠΦΙ, ΩΚi, GSM.
• GPS.
• ⁸ . . ΓΝΧΖΦΠΠΦΙ
⁹.
• ⁸AΟΦΚΝΠΔΜ ΓΤΒΜΚΟΘ ΥyΥΦΖΞ, ABS⁹.
48
1.
• ⁸ΒΚΤΓΒΘΥ⁹.
• ⁸ΥΖΒΦΓΝΖΦ ΡΤΖΦΖΟΥΚΠΟΟΖΤ⁹.
• RΒΕΒΤ .
• ⁸ΥΖΟΥΠΤ ΕΚΒΘΟΠΥΦΚΔΥ⁹.
• MΧΝΦΚΞΖΕΚΒ SyΥΦΖΞ
• …..⁸ ⁹
-
, ⁸ . . Π ABS⁹,
⁸ . . GPS⁹. , -
, , -
, -
⁸ ⁹.
, CAN ⁸ΔΠΟΦΤΠΝΝΖΤ
ΒΤΖΒ ΟΖΦΩΠΤΜ, ⁹. ,
CAN. CAN, -
: CAN
⁸ ,
, -
⁹, ABS, ,
, , . .
CAN ⁸
⁹ . , -
⁸ / ⁹, , ΒΚΤ-ΔΠΟΕΚΦΚΠΟ
. . . -
CAN
, , .
, -
, ⁸
ECU, ΖΟΘΚΟΖ ΔΠΟΦΤΠΝ ΧΟΚΦ-
49
1.
⁹, .
⁸ -
QN· NΖΧΦΤΚΟΠ RTOS⁹, 32ΓΚΦ
⁸ . . ARM⁹,
⁸MMU⁹ ⁸MPU⁹, -
, ‘ ’
, ,
2 ⁸ . . LΚΟΧΪ⁹, -
, ⁸ -
. . -
⁹. ,
-
,
. -
,
MIL ⁸ΞΒΝΗΧΟΔΦΚΠΟ ΚΟΕΚΔΒΦΠΤ ΝΒΞΡ, ⁹
.
, ⁸ΤΖΕΧΟΕΒΟΔy⁹ ,
, -
.
FLASH EEPROM, ⁸ , -
⁹,
⁸ΗΒΧΝΦ ΝΠΘ iΝΖ⁹,
. -
,
⁸ΚΟΦΖΤΤΧΡΦ ΝΚΟΖ⁹, ,
2
⁸ΕΒΖΞΠΟ⁹ . ,
⁸ΩΠΤΥΦ ΔΒΥΖ ΥΖΤΨΚΔΖ
ΦΚΞΖ⁹, , . -
,
εβκ
,
, . -
50
1.
: ⁸ΟΠΟ ΤΖΔΧΤΤΖΟΦ
ΖΟΘΚΟΖΖΤΚΟΘ ΔΠΥΦ, NRE⁹ ⁸ΧΟΚΦ ΔΠΥΦ⁹.
NRE SN RE
, -
, ,
, -
⁸ , , , ⁹,
⁸ . . ⁹,
. . .
,
, .
Su
, -
, , ,
, ⁸
⁸ΠΧΦΥΠΧΤΔΚΟΘ⁹ -
, . -
.
⁸
, . . ⁹,
⁸
⁹,
⁸ 100
10 ,6
⁹.
2
, m. . . -
600 ,
50⁵. -
:
SN RE + Su
Cost = ⁸1.1⁹
1−m
NRE, -
,
, NRE . ,
, -
1-2
. . . -
-
⁸
, -
51
1.
RTC USD⁴1, 7-
, 2-3 , NRE -
2 .
εβλ
⁸ΦΚΞΖ-ΦΠ-ΞΒΤΜΖΦ⁹,
.
, , ,
.
6 , .
, -
. 1.13 . -
,
,
. -
.
Ό .
1.13: .
.
52
1.
⁸
⁹. ⁸ ⁹
. NRE,
.
, ⁸ ⁹
.
. -
ΖΒΤΝy ΒΕΠΡΦΖΤΥ ⁸ ⁹. Ό -
-
,
, ⁸ -
⁹. .
,
-
.
-
. ,
⁸ ⁹. ,
,
.
⁸ EOL, ΖΟΕ-ΠΗ-ΝΚΗΖ ⁹.
⁸ ⁹,
. -
6 ,
18 .
εβμ &
-
, 8ΓΚΦ 32ΓΚΦ, -
, ‘ ’ ,
. -
:
• -
:Ό -
.
• : -
⁸ . . ⁹ -
53
1.
, -
• :
, -
, -
. -
.
,
SI JΠΧΝΖ / ΥΖΔΠΟΕ, ΆΒt.
ΜΚΝΝΠΩΒt-ΙΠΧΤ
JΠΧΝΖΥ, ΩΒt
. , 1 ΆΒt 100
100 ΩΒt-ΙΠΧΤΥ.
100 ΆΒt 1 ,
100 ΩΒt-ΙΠΧΤΥ. Ό -
, .
• :
-
.
⁸ ⁹ -
⁸RTOS, ΤΖΒΝ ΦΚΞΖ
ΠΡΖΤΒΦΚΟΘ ΥyΥΦΖΞΥ- ⁹.
• : -
, -
ΤΖΥΖΦ .
⁸ . . ⁹
⁸ ⁹, -
. .
• : -
,
. , 8 ΓΚΦ
-
⁸ 25⁵⁹, 8ΓΚΦ -
. -
8 ΓΚΦ 1980 ⁸ . .
, ,
, .
54
1.
IΟΦΖΝ 8051⁹, .
32 ΓΚΦ -
,
8 ΓΚΦ;
• : -
. -
.
• :
, -
. -
2 4 , -
15
‘ ’
.
• : -
⁸ΧΡΕΒΦΖ⁹, -
, -
⁸ ⁹
,
.
• : , . .
.
,
-
. -
⁸STU·NET⁹, -
Ί6],
-
Ί7].
• ⁸ΞΒΟΧΗΒΔΦΧΤΒΓΚΝΚΦy⁹: -
55
1.
.
⁸ΙΠΧΥΚΟΘ⁹
⁸ -
, 8051
8ΓΚΦ ,
8ΓΚΦ
⁹.
•
⁸ΦΚΞΖ-ΦΠ-ΞΒΤΜΖΦ⁹:
, -
. , ,
.
Ό -
. -
. ,
,
Ί8].
εβν
1940 . , -
,
. ,
-
.
: 2, -
.
3 , -
, , , .
4 , , -
, , 6
.
, .
56
1.
-
,
.
, -
, ’
, -
.
3 : ,
8ΓΚΦ
ΒΤΕΧΚΟΠ, -
ARM, -
57
1.
58
ζ
O
. -
- -
. ,
,
,
.
⁸ΦΤΒΕΖ-ΠfΥ⁹,
.Ό ,
-
.
, -
. , -
, -
.
,
⁸PΖΤΥΠΟΒΝ DΚΘΚΦΒΝ AΥΥΚΥΦΒΟΦ⁹, -
,
, .
:
. .
59
2.
ζβε
, -
, -
⁸ . . , ⁹,
. -
,
.Ό -
⁸ . .
⁹, -
. -
, ,
.
.
⁸ ⁹,
. -
, -
, ,
.
, -
. ,
. -
, -
, , -
, . -
⁸Πf-ΦΙΖ-ΥΙΖΝΗ ΔΠΞΡΠΟΖΟΦΥ⁹,
ARM, TI, MΠΦΠΤΠΝΒ,
KΚΟΘΥΦΠΟ, . . . Ό ,
, -
, . ,
.Ό , .
, -
. -
,
60
2.
2.1: -
.
. -
,
,
, ⁸ . . -
⁹. ’
.
-
.
,
, -
, .
⁸ 2.1⁹.
,
, -
. , ,
⁸ ⁹ -
⁸ ⁹.
-
, , MΚΔΤΠΥΠt SΧΟ ⁸ -
-
, ⁹,
. -
, MΚΔΤΠΥΠt ΆΚΟΕΠΩΥ MΠΓΚΝΖ, GΠΠΘΝΖ ΦΠ AΟΕΤΠΚΕ,
SΧΟ JΒΨΒ VΚΤΦΧΒΝ MΒΔΙΚΟΖ,
.
,
61
2.
2.2:
.
, . -
, . . .– -
–⁸ 2.2⁹,
6 -
. ,
70⁵ -
, ,
, Ί9], Ί10], Ί11], Ί12].
,
-
,
-
2 1994 13
2015, -
0,6 1,1 , -
Ί13].
,
, -
. ,
-
. , -
, ,
.
62
2.
2.3: .
ζβζ NRω
Ό ,
⁸ΟΠΟ ΤΖΔΧΤΤΖΟΦ ΖΟΘΚΟΖΖΤΚΟΘ ΔΠΥΦ, NRE⁹ -
, .Ό
, -
, -
.
NRE ,
,
. -
NRE . NRE
. -
⁸1 ⁹
.
. -
,
.
, ⁸ΠΧΦΥΠΧΤΔΚΟΘ⁹
, .
. , -
63
2.
, , -
, . ,
.
, -
NRE,
, .
,
,
,
,
. -
, -
,
.
ζβη
⁸ ,
⁹
. ,
, ,
⁸ . .
⁹
. -
,
, -
. , ,
.
.
, -
IΟΦΖΤΟΖΦ .
. -
1 .
Ό , -
.
⁸ 4 ⁹,
300 ΞA, ,
. -
64
2.
, ,
1-2 ,
100 ,
1⁵ 3000⁵. -
,
. -
, .
, -
,
. , ,
,
.
. ,
-
, ,
, ,
. ,
-
, .
-
, .
, , , -
.
,
.
,
-
. , ,
-
,
, -
. ΡΤΠΛΖΔΦ -
65
2.
⁸ 1.000.000 ⁹
⁸ΔΤΠΩΕ-ΗΧΟΕΚΟΘ⁹, -
, PΚΤΒΦΖ3D ⁴1.5 -
,
-
, ΒΟΠ DΤΠΟΖΥ ⁴3.5
ΥΞΒΤΦΡΙΠΟΖ,
. -
,
.
. -
, , ,
. -
,
: . -
. . -
:
, -
, ,
, -
. . . , -
.
, , ,
, , . . . -
,
, -
.
:
• .
• .
•
.
• .
• -
.
66
2.
• -
, .
• ,
.
•
.
Ό -
, -
. -
, ‘ - -
’ EΕΥΘΖΤ DΚΛΜΥΦΤΒ Ί14],
,
, . -
,
. DΚΛΜΥΦΤΒ
.
, -
. , -
, ,
-
ϊ.
, , ,
.
Ό ,
, -
. , -
⁸ΗΠΤΞΒΝ⁹ ,
. , -
-
.
67
2.
ζβθ θ
:
1. -
.
2. .
3. .
4. . ,
.
,
. , ⁸ . . -
⁹ -
, -
,
, -
⁸ . . ⁹ -
.
. , -
,
, -
,
.
. -
, -
. , -
,
. .
, ΦΠΡ-ΓΠtΠΞ ΓΠtΠΞ-ΧΡ.
, ,
,
⁸ΦΠΡ-ΓΠtΠΞ⁹ -
.
68
2.
ΓΠtΠΞ-ΧΡ, , , -
, -
.
-
.
.Ό -
. , - -
, -
. ,
,
,
. ,
. , -
,
.
-
.Ό ,
⁸ , , , -
,…⁹, , -
,
⁸ΧΥΖ-ΔΒΥΖΥ⁹ -
,
,
,
,
, , ,
.
ζβι
,
.
, :
• VHDL
• VΖΤΚΝΠΘ
• SyΥΦΖΞC
69
2.
• SyΥΦΖΞVΖΤΚΝΠΘ
• UML
• MATLAB
• EDA TOOLS
ζβκ
-
.
, VHDL VΖΤΚΝΠΘ,
, UML, -
,
MΒΦΝΒΓ.
-
-
.
-
,
, -
. SyΥΦΖΞC
.
,
⁸ΦΤΒΟΥΒΔΦΚΠΟ ΝΖΨΖΝ ΞΠΕΖΝΚΟΘ, TLM⁹, -
,
, -
, , , .
,
, -
⁸ -
, 40⁵
⁹.
, -
, , -
, .
,
GDB
⁸ΘΟΧ ΕΖΓΧΘΘΖΤ⁹
70
2.
2.4: ,
ΙΒΤΕΩΒΤΖ. VΚΥΦΒ MΖΟΦΠΤ.
ΞΖΟΦΠΤ.ΔΠΞ.
-
, -
⁸ΦΙΤΠΧΘΙΡΧΦ⁹, ⁸ΝΒΦΖΟΔy⁹, -
⁸ , , ⁹, ⁸ΡΠΩΖΤ
ΕΚΥΦΤΚΓΧΦΚΠΟ⁹, , , -
.Ό ΙΒΤΕΩΒΤΖ
, -
.
, ΙΒΤΕΩΒΤΖ,
-
, ΙΒΤΕΩΒΤΖ
⁸ΤΖΞΠΦΖ ΕΖΓΧΘΘΚΟΘ⁹
. -
VΚΥΦΒ VΚΤΦΧΒΝ PΤΠΦΠΦyΡΚΟΘ
MΖΟΦΠΤ ⁸ 2.4⁹.
71
2.
ζβλ
, -
⁸ΦΚΞΖ-ΦΠ-ΞΒΤΜΖΦ⁹
6 . ,
. -
.
, -
72
η
,
.
,
ATM,
. -
.
⁸ -
, -
ΦΤΒΕΖ-ΠfΥ⁹, -
, ,
.
.
ηβε
Ό ,
. -
3: (i) , (ii) (iii) / -
. ,
,
3 . -
(i), (ii)
(iii).
, / .
73
3.
ηβζ
Ό .
8 ΓΚΦ, -
ATMEGA328P, , SRAM -
, 2KB RAM , FLASH
, EEPROM 1 -
. -
⁸SRAM, EEPROM, FLASH⁹ .
⁸
⁹, .
,
. ,
⁸ ΟΠΟ
ΨΠΝΒΦΚΝΖ- , ΨΠΝΒΦΚΝΖ- ⁹,
.
,
-
.
, ,
. , -
, -
,
, . -
⁸ . . -
⁹
.
, -
ΓΚΦ. ΓΚΦ , -
1 0.
⁸ MLC, ΞΧΝΦΚ-ΝΖΨΖΝ
ΔΖΝΝ Ί15]⁹
-
⁸ 2 ΓΚΦ 1 ΓΚΦ⁹,
-
,
,
⁸ . . 14ΟΞ⁹.
ΓΚΦ 8 ⁸1 ByΦΖ⁹ -
32 ByΦΖ. ,
m n ΓΚΦ ,
74
3.
8 ΓΚΦ .
75
3.
SRAM . ,
DRAM , -
. -
DRAM ⁸4MBΪ1⁹Ϊ8 32MB.
ϊΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:KLΐKΖΤΟΥΡΖΚΔΙΖΤΐMΒΜΤΠΐ1.ΛΡΘ
76
3.
3.1: RAM
⁸1955-1975⁹. ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
, -
.
⁸ 6 , 6 -
DRAM⁹, -
. , -
⁸ -
ΔΒΔΙΖ ΞΖΞΠΤΚΖ⁹. DRAM
, .
. , DRAM
- ⁸ΤΖΗΤΖΥΙ⁹ -
, ⁸
DRAM DDR 7.8 Υ⁹.
-
,
, . DRAM
-
.
, -
. -
77
3.
3.3: DRAM -
3.2: ⁸GΖΔΜΠ100⁹ .
RAM
. -
ΒΧΥΦΖΪΥΠtΩΒΤΖ.ΔΠΞ.
,
DRAM ⁸
⁹.
DRAM, -
⁸ ⁹
-
.
⁸ ⁹ -
.
⁸ , ⁹
- -
.
. -
SRAM.
DRAM 1975
, :
. ,
⁸ΩΒΚΦ ΔyΔΝΖΥ⁹, .
ΥyΟΔΙΤΠΟΠΧΥ DRAM ⁸SDRAM⁹
⁸MΙά⁹ SDRAM PC-66, SDRAM PC-100, SDRAM PC-133.
SDRAM
, -
⁸1 0⁹,
.
78
3.
⁸ ⁹, -
DDR3 DDR4
0 5⁵,
2 3 Ί19]. ,
DDR, LPDDR⁸ ⁹ ⁸·=2,3,4⁹ LP
ΝΠΩ-ΡΠΩΖΤ ⁸ ⁹,
⁸ . .
⁹, GDDR⁸·⁹ ⁸·=2,3,4,5⁹ G ΘΤΒΡΙΚΔΥ ⁸ ⁹
, RΒΞΓΧΥ RDRAM
·DR SDRAM, -
RΒΞΓΧΥ
DDR, . ⁸
DDR4⁹ ⁸HyΓΤΚΕ MΖΞΠΤy CΧΓΖ,
HMC⁹ ⁸HΚΘΙ
BΒΟΕΩΚΕΦΙ MΖΞΠΤy, HBM⁹ .
,
⁸ΨΚΒΥ⁹,
-
.Ό
, .
ηβζβζ –ROM
RΖΒΕ OΟΝy MΖΞΠΤy ⁸ROM⁹, ,
, -
. ,
,
. -
79
3.
⁸Πf ΝΚΟΖ⁹,
. ROM -
. 3.4
ROM.
ROM .
, ⁸ΓΠΠΦ ΝΠΒΕΖΤ⁹,
.
-
-
, FΝΒΥΙ. ROM
.Ό , -
, RAM ,
. ROM ,
.
k
2k Ϊ 1 ROM, n
k 2k Ϊ n ROM.
.
. -
ROM
, .
ROM
.
80
3.
ROM ‘ ’ ‘ ’
ΓΚΦ.
‘ ’ ROM
ROM -
⁸IΟ-SyΥΦΖΞ PΤΠΘΤΒΞΚΟΘ-ISP⁹ ⁸IΟ-CΚΤΔΧΚΦ PΤΠΘΤΒΞΞΚΟΘ -
ICP⁹. ROM , -
.
⁸
⁹.
ROM, PROM ⁸ΡΤΠΘΤΒΞΞΒΓΝΖ ROM⁹,
.
.
PROM, -
.
ROM ⁸ : -
, -
⁹
. ROM
,
. -
. , PROM -
, OTP ⁸OΟΖ TΚΞΖ PΤΠΘΤΒΞΞΒΓΝΖ⁹.
81
3.
EPROM,
.
OTP ROMΥ. , EPROM -
, OTP ROM -
.
EPROM OTP ,
, B⁸ ⁹,
ΞΖΘΒΓyΦΖ .
ηβζβι ϊLυSό
FLASH ROM - .
, EEPROM -
. FLASH -
⁸ EEPROM⁹ -
ROM. FLASH ‘lΒΥΙ ROMΥ’
‘lΒΥΙ RAMΥ’. ROMΥ
82
3.
RAM, ‘FLASH’
.
FLASH ,
. , , -
. , RAM.
FLASH, -
FLASH -
. FLASH NOR
FLASH NAND FLASH. FLASH
.
,
⁸ -
USB ⁹. NOR FLASH -
ΓyΦΖ
. ΓyΦΖ -
ROM ⁸ΕΤΠΡ-ΚΟ
ΤΖΡΝΒΔΖΞΖΟΦ⁹,
⁸ . . ROM⁹. NAND FLASH ,
, ,
ΓΚΦΥ ⁸ . . 4096⁹.
, ΓΚΦ .
NOR FLASH. -
,
RAM, . ,
.Ό SD -
, NAND FLASH.
ηβζβκ φyte
.
⁸ΠΟ-ΔΙΚΡ⁹ ⁸Πf-ΔΙΚΡ⁹
. ΠΟ-ΔΙΚΡ
, , FLASH EEPROM ⁸
⁹. Πf-ΔΙΚΡ FLASH RAM.
Πf-ΔΙΚΡ
ByΦΖ, -
8 ΓΚΦ. -
83
3.
2 ,
ΓΚ-ΖΟΕΚΒΟ,
-
, . ΖΟΕΚΒΟΖΥΥ
,
ΓΚΘ ΝΚtΝΖ ΖΟΕΚΒΟ.
ΖΟΕΚΒΟΖΥΥ
ByΦΖ. ByΦΖ ΝΚtΝΖ
ΓΚΘ ΖΟΕΚΒΟ.
ByΦΖ, ΖΟΕΚΒΟΖΥΥ .
ΓΚΘ ΖΟΕΚΒΟ ByΦΖ ⁸MΠΥΦ SΚΘΟΚiΔΒΟΦ
ByΦΖ, MSB⁹
ByΦΖ, ByΦΖ ⁸LΖΒΥΦ SΚΘΟΚiΔΒΟΦ
ByΦΖ, LSB⁹, ΝΚtΝΖ ΖΟΕΚΒΟ
LSB
MSB.
3.5
1 ByΦΖ ⁸ DEΙ⁹,
2 ByΦΖ ⁸ ABDEΙ⁹, 4 ByΦΖ ⁸
3AF1ABDEΙ⁹. Ό 1 ByΦΖ , -
⁸ . . FFFFΙ⁹ ΖΟΕΚΒΟΖΥΥ.
ABDEΙ, ByΦΖ ABΙ,
ByΦΖ DEΙ. ΝΚtΝΖ ΖΟΕΚΒΟ
DEΙ, -
ABΙ, ΓΚΘ ΖΟΕΚΒΟ
ABΙ DEΙ. ,
3AF1ABDEΙ, MSB 3AΙ LSB DEΙ,
addr, ΝΚtΝΖ ΖΟΕΚΒΟ LSB,
DEΙ, addr+1 ByΦΖ,
ABΙ, addr+2 F1Ι addr+3 3AΙ.
ΓΚΘ ΖΟΕΚΒΟ ByΦΖ .
ByΦΖ, 3 Ι,
, F1Ι, ABΙ DEΙ
ΝΚtΝΖ-ΖΟΕΚΒΟ , -
. , -
84
3.
. ΝΚtΝΖ ΖΟΕΚΒΟ
, “ ”
. 3 F1ABDEΙ
DEABF13 Ι . -
ΝΚtΝΖ ΖΟΕΚΒΟ ,
,
. , ΓΚΘ ΖΟΕΚΒΟ -
3 F1ABDEΙ -
3 F1ABDEΙ .
⁸ ⁹ .
, ,
.Ό -
, “ΖΟΕΚΒΟ-ΟΖΥΥ” . -
,
ByΦΖ . ,
85
3.
-
, ΓΚΘ ΖΟΕΚΒΟ
ΝΚtΝΖ ΖΟΕΚΒΟ
.
H ΖΟΕΚΒΟΖΥΥ -
ByΦΖ.
, ,
,
TCP/IP. , -
ΖΟΕΚΒΟΖΥΥ
ByΦΖ. , 3 F1ABDEΙ -
ΓΚΘ ΖΟΕΚΒΟ 32ΓΚΦ 3 F1ABDEΙ,
ΝΚtΝΖ ΖΟΕΚΒΟ DEABF13AΙ.
,
, -
⁸ΟΖΦΩΠΤΜ ΓyΦΖ ΠΤΕΖΤ, NBO⁹, ,
ΖΟΕΚΒΟΖΥΥ .
ΙΦΠΟΥ⁸⁹/ΟΦΠΙΥ⁸⁹ -
IEEE SΦΕ 1003.1-2001 ⁸‘POSI·.1’⁹. ΖΟΕΚΒΟΖΥΥ -
ΖΟΕΚΒΟΖΥΥ, -
ΙΦΠΟΥ⁸⁹/ΟΦΠΙΥ⁸⁹, .
ΓΚΘ ΖΟΕΚΒΟ SΧΟ
SPARC, MΠΦΠΤΠΝΒ 68K, PΠΩΖΤPC IBM S/360,
ΝΚtΝΖ ΖΟΕΚΒΟ -
Ϊ86, IA32 AMD64 IΟΦΖΝ,
AMD DEC VΒΪ. ΖΟΕΚΒΟΖΥΥ
,
Ϊ86 ⁸ΝΚtΝΖ ΖΟΕΚΒΟ⁹,
. -
ΖΟΕΚΒΟΖΥΥ, : H ΝΚtΝΖ ΖΟΕΚΒΟ
ΓΚΦ ΩΚΕΦΙ, . . 4A 00 00 00 8ΓΚΦ
⁸4A⁹, 16 ΓΚΦ ⁸004A⁹ ⁸ ΔΠΞΡΚΝΖΤΥ⁹.
, ΓΚΘ ΖΟΕΚΒΟ
⁸ MSB⁹. ΝΚtΝΖ-
ΖΟΕΚΒΟ ΙΒΤΕΩΒΤΖ ByΦΖ ⁸
ΚΟΔ ByΦΖ⁹.
EΟΕΚΒΟΖΥΥ, ΓΚΟ-ΖΟΕΚΒΟ ΝΚtΝΖ-ΖΟΕΚΒΟ -
‘ ’.
86
3.
, , ⁸ /ΓΚΘ
/ΝΚtΝΖ /ΖΟΕΚΒΟΖΥΥ ⁹. ⁸ -
⁹,
‘ΓΚΘ-ΖΟΕΚΒΟΥ’ ‘ΝΚtΝΖ-ΖΟΕΚΒΟΥ’
.
ηβζβλ
⁸ ⁹
. -
ByΦΖ ⁸ 3.2.6⁹ -
ByΦΖ. 1 ByΦΖ
. -
,
-
. ,
⁸ ⁹
-
ByΦΖ ⁸ΞΖΞΠΤy ΡΒΕΕΚΟΘ⁹ -
, .
87
3.
. , 4 ByΦΖ
32 ΓΚΦ ABF0Ι ⁸
ByΦΖ ABF0Ι - ABF3Ι⁹ , -
4 ByΦΖ ABF0Ι -
ABF3Ι. -
, 4 ByΦΖ ABF1Ι,
, ByΦΖ
, ByΦΖ ABF1Ι, ABF2Ι, ABF3Ι
, 4Π ByΦΖ ⁸ABF4Ι⁹
,
.
-
Ί20].
. , 2 -
⁸ ⁹,
3 ⁸ 32 ΓΚΦ⁹, 2
. 3.6 ,
-
,
. -
88
3.
, ,
.
, -
,
. -
MΠΦΠΤΠΝΒ 68000 ⁸ -
68020 ⁹, MIPS, -
ARM RISC.
, PΠΩΖΤPC
8086, IA-32 AMD64/Ϊ86-64.
3.6: -
.
, -
.Ό -
-
.
⁸ . . FΤΖΖBSD⁹, -
,
. -
89
3.
, -
, -
. ,
, -
.
-
, .
, ByΦΖ⁸Υ⁹, -
. , 32
ΓΚΦ 3.7,
ΝΠΟΘ4ByΦΖ 1 ΥΦΤΧΔΦ ⁸
ΔΙΒΤA1ByΦΖ 0 ΥΦΤΧΔΦ⁹
ΝΠΟΘ4ByΦΖ .
, ΡΒΕΕΚΟΘ,
ByΦΖ . ΔΠΞΡΚΝΖΤΥ -
, ,
ByΦΖ . . , ΝΠΟΘ4ByΦΖ
ΥΦΤΧΔΦ, -
⁸ ByΦΖ ⁹. ΔΠΞΡΚΝΖΤ
, 2 ΕΧΞΞy ByΦΖ ,
.
1 typedef struct {
2 char charA1Byte;
3 long long4Byte;
4 char charB1Byte;
5 } Struct;
3.7: A: -
1 typedef struct {
2 char charA1Byte;
3 char dummy0[2];
4 long long4Byte;
5 char charB1Byte;
6 } Struct;
3.8: B:
ΕΧΞΞy ByΦΖΥ -
.
90
3.
, -
, -
. ,
ΓΚΦ -
. . . 2 ΓyΦΖ ⁸0,1⁹,
⁸2,3⁹, ⁸4,5⁹ . . . n−1 ΓΚΦ n − bit
, 1 ΓΚΦ -
0 1. , 16 ΓΚΦ 0 1
3 , 2 ByΦΖ ,
16 ΓΚΦ 1 3 5 .
⁸ ⁹,
.
, ,
⁸ 1⁹.
, 16 ByΦΖ ,
16 ByΦΖ .
, 8 ByΦΖ 0 8 ⁸
⁹, 4 ByΦΖ 0 4
8 12 ⁸ ⁹, . . .
ηβζβμ
, -
. , -
, -
.
,
. -
,
. -
⁸ ⁹
, -
. ⁸
⁹, -
91
3.
. ,
‘ ’ ⁸ΔΒΔΙΖ ΞΖΞΠΤy⁹.
, , -
.
:Ό -
⁸ ⁹ , -
. , -
⁸ΔΒΔΙΖ ΙΚΦ⁹ .
, ⁸ΔΒΔΙΖ
ΞΚΥΥ⁹ ⁸ -
⁹ .
, -
.
⁸ -
⁹.
: ,
.
-
,
-
.
-
,
.
. . 128 -
RAM.
1. ⁸ΕΚΤΖΔΦ ΞΒΡΡΖΕ⁹:
, ,
ΓΚΦ ⁸ΚΟΕΖΪ⁹ ⁸ΦΒΘ⁹. -
-
⁸ ⁹. -
ΓΚΦΥ
92
3.
, : -
= log2 ⁸ ⁹. ,
128 ⁸ 0 127⁹ ,
27 = 128 7 ΓΚΦ. ΓΚΦ -
, -
. , -
. -
, -
, ,
.
1 ΓyΦΖ, -
3.9. , -
ΦΒΘ ΚΟΕΖΪ. ΓΚΦ ΚΟΕΖΪ
ΦΒΘ. ΦΒΘ
,
.
.
64 ByΦΖ ByΦΖ. -
64 ⁸ 0 63⁹, 6
ΓΚΦ ⁸2 = 64⁹.
6
ΓΚΦ 12 ⁸
212 = 4096
ByΦΖΥ, ΦΒΘ 4 ΓΚΦ ⁸ ΓΚΦ⁹ ΚΟΕΖΪ 6 ΓΚΦ
⁸ ΓΚΦ⁹. 10 4AF h
010010101111b ΦΒΘ ΓΚΦΥ
010010b ΚΟΕΖΪ ΓΚΦΥ 101111b.
101111b, 47 ΦΒΘ 101111b
⁸
⁹ , ΦΒΘ -
, .
.Ό , -
,
1 ΓyΦΖ , ByΦΖ
⁸ 2 16⁹. ΓyΦΖ ΦΒΘ -
, , -
⁸ΓΧΤΥΦ ΦΤΒΟΥΗΖΤΥ⁹.
Ό yΦΖ , -
ByΦΖ .
93
3.
3.9:
1 ByΦΖ.
⁸ΠfΥΖΦ⁹, ΓΚΦ -
. ByΦΖ ,
ΓΚΦ
ByΦΖ. , 4 ByΦΖ, -
2 ΓΚΦ, 2
2 = 4, 16 4 ΓΚΦ ⁸2 = 16⁹.
4
3.10
ByΦΖ . -
, 2 ByΦΖ ,
64
2
2 ByΦΖ, 32 ,
5 ΓΚΦ ⁸2 = 32⁹
5
ΚΟΕΖΪ , 1 ΓΚΦ
ΠfΥΖΦ, ΦΒΘ, 4 ΓΚΦ ⁸
12ΓΚΦ⁹. , 4F h
010010101111b ΦΒΘ ΓΚΦΥ
010010b, ΚΟΕΖΪ ΓΚΦΥ 10111b ΠfΥΖΦ ΓΚΦ 1Γ ⁸ LSB⁹.
10111b, 23
ΦΒΘ 101111b,
94
3.
3.10:
ByΦΖ .
Ό , -
,
1- -1. ⁸
⁹ .
8
ΜΚΝΠΓyΦΖΥ 16 ByΦΖ. ,
512 . 32 ΓΚΦΥ 4
ΓΚΦ Π ΠfΥΖΦ 9 ΓΚΦ ΚΟΕΖΪ ⁸ ⁹,
19 ΓΚΦ ΦΒΘ,
ΜΚΝΠΓyΦΖ ⁸19 ΓΚΦ ∗29 = 9727 ΓΚΦ 1215 ByΦΖ⁹.
ΦΒΘ,
.
95
3.
2. · ⁸ ⁹ ⁸ΗΧΝΝy ΒΥΥΠΔΚΒΦΚΨΖ⁹:
, -
.
, ⁸ ⁹
-
. -
.
⁸
⁹, ⁸ -
⁹, . ,
. 3.11
.
3.11: .
3. ⁸ ⁹ ⁸ΥΖΦ ΒΥΥΠΔΚΒΦΚΨΖ⁹:
.Ό , , ΚΟΕΖΪ -
,
96
3.
, -
⁸ΥΖΦΥ⁹.
,
ΚΟΕΖΪ,
⁸ ⁹ -
. N N-
.
2- , 4- 8- . 3.12
.Ό -
, ΦΒΘήΚΟΕΖΪήΠfΥΖΦ.
ΚΟΕΖΪ , 2 .
ΦΒΘ ΦΒΘ
2 .
. ,
.
, .
3.12: -
.
97
3.
, -
. -
.
⁸
⁹ -
,
⁸ ⁹.
, 32 ΓΚΦ 4
ΓΚΦ Π ΠfΥΖΦ 8 ΓΚΦ ΚΟΕΖΪ ⁸ 9 -
⁹, 2 , 20 ΓΚΦ
ΦΒΘ. ΦΒΘ ΓΚΦ ⁸20 ΓΚΦ ∗28 = 5120 ΓΚΦ ΥΖΦ,
10240 ΓΚΦ 1280 ByΦΖ, ⁸
1215 ByΦΖ⁹. -
,
.
, ΦΒΘΥ 28ΓΚΦ ∗29
= 14336 1792 ByΦΖ. ,
.
, ,
.
.Ό
, ,
. -
.
-
-
. -
,
4
.
,
VLSI.
98
3.
⁸ ⁹.
ηβζβν
-
-
.
, -
1 1 ⁸1
⁹. .
⁸ΤΒΟΕΠΞ⁹
.Ό ,
. -
⁸ΝΖΒΥΦ ΤΖΔΖΟΦΝy ΧΥΖΕ⁹ -
, -
.
, -
.
, ⁸FIFO⁹, -
N ,
,
.
ηβζβεδ
Ό
.
-
. : ⁸Κ⁹
⁸ΩΤΚΦΖ-ΦΙΤΠΧΘΙ⁹ ⁸ΩΤΚΦΖ-ΓΒΔΜ⁹.
, -
, -
.Ό
, -
. ,
,
99
3.
. -
,
.Ό , -
, .
-
⁸ ⁹.
.
ΓΚΦ, ΓΚΦ ⁸ΕΚΤΦy⁹, ΦΒΘ. ,
ΓΚΦ 0 1,
.
,
ΩΤΚΦΖ-ΓΒΔΜ -
, -
-
.
, . -
,
,
, -
. ,
-
‘
’.
, -
. ROM -
. -
⁸ ⁹ ⁸ -
ROM PROM⁹. PROM
UV ⁸EPROM⁹, ⁸EEPROM⁹.
RAM ,
. RAM lΚΡ-lΠΡ
ΓΚΦ, RAM
,
.
RAM RAM ⁸DRAM⁹ .
,
, .
100
3.
/ -
.
. -
,
, .
ηβζβεε
. -
,
. ,
, -
. ,
.
, .
,
,
.
,
, ,
,
,
, , . , -
⁸ΔΒΔΙΖ⁹,
.
.
- -
, -
. -
,
, ,
.
ηβζβεζ
, .
101
3.
•
. RISC -
32 ΓΚΦ . 32 4 ByΦΖ
128 ΓyΦΖΥ, -
⁸ΟΒΟΠΥΖΔΠΟΕΥ⁹.
•
32 ΜΓyΦΖΥ, .
•
.
ΜΓyΦΖΥ -
.
• K RAM,
100 .
• RAM -
FΝΒΥΙ. MB GB
⁸ΞΚΝΚΥΖΔΠΟΕΥ⁹.
, -
, -
.
-
, -
. -
,
- , . -
RAM .
,
.
, -
. ,
, -
.
102
3.
ΓΚΦ , ’
, -
ΓΚΦ
.
ηβζβεη onαhip
ΠΟ-ΔΙΚΡ ⁸ -
⁹ ,
. , ΠΟ-ΔΙΚΡ
-
⁸ ⁹,
Πf-ΔΙΚΡ .
Onαhip RυM ΠΟ-
ΔΙΚΡ RAM ⁸ ΥΔΤΒΦΔΙ ΡΒΕ⁹,
:
• , , .
,
.
• ,
Πf-ΦΙΖ-ΥΙΖΝΗ .
.
• ⁸ ⁹ .
•
-
. , -
⁸ΚΟΦΖΤΤΧΡΦ ΤΖΥΡΠΟΥΖ ΦΚΞΖ⁹,
-
.
ΠΟ-ΔΙΚΡ RAM
,
.Ό
, ΠΟ-ΔΙΚΡ
RAM -
.Ό
.
103
3.
, . ,
,
ΔΒΔΙΖ.
ΠΟ-ΔΙΚΡ RAM -
, -
Ί21].
, -
.
, -
.
,
. ΠΟ-ΔΙΚΡ ,
.
, -
, ⁸
⁹, ⁸
⁹.
RISC
,
. -
, ,
.
DRAM ,
.
104
3.
. -
,
.
⁸ ⁹. -
, -
⁸
⁹ ⁸ ⁹.
• ⁸ΧΟΚiΖΕ⁹ .
, -
3.13.
• ⁸ΥΡΝΚΦ⁹.
,
.
, -
.
3.13: .
105
3.
.
, -
.
,
, -
.
, ,
,
.
,
⁸ ΓyΦΖΥ ⁹ -
.
3.14: .
ηβζβεθ
Ό , -
⁸
, ⁹.
,
CPU
106
3.
RAM. ,
-
. ,
-
,
, -
. , ,
. ,
.Ό ,
, .
, -
:
•
RAM, -
⁸
⁹.
• -
, .
• -
.
• -
⁸ ⁹, C ‘ΒΝΝΠΔ’
‘ΕΖΒΝΝΠΔ’,
.
• ,
.
• ⁸
⁹,
.
• ,
H
,
107
3.
1 ΓΚΦ. -
, ⁸ΞΖΞΠΤy ΞΒΡ⁹.
⁸ ⁹ .
-
.
, , -
⁸ΞΖΞΠΤy ΞΒΟΒΘΖΞΖΟΦ ΧΟΚΦ⁹.
. ,
⁸ΜΖΤΟΖΝ⁹
⁸ ⁹,
⁸ΧΥΖΤ⁹.
. , -
, -
. -
, -
, .
⁸(i) , -
(ii) ,
⁹ . -
,
: , .
⁸
- -ΥΧΡΖΤΨΚΥΠΤΥ⁹,
, . ,
ηβζβει
RAM ,
,
.
‘ ’ ,
-
108
3.
.
⁸ ⁹ ⁸
⁹.
, -
, . -
ηβζβεκ
, ,
, , .Ό
, -
.
.
0, -
, ,
. -
,
, ⁸ΥΙΒΤΖΕ⁹,
,
.
-
: ⁸ΔΠΕΖ / ΦΖΪΦ ΥΖΘΞΖΟΦ⁹, ⁸ΕΒΦΒ
ΥΖΘΞΖΟΦ⁹, ΓΥΥ ⁸ΓΝΠΔΜ ΥΦΒΤΦΚΟΘ ΥyΞΓΠΝ ΥΖΘΞΖΟΦ⁹,
⁸ΥΦΒΔΜ ΥΖΘΞΖΟΦ⁹. -
. -
⁸ -
⁹. ΓΓΥ
,
⁸ ⁹. , ΓΓΥ -
, .
-
.
, , -
, -
, ,
.
109
3.
-
, ⁸ -
⁹ . -
,
:
• ELF ⁸EΪΖΔΧΦΒΓΝΖ ΒΟΕ LΚΟΜΒΓΝΖ FΠΤΞΒΦ - -
⁹: UNI·, -
⁸ELF⁹, ,
, ELF ELF.
LΚΟΧΪ, FΤΖΖBSD ΨΪΆΠΤΜΥ⁸ΆRS⁹
ELF.
• JΒΨΒ ByΦΖ:
JΒΨΒ ΓyΦΖΥ 8 ΓΚΦ. ,
.
JΒΨΒ , -
. -
⁸
⁹, , ⁸ ⁹ -
⁸ ⁹. JΓΖΕ RT
JΒΨΒ ByΦΖ.
• COFF ⁸CΠΞΞΠΟ OΓΛΖΔΦ FΚΝΖ FΠΤΞΒΦ - ⁹:
⁸ ⁹
, COFF,
, -
COFF. ΆΚΟCE MΚΔΤΠΥΠt -
OS
COFF.
⁸ , -
, . .⁹. ,
. , ‘
’ ‘ ’
, .
110
3.
ηβη
.
: -
64 ΓΚΦ IΟΦΖΝ Ϊ86-64, -
. ,
, -
. -
⁸ . . IΟΦΖΝ ATOM⁹, -
⁸ . . TΖΪΒΥ IΟΥΦΤΧΞΖΟΦ TIC6201⁹,
8 ΓΚΦ ⁸ . . AVR ATMEGA328P⁹, 32
ΓΚΦ ⁸ . . ARM CΠΤΦΖΪ 15⁹, 32 ΓΚΦ ⁸MIPS R3000⁹, -
FPGA ⁸ΥΠt-ΔΠΤΖΥ, . .
AΝΦΖΤΒ NIOS II⁹ ⁸ASIC⁹,
, -
⁸iΟΚΦΖ ΥΦΒΦΖ ΞΒΔΙΚΟΖ⁹.
, , -
⁸ Ϊ86-64,
-
⁹. -
,
,
. ,
FPGA ASIC
.
ηβθ α
, ,
, . -
⁸ΥΦΠΤΖΕ-ΡΤΠΘΤΒΞ⁹, -
⁸ . .
FΝΒΥΙ⁹, RAM,
, .
, . . .
111
3.
, -
.
:
1. ⁸ΗΖΦΔΙ⁹
2. ⁸ΕΖΔΠΕΖ⁹
3. ⁸ΖΪΖΔΧΦΖ⁹
4. ⁸ΥΦΠΤΖ⁹
, , -
⁸IΟΥΦΤΧΔΦΚΠΟ RΖΘΚΥΦΖΤ⁹
.
‘1’ ’0’ .
2
⁸ 3.15⁹: ΓΚΦ,
⁸ . . 32 ΓΚΦ⁹
ΓΚΦ, 1 ByΦΖ, -
2 ByΦΖ, . . . ⁸ 31 ByΦΖ⁹
Ί22]. ΓΚΦ -
-
. ,
, .
, -
, -
⁸ . .
ΥΦΤΚΟΘ⁹.
. , -
: 1 , -
10 ,
1 - .
⁸ , 1 -
, , -
⁹ RISC ⁸ΤΖΕΧΔΖΕ ΚΟΥΦΤΧΔΦΚΠΟ ΥΖΦ
ΔΠΞΡΧΦΚΟΘ, ⁹, -
ARM MIPS. CISC ⁸ΔΠΞΡΝΖΪ ΚΟΥΦΤΧΔΦΚΠΟ ΥΖΦ
ΔΠΞΡΧΦΚΟΘ, ⁹, -
32 Ϊ86-64. , -
RISC 1 ,
112
3.
, CISC
-
, RISC
. 1970 -
CISC, ,
RISC CISC ⁸
IΟΦΖΝ Ϊ86⁹ - RISC. ,
RISC
⁸ CISC⁹ ,
RISC.
3.15: .
ΓΚΦ ⁸Β⁹ -
ΓΚΦ ⁸ ⁹ ,
,
.
: ΑDD ΑΧ,ΒΧ,
A· B· -
A·. , :
ΑDDS R1,R2,R3, R2
R3 R1. Ό
.
, 1 2 3 . -
⁸ 3.15 0
1 2 3 ⁹.
113
3.
ηβθβε
Ό -
1 0 . 1 0,
, . . 11100011.
⁸ -
⁹ ⁸ ASCII
⁹.
, . -
⁸ΔΠΕΖ⁹, , -
.
.
.
ΠΡΔΠΕΖ ⁸ ⁹
ΠΡΖΤΒΟΕ⁸Υ⁹ ⁸ ⁹.
-
. ,
⁸AΥΥΖΞΓΝy⁹.
, -
, C,
, ⁸ΒΥΥΖΞΓΝy⁹
, ΓΚΦ 0
1 . , -
.
, -
,
. 3.16 -
, -
8086.
ByΦΖ ⁸ ⁸ ⁹⁹.
⁸Κ⁹ -
, ⁸ΚΚ⁹ ⁸ΚΚΚ⁹
. 3
⁸IΟΥΦΤΧΔΦΚΠΟ SΖΦ⁹. Ό 3.16 -
3 ByΦΖ, 2 . ByΦΖ
.
114
3.
3.16:
⁸ ⁹, ⁸ ⁹,
⁸ ⁹.
3.1:
.
, -
115
3.
,
:
ξ , ⁸ / ,
⁹
ξ , , ,
ξ , , , -
, ,
γ ξ
ξ , -
ξ ,
ξ ⁸ΨΖΔΦΠΤ
ΡΤΠΔΖΥΥΚΟΘ⁹
, ,
, -
.
,
. , ,
ARM, ,
. , -
, FPU, -
,
⁸NEON⁹. ARM, -
⁸ , -
, ⁹.
ηβθβζ
Ό
, .
-
. -
, ,
116
3.
-
,
, ,
-
, ,
. 3.17 -
, ⁸ΔΠΟΦΤΠΝ ΧΟΚΦ⁹, ⁸ΤΖΘΚΥΦΖΤΥ⁹,
⁸ΒΤΚΦΙΞΖΦΚΔ ⁶ ΝΠΘΚΔΒΝ ΧΟΚΦ, ALU⁹,
/ ⁸ / ⁹.
,
/ ⁸ / ⁹ -
. ,
.
3.17: ,
, .
Ό , 4 . -
1 , -
RISC ⁸ΞΖΞΠΤy
ΒΔΔΖΥΥ⁹ ⁸ΆΤΚΦΖ BΒΔΜ⁹, 5 -
:
1. ⁸ΗΖΦΔΙ⁹
2. ⁸ΕΖΔΠΕΖ⁹
3. ⁸ΖΪΖΔΧΦΖ⁹
117
3.
4. ⁸ / ⁹ ⁸ΞΖΞΠΤy ΒΔΔΖΥΥ⁹
5. ⁸ΆΤΚΦΖ BΒΔΜ⁹
, ,
⁸ 3.18⁹. , -
,
,
, -
.
3.18: , -
.
. ,
, ⁸ ⁹
, -
. 3.19
. 0,
FΖΦΔΙ. Ό
DΖΔΠΕΖ,
FΖΦΔΙ. Φ=3, -
FΖΦΔΙ DΖΔΠΕΖ, ΖΪΖΔΧΦΖ, 2
DΖΔΠΕΖ .
5 -
5 .
118
3.
.
5 ⁸ MIPS R3000⁹,
15 ARM CΠΤΦΖΪ A15,
ΗΖΦΔΙ 5 , DΖΔΠΕΖ 7
3 , 4
. ,
:
⁸ΚΟΦΖΘΖΤ ΡΚΡΖΝΚΟΖ⁹, ⁸lΠΒΦΚΟΘ
ΡΠΚΟΦ ΧΟΚΦ ΡΚΡΖΝΚΟΖ⁹.
3.19: ,
.
-
MIPS, 3.20σ.
5
. IΟΥΦΤΧΔΦΚΠΟ FΖΦΔΙ,
,
⁸ΞΖΞΠΤy⁹, -
. , ⁸ΒΕΕΖΤ⁹,
+4 ⁸ ⁹,
32 ΓΚΦ.
, ⁸ΤΖΘΚΥΦΖΤΥ⁹
⁸ΤΖΘΚΥΦΖΤ iΝΖ⁹. -
⁸ΥΚΘΟ ΖΪΦΖΟΥΚΠΟ⁹
σΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:MIPSΐAΤΔΙΚΦΖΔΦΧΤΖΐ⁸PΚΡΖΝΚΟΖΕ⁹.ΥΨΘ
119
3.
, . , -
ALU ,
,
.
,
, -
⁸ ⁹.
,
⁸ΕΒΦΒΡΒΦΙ⁹ .
3.20:
MIPS. ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
, -
,
-
. ,
,
, . ,
⁸
ΞΠΕΖΞ/ΤΠΧΦΖΤΥ⁹, -
.
,
,
. , k
120
3.
⁸ ⁹ -
k. Ό ,
, -
. : ⁸Κ⁹ , ⁸ΚΚ⁹ -
⁸ΚΚΚ⁹ .
2
. , 3.20,
2 5.
⁸ . .
/ ⁹ -
⁸ ’ ,
-
⁹.
, -
⁸+4 ByΦΖ MIPS⁹,
ByΦΖ -
. -
⁸
90⁵⁹
. , -
⁸ 4 5⁹. ,
, -
,
.
, -
⁸ . . 3 ALU, 2 FPU ⁹. Ό
, -
-
, ,
. -
, :
,
. ,
,
⁸ΤΖΥΖΤΨΒΦΚΠΟ ΥΦΒΦΚΠΟΥ⁹. ,
.
⁸ΥΧΡΖΤΥΔΒΝΒΤ⁹.
-
121
3.
⁸ΥΚΟΘΝΖ ΚΥΥΧΖ⁹, 4
⁸ΞΧΝΦΚΡΝΖ ΚΥΥΧΖ⁹,
-
. ,
⁸ΔΠΞΞΚΦΞΖΟΦ ΥΦΒΘΖ⁹ -
⁸ΤΖΦΚΤΖΞΖΟΦ ΥΦΒΘΖ⁹.
H , -
, ⁸ΨΖΤy ΝΠΟΘ ΚΟΥΦΤΧΔΦΚΠΟ
ΩΠΤΕ, VLIΆ⁹. ,
.Ό ⁸48 ΓΚΦ
128 ΓΚΦ⁹, ΠΡΔΠΕΖ
.
. -
, -
.
,
-
VLSI. , -
,
,
IΟΦΖΝ CΠΤΖ I7.
ηβι α
. -
,
. -
, ⁸
⁹, , -
-
.
, -
, -
, ,
122
3.
.
, ,
, -
⁸ 3.21⁹. Ό 3.21,
.
-
, ⁸ ⁹, -
⁸MΖΞΠΤy MΒΟΒΘΖΞΖΟΦ UΟΚΦ, MMU⁹, Π -
⁸DΚΤΖΔΦ MΖΞΠΤy AΔΔΖΥΥ, DMA⁹, ⁸ ⁹
, ⁸IP-
ΓΝΠΔΜΥ⁹ .
, .
,
SRAM DRAM, -
, ,
.
3.21: -
.
ηβιβε α
-
, .
⁸ΥyΥΦΖΞ ΝΖΨΖΝ⁹ -
123
3.
MIPS .
,
. -
-
. ,
, -
‘ ’ ⁸ΥyΟΔΙΤΠΟΠΧΥ⁹ ,
‘ ’ ⁸ΒΥyΟΔΙΤΠΟΠΧΥ⁹ . -
⁸ . . 833 MΙά, -
133 MΙά ⁹. -
.
⁸ MIPS⁹
. ,
. -
, AΕΨΒΟΔΖΕ MΚΔΤΠ DΖΨΚΔΖΥ ⁸AMD⁹ -
AMD 3200 MΙά PR 4000+ MΙά,
IΟΦΖΝ PΖΟΦΚΧΞ 4000 MΙά.
,
, , -
124
3.
MΠΠΤΖ Ί23].
O MΠΠΤΖ 1965,
FΒΚΤΔΙΚΝΕ. -
-
18 -
. , MΠΠΤΖ , -
MΠΠΤΖ. 40 ,Π
MΠΠΤΖ .
, AMD INTEL,
,
⁸ 3.22⁹.
MΠΠΤΖ -
, ’ , . , -
-
,
, -
60⁵ ⁸ MΠΠΤΖ
, 3.23⁹. -
,
⁸
125
3.
⁹, - , -
,
-
. ,
-
2000.
3.23: MΠΠΤΖ
60⁵ .
,
, -
. ,
-
, ,
, .
-
.
-
.Ό , -
40 .
⁸ 1 KB 1
GB⁹ ⁸
8 MΙά 233 MΙά⁹. ,
,
-
126
3.
⁸ 3.24⁹.
60⁵ , -
7⁵,
50⁵ .
3.24: -
, -
⁸ΠΟ-ΔΙΚΡ ΞΖΞΠΤy⁹, -
.
⁸ΓΒΔΜΘΤΠΧΟΕ ΞΖΞΠΤy⁹, -
⁸ ⁹,
. , ,
,
⁸ KB⁹. ,
,
, , .
-
,
. ,
,
10 20 .
, -
127
3.
⁸ΥΦΒΝΝ⁹ .
3.25
⁸ MPEG4⁹, ,
‘ -
. , ,
-
.
, ,
“ ”
3.25: -
.
Ό , .
, -
, .
, -
.
ηβιβζ
, -
, . ,
128
3.
‘ ’, .
1990, , -
. ⁸ ⁹
. ,
⁸ ⁹,
,
.
,
,
. -
. , -
, , ,
-
. , , -
.
, .
, ,
18 ⁸ 3.23⁹.
⁸ 3.26⁹.
ΆΒt-ΙΠΧΤ,
80 ΆΒt.
, -
.
,
ΆΒt-ΙΠΧΤ, .
,
. -
100 ΆΙ/KΘ.
-
50 ΆΒt, 2 KΘ,
. , -
,
,
-
.
,
. -
129
3.
3.26: MΠΠΤΖ
.
-
, .Ό -
, ⁸ . .
, , -
⁹.
-
,
.
, -
. -
. -
,
. ,
, -
.
,
⁸ ⁹ . ,
,
.
,
⁸ΤΖΝΚΒΓΚΝΚΦy⁹. -
.
⁸VΖΤy LΒΤΘΖ SΔΒΝΖ IΟΦΖΘΤΒΦΚΠΟ, VLSI⁹
130
3.
.
10 C
◦
. , -
. , , -
, ,
.
.
⁸ ⁹ .
: -
, -
. ,
. ,
, ,
60⁵ - 80⁵ -
, -
.
Ό ,
⁸ ⁹ .
. -
-
, ,
. ,
, -
,
,
,
.Ό ,
,
,
-
, .
131
3.
ηβιβη
-
⁸ΞΚΝΝΚΠΟΥ ΚΟΥΦΤΧΔΦΚΠΟΥ ΡΖΤ
ΥΖΔΠΟΕ, MIPS⁹, -
, -
,
. -
-
MPEG. ,
.
-
-
.
.Ό ,
-
, . -
/ ,
. , -
,
.
,
-
, -
. ’ , ,
, .
, -
,
. ,
, -
. ,
,
- ⁸ΚΟ-ΡΝΒΔΖ ΠΡΦΚΞΚάΒΦΚΠΟΥ⁹.
, ε -
ε ε - ό
.
132
3.
, , -
-
. , , -
-
.
-
, , -
.
⁸ ⁹ ,
. ,
,
, .
Ό ,
, -
. , -
, -
. ,
⁸ΞΧΝΦΚΦΙΤΖΒΕΚΟΘ⁹ , -
.
,
.
ηβιβθ
. ,
,
-
. ,
. ,
-
. ,
RAM DRAM,
⁸ 3.27⁹.
Ό , -
. , , -
.
DRAM, -
133
3.
SRAM. -
DRAM,
⁸ , , . .⁹,
SDRAM - ΥyΟΔΙΤΠΟΠΧΥ DRAM, RDRAM - ΤΒΞΓΧΥ DRAM, EDO DRAM - ΖΪΦΖΟΕΖΕ
ΕΒΦΒ ΠΧΦ RAM . . , -
.
, DRAM
⁸ΓΧΤΥΦ⁹, ⁸ΓΒΟΜ⁹ . .,
, . -
,
.
-
Ί24].
, .
-
⁸IΟΥΦΤΧΔΦΚΠΟ MΖΞΠΤy⁹, ⁸ROM-RΖΒΕ
OΟΝy MΖΞΠΤy . -
,
.
-
.
. ROM
⁸ . . EΝΖΔΦΤΚΔΒΝΝy EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ ROM, EEPROM⁹, ,
, -
RO ,
.
, -
. Ό ,
.
ηβιβι
.
SRAM ,
134
3.
3.27: -
.
,
DRAM Ί25], Ί26]. -
, ⁸ΥΔΤΒΦΔΙΡΒΕ⁹
.
, -
.
, -
,
’ . ,
.
, ,
.
, , .
,
’ ,
’ .
⁸SRAM⁹,
,
, .
135
3.
, -
⁸ 3.27⁹.
⁸ -
L1, L1⁹
, -
’ .
⁸ . . L2
L3, L2, L3, 2-3
3-5 , ⁹. ,
,
,
-
.
-
.
. , -
.
.Ό
.Ό -
,
.
-
.
.
, ,
. -
⁸ΤΖΗΤΖΥΙ⁹ , -
. ,
,
,
. , ⁸ -
⁹
, ⁸ΞΖΞΠΤy
ΞΒΡΡΖΕ⁹. ,
⁸ΨΚΤΦΧΒΝ⁹ ⁸ . . 0-64 ⁹.
. , 0-1
L1, 1 -3 L2 . . . MMU
-
. 1-3
136
3.
·1-·2 , . . .
.
, ,
⁸DMA-DΚΤΖΔΦ MΖΞΠΤy AΔΔΖΥΥ⁹.
,
⁸ ⁹
. ⁸ -
⁹ , .
’
, , -
,
. -
‘ ’ ⁸DΚΤΖΔΦ MΖΞΠΤy
AΔΔΖΥΥ-DMA⁹. Ό , -
, -
DMA ⁸DMA CΠΟΦΤΠΝΝΖΤ⁹. H
DMA
, .
, ⁸
⁹ DMA. ,
, DMA,
. , DMA 4 , TI
C6201 Ί27].
‘ ’ .
-
, -
. -
AΕΨΒΟΔΖΕ RISC MΒΔΙΚΟΖΥ ⁸ARM⁹ LΦΕ
TΖΪΒΥ IΟΥΦΤΧΞΖΟΦΥ, . , -
-
. -
, -
,
.
, ARM LΦΕ
ARM7TDMI ARM7 Ί28]. -
ARM7
,
⁸MIPS/ΆΒt⁹
⁸MIPS/⁴⁹. Ό ,
137
3.
-
⁸RΖΕΧΔΖΕ IΟΥΦΤΧΔΦΚΠΟ SΖΦ CΠΞΡΧΦΖΤ - RISC⁹,
32 ΓΚΦ 16 32
ΓΚΦ 37 .
VΠΟ NΖΧΞΒΟ ,
. TDMI ARM7
hΧΞΓ ΚΟΥΦΤΧΔΦΚΠΟ ΥΖΦ ΩΚΦΙ DΖΓΧΘ, MΧΝΦΚΡΝΚΖΤ ΒΟΕ IΟΦΖΤΤΧΡΦ ,
hΧΞΓ, ,
,
. hΧΞΓ
32 ΓΚΦ 16 ΓΚΦ, 40⁵ -
.
, -
, 16 ΓΚΦ
32 ΓΚΦ .
32 ΓΚΦ.
, -
. 33 MΙά. -
32 ΓΚΦ,
4GB. 32, 16, 8 ΓΚΦ. ,
ARM7TDMI - ⁸ΝΠΒΕ-ΥΦΠΤΖ⁹
⁸
⁹. , -
.
ARM7TDMI -
ARM SΠtΩΒΤΖ DΖΨΖΝΠΡΞΖΟΦ TΠΠΝΜΚΦ Ί29]
⁸ 3.28⁹. -
, ⁸ΕΖΓΧΘΘΚΟΘ⁹
-
ARM.
ARM7TDMI. -
,
, -
. , -
.
.
AΕΨΒΟΔΖΕ RISC MΒΔΙΚΟΖΥ, -
-
138
3.
3.28: -
ARM7TDMI ARM SΠtΩΒΤΖ
DΖΨΖΝΠΡΞΖΟΦ TΠΠΝΜΚΦ
, TI C6201 Ί27].
-
TI C6201,
,
.Ό ,
200 MΙά, 5 ΟΥ , -
32 ΓΚΦ, 8
1500 MIPS. , 6 ⁸4 -
⁸ALU-AΤΚΦΙΞΖΦΚΔΒΝ LΠΘΚΔΒΝ UΟΚΦ⁹ 2 ⁹
- , ARM7TDMI, -
, . -
DMA . 8, 16 32 ΓΚΦ. 32 -
. -
139
3.
. , -
. , -
, ARM7TDMI, 150 -
⁸5 ARM7TDMI,
12 TI C6201⁹.
IP-ΓΝΠΔΜ ΒΔΔΖΝΖΤΒΦΠΤ. -
SRAM,
-
.
. ⁸
⁹, ,
.
, IP-ΓΝΠΔΜ -
. -
IP-ΓΝΠΔΜ -
ΊVHSIC ⁸VΖΤy HΚΘΙ SΡΖΖΕ
IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦΥ⁹ HΒΤΕΩΒΤΖ DΖΥΔΤΚΡΦΚΠΟ LΒΟΘΧΒΘΖ ⁸VHDL⁹].
, -
⁸ ⁹ -
, .
140
3.
3.29: TI C6201 -
CΠΕΖ CΠΞΡΠΥΖΤ SΦΧΕΚΠ Ψ2.0.
, ⁸ΡΤΠiΝΚΟΘ⁹
.
, IP-ΓΝΠΔΜ ,
,
. ,
IP-ΓΝΠΔΜ ,
,
, -
, ,
.
ηβκ
’
.
. ,
-
141
3.
, -
. - -
,
,
.
142
θ
,
-
, .
-
, ⁸
IΟΦΖΝ IA32 AMD64⁹,
⁸
⁹, -
, -
.
,
.
θβε
.
⁸ -
⁹, ⁸ -
⁹. -
⁸ ⁹
-
,
. -
⁸ΔΠΡΤΠΔΖΥΥΠΤ⁹ ⁸ΙΒΤΕΩΒΤΖ ΒΔΔΖΝΖΤΒΦΠΤ⁹.
143
4.
, -
.
, -
, ,
. , -
, -
. ,
, -
,
.
, ,
, .
Ό ,
, ⁸NRE⁹. -
, -
.
,
, -
, ,
. -
.
.
θβζ
, TΖΪΒΥ IΟΥΦΤΧΞΖΟΦΥ -
, -
.
7400,
NAND ⁸ 4.1⁹ϊ. -
TTL ⁸ΦΤΒΟΥΚΥΦΠΤ-ΦΤΒΟΥΚΥΦΠΤ ΝΠΘΚΔ ⁹,
⁸ΥΦΒΟΕΒΤΕ ΡΒΔΜΒΘΚΟΘ⁹ -
, . -
, , - , -
, , . ,
1960 1970
.
ϊΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:7400.ΛΡΘ
144
4.
7400 -
5400, ,
⁸ . . ⁹.
TΖΪΒΥ IΟΥΦΤΧΞΖΟΦΥ ,
TTL. -
⁸
⁹ ⁸ ‘L’,
74L00⁹,
SΔΙΠtΜy ⁸ ‘S’, 74S00⁹,
⁸ ‘LS’, 74LS00⁹,
⁸ΗΒΥΦ ‘F’, 74F00⁹,
⁸ΒΕΨΒΟΔΖΕ ΝΠΩ ΡΠΩΖΤ, ‘ L’,
74 L00⁹. TTL
⁸ΦΙΤΠΧΘΙ ΙΠΝΖ ΕΖΨΚΔΖΥ⁹,
.
4.1: H 7400
NAND.
LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-SA 3.0 ΨΚΒ CΠΞΞΠΟΥ ΩΚΜΚΡΖΕΚΒ.ΠΤΘ
TTL 7400 ,
55 .
, ⁸ΦΙΤΠΧΘΙ
ΙΠΝΖ ΕΖΨΚΔΖΥ⁹ ⁸ΥΧΤΗΒΔΖ
145
4.
ΞΠΧΟΦ⁹. ,
⁸ΓΤΖΒΕΓΠΒΤΕ⁹ ,
⁸ΝΖΘΒΔy ΕΚΘΚΦΒΝ ΥyΥΦΖΞΥ⁹ ⁸ΘΝΧΖ
ΝΠΘΚΔ⁹,
.
TTL -
.
, CMOS
⁸CΠΞΡΝΖΞΖΟΦΒΤy ΞΖΦΒΝ–ΠΪΚΕΖ–ΥΖΞΚΔΠΟΕΧΔΦΠΤ
- ⁹.
, -
Ο-MOS Ρ-MOS,
Ο Ρ , .
CMOS
7400 4000 TTL
.Ό , , 1980, -
CMOS
7400 ,
.
, ,
. -
SSI ⁸ΥΞΒΝΝ
ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ ⁹, -
MSI ⁸ΞΖΕΚΧΞ ΥΔΒΝΖ
ΚΟΦΖΘΤΒΦΖΕ ⁹. 200
200.000 LSI ⁸ΝΒΤΘΖ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ
⁹ 200.000 VLSI
⁸ΨΖΤy ΝΒΤΘΖ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ ⁹. -
VLSI ⁸ ⁹LSI ,
1980
LSI .
Ό
, -
. SSI,
555,
, VLSI -
.
, , -
.
146
4.
, ,
-
.Ό -
, ,
. -
⁸ΥΚΟΘΝΖ ΚΟ-ΝΚΟΖ ΡΒΔΜΒΘΖ⁹
⁸ 4.2σ⁹ ⁸ΕΧΒΝ ΚΟ-ΝΚΟΖ ΡΒΔΜΒΘΖ⁹ ⁸ 4.5τ⁹, -
1964 FΒΚΤΔΙΚΝΕ R⁶D. -
, -
,
⁸ 4.5⁹. ,
.
DIP ⁸ 4.4 ⁹ 8 14 16
DIP8, DIP14 DIP16 . , -
⁸ . . ⁹
, CDIP
⁸ ⁹, PDIP ⁸ ⁹, SPDIP ⁸1.778 ΞΞ -
⁹, SDIP ⁸7.62 ΞΞ ⁹. ,
QIP ⁸ΣΧΒΕ ΚΟ-ΝΚΟΖ
ΡΒΔΜΒΘΖ⁹ ⁸ 4.3 ⁹.
DIP SIL
⁸ 64⁹. Ό , -
. PGA ⁸ΡΚΟ
ΘΤΚΕ ΒΤΤΒy ⁹⁸ 4.6 ⁹. -
.
2.54 ΞΞ , -
⁸ ⁹.
PGA
,
⁸ ⁹
.
,
,
,
σΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/DΧΒΝΐΚΟ-ΝΚΟΖΐΡΒΔΜΒΘΖ#/ΞΖΕΚΒ/FΚΝΖ:SIL9ΐSTΐTDA4601.ΛΡΘ
τΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/DΧΒΝΐΚΟ-ΝΚΟΖΐΡΒΔΜΒΘΖ#/ΞΖΕΚΒ/FΚΝΖ:DIPΐΥΠΔΜΖΦΥ.ΛΡΘ
ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/DΧΒΝΐΚΟ-ΝΚΟΖΐΡΒΔΜΒΘΖ#/ΞΖΕΚΒ/FΚΝΖ:hΤΖΖΐICΐΔΚΤΔΧΚΦΐΔΙΚΡΥ.JPG
”R6511” Γy hΖBΧΘ ΒΦ ΦΙΖ GΖΤΞΒΟ ΝΒΟΘΧΒΘΖ ΆΚΜΚΡΖΕΚΒ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-SA 3.0 ΨΚΒ
CΠΞΞΠΟΥ - ΙtΡΥ://ΔΠΞΞΠΟΥ.ΩΚΜΚΞΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/FΚΝΖ:R6511.ΛΡΘ#/ΞΖΕΚΒ/FΚΝΖ:R6511.ΛΡΘ
ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/PΚΟΐΘΤΚΕΐΒΤΤΒy#/ΞΖΕΚΒ/FΚΝΖ:CyΤΚΪΐIBMΐCPUΐ6Ϊ86M·ΐPR200ΐΓΠtΠΞ.ΛΡΘ
147
4.
4.3: SIL
DIP
QIP .
4.2: SIL By hΖBΧΘ ΒΦ ΦΙΖ GΖΤΞΒΟ ΝΒΟΘΧΒΘΖ
1 - ΆΚΜΚΡΖΕΚΒ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-
. By I, NΠΓΓΚP. LΚΔΖΟΥΖΕ ΧΟΕΖΤ SA 3.0 ΨΚΒ CΠΞΞΠΟΥ.
CC BΈ-SA 3.0 ΨΚΒ CΠΞΞΠΟΥ ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
⁸ 4.7⁹ .
.
,
,
, -
, PGA .
BGA -
,
.
-
.
.Ό -
.
, -
, VLSI CAD/CAM/CAE.
ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/BΒΝΝΐΘΤΚΕΐΒΤΤΒy #/ΞΖΕΚΒ/FΚΝΖ:KΝΐIΟΦΖΝΐPΖΟΦΚΧΞΐMM·ΐΖΞΓΖΕΕΖΕΐBGAΐBΠtΠΞ.ΛΡ
148
4.
4.4: H DIP
2 - 4.5: DIP
. By KΚΞΞΠ PΒΝΠΥΒΒΤΚ - -
OΡΖΟPΙΠΦΠ.ΟΖΦ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ
PΧΓΝΚΔ DΠΞΒΚΟ ΨΚΒ CΠΞΞΠΟΥ. . LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ. SA 3.0 ΨΚΒ CΠΞΞΠΟΥ.
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
θβη
,
-
. ,
, -
, , , ,
.
.
,
. , -
.
, -
,
. ,
,
,
, .
149
4.
4.6: H PGA -
4.7: BGA -
.
EΤΚΔ GΒΓΒ ⁸SΦΚΟΘ⁹ ΩΚΜΚΡΖΕΚΒ.ΠΤΘ. . By KΠΟΥΦΒΟΦΚΟ
LΒΟάΖΦ - CPU ΔΠΝΝΖΔΦΚΠΟ KΠΟΥΦΒΟΦΚΟ
LΒΟάΖΦ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ CC BΈ-
SA 3.0 ΨΚΒ CΠΞΞΠΟΥ.
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
-
.
.
, , -
⁸ΤΖΘΚΥΦΖΤ ΦΤΒΟΥΗΖΤ ΝΖΨΖΝ, RTL⁹. -
, , .
,
-
.Ό ,
, -
.
-
⁸AΡΡΝΚΔΒΦΚΠΟ SΡΖΔΚiΔ
IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ, ASIC⁹.
. , ,
MΠΠΤΖ Ί23]. ’
,
ASIC -
Ί31],
150
4.
.
. , ASIC ⁸
⁹, -
⁸ 4.8⁹.
, ⁸ ⁹,
.
,
, , ⁸ -
⁹,
ASIC.
FPGA, ASIC,
-
, , -
.
, .
.
-
, -
, CPLD, FPGA, ASIC, SOC, PSOC, DSP, ASIP, ASSP, PAL, CPU, MCPU,
.
θβθ
4.8
. -
.
, , . -
/ ,
: , -
,
,
. , -
-
.
151
4.
,
-
, , . .
-
.
. , -
, . . -
ΨΚΕΖΠ . ,
, -
. , -
, -
, -
-
. , -
. -
/
⁸ΕΒΦΒ ΥΦΤΖΒΞΥ⁹,
,
⁸1
⁹ ⁸1
⁹ ⁸1
⁹, , -
⁸ 1
⁹.
,
, -
,
ΓΝΠΔΜ , .
.
1980, -
-
⁸ΝΒΤΘΖ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ LSI ΔΚΤΔΧΚΦΥ⁹, -
, - / , . , -
‘ ’ ⁸ΘΝΧΖ ΝΠΘΚΔ⁹
. ,
-
152
4.
4.8:
, .
. , -
-
⁸ ,
NRE⁹. , ·ΚΝΚΟΪ -
‘80 ⁸ 1984⁹
⁸FΚΖΝΕ PΤΠΘΤΒΞΞΒΓΝΖ GΒΦΖ
AΤΤΒyΥ, FPGA⁹, -
. ,
,
,
, -
.
153
4.
. ,
, -
⁸AΡΡΝΚΔΒΦΚΠΟ SΡΖΔΚiΔ IΟΥΦΤΧΔΦΚΠΟ SΖΦ
PΤΠΔΖΥΥΠΤ - ASIP⁹. Ό ,
4ΓΚΦ 8ΓΚΦ , ATMEGA328P. -
, ⁸ -
⁹ .
θβι
-
. -
. -
⁸ΞΚΔΤΠΔΠΟΦΤΠΝΝΖΤ, ΞC⁹
, -
MΙά KB RAM,
-
. ⁸ -
⁹, ,
⁸ -
⁹. -
: ,
. , -
⁸ ⁹
. -
, ⁸ΦΚΞΖΤΥ⁹,
⁸ΔΠΧΟΦΖΤΥ⁹, , -
⁸RS232 USB⁹ , -
⁸ΩΒΦΔΙΕΠΘ ΦΚΞΖΤΥ⁹, -
. , -
ΔΙΚΡ,
EEPROM, FLASH,
. , -
ΦΤΒΟΥΚΥΦΠΤ ,
154
4.
ΓΚΦ. , -
.
,
. ,
ATΞΖΘΒ328 AVR
2 ,2 ,
⁸ 1000 -
2⁴⁹.
, -
-
. ΞA
, ⁸ . . -
⁹,
⁸ ⁹ -
-
. , -
, -
.
, , -
⁸ΞΚΔΤΠΡΤΠΔΖΥΥΠΤ, ΞP⁹ ,
. -
ΞC -
. 3 ⁸ALU⁹, 2
⁸FPU⁹, 2 -
⁸SIMD⁹, DMA, ΨΚΕΖΠ
. -
ΞC.
ΞC,
⁸ΞΠΦΙΖΤΓΠΒΤΕ⁹ -
-
.
θβκ
, -
⁸FΧΝΝ HD 1080Ρ, 4 ,
8K⁹ MPEG4 264, -
155
4.
.
, ,
8ΓΚΦ. -
⁸ASIC⁹,
.
. -
-
⁸ΒΡΡΝΚΔΒΦΚΠΟ-ΥΡΖΔΚiΔ ΚΟΥΦΤΧΔΦΚΠΟ-ΥΖΦ ΡΤΠΔΖΥΥΠΤΥ - ASIP⁹,
⁸ C⁹. ,
. -
,
-
, , -
. ,
. ,
-
. , -
, -
, -
, -
. -
,
: , ,
, -
.
-
, ,
, -
.
156
4.
θβλ
, ASIP,
⁸DΚΘΚΦΒΝ SΚΘΟΒΝ PΤΠΔΖΥΥΠΤ - DSP⁹. DSP
.
, , -
⁸ ⁹ ⁸VΠΚΔΖ OΨΖΤ
IΟΦΖΤΟΖΦ PΤΠΦΠΔΠΝ, VOIP⁹, , .
, DSP , -
, . , DSP -
,
, . , DSP
,
,
-
. ,
DSP , -
⁸ΞΧΝΦΚΡΝy-ΒΔΔΧΞΧΝΒΦΖ ΧΟΚΦ, MAC⁹,
t = t + M [i] ∗ k . , DSP
. ,
DSP ,
DSP -
, -
. , DSP
,
. ,
DSP -
, , , , -
, .
θβμ
⁸AΡΡΝΚΔΒΦΚΠΟ-
ΥΡΖΔΚiΔ ΚΟΦΖΘΤΒΦΖΕ ΔΚΤΔΧΚΦΥ - ASICΥ⁹
-
. , -
,
90⁵ . ,
157
4.
ASIC ΓΚΦΔΠΚΟ
,
. ASIC
-
.
, ASIC
, -
. ASIC, -
: , -
, ⁸ ⁹,
, /
⁸ PCB⁹.
ASIC ,
,
ASIC ⁸ ⁹,
, -
⁸ CAD ⁹
.
-
: ASIC ⁸ΗΧΝΝ-ΔΧΥΦΠΞ⁹,
- ASIC ⁸ΥΖΞΚΔΧΥΦΠΞ⁹ -
⁸iΖΝΕ ΡΤΠΘΤΒΞΞΒΓΝΖ IC⁹,
4.9. H
⁸iΖΝΕ ΡΤΠΘΤΒΞΞΒΓΝΖ ΘΒΦΖ ΒΤΤΒyΥ, FPGA⁹,
.
ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/CMOS#/ΞΖΕΚΒ/FΚΝΖ:CΞΠΥΐΚΞΡΧΤΚΦyΐΡΤΠiΝΖ.PNG
158
4.
4.9: -
.
. ⁸ΝΒyΠΧΦ⁹.
,
,
. -
.
.
υSύχ
ASIC , -
,
4.11.
,
. -
-
, ⁸
⁹
159
4.
4.10: CMOS .
By RΖάΒ MΚΤΙΠΥΥΖΚΟΚ - ΠΤΚΘΚΟΒΝΝy ΧΡΝΠΒΕΖΕ ΦΠ ΖΟ.ΩΚΜΚΡΖΕΚΒ. LΚΔΖΟΥΖΕ ΧΟΕΖΤ PΧΓΝΚΔ
DΠΞΒΚΟ ΨΚΒ CΠΞΞΠΟΥ. ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
.
, -
.
-
,
⁸ΕΚΖ⁹. Ό , ,
, -
.
IP, -
. ,
‘ - ’ -
.
-
. -
-
⁸ . . , ⁹
⁸ . . ⁹.
,
- , -
- ASIC.
θβμβε υSύχ α
ASIC
160
4.
4.11: -
.
ASIC ,
.
, -
,
,
. -
- ⁸ΥΖΞΚΔΧΥΦΠΞ⁹. - -
. ,
- -
. -
- -
⁸ΘΒΦΖ ΒΤΤΒyΥ⁹ ⁸ΥΦΒΟΕΒΤΕ ΔΖΝΝ⁹.
: ASIC -
p n. -
⁸ΞΒΥΦΖΤ ΠΤ ΓΒΥΖ ΩΒΗΖΤΥ⁹, -
161
4.
.
,
.
, -
. ,
, CAD ⁸ΔΠΞΡΧΦΖΤ
ΒΚΕΖΕ ΕΖΥΚΘΟ, ⁹. -
. -
: ⁸ΔΙΒΟΟΖΝΖΕ⁹ ⁸ΔΙΒΟΟΖΝΝΖΥΥ⁹,
4.12.
,
⁸ ⁹ -
. ,
. , -
, . ,
⁸ ⁹
, .
4.12: : ΔΙΒΟΟΖΝΖΕ
ΔΙΒΟΟΖΝΝΖΥΥ.
162
4.
ASIC: , ,
, , lΚΡ-lΠΡΥ, -
. , -
, . -
.
CAD:
⁸ΙΒΤΕΩΒΤΖ ΕΖΥΔΤΚΡΦΚΠΟ ΝΒΟΘΧΒΘΖ
- HDL⁹ . ,
CAD ⁸ , -
⁹. -
, ,
4.13. , -
-
. , -
.
4.13: .
163
4.
θβμβζ υSύχ
ASIC :
• ⁸ΕΖΥΚΘΟ ΖΟΦΤy⁹: -
VHDL, VΖΤΚΝΠΘ
⁸ΥΔΙΖΞΒΦΚΔ ΖΕΚΦΠΤ⁹.
• ⁸ΝΠΘΚΔ ΥyΟΦΙΖΥΚΥ⁹:
ΟΖΦΝΚΥΦ, -
.
• ⁸ΥyΥΦΖΞ ΡΒΤΦΚΦΚΠΟΚΟΘ⁹: -
ASIC.
• ⁸ΓΖΙΒΨΚΠΤΒΝ ΥΚΞΧΝΒΦΚΠΟ⁹: -
.
• ⁸lΠΠΤΡΝΒΟΟΚΟΘ⁹: -
.
• ⁸ΡΝΒΔΖΞΖΟΦ⁹: .
• ⁸ΤΠΧΦΚΟΘ⁹:
.
• ⁸ΖΪΦΤΒΔΦΚΠΟ⁹:
• ⁸ΡΙyΥΚΔΒΝ ΥΚΞΧΝΒΦΚΠΟ⁹:
-
.
θβμβη α
άϊPGυέ
. ,
164
4.
. ,
⁸ ,
⁹ -
, -
. ,
, -
. , -
-
.
, -
⁸ ⁹ . ,
,
-
. , -
.
, -
, ΓΚΦΥΦΤΖΒΞ.
FPGA
-
, .
, -
.
, , -
, -
⁸‘ ’⁹ ΓΚΦ
.
⁸ΡΤΠΘΤΒΞΞΖΤΥ⁹, USB BΝΒΥΦΖΤ AΝΦΖΤΒ
JTAG PΤΠΘΤΒΞΞΖΤ ·ΚΝΚΟΪ, -
. , -
,
⁸FΚΖΝΕ PΤΠΘΤΒΞΞΒΓΝΖ GΒΦΖ
AΤΤΒyΥ - FPGA⁹. FPGAΥ -
, ⁸ΡΤΠΔΖΥΥΠΤ
ΔΠΤΖ⁹, .
,
ASIC.
165
4.
FPGA.
FPGA
,
, -
. -
, , FPGA
:
, - , -
,
. ,
, ,
. , FPGA
ASICΥ
.
, FPGA
PLD ⁸ΡΤΠΘΤΒΞΞΒΓΝΖ ΝΠΘΚΔ ΕΖΨΚΔΖΥ, ⁹
, -
.
NRE ASIC⁹,
, FPGAΥ PLDΥ -
NRE ⁸ ⁹
VLSI, -
-
.
⁸ -
⁹ ,
VLSI -
.
, FPGA PLD.
FPGAΥ PLDΥ ⁸ -
⁹,
166
4.
.
-
⁸ , ⁹
. ,
FPGA , IC
. . FPGA
1.2 ·C5VF·30T-1FFG665C, FPGA VΚΤΦΖΪ-5
2015 1000 , IC 1.4 -
CPU INTEL CORE I7-4790K 4.00GHΉ
LGA1150, 400 .
FPGA , -
FPGA IC
. ,
. , -
FPGAΥ PLDΥ -
,
’ ,
. ,
-
ΓΝΠΔΜ 32Ϊ32 ΡΚΪΖΝΥ.
ΓΝΠΔΜ
16Ϊ16. -
, -
, . ,
FPGA ,
,
. ,
FPGA
⁸iΤΥΦ ΓΒΦΔΙ⁹,
. -
,
. ,
ASIC, FPGA
HDL,
⁸ -
FPGA IC
ASIC IC⁹.
,
-
⁸SyΥΦΖΞ ΠΟ Β PΤΠΘΤΒΞΞΒΓΝΖ CΙΚΡ, SΠPC⁹.
SΠPCΥ -
167
4.
. :
,
ASIC, -
, .
SΠPC -
⁸ΠΟΖ-ΥΚάΖ-iΦΥ-ΒΝΝ⁹
.
,
ASIC.
FPGA/PLD SΠPC
.
AΝΦΖΤΒ ARM EΪΔΒΝΚΓΧΤ
·ΚΝΚΟΪ ΔΙΚΡΥ PPC VΚΤΦΖΪ-
II-PΤΠ ⁸ 4 FPGA⁹.
·ΚΝΚΟΪ ΉyΟΣ7000
ARM A9 MPCΠΤΖ, AΝΦΖΤΒ CyΔΝΠΟΖ V SOC,
ARM CΠΤΦΖΪ A9.
θβνβε ϊPGυ
FPGA -
.
FPGA , -
:
• ⁸ΝΠΘΚΔ ΓΝΠΔΜ⁹,
• ⁸ΤΠΧΦΚΟΘ⁹
• / ⁸I/O ΓΝΠΔΜ⁹.
FPGA
/ -
.
FPGA,
IC -
. FPGA,
,
168
4.
.
Ό FPGA , -
. 4.14
FPGA.
4.14: FPGA.
FPGA -
,
, /
, , -
.
,
/ . -
2- -
169
4.
ΓΚΦ. ⁸ΘΤΒΟΧΝΒΤΚΦy⁹ -
. -
FPGA. Ό , FPGA -
, .
,
.
-
, ⁸SRAM⁹,
- ⁸ΒΟΦΚΗΧΥΖ⁹ - ⁸ΟΠΟ-ΨΠΝΒΦΚΝΖ⁹.
-
, FPGA,
FPGA. -
⁸ . . FΝΒΥΙ⁹,
FPGA.
FPGA -
, -
.
-
FPGA .
θβνβζ
H FPGA
. -
.
-
,
. -
⁸ΝΠΠΜΧΡ-ΦΒΓΝΖ - LUT⁹. -
-
,
.
FPGA ,
, 4.15.
, -
, lΚΡ-lΠΡ
170
4.
4.15: FPGA ,
.
. -
,
lΚΡ-lΠΡ. , 4.15 -
, .
Ό ,
, -
, . , -
⁸LUT⁹.
4.16 2
3 .
Ό ,
, -
. n
2 n
.
, .
, LUT b7 b6 b5 b4 b3 b2 b1 b0 =
10000000, AND 3 .
1
⁸ s0, s1, s2⁹ 1 ’ 7
⁸s0, s1, s2 = 1, 1, 1⁹ 1.
171
4.
4.16:
FPGA.
. ,
2 s, a b
f = sa + s′ b. b 0, -
AND f = sa. , a 1,
OR f = s+b. , -
,
-
. FPGA
ACT3 AΔΦΖΝ.
,
3- ,
4-ΓΚΦ ⁸ ,
172
4.
8 ⁹. , -
, . ,
.
-
FPGA,
,
FPGA.
Ό
. -
,
.
ΓΚΦ .
, -
, -
⁸ΕΒΦΒΡΒΦΙ⁹.
4.17 .
4.17⁸Β⁹ 4.17⁸ ⁹ FPGA
, ,
. FPGA -
⁸ ⁹
⁸ 4.17⁸ ⁹⁹ 14/104 ⁸
14⁵⁹ ⁸ 4.17⁸ ⁹⁹ 9/28 -
⁸ 32⁵⁹. ,
,
.
. -
, -
,
-
. , ,
. ,
θβνβη
-
⁸ΥΩΚΦΔΙΖΥ⁹,
173
4.
4.17: Ό FPGA, -
,
. , -
⁸ ⁹, FPGA
, 14/104 ⁸ ⁹
9/28 ⁸ ⁹ IC .
⁸ ⁹.
FPGA.
-
, -
:
• ,
• .
174
4.
-
-
. -
4.18.
-
. -
⁸ΔΠΟΟΖΔΦΚΠΟ ΓΠΪ⁹.
·C4000 ·C3000 ·ΚΝΚΟΪ
.
4.18: FPGA .
Ό ,
.
4.19.
,
,
. -
-
. , -
, -
-
.
175
4.
4.19: FPGA .
,
.
FPGA
ACT3 AΔΦΖΝ.
-
,
. -
FPGA ⁸ 4.20⁹
, -
-
.
,
. -
-
. -
,
.
176
4.
4.20: FPGA, -
.
θβνβθ γ
, -
/ 4.21 -
FPGA. / ⁸ΦΤΚ-ΥΦΒΦΖ
ΓΧfΖΤΥ⁹ . -
, -
/
/ .
Ό / -
, , -
. FPGA,
⁸ΔΠΟΥΦΤΒΚΟΦΥ iΝΖ⁹
Π
⁸ΦΠΡ ΝΖΨΖΝ ΕΖΥΚΘΟ⁹.
FPGAΥ, -
-
/ . , / -
·ΚΝΚΟΪ VΚΤΦΖΪ-4 :
• 50 /
:
177
4.
4.21: FPGA.
–
,
• -
-
• .
θβνβι
,
FPGA ,
.
,
-
.
,
SRAM,
- ⁸ΒΟΦΚΗΧΥΖ⁹. FPGA -
.
178
4.
,
FPGA. , -
FPGA.
FPGA
- , -
SRAM ,
.
SRυM
SRAM. -
⁸ΡΒΥΥ-ΦΤΒΟΥΚΥΦΠΤΥ⁹,
SRAM . , -
SRAM.
. -
FPGA -
.Ό
-
⁸ . . FLASH EEPROM⁹. SRAM -
5 . -
, FPGA
.
SRAM
-
, .
-
FPGA -
,
-
.
α
SRAM, -
. -
- ⁸ΒΟΦΚΗΧΥΖ⁹ -
,
. - -
G ,
179
4.
. ,
. -
OΙΞ ⁸ ⁹ ,
. -
, -
FPGA
SRAM. , -
OΙΞ ⁸ ⁹
SRAM. ,
.
, -
SRAM,
EPROM, EEPROM
FΝΒΥΙ .
, , .
Ό , -
.
,
.
. -
EPROM,
EEPROM FΝΒΥΙ.
-
SRAM - ,
- SRAM.
-
, -
SRAM.
180
4.
θβνβκ
FPGAΥ -
. , -
. 4.22 4.23 2
, AΝΦΖΤΒ ·ΚΝΚΟΪ.
. -
CAD ⁸CΠΞΡΧΦΖΤ AΚΕΖΕ DΖΥΚΘΟ⁹, -
.
. -
- -
, , , , ,
.
-
FPGA :
• ⁸ΕΖΥΚΘΟ ΖΟΦΤy⁹: -
⁸ΥΔΙΖΞΒΦΚΔ ΖΕΚΦΠΤ⁹
181
4.
• ⁸ΕΖΥΚΘΟ ΥyΟΦΙΖΥΚΥ⁹:
⁸ VΖΤΚΝΠΘ VHDL⁹
-
. SΚΟΡΝΚΗy,
SyΟΠΡΥyΥ,
• ⁸ΞΒΡΡΚΟΘ⁹:
• ⁸ΡΝΒΔΖ⁹ ⁸ΤΠΧΦΖ⁹:
FPGA -
.
FPGA, ·ΚΝΚΟΪ, AΔΦΖΝ, AΝΦΖΤΒ,
• ⁸ΡΤΠΘΤΒΞ ΘΖΟΖΤΒΦΚΠΟ⁹:
ΓΚΦ-ΥΦΤΖΒΞ .
182
4.
• ⁸ΕΖΨΚΔΖ ΡΤΠΘΤΒΞΞΚΟΘ⁹:
ΓΚΦ-ΥΦΤΖΒΞ FPGA.
• ⁸ΕΖΥΚΘΟ ΨΖΤΚiΔΒΦΚΠΟ⁹: -
.
.
.
. ,
, ,
.
,
.
θβεδ α
Soχ
,
300 -
30⁵ , DSP, -
, ΔΙΚΡΥ .
,
-
, , 261
1976, 300
2015. Ό , -
71 2014
200 IC .
, ,
. -
2015
ΔΙΚΡ ⁸SΠC⁹ 3 ,
100 GHά, -
660 / . .
VLSI RΖΥΖΒΤΔΙ,
2014, 1018 ⁸ 4.24⁹,
⁸25 ,
75
ΙtΡ://ΩΩΩ.ΥΖΞΚΔΠΟΕΧΔΦΠΤΥ.ΠΤΘ/
183
4.
⁹. MΠΠΤΖ,
18
.
,
, , ‘ ’.
-
, ,
, , , . -
,
‘ ’ . -
2015 GΒΤΦΟΖΤ
9.2⁵
.
⁸ . . ⁹ -
⁸ ⁹ ⁸ . . ,
ΘΠΠΘΝΖ Ί33], Ί34]⁹. -
,
, .
4.24: 2014
25 .
184
4.
, .
.
ΦΚΞΖ-ΦΠ-ΞΒΤΜΖΦ,
, ,
⁸ . . , ⁹
-
. ,
, .
Ό , -
/ . ,
, -
.
IC , SΠC
, IP
.
18 . -
-
⁸250 ΩΒtΥ/ . ⁹,
.
,
-
.
.
,
,
.
,
ARM
IΟΦΖΝ, Ί35],
ΕΖ-ΗΒΔΦΠ .
Ό IC -
- , -
. -
24ΟΞ,
Ί36]. ,
ΔΙΚΡ . -
185
4.
, -
.
- – -
.
- : -
, HΆ/SΆ, -
. , -
.
Ό , -
VLSI
-
FPGA ,
⁸ΔΙΚΡ⁹, SyΥΦΖΞ-ΠΟ-CΙΚΡ ⁸SΠC⁹.
SΠC . ’ -
,
-
. , -
.
⁸ ⁹. ,
,
-
,
⁸ΡΝΧΘ-ΒΟΕ-
ΡΝΒy⁹ .
,
SΠC. SΠC -
, -
. , ,
, .
. -
-
⁸ΚΟΦΖΝΝΖΔΦΧΒΝ ΡΤΠΡΖΤΦy, IP⁹. , -
, -
, ,
, .
⁸ΥΠt⁹ RTL ⁸ΤΖΘΚΥΦΖΤ ΦΤΒΟΥΗΖΤ
186
4.
ΝΖΨΖΝ, ⁹,
⁸ΟΖΦΝΚΥΦΥ⁹.
, . -
VLSI . ,
IP -
. -
, ,
,
,
.
.
, , -
.
, -
. , -
- , -
, .
θβεδβε SOχ
SΠC -
. -
SΠC -
. ⁸4G⁹ -
, ,
. ,
,
. , ⁸
PDA⁹ ,
. OMAP TΖΪΒΥ
IΟΥΦΤΧΞΖΟΦΥ ⁸ 4.25ϊ⁰⁹ , -
. , OMAP1510
SΠC 200 Hά, C55Ϊ DSP
⁸ 400 MIPS⁹, 175 Hά ARM9 ⁸ -
210 MIPS⁹.
⁸ΝΠΔΒΝ ΓΒΟΜΥ⁹ ⁸ 192-KB
ϊ⁰ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/OMAP#/ΞΖΕΚΒ/FΚΝΖ:PΒΟΕΒBΠΒΤΕΐΕΖΥΔΤΚΓΖΕ.ΡΟΘ
187
4.
⁸ ⁹.
RISC -
,
.
C55Ϊ DSP .
-
. , , -
, DSP ARM.
Ό , ,
DSP
⁸ PI⁹,
C.
DSP, -
, .
DSP ⁸ -
, , , . .⁹, -
DSP.
OMAP ΨΚΕΖΠ 3G
. ΨΚΕΖΠ
⁸
⁹ -
⁸
, ,
⁹. ,
DSP ⁸
C55Ϊ ΔΠΕΖΔ⁹, ARM
188
4.
4.25: OMAP. TΠ -
⁸ TI OMAP 4430 SΠC PANDA SΠC BΠΒΤΕ⁹ DSP
. y ΡΒΟΕΒΓΠΒΤΕ.ΠΤΘ. LΚΔΖΟΥΖΕ
ΧΟΕΖΤ CC BΈ-SA 3.0 ΨΚΒ CΠΞΞΠΟΥ.
-
.
, , .
,
— -
-
. -
,
, -
.
. ,
-
CPUΥ ⁸PEΥ⁹.
⁸ΡΤΠΔΖΥΥΚΟΘ ΖΝΖΞΖΟΦΥ, PE⁹ , -
PEΥ . , -
.
189
4.
- /
-
.
, -
. ,
,
-
, -
.
, .Ό
, - /
,
, .
-
, -
. -
,
, .Ό -
, - /
. , -
θβεδβζ SOχ
SΠCΥ -
. , CΚΤΤΧΥ LΠΘΚΔ MΒΨΖΤΚΔΜ
EP9312 ⁸ 4.26⁹. SΠC
ARM920T, JΧΜΖΓΠΪ-
⁸ - ⁹. -
SΠC , -
, , . -
, -
, -
. -
, -
MΒΨΖΤΚΔΜ
.
SΠCΥ . ,
EP93121 5.7 CMOS
0,25 Ξ, ⁸200 MHά⁹ -
190
4.
⁸1,5 Ά⁹ .
EP9312 -
, , ,
⁸ . .,
, ,
⁹.
θβεδβη
‘ ’
SΠC, -
. -
SΠCΥ
. -
SΠC, ⁸
IP⁹. ⁸ -
⁹, SΠC
191
4.
. IP
, ,
. -
,
. IP
,
IP. -
IP ,
, .
-
ASIC.
. -
, -
,
.
⁸ΥΠΧΤΔΖ- ⁹
RTL ⁸ ⁹, , -
. -
, ,
, .
θβεδβθ
O - / -
-
. -
.
CPUΥ -
. ,
. ,
, .
.
/ -
PC ΓΧΥ ⁸ 4.27⁹.
FPGA
. -
-
192
4.
. ,
FPGA,
. FPGA
/ ,
.
FPGA FPGA ,
ΉyΟΣ7000 ·ΚΝΚΟΪ ⁸ 4.28⁹.
-
CPUΥ .
4.27: ,
FPGA . VΚΤΦΖΪ
6 FPGA ·ΚΝΚΟΪ PCI EΪΡΤΖΥΥ. ΪΚΝΚΟΪ.ΔΠΞ.
,
, -
.
ΥyΥΦΖΞΥ-ΠΟ-ΔΙΚΡΥ ⁸SΠC⁹ -
.
.
ΙΠΥΦ ⁸ ⁹.
. -
.
. -
,
193
4.
4.28:
FPGA .
·ΚΝΚΟΪ ΉyΓΠ,
ARM CΠΤΦΖΪ-A9 650 MΙά
FPGA 28000 .
,
.
. -
.
CPUΥ,
. .
,
-
. - -
, .
194
4.
θβεδβι χhip
,
-
, -
ΙΖΒΨy-ΕΧΦy 3D
. -
,
. ⁸SMP⁹
, -
, ⁸
⁹. SMP , -
,
,
.
-
, -
, -
⁸ ⁹,
. , ⁸
ΞΚΔΤΠΜΖΤΟΖΝΥ⁹ -
, . -
, -
DMA.
, -
.
⁸ ⁹,
ΞΚΔΤΠΜΖΤΟΖΝΥ -
.
-
.
SPMD ⁸ , ΥΚΟΘΝΖ
ΡΤΠΘΤΒΞ ΞΧΝΦΚΡΝΖ ΕΒΦΒ⁹,
-
.
SPMD .
⁸ . . ⁹ ⁸ -
, ⁹. , -
1970.
1980
195
4.
⁸
IΟΞΠΥ’Υ TΤΒΟΥΡΧΦΖΤΥ⁹
.
SMP
,
-
. SMP -
,
.
SΠCΥ .
: -
, -
; :
, . -
. , DSP
-
. , DSP -
, -
SMP ⁸ ⁹
196
4.
DSP ⁸ ⁹.
, .
-
.
, -
,
, .
, -
-
. -
DSP -
. ,
PCA IΟΦΖΝ TΖΪΒΥ IΟΥΦΤΧΞΖΟΦΥ OMAP
SΠC.
-
.
,
-
.
⁸ ARM⁹ -
⁸ DSP FPGA⁹,
-
. -
.
θβεε
-
. ,
, , -
FPGA. FPGA
, -
. ,
.
197
4.
198
ι
γΈ
Ό ,
, -
.
,
.
. -
-
,
, . -
-
.
ιβε
,
⁸ΡΤΠΔΖΥΥΚΟΘ ΖΝΖΞΖΟΦ, PE⁹ , -
, ASIC, -
. -
-
, 10⁴,
CHIP ⁸ 9⁴, 512MB RAM, 4MB FΝΒΥΙ,
ARM7, USB, HDMI, GPIO⁹ RΒΥΡΓΖΤΤy PΚ ΉΖΤΠ ⁸ 5⁴,
512MB RAM, ARM6, USB, HDMI, GPIO⁹. , -
⁸ΥΚΟΘΝΖ ΓΠΒΤΕ ΔΠΞΡΧΦΖΤΥ, SBC⁹,
, .Ό -
199
5.
, , ,
-
,
. .
, .
,
,
CHIP USB GPIO
USB
GPIO.
, -
.
⁸IΟΦΖΤΔΠΟΟΖΔΦΚΠΟ NΖΦΩΠΤΜ, IN⁹, -
- - ,
⁸ 5.1⁹.
5.1: -
- - .
3 :⁸ ⁹ ,⁸ ⁹ ,
⁸ ⁹ ⁸ 5.2⁹.
. -
, -
, ,
200
5.
. -
,
,
, . .,
. , -
, . -
, -
⁸ ,
, -
⁹.
5.2:
,
.
, -
, ⁸ . .
⁹, ⁸
, 5.3⁹, -
⁸ ⁹. -
. -
-
, ,
. ,
.
201
5.
5.3: -
. , -
3 ,
0 3 , 3
⁸ . . 1 0, -
ΓΚΦ⁹.
. :⁸ ⁹
⁸ ⁹ . ΓΚΦ ,
-
, 8
16 13 ΓΚΦ. , -
.
1990,
, . . -
.Ό ,
. .
-
.
,
. ,
,
. -
, ΓΚΦ
202
5.
. . -
,
. ,
.
,
⁸ PCI ΖΪΡΤΖΥΥ⁹
⁸ PCI ΖΪΡΤΖΥΥ Ϊ8, 8 ⁹.
. ,
- -
⁸ΡΠΚΟΦ-ΦΠ-ΡΠΚΟΦ⁹,
, . -
. , -
- - ⁸ . . RS232⁹
⁸ . . 1-ΩΚΤΖ⁹. , -
- -
⁸ . . AΔΔΖΝΖΤΒΦΖΕ GΤΒΡΙΚΔΥ PΠΤΦ, AGP⁹
⁸ . . PCI⁹.
.
.
⁸ 5.3⁹.
,
, -
⁸ ⁹.
,
.Ό ,
. -
, ΩΒΚΦ ΥΦΒΦΖΥ
⁸ ⁹.
, ,
. -
, -
, -
. . . -
,
,
, , 1 ,
2 , -
1 ⁸ 5.4⁹
203
5.
5.4: -
, .
5.5,
,
-
.Ό , 2 -
, ,
⁸
⁹. ,
, ,
.
5.5: ,
.
204
5.
.
, , -
,
-
. ,
ΓΚΦ
, ΓΚΦ . -
ΓΚΦ -
,
.
-
. ,
, ⁸ΓΧΥ ΞΒΥΦΖΤ⁹.
, .
, -
.
-
, .
.
⁸
⁹ , -
, ⁸ΦΠΜΖΟ⁹, -
.
, -
, ⁸ΓΧΤΥΦ⁹ ,
, -
ByΦΖ,
⁸ . . ⁹
. ,
, -
.
. -
. -
,
.
,
. , ⁸ . . -
⁹
205
5.
,
. -
, , -
⁸ , ΟΠΤΦΙ ΓΤΚΕΘΖ⁹ ⁸
⁹
, ⁸ , ΥΠΧΦΙ ΓΤΚΕΘΖ⁹
, , , ISA / .
⁸ 5.6⁹. , -
.
5.6:
.
⁸ ,
⁹,
- -
.Ό 5.7,
PCIΖ ⁸ΤΠΠΦ ΔΠΞΡΝΖΪ⁹ ,
, .
206
5.
5.7: ,
- - .
ιβζ Έ
, -
-
-
, ,
.
/ ⁸ / ⁹
. 8ΓΚΦ ,
, 32ΓΚΦ -
. / , -
.
2 / :⁸ ⁹
⁸ΡΠΝΝΚΟΘ⁹, ⁸ ⁹ ⁸ΚΟΦΖΤΤΧΡΦΥ⁹. Ό -
, 3 . -
.
207
5.
.
⁸ . . ⁹, -
.
.
.
SMS. -
. -
.
, .
/ .
,
, ,
⁸ΚΟΦΖΤΤΧΡΦ ΥΖΤΨΚΔΖ ΤΖΣΧΖΥΦ,
IRQ⁹. , -
⁸ΚΟΦΖΤΤΧΡΦ
ΒΔΜΟΠΩΝΖΕΘΖ⁹
⁸ΚΟΦΖΤΤΧΡΦ ΥΖΤΨΚΔΖ ΤΠΧΦΚΟΖ, ISR⁹. -
. -
,
.Ό -
, ,
-
. ,
,
⁸ΝΒΦΖΟΔy⁹, . -
, ARM ,
.
, -
.
,
,
. -
. ,
.
. ,
,
. -
208
5.
⁸ΨΖΔΦΠΤΖΕ ΚΟΦΖΤΤΧΡΦ⁹,
. -
,
⁸ΡΤΠΘΤΒΞΞΒΓΝΖ ΚΟΦΖΤΤΧΡΦ ΔΠΟΦΤΠΝΝΖΤ, PIC⁹,
, -
ISR. H IΟΦΖΝ
1990
89C59A. 10 , -
APIC 255 ,
/ , ,
.
ΔΙΚΡ . APIC
, -
.
,
. -
, -
, .
:
-
, . ,
. -
, -
⁸ΟΖΥΦΖΕ ΚΟΦΖΤΤΧΡΦΥ⁹, -
.
, . .
-
, ‘0’
, ‘1’ .
Ϊ86 IF ΒΥΥΖΞΓΝy CLI ⁸ΔΝΖΒΤ ΚΟΦΖΤΤΧΡΦΥ⁹
STI ⁸ΥΖΦ ΚΟΦΖΤΤΧΡΦΥ⁹, -
. , ARM MSR
, 1 0. Ό
, . -
, , -
. ,
, -
209
5.
DMA -
. -
, DMA
, ,
,
.
DMA,
,
.
/ , -
. -
/ -
.
. , -
IΟΦΖΝ, iέ ήuγ.
,
, -
. IΟΦΖΝ,
ΞΠΨ,
,
.
, . MIPS ARM -
.
210
5.
ιβη α
30 -
-
. IBM
1980, 8ΓΚΦ , ISA ⁸IΟΕΧΥΦΤy
SΦΒΟΕΒΤΕ AΥΥΠΔΚΒΦΚΠΟ⁹. -
IBM
IBM ⁸IBM PC ΔΠΞΡΒΦΚΓΝΖ⁹. -
16ΓΚΦ 32ΓΚΦ 1988
ISA ⁸ΖΪΦΖΟΕΖΕ ISA⁹. H IBM
,
MCA ⁸ΞΚΔΤΠΔΙΒΟΟΖΝ ΒΤΔΙΚΦΖΔΦΧΤΖ⁹. ,
EISA : PCI
⁸ΡΖΤΚΡΙΖΤΒΝ ΔΠΞΡΠΟΖΟΦ ΚΟΦΖΤΔΠΟΟΖΔΦ⁹ VESA ΝΠΔΒΝ ΓΧΥ. 5.1 -
1980
. -
.
-
IDE ⁸ PATA, PΒΤΒΝΝΖΝ ATA⁹
133 /ΥΖΔ, SATA ⁸ΥΖΤΚΒΝ
ATA⁹, 2GB/ΥΖΔ.
ISA EISA , -
.Ό , -
,
. -
,
DMA , -
.
,
. ,
. ,
20ΓΚΦ 1 1 .
.
PCI.
O PCI 1990 -
-
.
211
5.
5.1:
ΓΚΦΥ MΙά ⁸MB/ΥΖΔ⁹
8-ΓΚΦ ISA 8 8 4
16-ΓΚΦ ISA 16 8 8
EISA 32 8.33 33.3
32-ΓΚΦ PCI 32 33 133
64-ΓΚΦ PCI 64 33 266
1Ϊ AGP 64 66 266
8Ϊ AGP 64 533 2100
VL BUS 33 50 132
SCSI I/II 8 5 40
FAST SCSI 8 10 80
ΆΚΕΖ SCSI 16 10 60
UΝΦΤΒ SCSI 16 20 320
PCIΖ Ϊ1 1 2500 >500
RAMBUS 32 1066 4200
IDE / PATA 16 66 133
SATA 1.0 1 1500 150
SATA 2.0 1 - 300
SATA 3.0 1 - 600
SATA 3.2 1 - 1969
, -
. ISA 8MΙά,
32ΓΚΦ 33/66MΙά 3.3V
5V, 524MB/ΥΖΔ 64ΓΚΦ .Ό
ISA -
,
. -
,
, .
PCI
212
5.
32 ⁹, ,
. -
,
⁸ . .4 ⁹,
⁸ . . Ϊ8⁹,
.
. , ,
. -
,
⁸ΥΩΚΦΔΙ⁹, ⁸ΤΠΠΦ
ΔΠΞΡΝΖΪ⁹, . PCIΖ
.
,
,
-
. PCIΖ -
,
.
PCI ΖΪΡΤΖΥΥ, -
⁸ΝΠΩ ΨΠΝΦΒΘΖ ΕΚfΖΤΖΟΦΚΒΝ ΥΚΘΟΒΝΝΚΟΘ, LVDS⁹,
2 GΓΚΦ/Υ
ΞΆ. LVDS ,
. 2 -
ΓΚΦ, ΓΚΦ
. -
, ‘1’ ‘0’.
,
2
⁸ 5.8⁹. -
0.3 Ψ
0 1 1 0, GΓΚΦ.
1990, ARM
AΕΨΒΟΔΖΕ MΚΔΤΠΔΠΟΦΤΠΝΝΖΤ BΧΥ AΤΔΙΚΦΖΔΦΧΤΖ ⁸AMBA⁹, -
ΔΙΚΡ. AMBA -
ARM ⁸ . . 90⁵ -
⁹
. ARM , -
-
ARM ⁸ . . ASIC⁹.
AMBA 5 2013. ΕΖ ΗΒΔΦΠ ΥΦΒΟΕΒΤΕ
213
5.
SΠC, -
. -
,
. AHB/ -
128ΓΚΦ, -
, -
, , . . .
-
, , -
.
1994
7 ⁸ IBM, MΚΔΤΠΥΠt, ⁹,
⁸ΧΟΚΨΖΤΥΒΝ ΥΖΤΚΒΝ ΓΧΥ, USB⁹.
, .
,
3.1 ⁸ 5.2⁹. -
,
⁸ 500ΞA 3 5 VΠΝΦ⁹
. -
USB ⁸ΙΧΓ⁹. -
USB ⁸ΡΝΧΘ ΒΟΕ ΡΝΒy⁹
,
,
214
5.
⁸ΙΠΦ ΡΝΧΘΘΒΓΝΖ⁹, , -
⁸ ⁹,
⁸ . . -
⁹ -
USB USB. USB
, -
,
. 5Ξ,
-
. USB -
, -
. 5⁴,
RΒΥΡΓΖΤΤy ΡΚ άΖΤΠ, USB,
⁸ LAN⁹.
5.2: USB
USB
AΡΡΝΖ 1990 FΚΤΖΩΚΤΖ,
IEEE 1394. USB
:⁸ ⁹ FΚΤΖΩΚΤΖ ,
, ,⁸ ⁹
DMA,
⁸ USB⁹, ⁸ ⁹
⁸
30V 1.5 ⁹, ⁸ ⁹ FΚΤΖΩΚΤΖ ⁸
USB ⁹, ⁸ ⁹
FΚΤΖΩΚΤΖ 800 USB 2.0,
USB 3.0. TΠ FΚΤΖΩΚΤΖ
AΡΡΝΖ, ΦΙΧΟΕΖΤΓΠΝΦ,
USB 3.1 .
-
RS232 115200 ΓΡΥ 12V.
,
215
5.
2 . -
FPGA ,
.
RS232,
USB-RS232 . -
-
⁸BΒΥΚΔ IΟΡΧΦ OΧΦΡΧΦ SyΥΦΖΞ,
BIOS⁹ .
, RS422 1.5 KΞ
, RS485 RS422
, ΡΥ/2
, -
USB, 25 1284
, USB -
USB.
-
, 4-ΩΚΤΖ, 3-ΩΚΤΖ, 2-ΩΚΤΖ, 1-ΩΚΤΖ
216
5.
, -
.
I2 C. 1-ΩΚΤΖ -
. -
⁸ . . ⁹
.
CAN ⁸ΔΠΟΦΤΠΝΝΖΤ ΒΤΖΒ ΟΖΦΩΠΤΜ,
⁹, -
. -
. 1983 BΠΥΔΙ GΞΓH,
1988 BMΆ 8.
, ,
, .Ό -
2
120 . ,
-
217
5.
5.10: 2
C 2 .
ΓΚΦ , .
, .
,
, ΓΝΧΖΦΠΠΦΙ, ΆΚi, ΆΚ-MA·, 3G -
USB , -
. ,
, ESP8266
5⁴, 3.3 V, 802.11Γ
2 . -
BΝΧΖΦΠΠΦΙ
ΟRF24L01 2.4 GΙά
, .
, -
, , -
IΠT ⁸ΚΟΦΖΤΟΖΦ ΠΗ ΦΙΚΟΘΥ, ⁹. Ό ,
.
, -
.
ιβθ
-
. , -
218
5.
, -
1980 . -
,
4,3,2 1
.
219
5.
220
ύύ
221
κ
Ό , -
⁸ . . 3D , ΨΚΕΖΠ ΡΝΒyΖΤΥ⁹ ,
.Ό
, -
,
,
. , -
4-8 GB RAM,
Π 256-1024 MB -
. ,
-
⁸ PC⁹ -
,
.
:
6.1 , -
-
, -
. , 6.2
. ,
6.3,
. , 6.4,
.
223
6.
κβε
, -
. -
, -
⁸ -
⁹. ,
,
DDTΥ ⁸ΕyΟΒΞΚΔ ΕΒΦΒ ΦyΡΖ, ⁹,
. -
3D Ί37], Ί38],
, MPEG-4 VΚΥΧΒΝ TΖΪΦΧΤΖ CΠΕΖΤ ⁸VTC⁹ Ί39],
Ί40], 3D Ί41], Ί42], URL -
, IPΨ4 Ί43] Ί44].
,
⁸ΔΠΞΡΚΝΖ ΦΚΞΖ⁹, -
⁸ ⁹
. , 3D -
, 6.2.1,
. -
,
.
κβεβε ξ ηψ
3D Ί45]. ,
,
, -
3D Ί38].
: -
,
. -
-
3D ⁸ Ί45] -
1,75 C++⁹, -
, -
.
224
6.
⁸ ⁹ ,
⁸
6.1⁹. , .
640Ϊ489 ΡΚΪΖΝΥ 2.5 MB, -
. ,
, ⁸ΤΠΩ-ΕΠΞΚΟΒΦΖΕ⁹,
.
6.1:
⁸ ⁹: -
. , ⁸
,
⁹. .
DDT , 6.1. -
-
, , DDT
, DDT.
, SRAM,
Ί46],
225
6.
6.2: DDTΥ -
.
6.3: ΓΝΠΔΜΥ DM
KΚΟΘΥΝΖy .
226
6.
0.13 Ξ. -
⁸ . . , ⁹
⁸ . . -
⁹. -
,
.
6.1: DDT -
.
DDT
⁸B⁹ 0,13 Ξ
ΦΖΔΙ.⁸ J⁹
1.20*106 5.14Ϊ102 0.18Ϊ103
8.44Ϊ105 2.75Ϊ105 3.03Ϊ103
CM 6.24Ϊ104 1.08Ϊ105 4.48Ϊ104
1.84Ϊ104 3.62Ϊ102 0.02Ϊ101
1.66Ϊ104 3.07Ϊ102 0.02Ϊ101
2.14Ϊ106 3.86Ϊ105 4.80Ϊ104
-
⁸ 6.1⁹ DDTΥ
.
, DDT. DDTΥ
-
, -
,
. , CΒΟΕΚΕΒΦΖMΒΦΔΙΖΥ DDT
. , IΞΒΘΖMΒΦΔΙΖΥ . -
, CMCΠΡySΦΒΦΚΔ ,
⁸
CΒΟΕΚΕΒΦΖMΒΦΔΙΖΥ⁹, -
-
. ,
,
.
Ό , DDTΥ -
⁸ ⁹.
-
.
, -
,
227
6.
, BΖΥΦMΒΦΔΙΖΥ MΧΝΦΚMΒΦΔΙΖΥ. -
-
-
. , 3D ,
, ,
κβεβζ
’ -
, ⁸ ,
⁹, ⁸
⁹, 3D
. , ⁸ -
⁹
Ί47]. Ό , -
Ί37], Ί48]. , -
, STL ⁸SΦΒΟΕΒΤΕ TΖΞΡΝΒΦΖ LΚΓΤΒΤy, -
⁹ Ί49], Ί50] . ,
DDTΥ
.
,
⁸ . .
⁹ Ί51]. , -
-
. ,
. -
3D .
, -
. ,
Ί52] -
. ,
,
,
.
, -
.Ό ,
228
6.
-
, ⁸ -
⁹ .
,
⁸ . . , , 3D -
, .⁹
DDT , DDM
.
, , , -
: ,
, , -
-
⁸ . . 10 -
⁹.
, ,
. , -
.
, MPEG-4 ΨΚΕΖΠ ΡΝΒyΖΤ,
, -
,
: ΥΞΒΤΦΡΙΠΟΖ, PDA ⁸ ⁹,
ΘΒΞΚΟΘ .
⁸ .
⁹, -
, -
, -
. ,
, -
-
⁸ . . 15 20⁹,
-
: 50 70 -
.
229
6.
κβζ
Ό 6.1,
,
DDTΥ , , ,
-
Ί53].
-
,
. -
,
,
⁸ STL
Ί49]⁹.
, -
,
.
,
,
. , STL -
. ,
-
.
, -
, .
, ,
-
, ΓΝΠΔΜ -
. , -
ΓΝΠΔΜ, ΓΝΠΔΜ
, .
, -
⁸ΙΒΤΕΩΒΤΖ⁹,
.
.
. -
230
6.
ΓΝΠΔΜΥ. , -
.
, . -
ΓΝΠΔΜ
, ⁸
⁹.
-
⁸ABI⁹ Ί54].
, ,
ΓΝΠΔΜ
. ,
,
. , ΨΖΔΦΠΤ, -
, ΓΝΠΔΜ
, .Ό , ΨΖΔΦΠΤ -
. -
, .
, ,
ΓΝΠΔΜΥ. -
ΓΝΠΔΜ -
, -
. , ,
ΓΝΠΔΜ .
,
, .Ό ,
,
,
,
.
.
ΓΝΠΔΜ ⁸DDM⁹, Π
,
.
-
ΓΝΠΔΜ DDTΥ
. , -
,
,
. -
231
6.
ΓΝΠΔΜ. ,
,
.
Ό -
. ,
DDT -
. , DDM
. .
κβζβε α
DDTΥ
. -
,
, DDTΥ
⁸ . . STL Ί49] JΒΨΒ⁹. ,
DDTΥ.
, DDT,
. ,
DDTΥ. , STL Ί49],
-
C++. ,
ΒΕ-ΙΠΔ .
.
, STL, -
. ,
6.4.
DDTΥ, , -
STL.
• TΠ : ⁸
⁹, . -
,
, -
.
• : , -
.
.
232
6.
• : , -
, -
. ,
-
.
, STL -
, -
, -
⁸ΥΦΤΚΟΘΥ⁹.
, ⁸ ΥΦΤΚΟΘ⁹,
ΞΧΝΦΚΞΖΕΚΒ. -
’ .
• : -
, -
.
233
6.
• :
,
.
. , , -
,
. . -
,
:
,
Ί49].
STL,
6.5.
• :
. -
,
.
• E : -
,
• :
⁸ ⁹ -
.
• :
.
• :
.
234
6.
• E :
, . -
.
6.5: -
DDTΥ,
STL
,
. ,
DDT
. -
DDT. DDTΥ
, . ,
ΒΡΡΖΟΕ ⁸ ⁹
,
. ,
,
.
:
235
6.
• DDT.
DDT
. -
,
, -
DDT.
,
. , -
DDT,
.
• DDT.
DDT ,
. -
,
DDT .
DDTΥ , -
. DDTΥ
, , -
, .
6.3.3.
, -
, ΓΝΠΔΜΥ
. 6.3.
dαhoc
BΠΠΥΦ C++ Ί55], -
C++ STL,
236
6.
-
, , -
. ,
ΞΒΡ, ,
. ,
- ,
. ,
, -
-
. ,
,
.
,
. ’ ,
, . -
, -
. STL 6.3.3.
κβζβζ
DDM
DDTΥ ΓΝΠΔΜ ,
. ΓΝΠΔΜ -
.
Ί56], -
. DMM
,
.
: ΓΝΠΔΜ
ΓΝΠΔΜ .
ΓΝΠΔΜ
ΓΝΠΔΜ, ΓΝΠΔΜ ,
.
DMM :
237
6.
,
DMM , -
. .
,
. , -
.
6.6, / -
, . , ΓΝΠΔΜ
20 KB , , -
ΓΝΠΔΜ 40 KB. ,
DMM ΓΝΠΔΜ ,
. ,
DMM ΓΝΠΔΜ 40 KB . ,
ΓΝΠΔΜ
20 KB. -
,
ΓΝΠΔΜ 20 KB . DMM
ΓΝΠΔΜ 20 KB,
ΓΝΠΔΜ 40 K ,
,
ΓΝΠΔΜ 20 KB. 6.6,
DMM ΓΝΠΔΜ 40 KB
.Ό , -
, 40 KB, ΓΝΠΔΜ .
DMM
⁸ ⁹ -
⁸ ΓΝΠΔΜ ⁹.
, ΓΝΠΔΜ
20 KB .
. , DMM -
ΓΝΠΔΜ 20 KB 20 KB
. ,
ΓΝΠΔΜ -
ΓΝΠΔΜ. DMM
ΓΝΠΔΜ 20 KB ΓΝΠΔΜ 40 KB.
. -
238
6.
6.6: .
DMM Ί56], -
. , ,
/ -
. , -
, -
Ί57]. Ό DDTΥ,
DMM
-
:
1. ,
DDT. DMM
ΓΝΠΔΜ -
.
DMM ’ .
239
6.
2. -
, -
,
-
. ,
-
, -
,
, .
3. TΠ -
, -
. -
ΓΝΠΔΜ
.
, DMM -
.
κβη
Ό 6.2
-
.
, -
, .
,
.
,
.
, -
.
, -
.
⁸ . . -
, -
⁹. ,
.
240
6.
Ό , -
.
, -
⁸L1, L2, ⁹
, .
, ,
, ,
-
, .
, -
, ,
, -
. -
,
DDTΥ ⁸ ’
⁹ ,
. ,
. , -
- , ,
Ί58].
, -
, . ,
6.3.1. ,
6.3.2. ,
6.3.3 6.3.5.
κβηβε
’ ,
.
.
Ό 6.7, -
.
-
⁸ . . UΟΚiΖΕ
MΠΕΖΝΝΚΟΘ LΒΟΘΧΒΘΖ, UML Ί59]⁹. ,
241
6.
DDT. , -
Ί52].
,
- , DDTS -
, ,
, .
-
, .
6.3.2.
6.7: .
,
DDTΥ
. , DDTΥ :
, -
, -
. ,
, DDTΥ -
. , -
DDTΥ,
242
6.
⁸IΟΦΖΤΞΖΕΚΒΦΖ
VΒΤΚΒΓΝΖ RΖΞΠΨΒΝ, IVR⁹.
.
, -
. -
IVR , ,
. IVR 6.3.3.
6.8, DDT
⁸ -
⁹. .
,
6.8,
⁸ DDT,
⁹, -
. ’
⁸ ⁹ , -
,
. , DDT
. TΠ VR , -
/ ,
.
DDTΥ , -
PΒΤΖΦΠϊ -
, -
, ,
DDTΥ. DDT -
. ’ , Ί60], Ί52]. ,
Ί52]. 6.8, -
DDT , -
DDT , -
, .
, DDTΥ ,
ΓΝΠΔΜ DDTΥ, -
. DDT
ΓΝΠΔΜ , DDTΥ,
. -
, , ΨΖΔΦΠΤ
ϊ ΡΒΤΖΦΠ .
243
6.
vector<int> a;
for (int i = 0; i < SIZE; i++) {
if (h(i))
vector.push_back(f(i));
}
for (vector<int>::iterator i = a.begin(); i != a.end(); ++i) {
g(*i);
}
6.8: .
, -
, ΓΝΠΔΜ .
ΨΖΔΦΠΤ, ΓΝΠΔΜ -
,
ΨΖΔΦΠΤ ΓΝΠΔΜ -
. , ,
ΓΝΠΔΜ ,
ΓΝΠΔΜ,
, . ,
DDT . ’
DDM DDT. -
DDM -
6.3.5.
. -
,
.
,
.
6.3.6
244
6.
κβηβζ
α
,
6.3, -
. ,
, -
,
-
. ,
,
DDT.
⁸ . . STL Ί49]⁹, -
-
DDT DDTΥ. H
-
Ί61].
-
, -
.
, DDTΥ
, ,
, . -
-
,
. ,
DDTΥ , -
DDTΥ
-
.
κβηβη
DDT
, DDTΥ
. , -
,
, -
DDTΥ .
DDTΥ , -
245
6.
-
,
. , DDTΥ
Ί62], Ί63],
, -
⁸ ⁹
, -
Ί64]. -
,
DDT -
,
.
, -
DDT ,
DDT
C++, STL. ,
DDT ’
Ί65].
-
,
, -
. , -
ΔΙΚΡ , -
, -
,
.
IVR
, DDT
- .
, ,
DDT, DDT.
DDT,
, DDT,
’ .
246
6.
DDT Ί52].
κβηβθ
, DDTΥ -
, DDT .
DDTΥ, -
Π ⁸1⁹. ,
6.2 -
.
⁸
⁹.
6.2: -
AΡΡΖΟΕ PΤΖΡΖΟΕ
O⁸1⁹ O⁸1⁹ O⁸N⁹ O⁸N⁹ O⁸N⁹
O⁸N⁹ O⁸1⁹ O⁸1⁹ O⁸1⁹ O⁸1⁹
FΚΟΘΖΤΦΤΖΖ O⁸ΝΠΘ N⁹ O⁸1⁹ O⁸1⁹ O⁸ΝΠΘ N⁹ O⁸ΝΠΘ N⁹
Ό , , -
, .
.
DDT
. -
-
.
-
Ί60], Ί52]. ,
-
, -
DDT . , -
DDT ⁸ ⁹ -
. , -
Ί66],
Ί67]. ,
-
, ΦΒΓΝΖΦΥ ΟΠΦΖΓΠΠΜΥ -
. ,
247
6.
DDT
:
1.
DDT . -
, -
. 0⁸1⁹
, 0⁸ ⁹ , ‘ ’
DDT. ,
DDT ⁸1⁹
. -
, ,
2. DDT -
.
. -
,
ΓΝΠΔΜ -
. -
,
.
3.
DDT, ,
DDT. Ό ,
DDT .
-
-
,
DDT.
κβηβι
, -
.
DDT,
. -
⁸DDMR⁹, -
,
ΓΝΠΔΜ. ,
ΓΝΠΔΜ .
248
6.
,
.
, .
ΓΝΠΔΜ ,
, -
. -
, ΓΝΠΔΜ ,
ΓΝΠΔΜ
-
ΓΝΠΔΜ.
, ΓΝΠΔΜ
. ΓΝΠΔΜ -
.
ΓΝΠΔΜ
-
, ⁸CPU⁹, ΓΝΠΔΜ
. -
ΓyΦΖ,
ΓΝΠΔΜ ΓΝΠΔΜ
-
.
, -
. ,
.
,
’ .
κβηβκ α
, -
. -
,
,
,
. , -
249
6.
-
⁸DΒΦΒ TΤΒΟΥΗΖΤ ΒΟΕ SΦΠΤΒΘΖ EΪΡΝΠΤΒΦΚΠΟ, T-DTSE⁹, Ί68]. Ό
, -
-DTSE,
. , -
, -
.
κβθ
-
, ⁸ . . 3D ,
ΨΚΕΖΠ-ΡΝΒyΖΤΥ⁹
, -
.
-
, .
, -
,
,
-
.
250
λ
Ό ,
-
⁸ ⁹,
-
,
.
. -
,
.
.
λβε
-
,
, -
. 7.1 -
⁸ ⁹,
. ,
.
,
. ,
251
7.
,
. , -
,
.
, . -
,
.
-
. -
:
1.
.
2. -
.
3. -
. . ,
7.2. ,
7.3
. 7.4, -
-
. , 7.6
λβζ
-
: -
: .
:
.
252
7.
-
. -
: -
. -
.
⁸ . ,
, . .⁹.
7.1:
-
, .
.
, , μ ό -
-
.
: -
. -
.
,
, -
253
7.
7.2: -
.
, . 7.2
.
, -
λβζβε
-
: ;
-
.
⁸ ,
, , , .⁹,
,
, , .
, -
-
⁸ ⁹ ,
-
.
,
.
254
7.
7.3 -
. -
, -
, .
-
. -
⁸ DDT⁹ . -
, DDTΥ
,
.
-
.
. -
⁸ ⁹ -
ΓΝΠΔΜ -
⁸ ΓΝΠΔΜ⁹.
PΠΠΝ,
. , -
,
ΓyΦΖ.
,
,
.
⁸ ,
⁹. -
-
⁸ ⁹.
,
-
, , ,
, -
, , . .
-
, :
,
, -
. PΠΠΝ
255
7.
-
. , PΠΠΝ ,
, ΓyΦΖ
. PΠΠΝ , , -
, -
, PΠΠΝ, -
. ,
ΓΝΠΔΜ ⁸
ΓΝΠΔΜ ⁹
ΓΝΠΔΜ.
H
.
, ,
.
-
ΞΒΚΟ⁸⁹ -
.
, -
.
, -
,
,
- .
-
⁸ ⁹ -
, .
, -
.
256
7.
7.3:
-
.
257
7.
7.3.
Ί56] -
. -
,
-
. ,
⁸ PΠΠΝ⁹ -
-
⁸ .
, , -
, .⁹. PΠΠΝ -
,
, -
, . DMM, -
.
, , -
,
. -
-
,
.
,
, ΓΝΠΔΜ
⁸
⁹,
. , ΓΝΠΔΜ
ΓΝΠΔΜ,
,
-
ΓΝΠΔΜ.
DDT 7.3. ,
-
, -
,
⁸ ⁹, . , -
258
7.
-
. ,
⁸ , -
⁹. , -
-
. -
, -
. ,
λβη
,
. ,
-
. ,
, -
. -
,
,
. ,
.
,
, -
. ,
-
⁸
⁹, Ί69] -
.
259
7.
λβηβε α
-
,
. , -
:⁸ ⁹ ,
⁸ ⁹ ⁸ ⁹, ⁸ ⁹
,⁸ ⁹ - -
⁸⁹ -
.
, -
: ⁸ ⁹ -
.
, -
DDTΥ. , -
,
.
,
⁸ ,
⁹ ⁸
-
⁹. , ,
Ί61]. , -
, -
-
, .
-
.
-
, -
,
⁸ -
⁹, -
.
,
,
-
260
7.
, -
C++. ,
,
. -
,
, , -
.
-
⁸ ⁹ , -
μ ό. Ό
,
.
. , -
-
. ,
-
. . -
-
:
1 class DMMLogger {
2 enum LogType {
3 LOG_VAR_READ = 0,
4 LOG_VAR_WRITE = 1,
5 ...
6 LOG_MALLOC_END = 5,
7 ...
8 };
9
10 public :
11 inline static void log_read ( const void * addr , const unsigned int id ,
12 const size_t sz) {
13 write_header ( LOG_VAR_READ , 4* sizeof ( unsigned int )) << id <<
14 addr << sz << ( unsigned long ) pthread_self ();
15 }
16
17 inline static void log_malloc_end ( const unsigned int id ,
18 const size_t sz , const void * addr ) {
19 write_header ( LOG_MALLOC_END , 4* sizeof ( unsigned int )) << id <<
20 addr << sz << ( unsigned long ) pthread_self ();
21 }
22
23 private :
24 DMMLogger & write_header ( LogType logType , unsigned short logSize ) {
261
7.
-
, :
• μΥΔΠΡΖό
- ⁸ΔΠΟΦΤΠΝ-lΠΩ⁹.
:
262
7.
-
,
. ,
, , ,
.
,
-
⁸ , ⁹
-
.
• μAΝΝΠΔΒΦΖΕό
.
. , -
-
,
ΞΒΝΝΠΔ ΗΤΖΖ :
1 template <class Allocator >
2 class allocated {
3 public :
4 void * operator new( const size_t sz) {
5 return Allocator :: malloc (sz );
6 }
7 void operator delete ( void * p) {
8 return Allocator :: free (p);
9 }
10 void * operator new []( const size_t sz) {
11 return Allocator :: malloc (sz );
12 }
263
7.
⁸ ⁹,
:
1 class NewClass : public allocated < logged_allocator <1> > {
2 ...
3 };
• μVARό -
. , -
μ ό ,
-
. :
1 template <typename T, // Type of the wrapped object
2 int ID , // Id used in the proiling tokens
3 class Logger = DMMLogger ,
4 class Allocator = logged_allocator <ID , Logger > >
5 class var : public allocated < typename Allocator > {
6 public :
7 T data_ ;
8
9 // Constructor
10 template <typename T2 >
11 var( const T2 & data )
12 : data_ ( data )
13 {
14 Logger :: log_write (&( data_ ), ID , sizeof (T));
15 }
16
17 // Assignment operator from basic type
18 template <typename T2 >
19 var & operator = ( const T2 & data ) {
20 data_ = data ;
21 Logger :: log_write (&( data_ ), ID , sizeof (T));
22 return * this ;
23 }
24
25 // Assignment operator from wrapped type
26 template <typename T2 , int ID2 >
27 var & operator = ( const var <T2 , ID2 > & other ) {
28 Logger :: log_read (&( other . data_ ), ID2 , sizeof (T2 ));
29 data_ = other . data_ ;
30 Logger :: log_write (&( data_ ), ID , sizeof (T));
31 return * this ;
32 }
264
7.
33 };
-
,
. , -
,
,
. , -
, ’ ,
:
1 var <int , 1> var1 ;
2 var <int , 2> * pointer1 = new var <int , 2>;
3
4 struct A {
5 var <int , 3> foo ;
6 };
7 struct B {
8 A a;
9 var <int *, 4> bar ;
10 };
.
,
ΣΧΧΪ, -
,
, ΓΒά,
, -
’ :
1 var (int , 1) * quux ;
2 var (var(int , 2) *, 3) baz;
μVARό, -
, , -
.
• μVECTOR: ό
STL Ί49]
- .
, ,
- ,
Ί60]. STL
,
265
7.
-
⁸ . , , ,
.⁹. :
ΨΖΔΦΠΤ <ΚΟΦ , 1> ΒVΖΔΦΠΤ ;
, μVECTORό
μVARό -
, .
,
.
μ ό
.
λβηβζ α
-
,
, -
-
, .
. , -
,
, . , -
-
.
-
. -
. -
,
,
⁸ , ⁹ 1. -
,
⁸ , -
⁹ . , -
266
7.
,
,
,
. , -
⁸ .
⁹ ⁸ .
⁹.
1
. -
, . -
, -
.
DDT.
LΚΥΦΚΟΘ 7.1: ” ”
1 // event.type is variable read or write
2 process(event) {
3 Update application reads/writes counter
4 Update reads/writes counters of current control -low point
5 FindBlockOfAddress (event.address) =>
6 Update block reads/writes counter
7 Update DDT & DDT -instance reads/writes counter
8 }
. , -
ΓΝΠΔΜ, ΓΝΠΔΜ
ΓΝΠΔΜ. -
-
, Ί70]. , -
MΒΝΝΠΔBΖΘΚΟ MΒΝΝΠΔEΟΕ,
FΤΖΖBΖΘΚΟ FΤΖΖEΟΕ, -
. -
,
. 2
.
LΚΥΦΚΟΘ 7.2: ” ΓΝΠΔΜ”
1 process(event) {
2 case event of
3 AllocEnd ->
4 Create new live -block with event.size , event.address
5 and the control -low information from
267
7.
ΓΝΠΔΜ
, , -
. ,
⁸ DMA⁹ -
,
.
-
. , Ί71]
-
DMA . -
, -
, .
, -
.
⁸ . DRAM⁹,
. -
-
.
-
, -
. , , -
.
-
. -
268
7.
⁸ΝΠΠΜ-ΓΒΔΜ⁹.
, -
, 100
, -
.
LΚΥΦΚΟΘ 7.3: ” ”
1 process(event) {
2 case event of
3 DeallocEnd ->
4 FindBlockOfAddress (event.address) =>
5 Record last active transfer for the block
6 Destroy block
7 AllocEnd ->
8 Create new block with event.address
9 VarRead or
10 VarWrite ->
11 FindBlockOfAddress (event.address) =>
12 if consecutive access for event.threadID and
13 same direction (read/write) {
14 Update active transfer with event.address
15 } else {
16 Record last active transfer ( if any)
17 Create new transfer with event.address
18 }
19 }
,
,
. , -
, - ,
, -
.
. -
:
: .
: AAAABAAABAAABAAAB, -
ΨΒΤΚΒΓΝΖ1 ΨΒΤΚΒΓΝΖ2, :
: 4*Ί 3*Ί ], - ] : ΊΊ ], ] -
ΨΒΤΚΒΓΝΖ1 ΨΒΤΚΒΓΝΖ2 . ,
, ΨΒΤΚΒΓΝΖ1
, :
AAAABAAAAABAAABAB. , : -
: Ί4*Ί ], , 5*Ί ], , 3*Ί ], , , - ] : ΊΊ
], - ] - -
,
269
7.
-
, - . -
, : -
,
-
. -
,
. -
, .
Ί60].
λβθ α α
,
, -
. ,
. , -
-
. TCP/IP
DΖiΔΚΦ RΠΧΟΕ RΠΓΚΟ⁸DRR⁹, -
-
LΚΥΦΚΟΘ 7.4: ” - ”
1 Type Pattern a = case Kind of
2 Element => a
3 Pattern => record {
4 count :: Integer ,
5 pattern :: List (Pattern a)
6 }
7 current :: List (Pattern a)
270
7.
8 initialize () {
9 current = new List;
10 }
11 process(event) {
12 case event of
13 type -> patternize(new List(Element type ));
14 }
15 patternize(segment) {
16 n = segment.length;
17 if (n > windowsize || current.length == 0) {
18 current.append(segment );
19 }
20 if (current.get (-1). pattern == segment) {
21 // Segment its a pattern
22 // Increase pattern count
23 current.get (-1). count = current.get (-1). count + 1;
24 // Create a new segment to look for
25 segment = new List(current.get ( -1));
26 current.dropLast (1);
27 // Start fresh with higher -order pattern
28 patternize(segment );
29 } elseif (current.range(-n, -1) == segment) {
30 // Segment its another segment
31 // Drop the segment in current
32 current.dropLast(n);
33 // Create a new segment to look for
34 segment = new List(Pattern 2 segment );
35 // Start fresh with higher -order pattern
36 patternize(segment );
37 } else {
38 // Try to look for a bigger match
39 segment.prepend(current.get ( -1));
40 current.dropLast (1);
41 patternize(segment );
42 }
43 }
λβθβε
:
, ΓΝΠΔΜ
. :
LΚΥΦΚΟΘ 7.5: ” - -
”
1 Type Pattern a = case Kind of
2 Element => a
3 Pattern => List (Pattern a)
4 current :: List (Pattern a)
5 initialize () {
6 current = new List;
7 }
8 process(event) {
9 case event of
10 type -> patternize(new List(Element type ));
271
7.
11 }
12 patternize(segment) {
13 n = segment.length;
14 if (n > windowsize || current.length == 0) {
15 current.append(segment );
16 }
17 if (current.get (-1). pattern == segment) {
18 // Segment its a pattern
19 // Create a new segment to look for
20 segment = new List(current.get ( -1));
21 current.dropLast (1);
22 // Start fresh with higher -order pattern
23 patternize(segment );
24 } elseif (current.range(-n, -1) == segment) {
25 // Drop the segment in current
26 current.dropLast(n);
27 // Create a new segment to look for
28 if (n == 1) {
29 // Keep current segment , namely of one item.
30 } else {
31 // Generate a pattern out of multiple items.
32 segment = new List(Pattern segment );
33 }
34 // Start fresh with higher -order pattern
35 patternize(segment );
36 } else{
37 // Try to look for a bigger match
38 segment.prepend(current.get ( -1));
39 current.dropLast (1);
40 patternize(segment );
41 }
42 }
1.
-
.
2. ,
, ⁸ . -
, ⁹.
3.
ΞΒΝΝΠΔ⁸⁹ ΗΤΖΖ⁸⁹.
,
. -
,
-
, -
Ί56].
272
7.
4. ΓΝΠΔΜ
DMA ΓΝΠΔΜ -
⁸ -
⁹.
-
DMA, DRAM.
,
. ,
λβθβζ
TCP/IP -
. -
FIFO: -
.
Ί71]. ,
:
• . ⁸ ⁹ 73
, -
.
• . TCP/IP
.
• ⁸DES⁹.
.
• CΙΖΔΜΥΧΞ TCP.
• – . DRR
Ί72]. -
⁸ . CΚΥΔΠ
12000⁹.
. -
Ί73], ,
273
7.
-
, -
. , -
,
. -
,
. ,
. -
SRAM
DRAM ⁸ 7.1
⁹, Ί71].
⁸DMA⁹,
, , -
⁸
⁹.
, DRAM
DMA
, .
7.1: . SDRAM
PC100 CL = 2
100MHά.
/ 3.5 ΟJ
/ 10 ΟJ
CAS 2
2
2
2
/ 1
1.024
λβθβη
,
7.4.2.
, -
. -
:
274
7.
• , -
, -
.
• ,
ΓΝΠΔΜ , -
.
-
.
• ,
.
-
. -
.
. -
DRR.
, ,
-
-
.
-
,
.
, -
, FIFO
.
, -
. ,
-
.
-
-
.
275
7.
λβθβθ αψψTR
⁸DDTR⁹.
,
,
.
, -
, -
, .
,
. -
, . ,
, -
. -
⁸
⁹, -
-
.
-
DRR ⁸
μ ό⁹
⁸ μ ό⁹.
, -
.
,
-
. ,
⁸
Ί74]⁹:
1. .
2. .
276
7.
3. .
4. .
5. .
6. .
7. .
8. .
9. .
10. .
,
.
, -
.
,
, -
,
. ,
, .
-
, - .
, AI-BJ -
Λ . -
, 1-B3
DRR -
-
.
.
,
-
,
13.000. ,
,
.
, -
277
7.
, -
, -
⁸ 7.3⁹.
. -
.
⁸ ⁹ .
A3-B3, -
-
DRR -
.
11, 13 . 7.2 -
, -
A3-B3.
. A3-B3
μ ό 2 0.28⁵.
7.2:
3- 3 ⁵
01 4328501556 4247377390
02 3589773903 3530754848 1.91
03 8004231 8004231 1.67
04 1867812 1867812 0
05 9622944 9622944 0
06 25225070 25225070 0
07 192869416 192869416 0
08 183636289 183636289 0
09 12699747 12699747 0
10 45429504 45429504 0
11 239756665 239756665 0
12 19082840 19082840 0
13 250188588 250188588 0
0.28
278
7.
,
.
7.3 -
. , A3-B3
13 . -
⁸
⁹ 3.33⁵. , μ -
ό ,
-
.
7.3:
⁵
3- 3
01 9028421 8992232 0.40
02 7882678 7872560 0.13
03 1978361 1809807 9.31
04 47778 47778 0
05 992569 953663 4.08
06 2178989 2025122 7.60
07 186441 185851 0.32
08 174315 171398 1.70
09 1589535 1532995 3.69
10 3316557 3271309 1.38
11 760281 716898 6.05
12 772158 732497 5.41
13 471254 456433 3.25
3.33
λβθβι αψMMR
⁸
, 7.3⁹, -
,
.
279
7.
⁸
DM
⁹. ,
.
, DM
ΓΝΠΔΜ
⁸ . ΥΓΤΜ⁸⁹ ΞΞΒΡ⁸⁹⁹.
ΓΝΠΔΜ
⁸ -
⁹,
DRR .
-
, -
-
.
,
ΓΝΠΔΜ, ΓΝΠΔΜ
,
.
, ,
-
.Ό -
. ,
-
. , -
Ί56].
ΓΝΠΔΜ ,
- , -
.
⁸ PΠΠΝ
, 7.3⁹.
7.4 -
, .
,
ΓΝΠΔΜ. ,
ΓΝΠΔΜ
. , -
280
7.
7.4: μ ό
.
281
7.
PΠΠΝ ,
ΓΝΠΔΜ -
. , ,
ΓΝΠΔΜ -
-
.
ΡΠΠΝDΖΥΔΤΚΡΦΚΠΟ PΠΠΝ. ⁸ . 7.3⁹.
7.4:
.
DMM
DMM 1 KΚΟΘΥΝΖy- Ί126]
128 , 8-16384 ΓyΦΖΥ. -
DMM 2 40,
1460 1500
DMM 3 -
40, 1460, 1500, 92, 132,
256, 512 1024 ΓyΦΖΥ.
” ” ” ” -
DMM 4 -
40, 1460 1500 ΓyΦΖ,
DMM 5 40,
1460, 1500, 92 132 ΓyΦΖ ⁸ ⁹,
DMM 6 Ό DMM 2, -
ΓyΦΖΥ ⁸ ⁹
DMM 7 Ό DMM 3,
ΓyΦΖΥ ⁸ ⁹
DMM 8 Ό DMM 4,
ΓyΦΖΥ ⁸ ⁹
DMM 9 Ό DMM 5,
ΓyΦΖΥ ⁸ ⁹
282
7.
ΓΝΠΔΜ ΓyΦΖΥ . , -
.
TCP 0 ΓyΦΖΥ IP,
ΓyΦΖΥ 40 ΓyΦΖΥ TCP+IP -
, -
, , -
. ,
-
7.4. ,
PΠΠΝ, PΠΠΝ, AΝΝΠΔΒΦΚΠΟ IΟΗΠΤΞΒΦΚΠΟ, DyΟΒΞΚΔ DΒΦΒ, DyΟΒΞΚΔ DΒΦΒ IΟΥΦΒΟΔΖΥ
CΠΟΦΤΠΝ FΝΠΩ ⁸ . 7.3⁹
.
ΓΝΠΔΜ: μ ό ΓΝΠΔΜ
10⁵
. ΓΝΠΔΜ -
MTU. -
IEEE 802.11Γ, -
ΓΝΠΔΜ 40 ΓyΦΖΥ ΓΝΠΔΜ
1.500 ΓyΦΖΥ. ΓΝΠΔΜ
256, 512 1.024 ΓyΦΖΥ, .
. , -
ΓΝΠΔΜ , -
,
ΓΝΠΔΜ .
ΓΝΠΔΜ: -
ΓΝΠΔΜ . -
ΓΝΠΔΜ ⁸ MTU
⁹, ΓΝΠΔΜ
. , ΓΝΠΔΜ -
⁸
⁹,
ΓΝΠΔΜ. , -
,
-
ΓΝΠΔΜ .
:
283
7.
ΓΝΠΔΜ. -
, 40 ΓyΦΖΥ 1500 ΓyΦΖΥ,
ΓΝΠΔΜ .
PΠΠΝ -
PΠΠΝ , -
: , -
PΠΠΝ ΓΝΠΔΜ
PΠΠΝ. ,
ΓΝΠΔΜ, DMM
⁸ ⁹ ΓΝΠΔΜ
PΠΠΝ.
: PΠΠΝ,
. ⁸ΓΖΥΦ iΦ⁹ -
PΠΠΝ,
⁸iΤΥΦ iΦ⁹ .
PΠΠΝ, -
ΓΝΠΔΜ. -
ΓΝΠΔΜ
. PΠΠΝ -
,
DM
.
-
, 7.5
, -
. 2, 3, 6 7
. , DMMΥ 4, 5, 8 9
. DMM 1 10⁵
.
7.6 -
DMMΥ 1, 6
7. , 7.7 -
, -
ΓΝΠΔΜ, -
1⁵ ⁸ 1 2
⁹. ,
284
7.
⁸ TCP
⁹,
24⁵ . -
, DMMΥ 6 7
,
. -
. -
7.5: -
.
, -
ΓΝΠΔΜ
. , ΓΝΠΔΜ
, . -
ΓΝΠΔΜ . ,
-
,
. 7.5 -
285
7.
7.6:
: -
.
DMMΥ 6 7 -
, DMM6
⁸11 13⁹. DMM 1,
-
, DMMΥ 6 7 62.35⁵
62.33⁵, ⁸ 5 ⁹. , -
45.67⁵ 45.62⁵ ,
, ⁸ . 7.8⁹.
DMM ,
. 7.6
. -
, , DMMΥ 6 7
,
.
, 7.9
⁸ 14.18⁵ 08
5.98⁵ ⁹. -
,
7.10 -
. DMM 6 DMM 7 .
.
286
7.
7.7:
: -
.
. -
, ,
-
.
.
, -
.
,
, /
, . , -
ΓΝΠΔΜ
. DMM 6 ΓΝΠΔΜ
⁸40, 1460 1500 ΓyΦΖΥ⁹, -
ΓΝΠΔΜ. DMM 7
⁸92 132 ΓyΦΖΥ⁹,
⁸256, 512 1024 ΓyΦΖΥ⁹,
.
-
. 7.7 7.11
287
7.
, .
DDTΥ, -
: A3-B3. 7.8
, . -
, DMM 7
. ,
,
10.02⁵, 81.9⁵ ⁸ 10 ⁹.
, DMM 6
.
,
, -
ΓΝΠΔΜ -
, ΓΝΠΔΜ
. 7.12 -
,
. 7.13
⁸ ΓyΦΖΥ⁹ -
.
288
7.5: 9
IΟΡΧΦ DMM1⁸⁵⁹ DMM2⁸⁵⁹ DMM3⁸⁵⁹ DMM4⁸⁵⁹ DMM5⁸⁵⁹ DMM6⁸⁵⁹ DMM7⁸⁵⁹ DMM8⁸⁵⁹ DMM9⁸⁵⁹
01 0.67 0.01 0.01 5024.59 4881.74 0 0 4986.61 4454.37
02 1.30 0.18 0.19 2240.55 2220.80 0 0.01 2268.15 2239.02
7.
289
290
7.6:
IΟΡΧΦ DMM1⁸⁵⁹ DMM2⁸⁵⁹ DMM3⁸⁵⁹ DMM4⁸⁵⁹ DMM5⁸⁵⁹ DMM6⁸⁵⁹ DMM7⁸⁵⁹ DMM8⁸⁵⁹ DMM9⁸⁵⁹
01 0.01 0 0 40,41 39,26 0 0 40,10 35,82
02 0,01 0 0 20,38 20,20 0 0 20,63 20,36
03 4,11 0,76 0,73 20,38 20,74 0 0,03 15,46 16,18
04 9,10 1,84 1,95 42,34 41,53 0 0 29,76 29,24
05 9,06 2,43 2,41 46,09 47,11 0 0,07 35,56 38,13
06 4,05 1,01 1,02 30,07 30,19 0 0,06 20,81 21,88
07 13,87 4,03 4,14 63,55 63,61 0 0,11 68,00 70,74
08 16,53 4,85 4,85 65,94 65,99 0 0 65,20 65,41
09 8,93 2,40 2,42 45,54 43,53 0 0.,03 36,19 31,98
10 0,54 0 0 32,22 29,46 0 0 28,25 28,39
11 7,04 2,04 2,08 37,47 44,36 0 0,02 50,99 44,03
12 6,75 1,91 1,88 39,39 39,42 0 0,12 38,01 45,30
13 5,48 1,59 1,60 156,88 46,77 0 0.01 234,48 161,15
7.
7.8: DMM
DMM 6 7, DMM 1.
291
7.
7.9: -
: DMM 6 7
⁸DMM 1⁹.
7.10: -
: DMM 6
DMM 7
292
7.7:
IΟΡΧΦ ΥΖΦ DMM1 DMM2 DMM3 DMM4 DMM5 DMM6 DMM7 DMM8 DMM9
IΟΡΧΦ 01 9292957 9158053 9179392 9990414 10564220 9158542 9176738 10071532 10659022
IΟΡΧΦ 02 8261672 8114640 8146305 30344312 36688944 8069856 8100836 36775346 31719557
7.
IΟΡΧΦ 03 2324829 3101201 1955788 3138464 3084152 3191153 2141262 2508024 2668710
IΟΡΧΦ 04 583720 1068413 793154 805870 848280 858652 638234 564347 618625
IΟΡΧΦ 05 2041645 1541750 1541532 3707705 3590099 1240996 1229171 1346610 1232973
IΟΡΧΦ 06 3657349 4387276 3302356 9287451 9497449 4450461 2957479 7873662 7400638
IΟΡΧΦ 07 14509008 491348 488828 4030953 3985615 263972 261308 39644311 37313804
IΟΡΧΦ 08 16552416 535652 510296 4077566 3964176 279673 249007 26375050 26260057
IΟΡΧΦ 09 2280466 2576408 2257745 4787656 4938782 2135969 1938658 3025090 3396929
IΟΡΧΦ 10 3441933 9070597 6375234 3487045 3944477 9064424 6260861 3511306 3510688
IΟΡΧΦ 11 9476152 2228468 1261357 64222751 58511747 1946504 978527 10085511 13690317
IΟΡΧΦ 12 1959322 2038829 1417485 6459893 6600368 2093518 1122728 1581100 897078
IΟΡΧΦ 13 7667048 4888330 756467 2465793 2481203 4834146 600508 46420012 7808988
293
7.
7.11:
, -
.
, -
,
. -
, DMM 7, 40.26⁵ ⁸ 1562.44⁵
, DMM 1 -
⁹. , -
,
2996.77⁵ ⁸ ,
DMM 8⁹.
294
7.8:
IΟΡΧΦ DMM1⁸⁵⁹ DMM2⁸⁵⁹ DMM3⁸⁵⁹ DMM4⁸⁵⁹ DMM5⁸⁵⁹ DMM6⁸⁵⁹ DMM7⁸⁵⁹ DMM8⁸⁵⁹ DMM9⁸⁵⁹
01 1.5 0 0.2 9.1 15.3 0.0 0.2 10.0 16.4
02 2.4 0.6 0.9 276.0 354.6 0.0 0.4 355.7 293.1
7.
295
7.
7.12:
:
. DMM 7
, .
,
DMM7 . ,
7.4.6, -
ΓΝΠΔΜ -
.
λβθβκ blok
DMA
⁸ ⁹, -
. , -
DMA -
⁸ . -
μΥΔΤΒΦΔΙΡΒΕό Ί75]⁹.
DRAM
. -
,
.
DRAM -
. -
. ,
DMA ,
296
7.
7.13:
: -
.
. -
,
-
ΓΝΠΔΜ
DMA
DMA
DRAM. ,
ΓΝΠΔΜ .
ΓΝΠΔΜ -
, , ⁸ ⁹ -
⁸ , ΓΝΠΔΜ . 7.3⁹. -
DMA
.
⁸
⁹, -
DMA. ,
, DMA -
. , -
-
. ’ , ΓΝΠΔΜ
297
7.
DMA , DRAM -
-
. , DMA
DRAM , -
DMA
. , -
,
,
.
,
3 . -
. -
DMA ΓΝΠΔΜ 32 ΓyΦΖΥ ⁸ ⁹, -
DMA
⁸ ,
DMA , -
ΓyΦΖΥ ⁹. ,
DMA
32 ΓyΦΖΥ, DMA
DRAM
, -
Ί71] Ί58]
DMA -
. μ DMA ⁸NΠ
DMA⁹ό μ DMA ⁸DMA BΒΕ⁹ό μ DMA
⁸DMA ΠΡΦ⁹ό, .
DMA -
⁸ 43⁵
DMA DMM7⁹, DMA -
. ,
,
-
, .
7.14 :
, 33⁵ -
DMA.
298
7.
. ,
DMA
, 24⁵ -
DRAM, 14⁵
, 9⁵ -
.
7.14:
DMA . ΓΝΠΔΜ -
DMA
ΓΝΠΔΜ DMA -
DMA .
7.15 -
-
, DMA. , -
DMA -
, DMM 6 7. , -
, -
DMA , DMM 1.
:
DMA DMMΥ -
, DMA DMM,
6⁵ DRAM, 13⁵
9⁵
.
299
7.
7.15: -
DMA.
DMM 7 -
, DMM6 -
. , -
. ,
,
DMA. 7.16
-
, 0.30⁵ ⁸
DRAM⁹. , -
, DMM7
.
.
7.17 -
DMM7 DMA, -
DMMR DMA
. 43⁵ -
,
9⁵ . , -
DMA, 29⁵
DRAM 18⁵
.
300
7.
7.16:
DMA: -
DMM 6 7 .
λβι
-
,
. ’ , -
,
, . ,
. -
.Ό ,
DDTΥ
.
. -
-
, .
,
, -
301
7.
7.17: DMM
DMA.
μHΖΚΥΖΟΓΧΤΘό -
.
-
. , -
VΒΝΘΤΚΟΕ,
. ,
λβκ
-
-
, .
-
-
. -
,
, -
, -
. ,
-
.
.
302
7.
-
,
.
-
, : -
, ,
, -
.
, -
. ,
.
, -
-
-
, .
Ό , -
,
DDTΥ DMMΥ
⁸ ⁹
.
-
DDTR DMMR. -
⁸ ⁹
-
DDTR DMMR . ,
,
DDTR DMMR, .
303
7.
304
μ
Ό , -
-
,
. ,
,
, -
, ⁸ΕyΟΒΞΚΔ ΞΖΞΠΤy,
DM ⁹. , -
, . -
⁸ . MPEG4 ⁹ ,
, DM , -
.
⁸ ⁹ ϊ
-
.
, -
⁸ , 25⁵⁹
DM Ί76]. ,
, DM
, -
ϊ ΓΚΦΥ.
305
8.
. , -
. , DM,
,
Ί56]. , -
,
⁸ ⁹ -
. ,
⁸ . Ί77] ⁹ DM
.
, DM -
Ί78], Ί56],
-
DM, -
, -
,
. , -
, -
DM 45⁵ -
DM Ί76].
, DM, -
-
, -
.
. -
,
DM. , -
, -
DM,
.
, DM
,
, C
C++.
,
, -
DM ,
. ,
DM , -
. ,
306
8.
, -
DM . -
, : ⁸1⁹
DM
⁸2⁹ -
,
⁸ -
, ⁹ -
-
DM .
. 8.1,
-
. 8.2 -
DM ,
. 8.3 -
. 8.4 -
, -
.
8.5
. , -
8.6 .
μβε
DMΊ56].
, ,
⁸ . -
⁹ DM
. ,
ΝΚΟΧΪ LΖΒ DM Ί78] Ί56]
ΆΚΟΕΠΩΥ ⁸ , -
⁹ DM KΚΟΘΥΝΖy Ί79], Ί80], Ί56].
, ⁸ . Ί77]⁹
DM DM
Ί81] -
307
8.
, -
.Ό
, -
. , -
DM
DM .
,
DM
Ί78], Ί82], Ί56]. , -
Ί83],
DM ΓΝΠΔΜ
⁸ ⁹ , .
Ί56]. ,
DM
, -
⁸ . OΓΥΦΒΔΜΥ⁹ Ί56], Π
DM
/ ⁹. , Ί82] -
DM
, -
. ,
-
⁸ ⁹ DM
⁸ ⁹, JΒΨΒ, -
-
,
Ί84], Ί85]. ,
Ί86].
,
-
-
,
.
, -
DM. Ί87] -
ΓΝΠΔΜ -
,
ΓΧΕΕy. Ί88] -
SΠCDMMU ⁸ , -
308
8.
SOC. ,
.Ό
, -
,
.
,
, , -
,
μβζ
DM
Ί56],
, -
. -
, 8.2.1 -
DM,
. -
, 8.2.2
,
.
, 8.2.3 DM
.
μβζβε
DM -
, Ί56]. , -
309
8.
ΓΝΠΔΜ
ΓΝΠΔΜ
.
, ΓΝΠΔΜ -
, ‘ ’
ΓΝΠΔΜ. -
. ’ ,
ΓΝΠΔΜ
. ΄ ,
, ⁸ -
⁹, . -
, ,
DM .
ΓΝΠΔΜ
. ,
,
ΓΝΠΔΜ, -
. , -
DM,
,
DM ⁸ .
, , ⁹.
, -
DM -
.
, -
, .
,
,
. ,
, ’
. , , -
DM ⁸ , -
DM ⁹ DM ⁸ ,
DM⁹.
DM
310
8.
Ί56] DM .
DM Ί56]. -
-
8.1.
-
DM -
,
-
8.1. -
,
DM, .
• A. ΓΝΠΔΜ, -
ΓΝΠΔΜ -
DM . -
, ΓΝΠΔΜ ΓΝΠΔΜ -
. , -
⁸ DDTΥ⁹,
-
Ί67], Ί76] , -
DM. , ΓΝΠΔΜ -
ΓΝΠΔΜ DM,
. , ΓΝΠΔΜ -
ΓΝΠΔΜ
DM . ,
ΓΝΠΔΜ ,
-
. -
ΓΝΠΔΜ .
• . ΡΠΠΝ ,
ΡΠΠΝ ⁸ ⁹ ⁸ ⁹ DM -
.
ΡΠΠΝ
ΓΝΠΔΜ , -
ΡΠΠΝ ΓΝΠΔΜ. -
, ΡΠΠΝ
. -
DDTΥ
311
8.
-
ΡΠΠΝ Ί67], Ί76].
• . ΓΝΠΔΜ,
DM, -
ΓΝΠΔΜ . -
-
ΓΝΠΔΜ ΓΝΠΔΜ Ί56].
,
,
8.1 ,
DM.
ΓΝΠΔΜ
ΓΝΠΔΜ. ,
-
,
. , ΓΝΠΔΜ -
ΓΝΠΔΜ.
• . ΓΝΠΔΜ,
DM
, ΓΝΠΔΜ
. ’ , ΓΝΠΔΜ -
ΓΝΠΔΜ
ΓΝΠΔΜ. -
.
• . ΓΝΠΔΜ, -
DM -
, -
ΓΝΠΔΜ . ’ ,
ΓΝΠΔΜ, ΓΝΠΔΜ
. -
⁸
8.1, -
⁹.
μβζβζ
-
, . -
312
8.
8.1: DM
.
DM. -
, . ,
⁸ , ⁹, -
DM.
8.2. -
. ’ ,
⁸ 8.2⁹. , -
,
⁸ 8.2⁹.
.
8.2 :
• ’ , ΓΝΠΔΜ,
ΓΝΠΔΜ , -
ΓΝΠΔΜ , :
-
ΓΝΠΔΜ.
8.3.
• ΓΝΠΔΜ -
313
8.
8.2: -
.
314
8.
8.3:
DM.
ΡΠΠΝ
ΓΝΠΔΜ
ΓΝΠΔΜ.
ΓΝΠΔΜ .
,
DM.
, -
.
8.2
’ , ΓΝΠΔΜ
ΓΝΠΔΜ -
ΓΝΠΔΜ. ,
DM ⁸ , ⁹,
DM
. , -
, DM -
,
DM. ,
DM, DM -
,
⁸ 8.2.3 ⁹.
,
315
8.
ΓΝΠΔΜ,
ΓΝΠΔΜ ΓΝΠΔΜ.
ΓΝΠΔΜ. , ,
Ί89].
.
• , ΡΠΠΝ -
ΡΠΠΝ -
. -
ΡΠΠΝ
.
• , ΓΝΠΔΜ ΓΝΠΔΜ
, ΓΝΠΔΜ
,
. ,
-
ΓΝΠΔΜ -
.
-
ΓΝΠΔΜ ,
Ί67].
• , ΆΙΖΟ -
ΓΝΠΔΜ 8.3 -
,
. , -
,
DM. , -
-
, ⁸ . -
, , , ⁹. ,
, -
316
8.
μβζβη
-
DM,
⁸ 8.5 ⁹.
,
-
DM . , -
DM
DM . , -
C++ -
DM -
DM C++
Ί90].
μβη α
DM
, -
DM -
. , DM
DM. ,
8.3.1 -
DM. , 8.3.2 -
⁸ ⁹ -
,
-
. ,
8.3.2
-
DM.
317
8.
μβηβε
:
.
1.
, -
ΓΝΠΔΜ ΡΠΠΝ .
, ΓΝΠΔΜ
ΡΠΠΝ, :
• ⁸ . , , ⁹ ΓΝΠΔΜ -
ΓΝΠΔΜ ΓyΦΖΥ .
⁸ -
ΓΝΠΔΜ⁹ .
• ,
ΡΠΠΝ
. -
ΓΝΠΔΜ,
, -
.
⁸ ΡΠΠΝ -
⁹. -
,
. -
-
. -
-
,
Ί56]. -
C1.
,
. -
, 12 ΓyΦΖΥ
318
8.
2.
, ,
:
•
⁸ ΓΝΠΔΜ⁹. -
. . 100 ΓyΦΖΥ ΓΝΠΔΜ ΡΠΠΝ
20 ΓyΦΖΥ ΓΝΠΔΜ,
ΓΝΠΔΜ 100 ΓyΦΖΥ ΡΠΠΝ , 5 ΓΝΠΔΜ 20
ΓyΦΖΥ .
•
⁸ ΓΝΠΔΜ⁹. -
. , ΓΝΠΔΜ 50KB
, 500 ΓyΦΖΥ ΓΝΠΔΜ ΡΠΠΝ,
100 ΓyΦΖΥ ΓΝΠΔΜ
.
,
,
.
μβηβζ
α
-
– ⁸ ⁹
, -
.
DM Ί56],
, ΓΝΠΔΜ , -
.
Ό , -
,
, -
DM. ’ ,
ΓΝΠΔΜ ⁸ ,
6 7 70-80 ⁵ ⁹,
-
’ , ΓyΦΖΥ,
B. , DM
319
8.
,
. ,
, - ,
. , , ,⁸ Ί56] -
⁹, -
,
⁸ -
⁹, ⁸ -
⁹ ,
. ,
/ -
⁸ .
⁹ ⁸ . -
⁹. , -
DM,
-
. -
. ,
,
⁸ .
, , ⁹ -
. ,
.
, -
, DM
.
μβηβη
-
DM
-
, .
320
8.
⁸ , -
6 ,
DM⁹
-
, ⁸ , 1000
700 C++ ⁹, : -
Ί91] MPEG 4 ⁸VTC⁹ Ί40], -
Ί38], Ί41], Ί42] , -
Ί92] .
, ΡΠΠΝ Ί56]. -
,
. ,
.
: A2 -
ΓΝΠΔΜ A5
, ΓΝΠΔΜ. ,
, , ,
, ,
⁸ ,
⁹. , -
ΓΝΠΔΜ. ,
A⁸ , 1, A3 A4⁹. ,
, : A2->A5-
>E2->D2->E1->D1->B4->B1- >C1->A1->A3->A4.
8.4: .
, -
. , -
.
8.4.
A3 E2 D2. A3, -
,
, -
321
8.
.
, -
ΓΝΠΔΜ . -
A3,
E2 D2. , ΟΖΨΖΤ
A3, ΓΝΠΔΜ
-
. , DM -
ΓΝΠΔΜ, -
ΓΝΠΔΜ.
ΓΝΠΔΜ,
. , -
⁸ -
⁹,
⁸ ⁹
ΓΝΠΔΜ
. ,
E2 D2 ,
A3.
,
ΓΝΠΔΜ
,
Ί91].
8.5. -
, 10
10 . , -
1.000 ⁸ ⁹ ΓΝΠΔΜ ⁸10
ΓyΦΖΥ 20 500⁹.
8.1: DM
.
DM ⁸ ⁹
⁸1⁹ A3-D2/E2 2.392*10^2 7.005
⁸2⁹ D2/E2-A3 4.682*10 11.687
2-1 19.56
322
8.
,
.
DM, ΡΠΠΝ
ΓΝΠΔΜ
. DM
A3 D2/E2.
, A3 D2 E2. ,
DM,
ΓΝΠΔΜ. -
D2 E2 A3. ,
DM ⁸ , -
⁹, 7 ΓyΦΖΥ ΓΝΠΔΜ
: 2 ΓyΦΖΥ ,
2 ΓyΦΖΥ ⁸2 ⁹ 1 ΓyΦΖ ⁸ , ΓΠΠΝ⁹
.
8.1. -
, , 5 -
⁸ 2-1 8.1⁹. ,
-
⁸ 8.3.3 ⁹,
DM .
, D2 E2 -
A3 .
: DM
, -
,
66.83⁵. -
,
. ,
, -
2,
1⁸ -
⁹.
Ό ,
-
.
, -
,
.
323
8.
μβθ α
DM -
, -
DM
.
, 8.5. -
DM
, -
8.5.
DM , -
,
Ί90], Ί76] . -
. ’ ,
,
C++ -
Ί76]. , -
, 10 15 , -
ΞΚΟ ΞΒΪ.
8.5: -
DM.
,
8.5, DM
. -
⁸ . , ,
Ί93]⁹ ,
. -
-
324
8.
. , DM -
,
8.2 8.3, , -
DM -
. -
, 20
. ,
DM, DM -
, , , -
. , 8.2.3,
C++ ,
DM
C++ Ί90]. ,
, -
, -
, DM
. 3 4 -
. -
DM,
-
DM , -
ΓΝΠΔΜ .
2 3 . ,
DM 2 3 -
.
μβι
:
-
.
, -
325
8.
-
.Ό
10
10 -
-
DM. Ό ⁸ -
2⁵⁹.
μβιβε
μ ό,
ΓyΦΖΥ .
,
, .
, .
, ,
. -
10MB/ΥΖΔ Ί94] -
DRR.
DM -
. ,
326
8.
DM, DM -
, Ί76].
, DM. ’
, A2 ⁸ ΓΝΠΔΜ⁹, -
ΓΝΠΔΜ .
ΓΝΠΔΜ DRR, -
⁸
⁹ ΓΝΠΔΜ -
ΓΝΠΔΜ, Π
. , 5⁸ ΓΝΠΔΜ -
⁹ ,
ΓΝΠΔΜ
ΓΝΠΔΜ, .
E2 D2 ⁸ΩΙΖΟ⁹ , -
. , E1 D1
⁸ / ΓΝΠΔΜ⁹,
, -
ΓΝΠΔΜ. , B1 ⁸ ΡΠΠΝ
⁹ B2 ⁸ ΡΠΠΝ⁹, ΡΠΠΝ,
ΡΠΠΝ,
ΓΝΠΔΜ,
ΡΠΠΝ, .
, C1 ⁸ ⁹,
,
. , 1⁸ ΓΝΠΔΜ⁹,
DDT ,
. , A3 ⁸ ΓΝΠΔΜ⁹ A4 ⁸
ΓΝΠΔΜ ⁹,
. -
, ,
8.3,
DM, -
⁸ . ΓΝΠΔΜ⁹
C++
Ί90] ⁸ 8.4 ⁹. , -
-
, , LΖΒ
Ψ2.7.2 Ί95] KΚΟΘΥΝΖy Ί56]. LΖΒ
327
8.
⁸
⁹ Ί78] -
GNU LΚΟΧΪ . DM,
. -
Ί56], -
Ί56] -
⁸ ΞΞΒΡ ⁸⁹⁹.
,
KΚΟΘΥΝΖy Ί56] DM , -
Ί56] ,
1.024 ΓyΦΖΥ,
, -
. -
Ί79], Ί80].
, DM -
Ί81] ⁸ . Ί77] -
8.6 DM
LΖΒ 2.7.2 ⁸LΚΟΧΪ ⁹, KΚΟΘΥΝΖy
DM .
DM -
,
. ,
,
. LΖΒ KΚΟΘΥΝΖy
ΓΝΠΔΜ
⁸ ⁹, -
⁸LΖΒ⁹ ⁸KΚΟΘΥΝΖy⁹ ,
ΓΝΠΔΜ. 8.7, -
DM DM LΖΒ,
8.8, DM
. -
DM ,
LΖΒ , /
ΓΝΠΔΜ .
DM ⁸ -
8.2 -
⁹, 600
, -
600 .
328
8.
8.6: DRR.
8.7: LΖΒ DM -
DM.
8.8: DM DRR.
329
8.
DM -
DRR. , DM
DM, -
, . , -
-
DM,
-
–
0.13 Ξ Ί96]. -
DM ,
DM .
-
-
,
.
, DM
12⁵, KΚΟΘΥΝΖy, LΖΒ 15⁵ 16⁵ ⁸ 8.9⁹.
KΚΟΘΥΝΖy
DM, -
,
.
, . ,
DRR,
DM
LΖΒ, KΚΟΘΥΝΖy
. -
DM,
.
μβιβζ
, -
Ί38] -
, -
2D -
3D .
,
: -
330
8.2: , DM
DRR 3D 3D
KΚΟΘΥΝΖy-ΆΚΟΕΠΩΥ ⁸ByΦΖΥ⁹ 2.09×10^6 2.26×10^6 3.96×10^6
8.
331
8.
.
⁸ Ί45] -
1.75 C++⁹,
-
. 600.000 C++ ,
⁸ 8.4⁹.
8.9: DM
DRR.
Ί38] 2
DM, -
⁸ . -
⁹. ,
. , 640 × 480 ΡΚΪΖΝΥ
1MB. , DM ⁸ . -
Ί56]⁹
,
. ,
332
8.
. -
DM. , -
, Ί76]
8 .
,
⁸ , 32 16 ByΦΖΥ⁹ ΓΝΠΔΜ -
⁸ . 163KB⁹. ,
. ,
8.3
DM
⁸ . , , ⁹ .
, -
DM 4 ΡΠΠΝ
. ΡΠΠΝ -
, 32 ΓyΦΖΥ. ΡΠΠΝ
756 ΓyΦΖΥ 1.024 ΓyΦΖΥ. ,
ΡΠΠΝ 16.384 ΓyΦΖΥ. ,
ΡΠΠΝ ⁸ . 163
265KB⁹. ΡΠΠΝ -
, ,
ΓΝΠΔΜ . ΡΠΠΝ -
ΓΝΠΔΜ, -
ΓΝΠΔΜ
⁸ , ⁹. -
ΡΠΠΝ,
DM.
,
Ί81], Ί56]. , -
KΚΟΘΥΝΖy LΖΒ
⁸ , DRR⁹
DM
. -
8.10. -
DM
333
8.
. ’ , -
ΓΝΠΔΜ.
, ΡΠΠΝ ΓΝΠΔΜ ,
-
. ,
ΓΝΠΔΜ
ΓΝΠΔΜ ΓΝΠΔΜ ,
. LΖΒ, ΓΝΠΔΜ ,
-
ΓΝΠΔΜ
. ,
/ LΖΒ -
,
-
. , KΚΟΘΥΝΖy, / -
,
.
, ” ” ⁸ ΡΠΠΝ DM ΓΝΠΔΜ KΚΟΘΥΝΖy⁹
. , -
DM,
,
DM . , -
DM DM -
. , -
DM -
, 11⁵ KΚΟΘΥΝΖy 14⁵ LΖΒ ⁸
8.11⁹.
μβιβη
-
Ί93] .
-
Ί91]
⁸ .
Ί93] ⁹. , -
⁸ ⁹
⁸ ,
334
8.
8.10:
.
⁹. ’ ,
, ,
ΞΠΕΖΝ-ΨΚΖΩ, Ί93] -
. ,
⁸ , , -
Ί93]⁹ , .
, -
DM MPEG4 ⁸VTC⁹
Ί40].
,
LΖΒ Ψ2.7.2, KΚΟΘΥΝΖy,
,
⁸
⁹, OΓΥΦΒΔΜΥ
Ί56]. OΓΥΦΒΔΜΥ DM
.
OΓΥΦΒΔΜΥ GCC GNU. Ό 8.12
, LΖΒ
DM KΚΟΘΥΝΖy. -
335
8.
,
, OΓΥΦΒΔΜΥ -
LΖΒ, . , -
, -
OΓΥΦΒΔΜΥ.
OΓΥΦΒΔΜΥ
, -
-
. , OΓΥΦΒΔΜΥ
,
ΓΝΠΔΜ DM -
.
, DM -
ARM. -
18⁵ 20⁵,
. OΓΥΦΒΔΜΥ KΚΟΘΥΝΖy,
DM -
ΓΝΠΔΜ DM ,
, -
13⁵ 14⁵
DM , ⁸ 8.13⁹.
, -
,
DM -
. , 8.2 , -
DM
10⁵ ⁸ ⁹
DM
, , KΚΟΘΥΝΖy. , -
, DM
-
, , .
, DM ,
DM ΓΝΠΔΜ -
,
, LΖΒ ,
DM. KΚΟΘΥΝΖy
OΓΥΦΒΔΜΥ
DM
336
8.
, -
. , -
Ί96],
. , -
DM 15⁵ -
DM.
-
DM ,
, .
8.11: DM
.
μβκ
-
.
. , ,
-
337
8.
8.12:
.
8.13: DM -
.
338
8.
, -
. -
,
,
-
, .
,
-
DM, .
339
8.
340
υppendices
341
υ ʹ
ξ -
υβε
, -
-
, -
.
υβζ
υβζβε
,
.
⁸ΒΥΥΖΞΓΝy⁹ -
, ΔΠΞΡΚΝΖΤ
.
υβζβζ
.Ό -
343
A ʹ.
,
⁸ .
ε ⁹ ⁸
⁹ . -
- ,
.
,
,
. -
,
. ., ⁸ΤΖΒΝ-ΦΚΞΖ⁹ -
. , -
, ,
,
υβζβη α
,
.
-
⁸ ⁹. -
-
ϊΙtΡ://ΔΚΦΖΥΖΖΤΪ.ΚΥΦ.ΡΥΧ.ΖΕΧ/ΨΚΖΩΕΠΔ/ΕΠΩΟΝΠΒΕ?ΕΠΚ=10.1.1.10.5613⁶ΤΖΡ=ΤΖΡ1⁶ΦyΡΖ=ΡΕΗ
344
A ʹ.
, -
⁸ ⁹.
η η ⁸ΡΤΠiΝΚΟΘ⁹
, -
.
ATOMIUM ⁸ΙtΡ://ΩΩΩ.ΚΞΖΔ.ΓΖ/ΕΖΥΚΘΟ/ΒΦΠΞΚΧΞ⁹
-
.
⁸ΘΝΠΓΒΝ
ΝΠΠΡ⁹ -
⁸ΕΒΦΒ-ΤΖΧΥΖ ΦΤΒΟΥΗΠΤΞΒΦΚΠΟΥ⁹, -
.
A ʹ.1:
⁸SRAM, EΞΓΖΕΕΖΕ DRAM⁹
,
.
άGlobal Loopέ
⁸ΘΝΠΓΒΝ ΝΠΠΡ⁹ ΝΠΠΡ ΧΟΤΠΝΝΚΟΘ,
ΝΠΠΡ ΞΖΤΘΚΟΘ, ΝΠΠΡ ΦΚΝΝΚΟΘ, ΝΠΠΡ ΓΧΞΡ, ΝΠΠΡ ΖΪΦΖΟΕ, ΝΠΠΡ ΓΠΕy ΥΡΝΚΦ, ΝΠΠΡ ΤΖΨΖΤΥΖ,
ΝΠΠΡ ΚΟΦΖΤΔΙΒΟΘΖ.
.
ΘΝΠΓΒΝ ΝΠΠΡ
. -
.
,
.
345
A ʹ.
aέ Loop unrollingξ , -
.
bέ Loop mergingξ , -
. -
.
346
A ʹ.
cέ Loop tillingξ
,
ΔΒΔΙΖ .
347
A ʹ.
348
A ʹ.
Loop Merge
for άiρδο iπNο iίίέ
χ[Nαi] ρ gάφ[NαάNαiέ]έο
for άiρδο iπNο iίίέ
φ[i] ρ fάυ[i]έο
χ[Nαi] ρ gάφ[i]έο
hέ Loop ύnterhangeξ
349
A ʹ.
⁸DΒΦΒ
RΖΧΥΖ TΤΒΟΥΗΠΤΞΒΦΚΠΟΥ⁹. -
⁸ -
⁹ -
.
-
. ,
-
. -
,
, .
3 .
-
:
εξ
.
350
A ʹ.
A ʹ.2: .
ζξ
υβη
-
. ,
, -
υβηβε
PΒΤΒΝΝΖΝ HΚΖΤΒΤΔΙΚΔΒΝ OΟΖ
DΚΞΖΟΥΚΠΟΒΝ SΖΒΤΔΙ ⁸PHODS⁹,
. PHODS
⁸MΠΦΚΠΟ EΥΦΚΞΒΦΚΠΟ⁹, -
⁸ΗΤΒΞΖ⁹ . -
. PHODS
⁸ ×N⁹, -
ΓΝΠΔΜ ⁸ ×B ΡΚΪΖΝ⁹
ΓΝΠΔΜ
⁸ΗΤΒΞΖ⁹ ⁸ΗΤΒΞΖ⁹.
ΗΤΒΞΖ ΗΤΒΞΖ
ΗΤΒΞΖ
351
A ʹ.
ΗΤΒΞΖ. -
.
PHODS C .
#ΚΟΔΝΧΕΖ <ΥΦΕΚΠ.Ι>
#ΚΟΔΝΧΕΖ <ΞΒΦΙ.Ι>
#ΚΟΔΝΧΕΖ <ΥΦΤΚΟΘ.Ι>
#ΚΟΔΝΧΕΖ <ΥΦΕΝΚΓ.Ι>
#ΚΟΔΝΧΕΖ <ΦΚΞΖ.Ι>
#ΕΖiΟΖ N 144 /* ΗΤΒΞΖ ΕΚΞΖΟΥΚΠΟ ΗΠΤ QCIF ΗΠΤΞΒΦ */
#ΕΖiΟΖ M 176 /* ΗΤΒΞΖ ΕΚΞΖΟΥΚΠΟ ΗΠΤ QCIF ΗΠΤΞΒΦ */
#ΕΖiΟΖ B 16 /* BΝΠΔΜ ΥΚάΖ */
#ΕΖiΟΖ Ρ 7 /* SΖΒΤΔΙ ΥΡΒΔΖ. RΖΥΦΤΚΔΦΖΕ ΚΟ Β Ί-Ρ,Ρ] ΤΖΘΚΠΟ ΒΤΠΧΟΕ ΦΙΖ ΠΤΚΘΚΟΒΝ
ΝΠΔΒΦΚΠΟ ΠΗ ΦΙΖ ΓΝΠΔΜ. */
352
A ʹ.
A ʹ.4: ⁸ , ΄, ΄΄⁹, -
.
έ
FILE *ΡΚΔΦΧΤΖ0,*ΡΚΔΦΧΤΖ1;
ΚΟΦ Κ,Λ;
ΚΗ⁸⁸ΡΚΔΦΧΤΖ0=ΗΠΡΖΟ⁸”ΒΜΚyΠ0.y”,”ΤΓ”⁹⁹==NULL⁹
έ
ΡΤΚΟΦΗ⁸”ΡΤΖΨΚΠΧΥ ΗΤΒΞΖ ΕΠΖΥΟ’Φ ΖΪΚΥΦ\Ο”⁹;
ΖΪΚΦ⁸-1⁹;
ί
ΚΗ⁸⁸ΡΚΔΦΧΤΖ1=ΗΠΡΖΟ⁸”ΒΜΚyΠ1.y”,”ΤΓ”⁹⁹==NULL⁹
έ
ΡΤΚΟΦΗ⁸”ΔΧΤΤΖΟΦ ΗΤΒΞΖ ΕΠΖΥΟ’Φ ΖΪΚΥΦ\Ο”⁹;
ΖΪΚΦ⁸-1⁹;
ί
353
A ʹ.
ΗΠΤ⁸Κ=0;Κ<N;Κ++⁹
ΗΠΤ⁸Λ=0;Λ<M;Λ++⁹
ΔΧΤΤΖΟΦΊΚ]ΊΛ]=ΗΘΖΦΔ⁸ΡΚΔΦΧΤΖ1⁹;
ΗΔΝΠΥΖ⁸ΡΚΔΦΧΤΖ0⁹;
ΗΔΝΠΥΖ⁸ΡΚΔΦΧΤΖ1⁹;
ί
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
354
A ʹ.
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ί
ί
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
ΚΟΦ ΞΒΚΟ⁸⁹
355
A ʹ.
έ
ΧΟΥΚΘΟΖΕ ΔΙΒΤ ΔΧΤΤΖΟΦΊN]ΊM],ΡΤΖΨΚΠΧΥΊN]ΊM];
ΚΟΦ ΞΠΦΚΠΟΐΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΞΠΦΚΠΟΐΨΖΔΦΠΤΥΐyΊN/B]ΊM/B];
ΤΖΒΕΐΥΖΣΧΖΟΔΖ⁸ΔΧΤΤΖΟΦ,ΡΤΖΨΚΠΧΥ⁹;
ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΔΧΤΤΖΟΦ,ΡΤΖΨΚΠΧΥ,ΞΠΦΚΠΟΐΨΖΔΦΠΤΥΐΪ,ΞΠΦΚΠΟΐΨΖΔΦΠΤΥΐy⁹;
ί
υβηβζ
Global Loop
. -
. -
μΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟό.
Global Loop i
ΝΠΠΡ ΞΖΤΘΚΟΘ
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹.
ΨΖΔΦΠΤΥΐΪ ΨΖΔΦΠΤΥΐy Κ, Λ Ϊ, y,
.
. -
-
.
.
, .
:
356
A ʹ.
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ί
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
357
A ʹ.
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
Global Loop k
, ΝΠΠΡ ΞΖΤΘΚΟΘ
Μ.
Μ
.
358
A ʹ.
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
forάkρδοkπφοkίίέ γή ϊor all pixels in the blok ήγ
έ
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ί
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
359
A ʹ.
ί
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
Global Loop l -
-
Ν
.
, . -
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
⁸
⁹ .
360
A ʹ.
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
έ
forάlρδοlπφοlίίέ
{
pερcurrent[φήxίk][φήyίl]ο
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ί
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
361
A ʹ.
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
Global Loop
.
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
362
A ʹ.
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
-
Κ=0 ΦΠ Ρ2 Σ2
.
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ; ΕΚΥΦy
Κ==0. :
363
A ʹ.
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ifάiρρδέ
distyρdistxο
else
{
ifάάφήxίvectors_x[x][y]ίkέπδ || άφήxίvectors_x[x][y]ίkέςάNαεέ ||
άφήyίvectors_y[x][y]ίiίlέπδ || άφήyίvectors_y[x][y]ίiίlέςάMαεέέ
qζρδο
else
qζρprevious[φήxίvectors_x[x][y]ίk][φήyίvectors_y[x][y]ίiίl]ο
distyίρabsάpεαqζέο
}
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
364
A ʹ.
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
.
-
. -
ΔΧΤΤΖΟΦ ΡΤΖΨΚΠΧΥ
. -
.
-
, .
Ϊ, -
⁸ΔΧΤΤΖΟΦ ΡΤΖΨΚΠΧΥ⁹ -
ΓΧfΖΤΥ M×B ΔΧΤΤΖΟΦ
ΔΧΤΤΖΟΦΐΝΚΟΖ. ΡΤΖΨΚΠΧΥ ΓΧfΖΤ
M×⁸B+2*Ρ⁹ ⁸ Ρ=S+S/2+S/4⁹ ΡΤΖΨΚΠΧΥΐΝΚΟΖ.
y,
365
A ʹ.
⁸ 5⁹.
6 7 ΔΧΤΤΖΟΦ
ΡΤΖΨΚΠΧΥ .
A ʹ.5:
⁸ΔΧΤΤΖΟΦ ΡΤΖΨΚΠΧΥ⁹
ΔΧΤΤΖΟΦΐΝΚΟΖ, ΓΝΠΔΜ ΡΤΖΨΚΠΧΥΐΝΚΟΖ, RΆ .
-
-
6 7. -
.
current_line
366
A ʹ.
A ʹ.6: -
ΔΧΤΤΖΟΦ.
ΔΧΤΤΖΟΦ ⁸ΓΧfΖΤ⁹
ΔΧΤΤΖΟΦΐΝΚΟΖ ⁸ 6⁹. ,
ΔΧΤΤΖΟΦ ΔΧΤΤΖΟΦΐΝΚΟΖ -
ΔΧΤΤΖΟΦΐΝΚΟΖ -
. -
:
367
A ʹ.
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
pερcurrent_line[k][φήyίl]ο γή Read the data from bufer current_line
ήγ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
368
A ʹ.
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
blok -
ΓΝΠΔΜ. ΓΝΠΔΜ
ΔΧΤΤΖΟΦ
ΓΧfΖΤ.
:
369
A ʹ.
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
370
A ʹ.
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
current_line blok -
-
ΔΧΤΤΖΟΦΐΝΚΟΖ ΓΝΠΔΜ.
, ΔΧΤΤΖΟΦ
ΔΧΤΤΖΟΦΐΝΚΟΖ , ΔΧΤΤΖΟΦΐΝΚΟΖ
ΓΝΠΔΜ. ΓΝΠΔΜ
. -
.
371
A ʹ.
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
pερcurrent_line[k][φήyίl]ο γή Read the data from bufer current_line
ήγ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
Ρ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν];
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
Σ2=ΡΤΖΨΚΠΧΥΊB*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ]ΊB*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν];
372
A ʹ.
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
previous_line -
ΡΤΖΨΚΠΧΥ. ΡΤΖΨΚΠΧΥΐΝΚΟΖ.
M×⁸2*Ρ+B⁹, Ρ=B+S+S/2+S/4.
ΔΧΤΤΖΟΦΐΝΚΟΖ ΔΧΤΤΖΟΦ
. .
forάiρδοiπζήpίφοiίίέ
373
A ʹ.
forάjρδοjπMοjίίέ
{
ifάxρρδέ
{
ifάiπpέ previous_line[i][j]ρδο
else previous_line[i][j]ρprevious[iαp][j]ο γή χopy from previous array
ήγ
}
else
{
ifάiπζήpέ previous_line[i][j]ρprevious_line[iίφ][j]ο γή Reuse from the
same arrayήγ
else
{
ifάxρρNγφαε && iςφίpέ previous_line[i][j]ρδο
else previous_line[i][j]ρprevious[φήxαpίi][j]ο
}
}
}
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
374
A ʹ.
Ρ2=0;
ΖΝΥΖ
pζρprevious_line[vectors_x[x][y]ίiίkίp][φήyίvectors_y[x][y]ίl]ο
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
qζρprevious_line[vectors_x[x][y]ίkίp][φήyίvectors_y[x][y]ίiίl]ο
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
ί
375
A ʹ.
previous_line RΆ
⁸B+2*Ρ⁹×⁸B+2*Ρ⁹
ΡΤΖΨΚΠΧΥ. PHODS
.
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
376
A ʹ.
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
pζρrw[vectors_x[x][y]ίiίkίp][vectors_y[x][y]ίlίp]ο γή Read from
RW ήγ
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
qζρ rw[vectors_x[x][y]ίkίp][vectors_y[x][y]ίlίpίi]ο γή Read from
RW ήγ
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
377
A ʹ.
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
previous_line RW -
ΡΤΖΨΚΠΧΥΐΝΚΟΖ RΆ
ΡΤΖΨΚΠΧΥ.
forάiρδοiπζήpίφοiίίέ
forάjρδοjπMοjίίέ
{
ifάxρρδέ
{
ifάiπpέ previous_line[i][j]ρδο
else previous_line[i][j]ρprevious[iαp][j]ο γή χopy from previous array
ήγ
}
else
{
ifάiπζήpέ previous_line[i][j]ρprevious_line[iίφ][j]ο γή Reuse from the
same arrayήγ
else
{
ifάxρρNγφαε && iςφίpέ previous_line[i][j]ρδο
else previous_line[i][j]ρprevious[φήxαpίi][j]ο
}
}
}
378
A ʹ.
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;
ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */
ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ1=ΔΧΤΤΖΟΦΊB*Ϊ+Μ]ΊB*y+Ν];
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Κ+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Ν⁹>⁸M-1⁹⁹
Ρ2=0;
ΖΝΥΖ
pζρrw[vectors_x[x][y]ίiίkίp][vectors_y[x][y]ίlίp]ο γή Read from
RW ήγ
ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ΚΗ⁸Κ==0⁹
379
A ʹ.
ΕΚΥΦy=ΕΚΥΦΪ;
ΖΝΥΖ
έ
ΚΗ⁸⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹<0 ήή ⁸B*Ϊ+ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+Μ⁹>⁸N-1⁹ ήή
⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹<0 ήή ⁸B*y+ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+Κ+Ν⁹>⁸M-1⁹⁹
Σ2=0;
ΖΝΥΖ
qζρ rw[vectors_x[x][y]ίkίp][vectors_y[x][y]ίlίpίi]ο γή Read from
RW ήγ
ΕΚΥΦy+=ΒΓΥ⁸Ρ1-Σ2⁹;
ί
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ΚΗ⁸ΕΚΥΦy<ΞΚΟ2⁹
έ
ΞΚΟ2=ΕΚΥΦy;
ΓΖΥΦy=Κ;
ί
ί
S=S/2;
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]+=ΓΖΥΦΪ;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]+=ΓΖΥΦy;
ί
ί
ί
ί
υβηβη
-
.
-
AΦΠΞΚΧΞ ⁸ ⁹
⁸ΔΠΧΟΦΖΤΥ⁹ -
. ⁸ΡΖΤΗΠΤΞΒΟΔΖ⁹
380
A ʹ.
-
. ., ARM. ΡΤΠΛΖΔΦ ARMΧΝΒΦΠΤσ
-
,
. , -
.
σΙtΡ://ΥΠΧΤΔΖΗΠΤΘΖ.ΟΖΦ/ΡΤΠΛΖΔΦΥ/ΒΤΞΧΝΒΦΠΤ/
381
A ʹ.
A ʹ.7: -
ΡΤΖΨΚΠΧΥ.
382
φ ʹ
α μbit
-
, 32 ΓΚΦ
64 ΓΚΦ,
8 ΓΚΦ 64ΓΚΦ. , -
8 ΓΚΦATΞΖΘΒ328P,
AΤΕΧΚΟΠ UNO. ,
AΤΕΧΚΟΠ UNO
.
φβε υRψUύNO
, AΤΕΧΚΟΠ -
,
’ . AΤΕΧΚΟΠ Ί97]
. AΤΕΧΚΟΠ -
. ΒΤΕΧΚΟΠ
, ⁸ , -
,..⁹ ⁸ , ,..⁹. ΒΤΕΧΚΟΠ
ΒΤΕΧΚΟΠ -
,
-
⁸ . . FΝΒΥΙ, PΤΠΔΖΥΥΚΟΘ, MΒΪMSP⁹. ΒΤΕΧΚΟΠ
-
.
383
B ʹ. ARDUINO 8BIT
, - -
. -
AΤΕΧΚΟΠ ,
⁸ B ʹ.1⁹.
AΤΕΧΚΟΠ UNO ⁸ B ʹ.1⁹.
B ʹ.1: AΤΕΧΚΟΠ
-
ΒΤΕΧΚΟΠ, -
⁸ -
‘ΥΙΚΖΝΕΥ’ ⁹. SΙΚΖΝΕΥ
ΡΚΟ ΒΤΕΧΚΟΠ.
B ʹ.2.
, -
AΤΕΧΚΟΠ UNO.
384
B ʹ. ARDUINO 8BIT
.
ΆΚΤΖΝΖΥΥ
100
SD SΙΚΖΝΕ
-
300 .
-
SD
ΆΚΤΖΝΖΥΥ PΤΠΦΠ SΙΚΖΝΕ -
AΤΕΧΚΟΠ -
.
ΆΚΤΖΝΖΥΥ 100 -
PΤΠΦΠ
SΙΚΖΝΕ 300 -
.
SD.
AΤΕΧΚΟΠ MΠΦΠΤ SΙΚΖΝΕ -
DC -
,
AΤΕΧΚΟΠ
MΠΦΠΤ
-
SΙΚΖΝΕ
.
B ʹ.2: ⁸ΥΙΚΖΝΕΥ⁹ ΒΤΕΧΚΟΠ
385
B ʹ. ARDUINO 8BIT
B ʹ.1: AΤΕΧΚΟΠ -
8ΓΚΦ ATMEGA328P. UNO.
B ʹ.3.
AΤΕΧΚΟΠ UNO DC -
USB,
2.1ΞΞ .
,
7 12V. B ʹ.2 -
AΤΕΧΚΟΠ UNO.
:
Vin : -
. .
ιV :
5V. , ,
5V USB,
VΚΟ.
GNψ : .
ATΞΖΘΒ328 . lΒΥΙ
ΞΖΞΠΤy, AΤΕΧΚΟΠ ΥΜΖΦΔΙ, SRAM ⁸ΥΦΒΦΚΔ ΤΒΟΕΠΞ
386
B ʹ. ARDUINO 8BIT
387
B ʹ. ARDUINO 8BIT
Ό
. AΤΕΧΚΟΠ UNO 5V -
, 5V ‘1’
0. ,
‘1’ +5V, ‘0’ . -
,
. .
δ εξ R· T·
. ,
, USB
SΖΤΚΒΝ-OΨΖΤ-USB, 0 -
. -
ΚΟΦΖΤΗΒΔΖ, 2 / -
. ζ ηξ ΚΟΦΖΤΤΧΡΦ ⁸ΚΟΦΖΤΤΧΡΦ
388
B ʹ. ARDUINO 8BIT
0 1 ⁹.
,
. ΚΟΦΖΤΤΧΡΦ
. η, ι,
κ, ν, εδ εεξ -
PΆM ⁸PΧΝΥΖ ΆΚΕΦΙ MΠΕΧΝΒΦΚΠΟ⁹.
AΤΕΧΚΟΠ UNO
. AΤΕΧΚΟΠ, -
ANALOG IN B ʹ.4,
6 ΡΚΟ, 0 5.
. 10ΓΚΦ
⁸1024 ⁹, 1024 . -
⁸ΒΟΒΝΠΘRΖΗΖΤΖΟΔΖ⁸⁹⁹ 1.1V,
5V. , -
ΡΚΟ AREF
. , AREF 3.3V
389
B ʹ. ARDUINO 8BIT
B ʹ.5:
AΤΕΧΚΟΠ.
390
B ʹ. ARDUINO 8BIT
• , -
.
• .
• ΔΠΞΡΚΝΖΤ ΥΜΖΦΔΙ.
• ⁸ΥΖΤΚΒΝ ΞΠΟΚΦΠΤ⁹
⁸USB⁹, AΤΕΧΚΟΠ
ΥΜΖΦΔΙ.
• ΥΜΖΦΔΙ AΤΕΧΚΟΠ.
ξ AΤΕΧΚΟΠ
ΆΚΤΚΟΘ Ί99] C/C++ -
AVR ATΞΖΘΒ, C
C++. ΔΠΞΡΚΝΖΤ AVR ΘΔΔ
C AVR ΝΚΓΔ. -
C, AΤΕΧΚΟΠ, -
, ,
C.
, ,
ΙΒΤΕΩΒΤΖ AΤΕΧΚΟΠ.
AΤΕΧΚΟΠ : ⁸ΥΦΤΧΔΦΧΤΖ⁹, ⁸ΨΒΝΧΖΥ⁹ -
⁸ΗΧΟΔΦΚΠΟΥ⁹.
AΤΕΧΚΟΠ : ⁸ΥΦΤΧΔΦΧΤΖ⁹,
⁸ΨΒΝΧΖΥ⁹ ⁸ΗΧΟΔΦΚΠΟΥ⁹.
,
AΤΕΧΚΟΠ, ,
⁸ΥΠtΩΒΤΖ⁹ ⁸ΙΒΤΕΩΒΤΖ⁹. -
. ,
.
1. ,
⁸ ⁹.
2. 9600 ΓΡΥ
391
B ʹ. ARDUINO 8BIT
VΖΤΚΗy
.
UΡΝΠΒΕ -
AΤΕΧΚΟΠ.
NΖΩ
ΥΜΖΦΔΙ.
OΡΖΟ -
ΥΜΖΦΔΙ
SΒΨΖ ΥΜΖΦΔΙ.
SΖΤΚΒΝ MΠΟΚΦΠΤ
.
392
B ʹ. ARDUINO 8BIT
B ʹ.6: AΤΕΧΚΟΠ.
4. ,
SΖΤΚΒΝ.ΡΤΚΟΦΝΟ⁸ΨΒΝΧΖ⁹; SΖΤΚΒΝ.ΡΤΚΟΦ⁸ΨΒΝΧΖ⁹ ⁸ ΝΟ
⁹.
- -
. , -
.
φβζ
ΒΤΕΧΚΟΠ -
.
-
.
1. , -
⁸ . . ⁹ -
. -
⁸ . . 20-30 ⁹.
2. -
.
3. ⁸ , -
⁹ .
4. .
393
B ʹ. ARDUINO 8BIT
5. :
⁸ ʹ⁹ -
.
⁸ ʹ⁹
.
6. :
⁸ ʹ⁹ ⁸
/ ⁹, .
⁸ ʹ⁹ , , , -
ΞΠΧΥΖ .
⁸ ʹ⁹ -
.
7.
.
8. , , , .
.
9. -
. /ΔΠΟΟΖΔΦΚΠΟ ΡΠΚΟΦΥ
.
10. , -
, . ΓΤΖΒΕΓΠΒΤΕ
⁸ ⁹.
11.
,
.
12. -
,
.
13. .
.
394
B ʹ. ARDUINO 8BIT
,
-
SΡΒΤΜΗΧΟ ⁸SΡΒΤΜFΧΟ IΟΨΖΟΦΠΤ’Υ
KΚΦ⁹.
SΡΒΤΜΗΧΟ, .
, SΡΒΤΜΗΧΟ,
SΡΒΤΜFΧΟ IΟΨΖΟΦΠΤ’Υ KΚΦ. O B ʹ.5
.
ΜΚΦ -
.
φβη Ά ε
LEDΥ ⁸ ⁹ -
. LEDΥ
SΡΒΤΜFΧΟ IΟΨΖΟΦΠΤ’Υ KΚΦ.
LED ’ .
ξ ει
CIRC-01 :
• 1 LED 5ΞΞ
• 1 330 OΙΞ ⁸ - - ⁹
• 3
,
B ʹ.8. B ʹ.7.
LED 13 ΡΚΟ AΤΕΧΚΟΠ -
, .
Π LED .
, ΓΤΖΒΕΓΠΒΤΕ, ΡΚΟ -
5V AΤΕΧΚΟΠ ΡΚΟ ⁸GΟΕ⁹
AΤΕΧΚΟΠ.
φβηβε α
υrduino
AΤΕΧΚΟΠ UΟΠ .
395
B ʹ. ARDUINO 8BIT
B ʹ.7: - B ʹ.8:
CIRC01 CIRC01
396
B ʹ. ARDUINO 8BIT
B ʹ.5: -
ά έ
1 AΤΕΧΚΟΠ UΟΠ R3
1 BΤΖΒΕΓΠΒΤΕ
2 2N2222 ΦΤΒΟΥΚΥΦΠΤΥ
397
B ʹ. ARDUINO 8BIT
B ʹ.5:
ά έ
1 SΞΒΝΝ SΖΤΨΠ
1 MΚΟΚ PΙΠΦΠΔΖΝΝ
398
B ʹ. ARDUINO 8BIT
B ʹ.5:
ά έ
1 LED 5ΞΞ
1 TΤΚΞΡΠΦ 10K
AΤΕΧΚΟΠ. > -
> ⁸COM ⁶ LPT⁹
> , -
AΤΕΧΚΟΠ. -
AΤΕΧΚΟΠ UΟΠ >
AΤΕΧΚΟΠ UΟΠ. AVRISP
ΞΜII. >
AVRISP ΞΜII.
399
B ʹ. ARDUINO 8BIT
φβηβζ χύRχαδε
AΤΕΧΚΟΠ. ⁸ ⁸http://ardx.org/CODE01⁹.
1 /*
2 * Blink
3 * Turns on an LED on for one second,
4 * then of for one second, repeatedly
5 * The circuit:
6 * LED connected from digital pin 13 to ground
7 * Note: On most Arduino boards, there is already
8 * an LED on the board
9 * connected to pin 13, so you don’t need any extra
10 * components for this example
11 *Created 1 June 2005
12 *By David Cuartielles
13 *http://arduino.cc/en/Tutorial/Blink
14 *based on an orginal by H. Barragan
15 * for the Wiring i/o board
16 */
17 int ledPin = 13; // LED connected to digital pin 13
18 // The setup() method runs once, when it starts
19 void setup(){
20 // initialize the digital pin as an output:
21 pinMode(ledPin, OUTPUT);
22 }
23 // the loop() method runs over and over again,
24 // as long as the Arduino has power
25 void loop()
26 {
27 digitalWrite(ledPin, HIGH); // set the LED on
28 delay(1000); // wait for a second
29 digitalWrite(ledPin, LOW); // set the LED of
30 delay(1000); // wait for a second
31 }
⁸CΦΤΝ+Υ⁹.
⁸SΜΖΦΔΙ FΠΝΕΖΤ⁹. ‘CIRC-01’ ‘ ’.
CIRC-01
CIRC-01.ΚΟΠ .
⁸CΦΤΝ+Χ⁹.
,
LED .
, LED,
.
φβηβη χύRχαδε
pin Lωψξ LED ΡΚΟ 13,
ΡΚΟΥ AΤΕΧΚΟΠ.
ΡΚΟ ΡΚΟ 13
400
B ʹ. ARDUINO 8BIT
ΡΚΟ ⁸ 0 13 A0 A5
ΡΚΟΥ⁹. 15 :
int ledPin = 13; // LED connected to digital pin 13
ΡΚΟ ⁸ 0 13 14 19
ΡΚΟΥ⁹. ⁸CΦΤΝ+SΙΚt+Υ⁹,
ΡΤΠΛΖΔΦ CIRCΐ01 ⁸
CIRCΐ01⁹. CIRCΐ01ΐΕ1 -
. , ⁸CΦΤΝ+Χ⁹.
.
onγof Lωψξ LED
1ΥΖΔ ⁸1000ΞΥ⁹, . -
‘1000’ :
1 digitalWrite(ledPin, HIGH); // set the LED on
2 delay(1000); // wait for a second
3 digitalWrite(ledPin, LOW); // set the LED of
4 delay(1000); // wait for a second
⁸CΦΤΝ+SΙΚt+Υ⁹,
ΡΤΠΛΖΔΦ, ,⁸
CIRCΐ01, CIRCΐ01ΐΕ1⁹
CIRCΐ01ΐΕ2 . ,
⁸CΦΤΝ+Χ⁹. ΠΟ/Πf .
Lωψξ ⁸ΠΟ/Πf⁹
, AΤΕΧΚΟΠ
⁸ ⁹ ΡΚΟΥ. ΡΚΟ 9.
int ledPin = 9;
. -
ΝΠΠΡ⁸⁹ :
analogWrite(ledPin, 20);
Ό 20 0 255. -
⁸CΦΤΝ+SΙΚt+Υ⁹, -
ΡΤΠΛΖΔΦ ⁸CIRC-01-Ε2⁹ CIRCΐ01ΐΕ3 -
. , ⁸CΦΤΝ+Χ⁹.
.
onγof Lωψ άϊadingέξ
-
0 255 , 254 1 ,
LED,
, ΠΟ/Πf. -
ΝΠΠΡ⁸⁹ :
1 for(int i=0; i<=255; i++)
2 {
401
B ʹ. ARDUINO 8BIT
3 analogWrite(ledPin, i);
4 delay(10);
5 }
6
7 for(int i=254; i>=1; i--)
8 {
9 analogWrite(ledPin, i);
10 delay(10);
11 }
⁸CΦΤΝ+SΙΚt+Υ⁹,
ΡΤΠΛΖΔΦ ⁸CIRC-01-Ε3⁹
CIRCΐ01ΐΕ4 . ,
⁸CΦΤΝ+Χ⁹. .
> >01.BΒΥΚΔΥ>FΒΕΖ -
.
φβθ Ά ζ
LED. ’
• 8 LED 5ΞΞ
• 8 330 OΙΞ ⁸ - - ⁹
• 10
,
B ʹ.10. B ʹ.9.
LED ΡΚΟ
AΤΕΧΚΟΠ 330 OΙΞ ,
. Π LED
. ,
ΓΤΖΒΕΓΠΒΤΕ, ΡΚΟ 5V AΤΕΧΚΟΠ -
ΡΚΟ ⁸GΟΕ⁹.
402
B ʹ. ARDUINO 8BIT
B ʹ.9: - B ʹ.10: -
CIRC02 CIRC02
403
B ʹ. ARDUINO 8BIT
φβθβε α
υrduino
AΤΕΧΚΟΠ UΟΠ
.
AΤΕΧΚΟΠ.
AΤΕΧΚΟΠ UΟΠ. AVRISP
ΞΜII. Ό B.3.1
CIRC-01.
φβι χύRχαδζ
AΤΕΧΚΟΠ. ⁸ http://ardx.org/CODE02⁹
1 /* ---------------------------------------------------------
2 * | Arduino Experimentation Kit Example Code|
3 * | CIRC-02 .: 8 LED Fun :. (Multiple LEDs)|
4 * ---------------------------------------------------------
5 *
6 * A few Simple LED animations
7 *
8 * For more information on this circuit http://tinyurl.com/d2hrud
9 *
10 */
11 //LED Pin Variables
12 int ledPins[] = {2,3,4,5,6,7,8,9};
13 //An array to hold the pin each LED is connected to
14 //i.e. LED #0 is connected to pin 2, LED #1, 3 and so on
15 //to address an array use ledPins[0] this would equal 2
16 //and ledPins[7] would equal 9
17
18 /*
19 * setup() - this function runs once when you turn your Arduino on
20 * We the three control pins to outputs
21 */
22 void setup()
23 {
24 //Set each pin connected to an LED to output mode
25 //(pulling high (on) or low (of)
26 for(int i = 0; i < 8; i++){ //this is a loop and will repeat eight times
27 pinMode(ledPins[i],OUTPUT); //we use this to set each LED pin to output
28 } //the code this replaces is below
29 /* (commented code will not run)
30 * these are the lines replaced by the for loop above they do exactly the
31 * same thing the one above just uses less typing
32 pinMode(ledPins[0],OUTPUT);
33 pinMode(ledPins[1],OUTPUT);
34 pinMode(ledPins[2],OUTPUT);
35 pinMode(ledPins[3],OUTPUT);
36 pinMode(ledPins[4],OUTPUT);
37 pinMode(ledPins[5],OUTPUT);
38 pinMode(ledPins[6],OUTPUT);
39 pinMode(ledPins[7],OUTPUT);
40 (end of commented code)*/
404
B ʹ. ARDUINO 8BIT
41 }
42 /*
43 * loop() - this function will start after setup inishes and then repeat
44 * we call a function called oneAfterAnother().
45 * if you would like a diferent behaviour
46 * uncomment (delete the two slashes) one of the other lines
47 */
48 void loop() // run over and over again
49 {
50 //this will turn on each LED one by one then turn each of
51 oneAfterAnotherNoLoop();
52
53 //does the same as oneAfterAnotherNoLoop but with less typing
54 //oneAfterAnotherLoop();
55
56 //oneOnAtATime();
57 //this will turn one LED on then turn the next one
58 //on turning the
59 //former of (one LED will look like it is scrolling
60 //along the lin//inAndOut();
61 //lights the two middle LEDs then moves them out then back
62 //in again
63 }
64 /*
65 * oneAfterAnotherNoLoop() - Will light one LED then delay for delayTime
66 * then light the next LED until all LEDs are on it will then turn
67 * them of one after another
68 *
69 * this does it without using a loop which makes for a lot of typing.
70 * oneOnAtATimeLoop() does exactly the same thing with less typing
71 */
72 void oneAfterAnotherNoLoop(){
73 int delayTime = 100; //the time (in milliseconds) to pause between LEDs
74 //make smaller for quicker switching and larger for slower
75 digitalWrite(ledPins[0], HIGH); //Turns on LED #0 (connected to pin 2 )
76 delay(delayTime); //waits delayTime milliseconds
77 digitalWrite(ledPins[1], HIGH); //Turns on LED #1 (connected to pin 3 )
78 delay(delayTime); //waits delayTime milliseconds
79 digitalWrite(ledPins[2], HIGH); //Turns on LED #2 (connected to pin 4 )
80 delay(delayTime); //waits delayTime milliseconds
81 digitalWrite(ledPins[3], HIGH); //Turns on LED #3 (connected to pin 5 )
82 delay(delayTime); //waits delayTime milliseconds
83 digitalWrite(ledPins[4], HIGH); //Turns on LED #4 (connected to pin 6 )
84 delay(delayTime); //waits delayTime milliseconds
85 digitalWrite(ledPins[5], HIGH); //Turns on LED #5 (connected to pin 7 )
86 delay(delayTime); //waits delayTime milliseconds
87 digitalWrite(ledPins[6], HIGH); //Turns on LED #6 (connected to pin 8 )
88 delay(delayTime); //waits delayTime milliseconds
89 digitalWrite(ledPins[7], HIGH); //Turns on LED #7 (connected to pin 9 )
90 delay(delayTime); //waits delayTime milliseconds
91 //Turns Each LED Of
92 digitalWrite(ledPins[7], LOW); //Turns on LED #0 (connected to pin 2 )
93 delay(delayTime); //waits delayTime milliseconds
94 digitalWrite(ledPins[6], LOW); //Turns on LED #1 (connected to pin 3 )
95 delay(delayTime); //waits delayTime milliseconds
96 digitalWrite(ledPins[5], LOW); //Turns on LED #2 (connected to pin 4 )
97 delay(delayTime); //waits delayTime milliseconds
98 digitalWrite(ledPins[4], LOW); //Turns on LED #3 (connected to pin 5 )
99 delay(delayTime); //waits delayTime milliseconds
100 digitalWrite(ledPins[3], LOW); //Turns on LED #4 (connected to pin 6 )
101 delay(delayTime); //waits delayTime milliseconds
102 digitalWrite(ledPins[2], LOW); //Turns on LED #5 (connected to pin 7 )
405
B ʹ. ARDUINO 8BIT
406
B ʹ. ARDUINO 8BIT
⁸CΦΤΝ+Υ⁹.
⁸SΜΖΦΔΙ FΠΝΕΖΤ⁹. ‘CIRC-02’ ‘ ’.
CIRC-02
CIRC-02.ΚΟΠ .
⁸CΦΤΝ+Χ⁹. -
, -
LED . -
LEDΥ , . -
LEDΥ
oneAfterAnotherNoLoop()
.
407
B ʹ. ARDUINO 8BIT
φβιβε χύRχαδζ
Lωψsξ loop() -
‘//’. -
.
LEDΥ oneAfterAnotherNoLoop(),
, oneAfterAnotherNoLoop(), -
, . ⁸CΦΤΝ+SΙΚt+Υ⁹,
ΡΤΠΛΖΔΦ CIRCΐ02 ’ -
. CIRCΐ02ΐΕ1 .
, ⁸CΦΤΝ+Χ⁹.
. ⁸ : oneAfterAnotherNoLoop()
oneAfterAnotherLoop() ,
⁹
Lωψsξ
, inAndOut(), -
ΞyΐΒΟΚΞΒΦΚΠΟ⁸⁹ ΒΟΚΞΒΦΚΠΟ -
. :
1 void function_name()
2 {
3 variable_decleration;
4 commands;
5 }
, -
loop() my_animation();. ΒΟΚΞΒΦΚΠΟ
ΒΟΚΞΒΦΚΠΟ ΨΚΕΖΠ http:
//www.youtube.com/watch?v=WxE2xWZNfOc. -
ΗΠΤ-ΝΠΠΡ.
loop(). -
⁸CΦΤΝ+SΙΚt+Υ⁹,
ΡΤΠΛΖΔΦ, ,⁸ -
CIRCΐ02, CIRCΐ02ΐΕ1⁹ CIRCΐ02ΐΕ2 -
. , ⁸CΦΤΝ+Χ⁹.
.
φβκ η
ΡΚΟΥ AΤΕΧΚΟΠ
LEDΥ, ,
, .
, -
408
B ʹ. ARDUINO 8BIT
, .
ΡΚΟΥ. NPN ’
, , .
Ό , -
.
P2N2222AG, -
. , ⁸40 V⁹
⁸200 ΞA⁹
.Ό 1N4001
ΆΚΜΚΡΖΕΚΒ .
ξ ηδ
CIRC-02 :
• 1 P2N2222AG ⁸ TO92 ⁹
• 1 DC
• 1Ϊ 10 ΜOΙΞ ⁸ – – ⁹
• 8
,
B ʹ.12. B ʹ.11.
10ΜOΙΞ -
ΡΚΟ 9 AΤΕΧΚΟΠ. -
,
, B ʹ.12.
⁸ +5 V,
⁹.
B ʹ.11 -
.
AΤΕΧΚΟΠ
. , ΓΤΖΒΕΓΠΒΤΕ, -
ΡΚΟ 5V AΤΕΧΚΟΠ
ΡΚΟ ⁸GΟΕ⁹ AΤΕΧΚΟΠ.
φβλ χύRχαδη
AΤΕΧΚΟΠ. http://ardx.org/CODE03.
409
B ʹ. ARDUINO 8BIT
B ʹ.11: - B ʹ.12: -
CIRC03 CIRC03
410
B ʹ. ARDUINO 8BIT
1 /* -----------------------------------------------------------
2 *| Arduino Experimentation Kit Example Code|
3 *| CIRC-03 .: Spin Motor Spin :. (Transistor and Motor) |
4 *-----------------------------------------------------------
5 *
6 * The Arduinos pins are great for driving LEDs however if you hook
7 * up something that requires more power you will quickly break them.
8 * To control bigger items we need the help of a transistor.
9 * Here we will use a transistor to control a small toy motor
10 *
11 * http://tinyurl.com/d4wht7
12 *
13 */
14
15 int motorPin = 9; // deine the pin the motor is connected to
16 // ( if you use pin 9,10,11 or 3you can also control speed)
17
18 /*
19 * setup() - this function runs once when you turn your Arduino on
20 * We set the motors pin to be an output (turning the pin high (+5v)
21 * or low (ground) (-))
22 * rather than an input (checking whether a pin is high or low)
23 */
24 void setup()
25 {
26 pinMode(motorPin, OUTPUT);
27 }
28
29
30 /*
31 * loop() - this function will start after setup inishes and then repeat
32 * we call a function called motorOnThenOf()
33 */
34
35 void loop() // run over and over again
36 {
37 motorOnThenOf();
38 //motorOnThenOfWithSpeed();
39 //motorAcceleration();
40 }
41
42 /*
43 * motorOnThenOf() - turns motor on then of
44 * (notice this code is identical to the code we used for
45 * the blinking LED)
46 */
47 void motorOnThenOf(){
48 int onTime = 2500; //the number of milliseconds for the motor to turn on for
49 int ofTime = 1000; //the number of milliseconds for the motor to turn of for
50 digitalWrite(motorPin, HIGH); // turns the motor On
51 delay(onTime); // waits for onTime milliseconds
52 digitalWrite(motorPin, LOW); // turns the motor Of
53 delay(ofTime); // waits for ofTime milliseconds
54 }
55
56 /*
57 * motorOnThenOfWithSpeed() - turns motor on then of but uses speed values
58 * (notice this code is identical to the code we used for
59 * the blinking LED)
60 */
61 void motorOnThenOfWithSpeed(){
411
B ʹ. ARDUINO 8BIT
62 int onSpeed = 200; // a number between 0 (stopped) and 255 (full speed
63 int onTime = 2500; //the number of milliseconds for the motor to turn on for
64 int ofSpeed = 50; // a number between 0 (stopped) and 255 (full speed)
65 int ofTime = 1000; //the number of milliseconds for the motor to turn of for
66 analogWrite(motorPin, onSpeed); // turns the motor On
67 delay(onTime); // waits for onTime milliseconds
68 analogWrite(motorPin, ofSpeed); // turns the motor Of
69 delay(ofTime); // waits for ofTime milliseconds
70 }
71
72 /*
73 * motorAcceleration() - accelerates the motor to full speed then
74 * back down to zero
75 */
76 void motorAcceleration(){
77 int delayTime = 50; //milliseconds between each speed step
78 //Accelerates the motor
79 for(int i = 0; i < 256; i++){ //goes through each speed from 0 to 255
80 analogWrite(motorPin, i); //sets the new speed
81 delay(delayTime); // waits for delayTime milliseconds
82 }
83
84 //Decelerates the motor
85 for(int i = 255; i >= 0; i--){ //goes through each speed from 255 to 0
86 analogWrite(motorPin, i); //sets the new speed
87 delay(delayTime); // waits for delayTime milliseconds
88 }
89 }
CIRCΐ03
. , , -
AΤΕΧΚΟΠ
⁸ CIRCΐ01, B.3.1⁹.
P2N2222AG ⁸TO92⁹ , -
ΡΚΟΥ P2N2222AG ⁸TO92⁹,
ΥΚΦΖ ⁸ -
⁹. , AΤΕΧΚΟΠ , -
φβμ χύRχαδη
άΈ έξ
AΤΕΧΚΟΠ
LED. -
. AΤΕΧΚΟΠ -
⁸PΆM⁹,
ΡΚΟ,
. , AΤΕΧΚΟΠ
50
412
B ʹ. ARDUINO 8BIT
.
. ΝΠΠΡ⁸⁹ ,
.
, . -
.
φβν θ
-
, SΖΤΨΠΥ. -
ΥΖΤΨΠ, ⁸
⁹ ⁸ , ⁹.
ΥΖΤΨΠ 0 180 . -
, 1.25 ΞΥ ⁸0 ⁹ 1.75 ΞΥ ⁸180
⁹. .
25 - 50 ΞΥ ΥΖΤΨΠ .
AΤΕΧΚΟΠ 2 ΥΖΤΨΠΥ
⁸ ΡΚΟΥ 9, 10⁹ .
ξ ηδ
CIRC-02 :
• 1 3ΡΚΟ HΖΒΕΖΤ
• 1 MΚΟΚ SΖΤΨΠ
• 5
,
B ʹ.14. B ʹ.13.
SΖΤΨΠ 3ΡΚΟ HΖΒΕΖΤ
ΓΤΖΒΕΓΠΒΤΕ B ʹ.13.
SΖΤΨΠ ΡΚΟ 9 AΤΕΧΚΟΠ, +5 V,
. +5V GΟΕ AΤΕΧΚΟΠ. ΥΖΤΨΠ
⁸‘ ’⁹
.
ήήή ξ header pin
breadboardβ ,
arduino
β ήήή
413
B ʹ. ARDUINO 8BIT
B ʹ.13: - B ʹ.14: -
CIRC04 CIRC04
414
B ʹ. ARDUINO 8BIT
φβεδ χύRχαδθ
AΤΕΧΚΟΠ. http://ardx.org/CODE04.
1 // Sweep
2 // by BARRAGAN <http://barraganstudio.com>
3
4 #include <Servo.h>
5 Servo myservo; // create servo object to control a servo
6 // a maximum of eight servo objects can be created
7
8 int pos = 0; // variable to store the servo position
9
10 void setup()
11 {
12 myservo.attach(9); // attaches the servo on pin 9 to the servo object
13 }
14
15
16 void loop()
17 {
18 for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
19 { // in steps of 1 degree
20 myservo.write(pos); // tell servo to go to position in variable ’pos’
21 delay(15); // waits 15ms for the servo to reach the position
22 }
23 for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
24 {
25 myservo.write(pos); // tell servo to go to position in variable ’pos’
26 delay(15); // waits 15ms for the servo to reach the position
27 }
28 }
φβεε χύRχαδθ
SΖΤΨΠ -
AΤΕΧΚΟΠ. -
AΤΕΧΚΟΠ:
415
B ʹ. ARDUINO 8BIT
1 int servoPin = 9;
2 void setup(){
3 pinMode(servoPin,OUTPUT); }
4
5 void loop() {
6 int pulseTime = 2100; //(the number of microseconds
7 //to pause for (1500 90 degrees
8 // 900 0 degrees 2100 180 degrees)
9 digitalWrite(servoPin, HIGH);
10 delayMicroseconds(pulseTime);
11 digitalWrite(servoPin, LOW);
12 delay(25);
13 }
⁸ ⁹,
180 . , CIRCΐ04ΐΔ1 -
AΤΕΧΚΟΠ.
φβεεβε
SΖΤΨΠΥ -
:
φβεζ ι
,
8 ⁸ ⁹ -
ΡΚΟΥ AΤΕΧΚΟΠ.
, -
ΡΚΟΥ. ΕΒΦΒ ΡΚΟ
HIGH LOΆ, ,
8 ΓΚΦΥ . ΝΒΦΔΙ
8 ΓΚΦΥ ΡΚΟΥ . -
ΆΚΜΚΡΖΕΚΒ
⁸ΙtΡ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/SΙΚtΐΤΖΘΚΥΦΖΤ⁹.
ξ θι
CIRC-05 :
416
B ʹ. ARDUINO 8BIT
• 8 LED 5ΞΞ
• 8 330 OΙΞ ⁸ - - ⁹
• 19
• 1 74HC595
,
B ʹ.16. B ʹ.15.
ΓΤΖΒΕΓΠΒΤΕ.
, B ʹ.15. -
LED ΡΚΟ -
, 330 OΙΞ ,
. 8 13 ΡΚΟ
10 16 +5 V. ΡΚΟ 11,
12 14 ΡΚΟΥ AΤΕΧΚΟΠ. ήήή
ξ ύχ α
β datasheet
β ήήή -
+5 V ΓΤΖΒΕΓΠΒΤΕ.
-
⁸SΖΤΚΒΝ ΦΠ ΡΒΤΒΝΝΖΝ ΔΠΟΨΖΤΦΖΤ⁹: ΆΚΜΚΡΖΕΚΒ
⁸ΙtΡ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/SΙΚtΐΤΖΘΚΥΦΖΤ⁹.
8
LEDΥ, 3 ΡΚΟΥ AΤΕΧΚΟΠ.
φβεη χύRχαδι
AΤΕΧΚΟΠ. http://ardx.org/CODE05.
1 /* ---------------------------------------------------------
2 *| Arduino Experimentation Kit Example Code |
3 *| CIRC-05 .: 8 More LEDs :. (74HC595 Shift Register) |
4 *---------------------------------------------------------
5 *
6 *We have already controlled 8 LEDs however this does it in a slightly
7 *diferent manner. Rather than using 8 pins we will use just three
8 *and an additional chip.
9 *
10 */
11 //Pin Deinitions
12 //Pin Deinitions
13 //The 74HC595 uses a serial communication
14 //link which has three pins
15 int data = 2;
417
B ʹ. ARDUINO 8BIT
B ʹ.15: - B ʹ.16: -
CIRC05 CIRC05
418
B ʹ. ARDUINO 8BIT
16 int clock = 3;
17 int latch = 4;
18
19 //Used for single LED manipulation
20 int ledState = 0;
21 const int ON = HIGH;
22 const int OFF = LOW;
23
24 /*
25 * setup() - this function runs once when you turn your Arduino on
26 * We set the three control pins to outputs
27 */
28 void setup()
29 {
30 pinMode(data, OUTPUT);
31 pinMode(clock, OUTPUT);
32 pinMode(latch, OUTPUT);
33 }
34
35
36 /*
37 * loop() - this function will start after setup inishes and then repeat
38 * we set which LEDs we want on then call a routine which sends to the 74HC595
39 */
40 void loop() // run over and over again
41 {
42 int delayTime = 100; //the number of milliseconds to delay between LED updates
43 for(int i = 0; i < 256; i++){
44 updateLEDs(i);
45 delay(delayTime);
46 }
47 }
48
49 /*
50 *updateLEDs() - sends the LED states set in ledStates to the 74HC595
51 *sequence
52 */
53 void updateLEDs(int value){
54 digitalWrite(latch, LOW); //Pulls the chips latch low
55 shiftOut(data, clock, MSBFIRST, value); //Shifts out the 8 bits to the
56 //shift register
57 digitalWrite(latch, HIGH); //Pulls the latch high displaying the data
58 }
59
60 /*
61 * updateLEDsLong() - sends the LED states set in ledStates to the 74HC595
62 * sequence. Same as updateLEDs except the shifting out is done in software
63 * so you can see what is happening.
64 */
65 void updateLEDsLong(int value){
66 digitalWrite(latch, LOW); //Pulls the chips latch low
67 for(int i = 0; i < 8; i++){ //Will repeat 8 times (once for each bit)
68 int bit = value & B10000000; //We use a ”bitmask” to select only the eighth
69 //bit in our number (the one we are addressing this time through
70 value = value << 1; //we move our number up one bit value
71 //so next time bit 7 will be
72 //bit 8 and we will do our math on it
73 if (bit == 128){digitalWrite(data, HIGH);}
74 //if bit 8 is set then set our data pin high
75 else{digitalWrite(data, LOW);} //if bit 8 is unset then set the data pin low
76 digitalWrite(clock, HIGH); //the next three lines pulse the clock pin
77 delay(1);
419
B ʹ. ARDUINO 8BIT
78 digitalWrite(clock, LOW);
79 }
80 digitalWrite(latch, HIGH);
81 //pulls the latch high shifting our data into being displayed
82 }
83
84 //These are used in the bitwise math that we use to change individual LEDs
85 //For more details http://en.wikipedia.org/wiki/Bitwise_operation
86 int bits [] = {B00000001, B00000010, B00000100, B00001000, B00010000,\
87 B00100000, B01000000, B10000000};
88 int masks[] = {B11111110, B11111101, B11111011, B11110111, B11101111,\
89 B11011111, B10111111, B01111111};
90 /*
91 * changeLED(int led, int state) - changes an individual LED
92 * LEDs are 0 to 7 and state is either 0 - OFF or 1 - ON
93 */
94 void changeLED(int led, int state){
95 //clears ledState of the bit we are addressing
96 ledState = ledState & masks[led];
97 if (state == ON){ledState = ledState | bits[led];}
98 //if the bit is on we will add it to ledState
99 updateLEDs(ledState); //send the new LED state to the shift register
100 }
CIRCΐ05
. AΤΕΧΚΟΠ , -
.
φβεθ χύRχαδι
α
shiftOut()ξ loop() updateLEDs(i);
updateLEDsLong(i); .
-
, , ‘ ’ ΔΙΚΡ 1
ΓΚΦ .
updateLEDsLong() -
ΆΚΜΚΡΖΕΚΒ
⁸ΙtΡ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/SΖΤΚΒΝΐPΖΤΚΡΙΖΤΒΝΐIΟΦΖΤΗΒΔΖΐBΧΥ⁹.
Έ Lωψsξ -
LEDΥ, CIRC-02,
changeLED(< LED>,<ON/OFF>); loop(), -
,
CIRCΐ05ΐΔ1 AΤΕΧΚΟΠ:
1 //the number of milliseconds to delay between LED updates
2 int delayTime = 100;
3 for(int i = 0; i < 8; i++){
4 changeLED(i,ON);
5 delay(delayTime);
6 }
420
B ʹ. ARDUINO 8BIT
Lωψ animationξ -
my_animation(), LED ΒΟΚΞΒΦΚΠΟ
, CIRC-02. -
CIRC-02, -
, ΔΠΞΡΚΝΖ ⁸
digitalWrite() changeLED() ⁹. Π CIRCΐ05ΐΔ2 -
AΤΕΧΚΟΠ.
φβει κ
AΤΕΧΚΟΠ -
, .
ΓΧάάΖΤ. -
-
.
⁸ . . 440Hά
⁹.
ξ ζδ
CIRC-06 :
• 1
• 4
,
B ʹ.18. B ʹ.17.
ΡΚΟ 9
AΤΕΧΚΟΠ, .
φβεκ χύRχαδκ
AΤΕΧΚΟΠ. http://ardx.org/CODE06.
1
2 /* Melody
3 * ( cleft ) 2005 D. Cuartielles for K3
4 *
5 * This example uses a piezo speaker to play melodies. It sends
421
B ʹ. ARDUINO 8BIT
B ʹ.17: - B ʹ.18: -
CIRC06 CIRC06
422
B ʹ. ARDUINO 8BIT
423
B ʹ. ARDUINO 8BIT
68 }
69
70 // pause between notes
71 delay(tempo / 2);
72 }
73 }
CIRCΐ06
. AΤΕΧΚΟΠ , -
.
φβελ χύRχαδκ
ξ -
ΦΖΞΡΠ. , -
, .
: int tempo = 300; ,
AΤΕΧΚΟΠ
.
Έ ξ -
, tones[ ]. int tones[] =
1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 ;
names[ ].
ξ
‘TΩΚΟΜΝΖ TΩΚΟΜΝΖ LΚtΝΖ SΦΒΤ’,
. :
1 int length = 15; // the number of notes
2 char notes[] = ”ccggaagfeeddc ”; // a space represents a rest
3 int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
,
. Π CIRCΐ06ΐΔ1
AΤΕΧΚΟΠ.
φβεμ λ
AΤΕΧΚΟΠ
.
424
B ʹ. ARDUINO 8BIT
. AΤΕΧΚΟΠ ΡΚΟ
HIGH
LOΆ. LOΆ -
,
.
ΡΧΝΝ ΧΡ ,
, ΡΚΟ HIGH.
ξ ηι
CIRC-07 :
• 1 LED 5ΞΞ
• 1 330 OΙΞ ⁸ - - ⁹
• 7
• 1 74HC595
• 2 10Μ OΙΞ ⁸ – – ⁹
,
B ʹ.20. B ʹ.19.
LED ΡΚΟ 13 AΤΕΧΚΟΠ ⁸ ΡΚΟ 9
B ʹ.20, ⁹
330 OΙΞ,
. ΓΤΖΒΕΓΠΒΤΕ
ΡΚΟ 10Μ OΙΞ,
+5 V
φβεν χύRχαδλ
AΤΕΧΚΟΠ. http://ardx.org/CODE07.
1 /*
2 Button: Turns on and of a light emitting diode(LED) connected to digital
3 pin 13, when pressing a pushbutton attached to pin 7.
4
5 The circuit:
6 * LED attached from pin 13 to ground
7 * pushbutton attached to pin 2 from +5V
8 * 10K resistor attached to pin 2 from ground
9
10 * Note: on most Arduinos there is already an LED on the board
11 attached to pin 13.
12
13 created 2005
425
B ʹ. ARDUINO 8BIT
B ʹ.19: - B ʹ.20: -
CIRC07 CIRC07
426
B ʹ. ARDUINO 8BIT
14 by DojoDave <http://www.0j0.org>
15 modiied 17 Jun 2009
16 by Tom Igoe
17
18 http://www.arduino.cc/en/Tutorial/Button
19 */
20
21 // constants won’t change. They’re used here to
22 // set pin numbers:
23 const int buttonPin = 2; // the number of the pushbutton pin
24 const int ledPin = 13; // the number of the LED pin
25
26 // variables will change:
27 int buttonState = 0; // variable for reading the pushbutton status
28
29 void setup() {
30 // initialize the LED pin as an output:
31 pinMode(ledPin, OUTPUT);
32 // initialize the pushbutton pin as an input:
33 pinMode(buttonPin, INPUT);
34 }
35
36 void loop(){
37 // read the state of the pushbutton value:
38 buttonState = digitalRead(buttonPin);
39
40 // check if the pushbutton is pressed.
41 // if it is , the buttonState is HIGH:
42 if (buttonState == HIGH){
43 // turn LED on:
44 digitalWrite(ledPin, HIGH);
45 }
46 else {
47 // turn LED of:
48 digitalWrite(ledPin, LOW);
49 }
50 }
CIRCΐ07
.
φβζδ χύRχαδλ
ξ ΥΜΖΦΔΙ
:
1 int ledPin = 13; // choose the pin for the LED
2 int inputPin1 = 3; // button 1
3 int inputPin2 = 2; // button 2
4
5 void setup() {
6 pinMode(ledPin, OUTPUT); // declare LED as output
7 pinMode(inputPin1, INPUT); // make button 1 an input
8 pinMode(inputPin2, INPUT); // make button 2 an input
9 }
10 void loop(){
11 if (digitalRead(inputPin1) == LOW) {
427
B ʹ. ARDUINO 8BIT
, CIRCΐ07ΐΔ1
AΤΕΧΚΟΠ. .
Lωψ fadingξ -
.
ΡΚΟ LED,
ΡΚΟ 13 AΤΕΧΚΟΠ, ΡΚΟ 9.
⁸ CIRCΐ07ΐΔ1⁹.
const int ledPin = 13; −→ const int ledPin = 9;
loop() :
1 int value = 0;
2 void loop(){
3 if (digitalRead(inputPin1) == LOW) { value--; }
4 else if (digitalRead(inputPin2) == LOW) { value++; }
5 value = constrain(value, 0, 255);
6 analogWrite(ledPin, value);
7 delay(10);
8 }
CIRCΐ07ΐΔ2 AΤΕΧΚΟΠ.
.
fadingξ
CIRCΐ07ΐΔ2: delay(10);
φβζε μ
ΡΚΟΥ, AΤΕΧΚΟΠ 6 ΡΚΟΥ -
.
⁸ 0 5 ΨΠΝΦΥ DC⁹
0 1024 ⁸ 10 ΓΚΦ⁹.
⁸ ⁹. -
ΡΚΟ
.
ξ ζι
CIRC-08 :
• 1 LED 5ΞΞ
• 1 330 OΙΞ ⁸ - - ⁹
428
B ʹ. ARDUINO 8BIT
• 4
• 1 10ΜOΙΞ
,
B ʹ.22. B ʹ.21.
B ʹ.21: - B ʹ.22: -
CIRC08 CIRC08
429
B ʹ. ARDUINO 8BIT
330 OΙΞ,
. ΓΤΖΒΕΓΠΒΤΕ -
ΡΚΟ , ΡΚΟ 0 AΤΕΧΚΟΠ
+5 V.
φβζζ χύRχαδμ
AΤΕΧΚΟΠ. http://ardx.org/CODE08.
1 /*
2 Analog Input
3 Demonstrates analog input by reading an analog sensor on analog pin 0 and
4 turning on and of a light emitting diode(LED) connected to digital pin 13.
5 The amount of time the LED will be on and of depends on
6 the value obtained by analogRead().
7
8 The circuit:
9 *Potentiometer attached to analog input 0
10 *center pin of the potentiometer to the analog pin
11 *one side pin (either one) to ground
12 *the other side pin to +5V
13 *LED anode (long leg) attached to digital output 13
14 *LED cathode (short leg) attached to ground
15
16 *Note: because most Arduinos have a built-in LED attached
17 to pin 13 on the board, the LED is optional.
18
19
20 Created by David Cuartielles
21 Modiied 16 Jun 2009
22 By Tom Igoe
23
24 http://arduino.cc/en/Tutorial/AnalogInput
25
26 */
27
28 int sensorPin = 0; // select the input pin for the potentiometer
29 int ledPin = 13; // select the pin for the LED
30 int sensorValue = 0; // variable to store the value coming from the sensor
31
32 void setup(){
33 // declare the ledPin as an OUTPUT:
34 pinMode(ledPin, OUTPUT);
35 }
36
37 void loop(){
38 // read the value from the sensor:
39 sensorValue = analogRead(sensorPin);
40 // turn the ledPin on
41 digitalWrite(ledPin, HIGH);
42 // stop the program for <sensorValue> milliseconds:
43 delay(sensorValue);
44 // turn the ledPin of:
45 digitalWrite(ledPin, LOW);
46 // stop the program for for <sensorValue> milliseconds:
47 delay(sensorValue);
430
B ʹ. ARDUINO 8BIT
48 }
CIRCΐ08
. ,
ΡΚΟ 0 ⁸A0 AΤΕΧΚΟΠ⁹.
φβζη χύRχαδθ
α ξ
loop() CIRCΐ08 :
1 void loop() {
2 int threshold = 512;
3 if (analogRead(sensorPin) > threshold){ digitalWrite(ledPin, HIGH);}
4 else{ digitalWrite(ledPin, LOW);}
5 }
, CIRCΐ08ΐΔ1
AΤΕΧΚΟΠ. Ό 512 OΙΞ
, LED .
Έ ξ -
LED. -
ΡΚΟ LED, ΡΚΟ 13
AΤΕΧΚΟΠ, ΡΚΟ 9. ⁸
CIRCΐ08ΐΔ1⁹.
const int ledPin = 13; −→ const int ledPin = 9;
loop() :
1 void loop() {
2 int value = analogRead(sensorPin) / 4;
3 analogWrite(ledPin, value);
4 }
CIRCΐ08ΐΔ2 AΤΕΧΚΟΠ.
.
Έ Servoξ LED
SΖΤΨΠ. CIRCΐ04 ⁸ ΡΚΟ 9⁹
: > >SΖΤΨΠ>KΟΠΓ
: int sensorpin = 0; : int sensorpin = 2;
CIRCΐ08ΐΔ3 AΤΕΧΚΟΠ. -
.
431
B ʹ. ARDUINO 8BIT
φβζθ ν
8
. AΤΕΧΚΟΠ
, , .
.
ξ ηδ
CIRC-09 :
• 1 LED 5ΞΞ
• 1 330 OΙΞ ⁸ - - ⁹
• 1 10 ΜOΙΞ ⁸ – – ⁹
• 6
• 1
• 1 SΖΤΨΠ
,
B ʹ.24. B ʹ.23.
LED ΡΚΟ 9 AΤΕΧΚΟΠ -
330 OΙΞ,
. ΓΤΖΒΕΓΠΒΤΕ
ΡΚΟ 10Μ OΙΞ
+5V ΡΚΟ 0 .
φβζι χύRχαδν
AΤΕΧΚΟΠ. http://ardx.org/CODE09.
1 /*
2 Analog Input
3 Demonstrates analog input by reading an analog sensor on analog pin 0 and
4 turning on and of a light emitting diode(LED) connected to digital pin 13.
5 The amount of time the LED will be on and of depends on
6 the value obtained by analogRead().
7
8 The circuit:
9 *Potentiometer attached to analog input 0
10 *center pin of the potentiometer to the analog pin
432
B ʹ. ARDUINO 8BIT
B ʹ.23: - B ʹ.24: -
CIRC09 CIRC09
433
B ʹ. ARDUINO 8BIT
, ΝΠΠΡ : int
lightPin=sensorPin;
1 void loop()
2 {
3 int lightLevel = analogRead(lightPin); //Read the lightlevel
4 lightLevel = map(lightLevel, 0, 900, 0, 255); //adjust the value 0 to 900 to
5 //span 0 to 255
6
7 lightLevel = constrain(lightLevel, 0, 255);//make sure the
8 //value is betwween
9 //0 and 255
10 analogWrite(ledPin, lightLevel); //write the value
11 }
CIRCΐ09
.
LED
⁸ LED, ΡΚΟΥ AΤΕΧΚΟΠ⁹,
434
B ʹ. ARDUINO 8BIT
.
⁸ ⁹
.
φβζκ χύRχαδν
ξ -
:
analogWrite(ledPin, lightLevel); : analogWrite(ledPin,
lightLevel); , CIRCΐ09ΐΔ1
AΤΕΧΚΟΠ.
α ξ loop()
CIRCΐ09 :
1 void loop(){
2 int threshold = 300;
3 if (analogRead(lightPin) > threshold){
4 digitalWrite(ledPin, HIGH);
5 }else{
6 digitalWrite(ledPin, LOW);
7 }
8 }
loop() :
1 void loop() {
2 int value = analogRead(sensorPin) / 4;
3 analogWrite(ledPin, value);
4 }
, CIRCΐ09ΐΔ2
AΤΕΧΚΟΠ.
Έ Servoξ LED SΖΤΨΠ
CIRCΐ04 ⁸ ΡΚΟ 9⁹.
.
, 0⁸
⁹ 180 ⁸ ⁹ .
: > >SΖΤΨΠ>KΟΠΓ -
AΤΕΧΚΟΠ .
.
φβζλ εδ
. ΡΚΟΥ, , +5V 10
435
B ʹ. ARDUINO 8BIT
ΞV ΡΚΟ .
-
.
AΤΕΧΚΟΠ.
ξ ει
CIRC-10 :
• 1
• 5
,
B ʹ.26. B ʹ.25.
ΓΤΖΒΕΓΠΒΤΕ -
B ʹ.25 +5V,
ΡΚΟ 0 AΤΕΧΚΟΠ .
φβζμ χύRχαδη
AΤΕΧΚΟΠ. http://ardx.org/CODE10.
1 /* ---------------------------------------------------------
2 | Arduino Experimentation Kit Example Code |
3 *| CIRC-10 .: Temperature :. (TMP36 Temperature Sensor) |
4 * ---------------------------------------------------------
5 *
6 * A simple program to output the current temperature to the IDE’s debug window
7 *
8 * For more details on this circuit: http://tinyurl.com/c89tvd
9 */
10
11 //TMP36 Pin Variables
12 //the analog pin the TMP36’s Vout (sense) pin is connected to
13 int temperaturePin = 0;
14 //the resolution is 10 mV / degree centigrade
15 //(500 mV ofset) to make negative temperatures an option
16
17 /*
18 * setup() - this function runs once when you turn your Arduino on
19 * We initialize the serial connection with the computer
20 */
21 void setup()
22 {
23 Serial .begin(9600); //Start the serial connection with the computer
24 //to view the result open the serial monitor
25 //last button beneath the ile bar (looks like a box with an antenae)
26 }
27
28 void loop() // run over and over again
29 {
30 //getting the voltage reading from the temperature sensor
436
B ʹ. ARDUINO 8BIT
B ʹ.25: - B ʹ.26: -
CIRC10 CIRC10
437
B ʹ. ARDUINO 8BIT
CIRCΐ10
.
AΤΕΧΚΟΠ >
⁸CΦΤΝ+SΙΚt+M⁹.
1 ΥΖΔ. “ ”, -
9600 ΓΒΧΕ.
φβζν χύRχαεδ
α ξ
-
: Serial.println(temperature); :
Serial.print(temperature);Serial.println(”Deegrees centigrade”); -
.
, .
FΒΙΤΖΟΙΖΚΦ
: temperature = (temperature - .5) *
100; : temperature = (((temperature - .5) * 100)*1.8) + 32; -
ΨΠΝΦΥ,
temperature = (temperature - .5) * 100; CIRCΐ10ΐΔ1,
CIRCΐ10ΐΔ2, CIRCΐ10ΐΔ3,
AΤΕΧΚΟΠ -
.
άbaud rateέξ
ΓΒΧΕ
ΤΒΦΖ. 9600, -
. : Serial.begin(9600); :
Serial.begin(115200); ⁸CΦΤΝ+SΙΚt+M⁹
438
B ʹ. ARDUINO 8BIT
9600 115200.
12 .
φβηδ εε
.
. ,
.
P2N2222AG 1N4001 -
3.
ξ ηδ
CIRC-02 :
• 1 LED 5ΞΞ
• 13
• 2 330 OΙΞ ⁸ – – ⁹
• 1 10Μ OΙΞ ⁸ – – ⁹
• 1 ⁸SPDT⁹
• 1
• 1 LED
• 1 P2N2222AG ⁸TO92⁹
• 1 ⁸1N4001⁹
,
B ʹ.28. B ʹ.27.
,
B ʹ.27, , B ʹ.27. -
LED 330 OΙΞ
LED ⁸ -
LED ,
⁹. ,
10 ΜOΙΞ ΡΚΟ 2
AΤΕΧΚΟΠ ⁸
B ʹ.27⁹. ,
439
B ʹ. ARDUINO 8BIT
B ʹ.27: - B ʹ.28: -
CIRC11 CIRC11
440
B ʹ. ARDUINO 8BIT
. -
NC LED,
NO LED ΔΠΞ +5V.
+5V ΓΤΖΒΕΓΠΒΤΕ.
φβηε χύRχαεε
AΤΕΧΚΟΠ. http://ardx.org/CODE11.
1
2 /*
3 Blink
4 Turns on an LED on for one second, then of for one second, repeatedly.
5 The circuit:
6 * LED connected from digital pin 13 to ground.
7 * Note: On most Arduino boards, there is already an LED on the board
8 connected to pin 13, so you don’t need any extra components for this example.
9
10 Created 1 June 2005
11 By David Cuartielles
12 http://arduino.cc/en/Tutorial/Blink
13 based on an orginal by H. Barragan for the Wiring i/o board
14 */
15
16 int ledPin = 2;
17 // Relay connected to digital pin 2 <-----Change this to pin 2
18
19 // The setup() method runs once, when the sketch starts
20
21 void setup(){
22 // initialize the digital pin as an output:
23 pinMode(ledPin, OUTPUT);
24 }
25
26 // the loop() method runs over and over again,
27 // as long as the Arduino has power
28
29 void loop()
30 {
31 digitalWrite(ledPin, HIGH); // set the LED on
32 delay(1000); // wait for a second
33 digitalWrite(ledPin, LOW); // set the LED of
34 delay(1000); // wait for a second
35 }
CIRCΐ11
.
.
,
ΓΤΖΒΕΓΠΒΤΕ
⁸ ⁹.
441
B ʹ. ARDUINO 8BIT
φβηζ χύRχαεε
ξ
, ” ”,
. ,
ΓΤΖΒΕΓΠΒΤΕ AΤΕΧΚΟΠ -
⁸USB⁹, LED,
⁸
⁹
LED ,
LED .
Έ ξ ⁸
LED⁹ ΓΤΖΒΕΓΠΒΤΕ AΤΕΧΚΟΠ
⁸USB⁹, LED
330 OΙΞ , -
, NC
.
.
φβηη εζ
LEDΥ , ,
LEDΥ . -
RGB LEDΥ LEDΥ ⁸ , ⁹
.Ό LEDΥ -
. -
LED .
⁸PΆM⁹,
3.
ξ ηδ
CIRC-02 :
,
B ʹ.30. B ʹ.29.
RGB LED B ʹ.29. ⁸ ΡΚΟΥ
LED B ʹ.30⁹.
442
B ʹ. ARDUINO 8BIT
B ʹ.29: - B ʹ.30: -
CIRC12 CIRC12
443
B ʹ. ARDUINO 8BIT
φβηθ χύRχαδη
AΤΕΧΚΟΠ. http://ardx.org/CODE12S.
1 /*
2
3 RGB_LED_Color_Fade_Cycle.pde
4
5 Cycles through the colors of a RGB LED
6
7 Written for SparkFun Arduino Inventor’s Kit CIRC-RGB
8
9 */
10
11 // LED leads connected to PWM pins
12 const int RED_LED_PIN = 9;
13 const int GREEN_LED_PIN = 10;
14 const int BLUE_LED_PIN = 11;
15
16 // Used to store the current intensity level of the individual LEDs
17 int redIntensity = 0;
18 int greenIntensity = 0;
19 int blueIntensity = 0;
20
21 // Length of time we spend showing each color
22 const int DISPLAY_TIME = 100; // In milliseconds
23
24
25 void setup() {
26 // No setup required.
27 }
28
29 void loop() {
30 // Cycle color from red through to green
31 // (In this loop we move from 100% red, 0% green to 0% red, 100% green)
32 for (greenIntensity = 0; greenIntensity <= 255; greenIntensity+=5){
33 redIntensity = 255-greenIntensity;
34 analogWrite(GREEN_LED_PIN, greenIntensity);
35 analogWrite(RED_LED_PIN, redIntensity);
36 delay(DISPLAY_TIME);
37 }
38
39 // Cycle color from green through to blue
40 // (In this loop we move from 100% green, 0% blue to 0% green, 100% blue)
41 for (blueIntensity = 0; blueIntensity <= 255; blueIntensity+=5){
42 greenIntensity = 255-blueIntensity;
43 analogWrite(BLUE_LED_PIN, blueIntensity);
44 analogWrite(GREEN_LED_PIN, greenIntensity);
45 delay(DISPLAY_TIME);
46 }
47
48 // Cycle cycle from blue through to red
49 // (In this loop we move from 100% blue, 0% red to 0% blue, 100% red)
50 for (redIntensity = 0; redIntensity <= 255; redIntensity+=5) {
444
B ʹ. ARDUINO 8BIT
51 blueIntensity = 255-redIntensity;
52 analogWrite(RED_LED_PIN, redIntensity);
53 analogWrite(BLUE_LED_PIN, blueIntensity);
54 delay(DISPLAY_TIME);
55 }
56 }
CIRCΐ12
AΤΕΧΚΟΠ. LED , , -
.
φβηι χύRχαεζ
ξ -
Π LED
.
,
OΙΞ ΡΚΟ ,
, : analogWrite(RED_LED_PIN,
redIntensity); : analogWrite(RED_LED_PIN, redIntensity/3); -
⁸CΦΤΝ+Υ⁹ AΤΕΧΚΟΠ, -
.
ξ
HTML CSS,
.
ΆΚΜΚΡΖΕΚΒ ⁸ΙtΡ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/ΆΖΓΐΔΠΝΠΤΥ#HΖΪΐΦΤΚΡΝΖΦ⁹ -
. ,
AΤΕΧΚΟΠ SΜΖΦΔΙ -
⁸ http://ardx.org/RGBMB⁹
1 /*
2 Set_RGB_Color.pde
3 Shows how to use HTML-style hex triplet color codes to specify RGB LED colors
4 Written for SparkFun Arduino Inventor’s Kit CIRC-RGB
5 */
6
7 // LED leads connected to PWM pins
8 const int RED_LED_PIN = 9;
9 const int GREEN_LED_PIN = 10;
10 const int BLUE_LED_PIN = 11;
11
12 // HTML-style hex triplet color code values from Wikipedia
13 const unsigned long ORANGE = 0xFF7F00;
14 const unsigned long TEAL = 0x008080;
15 const unsigned long AUBERGINE = 0x614051;
16
17 // Length of time we spend showing each color
18 const int DISPLAY_TIME = 2000; // In milliseconds
445
B ʹ. ARDUINO 8BIT
19
20 void setup() {
21 // No setup required.
22 }
23
24 void loop() {
25 // Cycle through our awesome colors
26
27 setColor(ORANGE);
28 delay(DISPLAY_TIME);
29
30 setColor(TEAL);
31 delay(DISPLAY_TIME);
32
33 setColor(AUBERGINE);
34 delay(DISPLAY_TIME);
35 }
36
37 void setColor(unsigned long color) {
38 /*
39 Sets the color of the RGB LED to the color speciied by the
40 HTML-style hex triplet color value supplied to the function.
41
42 The color value supplied should be an unsigned long number of the form:
43
44 0xRRGGBB
45
46 e.g. 0xFF7F00 is orange
47
48 where:
49 0x speciies the value is a hexadecimal number
50 RR is a byte specifying the red intensity
51 GG is a byte specifying the green intensity
52 BB is a byte specifying the blue intensity
53
54 How it works (you don’t need to understand this to use the function):
55
56 The supplied value of the form 0xRRGGBB is an unsigned long which can
57 store four bytes. If we view the number in bit form the bits of the
58 unsigned long look like this:
59
60 iiiiiiiirrrrrrrrggggggggbbbbbbbb
61
62 where:
63
64 i are bits that are ignored (because we only need three bytes for the value)
65 r are bits specifying the red intensity
66 g are bits specifying the green intensity
67 b are bits specifying the blue intensity
68
69 We use bit shifting and masking to extract the individual values.
70
71 Bit shifting moves the bits in a number along in one direction to produce
72 a new number. For example ”>> n” means shift the bits n positions to the
73 right.
74
75 e.g. iiiiiiiirrrrrrrrggggggggbbbbbbbb >> 8 gives:
76
77 00000000 iiiiiiiirrrrrrrrgggggggg
78
79 The number 0xFF represents the bit mask:
80
446
B ʹ. ARDUINO 8BIT
81 00000000000000000000000011111111
82
83 The ”&” character means the two values are ”and”ed together--for each bit
84 in the two numbers being ”and”ed together the resulting bit is only set in
85 the result if the same bits are set in both the input numbers.
86
87 So, continuing our example:
88
89 00000000 iiiiiiiirrrrrrrrgggggggg && 0xFF gives:
90
91 00000000 iiiiiiiirrrrrrrrgggggggg &&
92 00000000000000000000000011111111 =
93 000000000000000000000000gggggggg
94
95 And we now have extracted only the green bits from our hex triplet.
96
97 More details on bit math can be found here:
98 <http://www.arduino.cc/playground/Code/BitMath>
99
100 */
101
102 // Extract the intensity values from the hex triplet
103 byte redIntensity = (color >> 16) & 0xFF;
104 byte greenIntensity = (color >> 8) & 0xFF;
105 byte blueIntensity = color & 0xFF;
106
107 // Display the requested color
108 analogWrite(RED_LED_PIN, redIntensity);
109 analogWrite(GREEN_LED_PIN, greenIntensity);
110 analogWrite(BLUE_LED_PIN, blueIntensity);
111 }
, -
.
: long randNumber;
randomSeed(analogRead(0)); : randNumber =
random(1300000); setColor();
CIRCΐ12ΐΔ1 AΤΕΧΚΟΠ
. -
,
, .
φβηκ εη
.
, ,
-
. ⁸ -
8 9⁹
AΤΕΧΚΟΠ. ⁸ ‘ ’
447
B ʹ. ARDUINO 8BIT
⁹ , -
. 10 KOΙΞ 35 KOΙΞ.
-
SΖΤΨΠ.
ξ ζι
CIRC-02 :
• 1 3ΡΚΟ HΖΒΕΖΤ
• 1 MΚΟΚ SΖΤΨΠ
• 1 10 ΜOΙΞ ⁸ – – ⁹
• 1
• 8
,
B ʹ.32. B ʹ.31.
3ΡΚΟ HΖΒΕΖΤ B ʹ.31.
SΖΤΨΠ 3ΡΚΟ HΖΒΕΖΤ
SΖΤΨΠ ΡΚΟ 9 AΤΕΧΚΟΠ, -
+5V, .
ΓΤΖΒΕΓΠΒΤΕ +5V
10 ΜOΙΞ -
, ΡΚΟ 0 AΤΕΧΚΟΠ. +5V
GΟΕ AΤΕΧΚΟΠ. ε:
, . ζ:
90 . ,
.
φβηλ χύRχαεη
AΤΕΧΚΟΠ. http://ardx.org/CODE13S.
1
2 //Based on File>Examples>Servo>Knob
3 //Controlling a servo position using a potentiometer (variable resistor)
4 //by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
5
6 #include <Servo.h>
7
8 Servo myservo; //create servo object to control a servo
9
10 int potpin = 0; // analog pin used to connect the potentiometer
448
B ʹ. ARDUINO 8BIT
B ʹ.31: - B ʹ.32: -
CIRC13 CIRC13
449
B ʹ. ARDUINO 8BIT
11 int val; // variable to read the value from the analog pin
12
13 void setup()
14 {
15 Serial .begin(9600);
16 myservo.attach(9);//attaches the servo on pin 9 to the servo object
17 }
18
19 void loop()
20
21 {
22 val=analogRead(potpin);
23 //reads the value of the potentiometer (value between 0 and 1023)
24 Serial .println(val );
25 val=map(val,50,300,0,179);
26 //scale it to use it with the servo (value between 0 and 180)
27 myservo.write(val);
28 //sets the servo position according to the scaled value
29 delay(15);//waits for the servo to get there
30 }
CIRCΐ13
AΤΕΧΚΟΠ. SΖΤΨΠ
. SΖΤΨΠ
⁸
⁹. “ ”
. , SΖΤΨΠ
⁸ ⁹.
φβημ χύRχαεη
άχalibrationέξ ’ SΖΤΨΠ -
,
. -
:
1. > ⁸CΦΤΝ+SΙΚt+M⁹.
2. .
4. .
5. ⁸90 ⁹
.
450
B ʹ. ARDUINO 8BIT
φβην εθ
-
, , -
.
. 100 10K OΙΞ
.
RGB LED.
ξ ζι
CIRC-02 :
• 1 RGB LED
• 3 330 OΙΞ ⁸ - - ⁹
• 9
• 1
,
B ʹ.34. B ʹ.33.
RGB LED B ʹ.33. ⁸ ΡΚΟΥ
LED B ʹ.34⁹.
330 OΙΞ ΡΚΟ , -
ΡΚΟ AΤΕΧΚΟΠ. ΡΚΟ .
ΓΤΖΒΕΓΠΒΤΕ
ΡΚΟ A0 AΤΕΧΚΟΠ, +5V
. : .
.
451
B ʹ. ARDUINO 8BIT
B ʹ.33: - B ʹ.34: -
CIRC14 CIRC14
452
B ʹ. ARDUINO 8BIT
φβθδ χύRχαεθ
AΤΕΧΚΟΠ. http://ardx.org/CODE14S.
1 /* ---------------------------------------------------------
2 *| Experimentation Kit for Arduino Example Code|
3 *| CIRC-14: Fancy Sensing:(Soft Potentiometer) |
4 *---------------------------------------------------------
5 *
6 * Will fade an RGB LED from Red-Green-Blue in relation to the
7 * soft pot value
8 *
9 */
10
11 // LED leads connected to PWM pins
12
13 const int RED_LED_PIN=9; //Red LED Pin
14 const int GREEN_LED_PIN=10; //Green LED Pin
15 const int BLUE_LED_PIN=11; //Blue LED Pin
16
17 void setup(){
18 //no need for any code here
19 }
20
21 void loop(){
22 int sensorValue=analogRead(0); //read the Soft Pot
23
24 int redValue=constrain(map(sensorValue,0,512,255,0),0,255);
25 //calculate the red Value (255-0 over the range 0-512)
26
27 int greenValue=constrain(map(sensorValue,0,512,0,255),0,255)\
28 -constrain(map(sensorValue,512,1023,0,255),0,255);
29 //calculate the green value (0-255 over 0-512 & 255-0 over 512-1023)
30
31 int blueValue=constrain(map(sensorValue,512,1023,0,255),0,255);
32 //calculate the blue value 0-255 over 512-1023
33
34 // Display the requested color
35
36 analogWrite(RED_LED_PIN, redValue);
37 analogWrite(GREEN_LED_PIN, greenValue);
38 analogWrite(BLUE_LED_PIN, blueValue);
39 }
CIRCΐ14
AΤΕΧΚΟΠ. LED , , -
. ,
. -
-
.
453
B ʹ. ARDUINO 8BIT
φβθε χύRχαεθ
ξ -
Π LED
.
,
OΙΞ ΡΚΟ ,
, : analogWrite(RED_LED_PIN,
redIntensity); : analogWrite(RED_LED_PIN, redIntensity/3); -
⁸CΦΤΝ+Υ⁹ AΤΕΧΚΟΠ, -
.
όSφ άόue, Saturation & φrightnessέ α
ξ
RGB HSB. ΆΚΜΚΡΖΕΚΒ ⁸http://en.
wikipedia.org/wiki/HSV_color_space⁹ .
, -
AΤΕΧΚΟΠ SΜΖΦΔΙ ⁸
http://ardx.org/CODE14MB⁹
1 //LED leads connected to PWM pins
2 const int RED_LED_PIN=9;
3 const int GREEN_LED_PIN=10;
4 const int BLUE_LED_PIN=11;
5
6 //http://www.kasperkamperman.com/blog/arduino/arduino-programming-hsb-to-rgb/
7
8 void getRGB(int hue, int sat, int val, int colors [3]){
9 /*convert hue, saturation and brightness ( HSB/HSV ) to RGB
10 The dim_curve is used only on brightness/value and on saturation
11 (inverted).
12 This looks the most natural.
13 */
14
15 // val=dim_curve[val];
16 // sat=255-dim_curve[255-sat];
17
18 int r;
19 int g;
20 int b;
21 int base;
22
23 if (sat==0){//Acromatic color (gray).Hue doesn’t mind.
24 colors[0]=val;
25 colors[1]=val;
26 colors[2]=val;
27 }else{
28
29 base=((255-sat)*val)>>8;
30
31 switch(hue/60) {
32 case 0:
33 r = val;
34 g = (((val-base)*hue)/60)+base;
454
B ʹ. ARDUINO 8BIT
35 b = base;
36 break;
37
38 case 1:
39 r = (((val-base)*(60-(hue%60)))/60)+base;
40 g = val;
41 b = base;
42 break;
43
44 case 2:
45 r = base;
46 g = val;
47 b = (((val-base)*(hue%60))/60)+base;
48 break;
49
50 case 3:
51 r = base;
52 g = (((val-base)*(60-(hue%60)))/60)+base;
53 b = val;
54 break;
55
56 case 4:
57 r = (((val-base)*(hue%60))/60)+base;
58 g = base;
59 b = val;
60 break;
61
62 case 5:
63 r = val;
64 g = base;
65 b = (((val-base)*(60-(hue%60)))/60)+base;
66 break;
67 }
68 colors[0]=r;
69 colors[1]=g;
70 colors[2]=b;
71 }
72 }
73
74 int rgb_colors[3];
75 /// ----------------
76
77 int redIntensity;
78 int greenIntensity;
79 int blueIntensity;
80
81 void setup() {
82
83 }
84
85 void loop() {
86 int sensorValue = analogRead(0);
87 getRGB(map(sensorValue, 0, 1023, 0, 255), 0xf, 0xf, rgb_colors);
88 redIntensity = rgb_colors[0];
89 greenIntensity = rgb_colors[1];
90 blueIntensity = rgb_colors[2];
91
92 // Display the requested color
93 analogWrite(RED_LED_PIN, 255-redIntensity);
94 analogWrite(GREEN_LED_PIN, 255-greenIntensity);
95 analogWrite(BLUE_LED_PIN, 255-blueIntensity);
96
455
B ʹ. ARDUINO 8BIT
97 }
CIRCΐ14ΐΔ1 AΤΕΧΚΟΠ
.
ξ , -
.
-
.
⁸CΦΤΝ+SΙΚt+M⁹ ⁸
10 ⁹ -
2 .
1 if (analogRead(0)>minValue && analogRead(0)<maxValue){
2 analogWrite(RED_LED_PIN, YourValue);
3 analogWrite(GREEN_LED_PIN, YourValue);
4 analogWrite(BLUE_LED_PIN, YourValue); }
3 .
.
CIRCΐ14ΐΔ2 AΤΕΧΚΟΠ
.
φβθζ ει
ξ εζδ
CIRC-15 :
• 14
• 1 ΓΖΖΡΖΤ
• 1 ΧΝΦΤΒΥΠΟΚΔ ΞΠΕΧΝΖ
: ,
,
. -
: ΧΝΦΤΒΥΠΟΚΔ MΠΕΧΝΖ -
ΔΞ ⁸40ΔΞ⁹
. , ΔΞ
ΔΞ, -
“HΖΝΝΠ SΦΧΕΖΟΦ ···· ⁸ ⁹”.
456
B ʹ. ARDUINO 8BIT
, AΤΕΧΚΟΠ.
AΤΕΧΚΟΠ, NOKIA 5110LCD -
, ΧΝΦΤΒΥΠΟΚΔ SDM-IO , ΓΖΖΡΖΤ
PΚΟ ⁸5V⁹ ⁸GND⁹
AΤΕΧΚΟΠ ΓΤΖΒΕΓΠΒΤΕ. CΠΞΡΚΝΖ, -
AΤΕΧΚΟΠ IDE. ‼
USB AΤΕΧΚΟΠ /
.
φβθζβζ beeper
ΡΚΟΥ. ⁸+⁹ ΕΚΘΚΦΒΝ ΡΚΟΥ
AΤΕΧΚΟΠ 2 13 ⁸-⁹ . ⁸ 1⁹ -
ΒΤΕΧΚΟΠ ; ⁸B1⁹
AΤΕΧΚΟΠ PΝΒyΘΤΠΧΟΕ ΙtΡ://ΒΤΕΧΚΟΠ.ΔΔ ΓΖΖΡΖΤ
.
beep() ⁸ beeper⁹
ΡΚΟ AΤΕΧΚΟΠ.
1 int beeper = Χ;
2
3 void setup(){
4 Serial .begin(9600);
5 pinMode(beeper, OUTPUT); //pin is output
6 }
7 void loop() {
8 beep();
9 delay(100);
10 }
11
12 void beep(){
13
14 }
-
. .
457
B ʹ. ARDUINO 8BIT
1. VCC −→ 5V
⁸ 2⁹ TrigPin.
1 int EchoPin = XX;
⁸ 3⁹ EchoPin.
1 unsigned long ultrasoundDuration;
2 int timeout;
3 unsigned long tStartPing = 0;
4 loat sensorValue = 0;
458
B ʹ. ARDUINO 8BIT
19 timeout = 1;
20 break;
21 }
22 }
23 ultrasoundDuration=micros()-tStartPing;
⁸B6⁹
μΧΝΦΤΒΥΠΧΟΕDΧΤΒΦΚΠΟ ΧΥ,ό
0,017 ΧΝΦΤΒΥΠΧΟΕDΧΤΒΦΚΠΟ ΔΞ.
.
1 if (timeout)
2 return 999;
3 else
4 return ultrasoundDuration*0.017; //result in cm
5 }
-
. .
ξ ΡΚΟΥ .
AΤΕΧΚΟΠ :
1. VCC −→ 3.3V ⁸AΤΕΧΚΟΠ⁹
2. GND −→ ⁸ ⁹
8. LED −→ ⁸ ⁹
⁸A3⁹ ΡΚΟΥ.
:
1 //The pins to use on the arduino
2 #deine PIN_SCE XX
3 #deine PIN_RESET XX
4 #deine PIN_DC XX
5 #deine PIN_SDIN XX
6 #deine PIN_SCLK XX
Ό PΚΟ AΤΕΧΚΟΠ. ‼ -
PΚΟ 0 1 . setup() -
LcdInitialise();, LcdClear();.
459
B ʹ. ARDUINO 8BIT
⁸ΙtΡ://ΓΝΠΘ.ΥΦΧΒΤΦΝΖΩΚΥ.ΔΠΞ/2011/02/12/ΥΔΤΠΝΝΚΟΘ-ΦΖΪΦ-
ΩΚΦΙ-ΒΟ-ΒΤΕΧΚΟΠ-ΒΟΕ-ΟΠΜΚΒ-5110-ΥΔΤΖΖΟ/⁹ -
-
. ⁸B7⁹
ΝΠΠΡ⁸⁹ “HΖΝΝΠ
SΦΧΕΖΟΦ ···· ⁸ ⁹” -
.
.
ultrasonic ί beeperξ AΤΕΧΚΟΠ
ΧΝΦΤΒΥΠΟΚΔ beep() ΓΖΖΡΖΤ
40 ΔΞ. ⁸A4⁹
ΧΝΦΤΒΥΠΟΚΔ . ⁸B8⁹ -
.
ultrasonic ί Lχψξ AΤΕΧΚΟΠ
ΧΝΦΤΒΥΠΟΚΔ LCD
ΔΞ 40 ΔΞ, -
“HΖΝΝΠ SΦΧΕΖΟΦ ···· ⁸ ⁹” ⁸B9⁹
. ⁸A5⁹
-
.
ξ ,
. ⁸B10⁹ loop()
: 40 ΔΞ
ΓΖΖΡΖΤ..
“HΖΝΝΠ SΦΧΕΖΟΦ ···· ⁸ ⁹” ΓΖΖΡΖΤ .
⁸B11⁹ beep(),
ΔΞ 30, 20 10.
460
χ ʹ
υltera ϊPGυ
Ό ,
-
.
8ΓΚΦ 32ΓΚΦ, -
, AΝΦΖΤΒ ·ΚΝΚΟΪ.
-
,
, -
. ,
AΝΦΖΤΒ DE2-115
.
χβε
FPGA AΝΦΖΤΒ
DE2-115 ⁸ C ʹ.1⁹, -
⁸ ⁹,
-
. , -
FPGA -
.
AΝΦΖΤΒ CyΔΝΠΟΖ IV -
⁸ΡΚΟΥ⁹ CyΔΝΠΟΖ,
461
C ʹ. ALTERA FPGA
. , -
, LED,
7 ⁸7-ΥΖΘΞΖΟΦ ΕΚΥΡΝΒyΥ⁹. , -
SRAM, SDRAM FLASH -
.
, -
⁸ΥΠt-ΔΠΤΖ⁹
HDL, NΚΠΥ II AΝΦΖΤΒ,
. -
, ,
, -
.
DE2-115:
• FPGA
• I/O
– USB-BΝΒΥΦΖΤ FPGA
– / , ⁸24-ΓΚΦ⁹
– VΚΕΖΠ ⁸VGA 24-ΓΚΦ DAC⁹
– VΚΕΖΠ ⁸NTSC/PAL/SECAM⁹
–
– RS232 DB9
– 10/100/1000 EΦΙΖΤΟΖΦ ⁸2 ⁹
– USB 2.0 HΠΥΦ ⁸TyΡΖ A/ ⁹
– PS/2 ΞΠΧΥΖ
– ⁸40-ΡΚΟ ΙΖΒΕΖΤΥ⁹
462
C ʹ. ALTERA FPGA
– 8 7-ΥΖΘΞΖΟΦ
– 1 LCD 2Ϊ16
– 18
– 18 LEDΥ
– 4
– 50 MHά ΔΝΠΔΜ ⁸3 ⁹
AΝΦΖΤΒ uΒΤΦΧΥ. 2
,
AΝΦΖΤΒ ⁸ΩΩΩ.ΒΝΦΖΤΒ.ΔΠΞ⁹. ⁸ΩΖΓ⁹,
⁸ . . ,
⁹, ⁸ΥΧΓΥΔΤΚΡΦΚΠΟ⁹,
AΝΦΖΤΒ -
, ⁸IP⁹
. -
ΩΖΓ , .
uΒΤΦΧΥ ⁸ 2015⁹ 15, -
13,
15. Ό ,
-
32ΓΚΦ 64ΓΚΦ , ΆΚΟΕΠΩΥ ·P ,
463
C ʹ. ALTERA FPGA
C ʹ.1: -
AΝΦΖΤΒ DE2-115 -
.
VΖΤΚΝΠΘ VHDL, -
,
⁸ . . ⁹
FPGA ⁸ ⁹ -
.
AΝΦΖΤΒ uΒΤΦΧΥ -
ΔΙΚΡ ⁸SyΥΦΖΞ-OΟ-Β-PΤΠΘΤΒΞΞΒΓΝΖ-CΙΚΡ
- SOPC⁹. .
⁸GUI⁹ -
⁸ΔΠΞΞΒΟΕ-ΝΚΟΖ ΚΟΦΖΤΗΒΔΖ⁹
2 .
464
C ʹ. ALTERA FPGA
AΝΦΖΤΒ, -
-
⁸ C ʹ.2⁹ uΒΤΦΧΥ
⁸ΞΠΕΧΝΖΥ⁹:
• ⁶ ⁸AΟΒΝyΥΚΥ ⁶ SyΟΦΙΖΥΚΥ⁹
• ⁸PΒΤΦΚΦΚΠΟ MΖΤΘΖ⁹
• FPGA ⁸FΚtΖΤ⁹
• ⁸AΥΥΖΞΓΝΖΤ⁹
• ⁸TΚΞΖuΖΥΦ⁹
• ⁸DΖΥΚΘΟ AΥΥΚΥΦΒΟΦ⁹
465
C ʹ. ALTERA FPGA
,
⁸ΞΠΕΧΝΖΥ⁹, uΒΤΦΧΥ II,
ΡΤΠΛΖΔΦ , ”SΦΒΤΦ CΠΞΡΚΝΒΦΚΠΟ”
PΤΠΔΖΥΥΚΟΘ.
ΞΠΕΧΝΖ , -
⁸SΦΒΤΦ⁹
. ,
⁸TΒΥΜΥ⁹
⁸ C ʹ.3⁹.
AΝΦΖΤΒ
uΒΤΦΧΥ:
1. ΡΤΠΛΖΔΦ
, NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ
FΚΝΖ.
2. -
⁸TΖΪΦ EΕΚΦΠΤ⁹
⁸ΙΒΤΩΒΤΖ ΕΖΥΔΤΚΡΦΚΠΟ ΝΒΟΘΧΒΘΖ, HDL⁹ -
⁸VΖΤΚΝΠΘ, VHDL⁹ AΝΦΖΤΒ HΒΤΕΩΒΤΖ DΖΥΔΤΚΦΚΠΟ LΒΟΘΧΒΘΖ
⁸AHDL⁹.
⁸ΥΔΙΖΞΒΦΚΔ⁹.
5. - - -
⁸SOPC BΧΚΝΕΖΤ QSΈS⁹ DSP BΧΚΝΕΖΤ.
6. ⁸ΡΚΟ⁹
FPGA ΔΙΚΡ,
⁸ΔΠΟΥΦΤΒΚΟΦΥ⁹ AΥΥΚΘΟΞΖΟΦ EΕΚΦΠΤ, PΚΟ PΝΒΟΟΖΤ.
7.
⁸itΚΟΘ⁹.
8. ΟΒΝyΥΚΥ ⁶ SyΟΦΙΖΥΚΥ.
466
C ʹ. ALTERA FPGA
9.
⁸ΡΒΤΦΚΦΚΠΟΥ⁹, PΒΤΦΚΦΚΠΟ
MΖΤΘΖ.
10.
MΠΕΖΝΥΚΞ SΦΒΤΦΖΤ ⁸
⁹ .
11.
⁸FΚtΖΤ⁹.
12.
⁸PΠΩΖΤPΝΒy PΠΩΖΤ AΟΒΝyάΖΤ⁹.
14. -
CΙΚΡ PΝΒΟΟΖΤ, LΠΘΚΔLΠΔΜ AΥΥΚΘΟΞΖΟΦ
EΕΚΦΠΤ.
16.
SΚΘΟΒΝTΤΒΡ II LΠΘΚΔ AΟΒΝyάΖΤ,
.
⁸ΓΒΦΔΙ
ΠΡΖΤΒΦΚΠΟΥ⁹.
,
ΞΠΕΖΝΥΚΞ ⁸ ΩΖΓ ⁹, -
, uΒΤΦΧΥ
.
, ⁸
uΒΤΦΧΥ ⁹. Ό
,
. ,
uΒΤΦΧΥ EDIT, IΟΥΖΤΦ
TΖΞΡΝΒΦΖΥ, ⁸ VΖΤΚΝΠΘ
VHDL, ⁹ -
IΟΥΖΤΦ.
467
C ʹ. ALTERA FPGA
-
,
.
χβζ Ά ε
, ΡΤΠΛΖΔΦ
uΒΤΦΧΥ
.
Project
• NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ FΚΝΖ.
• ΆΚάΒΤΕ ⁸ C ʹ.4⁹:
–
– Ό PΤΠΛΖΔΦ
– ΦΠΡ-ΝΖΨΖΝ .
– , ΡΒΔΜΒΘΖ ΦyΡΖ
1 , 3 ,
ΡΤΠΛΖΔΦ, ΡΤΠΛΖΔΦ ΦΠΡ-ΝΖΨΖΝ ΕΖΥΚΘΟ
ΖΟΦΚΦy ΡΤΠΛΖΔΦ, ΡΤΠΛΖΔΦ
uΒΤΦΧΥ ΡΤΠΛΖΔΦ.
ΦΠΡ-ΝΖΨΖΝ ΕΖΥΚΘΟ ,
ΡΤΠΛΖΔΦ. , ΡΤΠΛΖΔΦ
, ΦΠΡ-ΝΖΨΖΝ ΕΖΥΚΘΟ
⁸ ⁹, ΔΠΞΡΠΟΖΟΦ ,
, -
, ΡΤΠΛΖΔΦ
ΓΠtΠΞ-ΧΡ,
ΞΠΕΧΝΖΥ .
2 -
⁸ C ʹ.5⁹. -
uΒΤΦΧΥ,
VHDL, VΖΤΚΝΠΘ, ΟΖΦΝΚΥΦΥ, . , -
,
UΥΖΤ LΚΓΤΒΤΚΖΥ.
468
C ʹ. ALTERA FPGA
⁸ 3⁹ -
ΡΤΠΛΖΔΦ
FPGA ΔΙΚΡ. AΝΦΖΤΒ DE2-115,
DΖΨΚΔΖ FΒΞΚΝy CyΔΝΠΟΖ IV E -
NΒΞΖ iΝΦΖΤ,
C ʹ.6. TΠ FPGA
, . , AΝΦΖΤΒ DE2-115
EP4CE115F29C7 EP4CE115F29C8 ⁸ -
,
⁹.
⁸4 ⁹ , -
ΡΤΠΛΖΔΦ. ,
SΚΞΧΝΒΦΚΠΟ MΠΕΖΝSΚΞ-AΝΦΖΤΒ, DΖΥΚΘΟ EΟΦΤy/SyΟΦΙΖΥΚΥ,
CΧΥΦΠΞ/VHDL ⁸ C ʹ.7⁹. NE·T,
ΡΤΠΛΖΔΦ ⁸SΧΞΞΒΤy⁹ -
FΚΟΚΥΙ, ΡΤΠΛΖΔΦ.
-
,
FPGA ΔΙΚΡ -
/ . , -
ΝΖΕ ΝΖΕΠΧΦ 1,
ΝΖΕΠΧΦ HDL , ΡΚΟ
FPGA ΝΖΕ.
,
.
:
1. ⁸PΚΟ AΥΥΚΘΟΞΖΟΦ EΕΚΦΠΤ⁹ ⁸ -
C ʹ.8⁹
2. ,
ΔΙΚΡ ⁸ C ʹ.9⁹
3. CSV
⁸DE2ΐ115ΐΡΚΟΐΒΥΥΚΘΟΞΖΟΦΥ.ΔΥΨ⁹ ΡΤΠΛΖΔΦ
AΥΥΚΘΟΞΖΟΦΥ, IΞΡΠΤΦ AΥΥΚΘΟΞΖΟΦΥ,
,
⁸ΦΠΡ ΝΖΨΖΝ ΕΖΥΚΘΟ⁹. ,
CLOCK_50,Input,PIN_Y2,2,B2_N0,3.3-V
LVTTL, ,
CLOCKΐ50, ΡΚΟ Έ2
AΝΦΖΤΒ DE2-115 50 MΙά.
469
C ʹ. ALTERA FPGA
⁸ . .
⁹,
, CΒΟΟΠΦ RΖΔΠΘΟΚάΖ VΒΝΧΖ PΚΟ ⁸ C ʹ.11⁹ ,
⁸KEΈΊ0] KEΈΊ3]⁹
’0’ ⁸ ’1’ ⁹, ⁸ΥΝΚΕΖ
ΥΩΚΦΔΙ⁹, ’1’ ’0’ .
, -
TASKS TΠΠΝΥ
PΤΠΘΤΒΞΞΖΤ. ⁸ -
uΒΤΦΧΥ II, -
⁹, USB
BLASTER, ΓΚΦΥΦΤΖΒΞ
FPGA ⁸ C ʹ.12⁹.
χβη Ά ζ
uΒΤΦΧΥ AΝΦΖΤΒ. ,
. , ΡΤΠΛΖΔΦ AΝΦΖΤΒ DE2-115
C.3 ΓΠΠΜ01.ΨΙΕ. PΤΠΛΖΔΦ
NΒΨΚΘΒΦΠΤ,
SΖΦ ΒΥ TΠΡ LΖΨΖΝ EΟΦΚΦy,
ΔΠΞΡΠΟΖΟΦ. ,
, uΒΤΦΧΥ
ΖΟΦΚΦy
. , .ΨΙΕ -
ΖΟΦΚΦy , -
ΦΠΡ ΝΖΨΖΝ ΔΠΞΡΠΟΖΟΦ. ΔΠΞΡΠΟΖΟΦ,
, ΤΖΥΖΦ ,
ΝΖΕ 2.62ΞΥ ⁸ -
1 50 MΙά 2**17-1,
17 1
(2 − 1) ∗ 50000000 = 0.00262142.
, -
ΡΚΟΥ FPGA. ,
ΡΚΟΥ ΔΝΜ, ΓΧtΠΟ, ΥΩΚΦΔΙ, ΝΖΕ.
1 library ieee ;
2 use ieee .std_logic_1164.all;
3 use ieee .numeric_std.all;
4
5 entity book01 is
6 port (clk: in std_logic;
7 button: in std_logic;
470
C ʹ. ALTERA FPGA
8 switch: in std_logic;
9 led: out std_logic);
10 end book01;
11
12 architecture behavioral of book01 is
13 signal counter: natural range 0 to 2**17-1; --0 every 2.62ms
14 begin
15 process(clk,button)
16 begin
17 if button=’1’ then
18 counter<=0;
19 elsif clk’event and clk=’1’ then
20 counter<=counter+1;
21 if counter=2**17-1 then
22 led<=switch;
23 counter<=0;
24 end if ;
25 end if ;
26 end process;
27 end behavioral;
VHDL. -
, ΣΔΗ.
ΓΧtΠΟ ΤΖΥΖΦ, ΥΝΚΕΖ
ΥΩΚΦΔΙ , 50MΙά, ΝΖΕ . ΡΚΟΥ
:
KEΈ3, LED LEDG1,
, SΆ11. -
⁸DE2ΐ115ΐΡΚΟΐΒΥΥΚΘΟΞΖΟΦΥ.ΔΥΨ⁹ -
, :
KEY[3],Input,PIN_R24,5,B5_N0,2.5 V,
SW[11],Input,PIN_AB24,5,B5_N2,2.5 V,
LEDG[1],Output,PIN_E22,7,B7_N0,2.5 V,
CLOCK_50,Input,PIN_Y2,2,B2_N0,3.3-V LVTTL,
ΡΚΟΥ -
ΡΠΤΦΥ. 2 :⁸ ⁹
ΣΥΗ ⁸ΣΧΒΤΦΧΥ ΥΖtΚΟΘΥ iΝΖ⁹ ΡΤΠΛΖΔΦ
ΡΤΠΛΖΔΦ , ⁸ ⁹ -
. ⁸ ⁹ , -
⁸ AΝΦΖΤΒ DE2-115,
⁹ :
471
C ʹ. ALTERA FPGA
⁸ ⁹ , 4 -
, C ʹ.13.
, .
, ,
. -
FΚΝΖ→NΖΩ→SyΟΠΡΥΚΥ DΖΥΚΘΟ CΠΟΥΦΤΒΚΟΦΥ FΚΝΖ. -
+ ΔΤΖΒΦΖΐΔΝΠΔΜ -ΡΖΤΚΠΕ 20 ΊΘΖΦΐΡΠΤΦΥ
ΔΝΜ]+++, 20,
ΡΤΠΛΖΔΦ .ΥΕΔ. -
FPGA.
,
ΆΒΨΖΗΠΤΞ EΕΚΦΠΤ FΚΝΖ→NΖΩ.
VΖΤΚiΔΒΦΚΠΟ/DΖΓΧΘΘΚΟΘ FΚΝΖΥ, UΟΚΨΖΤΥΚΦy PΤΠΘΤΒΞ VΆF,
<ΡΤΠΛΖΔΦ ΟΒΞΖ>.ΨΩΗ,
ΡΤΠΛΖΔΦ ⁸ iΝΖΥ⁹.
ΆΒΨΖΗΠΤΞ EΕΚΦΠΤ,
EΕΚΦ→EΟΕ TΚΞΖ . ΟΠΕΖΥ
⁸EΕΚΦ→IΟΥΖΤΦ NΠΕΖ ΠΤ BΧΥ⁹ ΡΠΤΦΥ,
NΠΕΖ iΝΦΖΤ .
SΚΞΧΝΒΦΚΠΟ→FΧΟΔΦΚΠΟΒΝ SΚΞΧΝΒΦΚΠΟ SΚΞΧΝΒΦΚΠΟ→TΚΞΚΟΘ SΚΞΧΝΒΦΚΠΟ,
,
.
ΔΠΞΡΚΝΖ , -
FPGA.
FPGA FPGA CΠΟiΘΧΤΒΦΚΠΟ. ΔΠΟiΘΧΤΒΦΚΠΟ AΝΦΖΤΒ DE2-115
uΒΤΦΧΥ 2 .
AΔΦΚΨΖ SΖΤΚΒΝ PΤΠΘΤΒΞΞΚΟΘ ΔΠΟiΘΧΤΒΦΚΠΟ
ΓΚΦ ΥΦΤΖΒΞ ΣΧΒΕ ΥΖΤΚΒΝ ΔΠΟiΘΧΤΒΦΚΠΟ ΕΖΨΚΔΖ ⁸EPCQ256⁹
472
C ʹ. ALTERA FPGA
-
FPGA, ΔΠΟiΘΧΤΒΦΚΠΟ .
, ’ , -
JTAG PΤΠΘΤΒΞΞΚΟΘ ⁸JΠΚΟΖΕ TΖΥΦ AΔΦΚΠΟ GΤΠΧΡ
IEEE⁹ ΓΚΦ ΥΦΤΖΒΞ FPGA
. ΤΖΥΖΦ -
ΔΠΟiΘΧΤΒΦΚΠΟ
FLASH.
JTAG PΤΠΘΤΒΞΞΚΟΘ :
2. HΒΤΕΩΒΤΖ SΖΦΧΡ ⁸
USB-BΝΒΥΦΖΤ USB-0⁹
3. SΦΒΤΦ .
, -
FPGA. ΥΩΚΦΔΙ ΝΖΕ.
Ό ΓΧtΠΟ ΤΖΥΖΦ.
χβθ Ά η
2- -1,
2 ⁸KEΈ2, KEΈ1⁹
SΆ0 .
LEDR0.
VHDL
C.4. ΡΤΠΛΖΔΦ
ΞΧΪ2ΦΠ1, FΚΝΖΥ PΤΠΛΖΔΦ NΒΨΚΘΒΦΠΤ,
SΖΦ AΥ TΠΡ LΖΨΖΝ EΟΦΚΦy.
1 library IEEE;
2 use IEEE.STD_LOGIC_1164.ALL;
3 use IEEE.STD_LOGIC_ARITH.ALL;
4 use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
6 entity mux2to1 is
7 port ( A : in BIT;
8 B : in BIT;
9 S : in BIT;
10 X : out BIT);
11 end mux2to1;
12
13 architecture Behavioral of mux2to1 is
14 begin
473
C ʹ. ALTERA FPGA
, ΟΠΦ ,
LED AΝΦΖΤΒ DE2-115 ’0’,
’1’ ⁸ S⁹ -
. ,
DE2ΐ115ΐΡΚΟΐΒΥΥΚΘΟΞΖΟΦΥ.ΔΥΨ, :
KEY[3],Input,PIN_R24,5,B5_N0,2.5 V,
KEY[2],Input,PIN_N21,6,B6_N2,2.5 V,
SW[0],Input,PIN_AB28,5,B5_N1,2.5 V,
LEDR[0],Output,PIN_G19,7,B7_N2,2.5 V,
-
. SΦΒΤΦ CΠΞΡΚΝΒΦΚΠΟ
PΤΠΔΖΥΥΚΟΘ. -
FPGA .
χβι Ά θ
CLOCK_50,Input,PIN_Y2,2,B2_N0,3.3-V LVTTL,
, SΆ LEDR.
ΔΠΧΟΦΖΤ8.ΨΙΕ ΡΤΠΛΖΔΦ,
PΤΠΛΖΔΦ NΒΨΚΘΒΦΠΤ FΚΝΖΥ,
”SΖΦ ΒΥ ΦΠΡ LΖΨΖΝ EΟΦΚΦy”
474
C ʹ. ALTERA FPGA
. ’0’ -
, + ΚΗ RST=’0’ ΦΙΖΟ+++
.
1 library IEEE;
2 use IEEE.STD_LOGIC_1164.ALL;
3 use IEEE.STD_LOGIC_ARITH.ALL;
4 use IEEE.STD_LOGIC_UNSIGNED.ALL;
5
6 entity counter8 is
7 port(CLOCK_50: in std_logic; --clock
8 RST: in std_logic; --reset
9 SW: in std_logic_vector(1 downto 0);
10 LEDR: out std_logic_vector(7 downto 0));
11 end counter8;
12
13 architecture behavioral of counter8 is
14 signal counter1Hz49: std_logic_vector(22 downto 0);--50MHz/2**23=1.49Hz
15 signal direction: std_logic; --0: up, 1: down
16 signal enable: std_logic; --counter enable
17 signal counter: std_logic_vector(7 downto 0);
18 begin
19
20
21 process(CLOCK_50, RST)
22 begin
23 if RST=’0’ then
24 counter1Hz49<=(others=>’0’);
25 elsif CLOCK_50’event and CLOCK_50=’1’ then
26 counter1Hz49<=counter1Hz49+1;
27 end if ;
28 end process;
29
30 process(CLOCK_50, RST)
31 begin
32 if RST=’0’ then
33 counter<=(others =>’0’);
34 direction<=’0’;
35 elsif CLOCK_50’event and CLOCK_50=’1’ then
36 enable<=SW(0);
37 direction<=SW(1);
38 if counter1Hz49=0 and enable=’1’ then
39 if direction=’0’ then
40 counter<=counter+1;
41 else
42 counter<=counter-1;
43 end if ;
44 end if ;
45 end if ;
46 end process;
47
48
49 LEDR<=counter;
50 end behavioral;
ΦΚΞΚΟΘΥ.ΥΕΔ, ΡΤΠΛΖΔΦ,
:
+ΔΤΖΒΦΖΐΔΝΠΔΜ -ΡΖΤΚΠΕ 20 ΊΘΖΦΐΡΠΤΦΥ CLOCKΐ50]+++
.
475
C ʹ. ALTERA FPGA
χβκ Ά ι
ΔΙΚΡ AΝΦΖΤΒ
QΥyΥ SyΥΦΖΞ IΟΦΖΘΤΒΦΚΠΟ TΠΠΝ AΝΦΖΤΒ PΤΠΘΤΒΞ MΠΟΚΦΠΤ.
:
1. HΒΤΕΩΒΤΖ DΖΨΖΝΠΡΞΖΟΦ
2. SΠtΩΒΤΖ DΖΨΖΝΠΡΞΖΟΦ
όardware ψevelopment
-
. -
. ,
,
. -
ΞΠΕΧΝΖΥ AΝΦΖΤΒ
. ΞΠΕΧΝΖΥ
IΟΦΖΝΝΖΔΦΧΒΝ PΤΠΡΖΤΦy ⁸IP⁹ CΠΤΖΥ. , -
, .
⁸ ⁹ -
-
. NΚΠΥ II AΝΦΖΤΒ. -
NΚΠΥ II AΝΦΖΤΒ
FPGA AΝΦΖΤΒ. NΚΠΥ II ΥΠt-ΡΤΠΔΖΥΥΠΤ
⁸ ⁹ VHDL
VΖΤΚΝΠΘ. , -
.
C ʹ.14, -
⁸ΥΠt ΔΠΤΖ⁹ AΝΦΖΤΒ NIOS II.
NIOS II,
⁸ΞΠΕΧΝΖΥ⁹, -
. , -
, ,
476
C ʹ. ALTERA FPGA
• ΝΠΒΕ/ΥΦΠΤΖ 32 ΓΚΦ
• / ⁸ΞΖΞΠΤy ΞΒΡΡΖΕ⁹
• 32
• 32
•
– NΚΠΥ-II /Η: ΗΒΥΦ ⁸ ⁹6 , -
.
– NΚΠΥ-II /Υ: ΥΦΒΟΕΒΤΕ ⁸ ⁹ 5 ,
.
– NΚΠΥ-II /Ζ: ΖΔΠΟΠΞy ⁸ ⁹1 , -
⁸ ⁹.
AΝΦΖΤΒ
”QΥyΥ ΥyΥΦΖΞ ΚΟΦΖΘΤΒΦΚΠΟ ΦΠΠΝ, QSΈS” uΒΤΦΧΥ II.
,
NIOS II/Ζ, , RAM
8KB , UART .
,
“ ΄΄ ⁸ΓΒΤΖ ΞΖΦΒΝ ΡΤΠΘΤΒΞΞΚΟΘ⁹,
C,
.
:
• ΡΤΠΛΖΔΦ uΒΤΦΧΥ.
• NIOS II QΥyΥ.
• VHDL , BSP
.
•
.
project uartus
ΡΤΠΛΖΔΦ
FPGA DE2-115. ΡΤΠΛΖΔΦ FPGA ΔΙΚΡ
⁸ . . EP4CE115F29C7⁹. ΡΤΠΛΖΔΦ -
. HDL
477
C ʹ. ALTERA FPGA
QSΈS, SDK.
HDL , ΔΠΞΡΚΝΖΤ
. ,
FPU,
ΔΠΞΡΚΝΖΤ FPU
,
, . ,
, BΠΒΤΕ SΧΡΡΠΤΦ PΒΔΜΒΘΖ, -
.
χβκβε NύOS ύύ
Qsys
TΠΠΝΥ uΒΤΦΧΥ, QSΈS,
AΝΦΖΤΒ, uΚΔΜ SyΥΦΖΞ IΟΦΖΘΤΒΦΚΠΟ, -
. , -
ΔΠΞΡΠΟΖΟΦΥ ⁸ ,
⁹ “CΠΞΡΠΟΖΟΦ LΚΓΤΒΤy”
, -
“SyΥΦΖΞ CΠΟΦΖΟΦΥ”, “AΕΕΤΖΥΥ MΒΡ”
.⁸ C ʹ.16⁹. ΠΟΔΙΚΡ
RAM . “OΟ-ΔΙΚΡ ΞΖΞΠΤy”
ΔΠΞΡΠΟΖΟΦ ΝΚΓΤΒΤy, Π RAM ΠΤ ROM, AΕΕ
. , -
RAM ⁸ΆΤΚΦΒΓΝΖ⁹ 8192.
ΠΟΔΙΚΡ FPGA ΔΙΚΡ ⁸ AΝΦΖΤΒ DE2-115, 2 ΔΙΚΡ 64 MΓyΦΖΥ⁹.
MΖΞΠΤy IΟΚΦΚΒΝΚάΒΦΚΠΟ ,
⁸ ΙΖΪ ΚΟΚΦΚΒΝΚάΒΦΚΠΟ iΝΖ⁹,
ΓΠΒΤΕ ΥΧΡΡΠΤΦ ΡΒΔΜΒΘΖ. FΚΟΚΥΙ -
ΔΠΞΡΠΟΖΟΦ “SyΥΦΖΞ CΠΟΦΖΟΦΥ”.
ΔΠΞΡΠΟΖΟΦ .
ΔΠΞΡΠΟΖΟΦΥ, ⁸EΤΤΠΤΥ⁹ -
, ,
. , ΔΠΞΡΠΟΖΟΦΥ:
ΔΝΜΐ0 ΠΟΔΙΚΡΐΞΖΞΠΤy2ΐ0. ΔΠΞΡΠΟΖΟΦΥ -
, .
.
ΔΠΞΡΠΟΖΟΦΥ, ΟΚΠΥ
“NΚΠΥ II PΤΠΔΖΥΥΠΤ”. NIOS II ,
478
C ʹ. ALTERA FPGA
479
C ʹ. ALTERA FPGA
0⁸ C ʹ.17⁹.
ΡΤΠΛΖΔΦ QSΈS ΡΤΠΛΖΔΦ
uΒΤΦΧΥ GΖΟΖΤΒΦΖ
GΖΟΖΤΒΦΚΠΟ. ΣΚΡ -
ΥyΟΦΙΖΥΚΥ
QSΈS ΡΤΠΛΖΔΦ. QSΈS.
I/O ΞΖΞΠΤy - ΞΒΡΡΖΕ
. , / -
. SΠtΩΒΤΖ
PΤΠΘΤΒΞΥ ASSEMBLΈ C.
C . -
, .
, C ΡΠΚΟΦΖΤΥ.
,
/ QΥyΥ TΠΠΝ -
ΡΠΚΟΦΖΤ. -
-ΡΠΚΟΦΖΤΥ . -
C ʹ.17
0Ϊ5000.
:
volatile char* uart=0x0005000;
volatile char* switches=0x0003000;
volatile char* ledg=0x0003010;
ΡΠΚΟΦΖΤΥ ΔΙΒΤ ⁸8
ΓΚΦΥ⁹. ΨΠΝΒΦΚΝΖ -
. , QUARTUS
ΡΤΖ-ΕΖiΟΖΥ , -
,
C, ΔΠΞΡΚΝΖ.
, UARTΐ0 -
+ ΨΠΝΒΦΚΝΖ ΧΚΟΦ32ΐΦ *ΧΒΤΦ = ⁸ΨΠΝΒΦΚΝΖ ΧΚΟΦ32ΐΦ*⁹ UARTΐ0ΐBASE;+++
, ,
C -
. ΓΠΒΤΕ
ΥΧΡΡΠΤΦ ΡΒΔΜΒΘΖ, BSP GΖΟΖΤΒΦΖ, ,
ΥyΥΦΖΞ.Ι
ΓΥΡ, ΥΠtΩΒΤΖ PΤΠΛΖΔΦ . -
ΥyΥΦΖΞ.Ι
480
C ʹ. ALTERA FPGA
ΕΖiΟΖΥ. ΕΖiΟΖΥ,
+ #ΚΟΔΝΧΕΖ ”ΥyΥΦΖΞ.Ι” +++ .
χ -
, ,
. -
C :
main() {
//initialization
while (1) //ininite loop {
task_1();
task_2();
.
.
.
task_n();
}
}
. ,
.
.
χβκβζ VόψL α
, φSP
ΘΖΟΖΤΒΦΖ ΣΚΡ ⁸Σ ΚΟΦΖΝΝΖΔΦΧΒΝ
ΡΤΠΡΖΤΦy⁹ ΥyΟΦΙΖΥΚΥ,
QSΈS ΡΤΠΛΖΔΦ. uΒΤΦΧΥ PΤΠΛΖΔΦ NΒΨΚΘΒΦΠΤ, FΚΝΖΥ,
ΣΚΡ . ,
SΖΦ ΒΥ TΠΡ LΖΨΖΝ EΟΦΚΦy, .
-
⁸ΓΠΒΤΕ ΥΧΡΡΠΤΦ ΡΒΔΜΒΘΖ⁹, -
. TΠΠΝΥ→NΚΠΥ II
SΠtΩΒΤΖ BΧΚΝΕ TΠΠΝΥ ΗΠΤ EΔΝΚΡΥΖ. -
ΩΠΤΜΥΡΒΔΖ. -
, .
EΔΝΚΡΥΖ ⁸ C ʹ.18⁹ BSP
FΚΝΖ→NΖΩ→NΚΠΥ II AΡΡΝΚΔΒΦΚΠΟ ΒΟΕ BSP ΗΤΠΞ TΖΞΡΝΒΦΖ -
SOPC iΝΖ ΡΤΠΛΖΔΦ. iΟΚΥΙ ⁸ NΖΪΦ⁹
481
C ʹ. ALTERA FPGA
,
BSP ⁸ C ʹ.19⁹.
, -
BSP ,
NIOS II→BSP EΕΚΦΠΤ. BSP ⁸ -
⁹ ΥΖtΚΟΘΥ
ΦΚΔΜ :
• ΖΟΒΓΝΖΐΝΚΘΙΩΖΚΘΙΦΐΕΖΨΚΔΖΐΕΤΚΨΖΤΐΒΡΚ
• ΖΟΒΓΝΖΐΤΖΕΧΔΖΕΐΕΖΨΚΔΖΐΕΤΚΨΖΤΥ
• ΖΟΒΓΝΖΐΥΞΒΝΝΐΔΐΝΚΓΤΒΤy
• ΒΝΝΠΩΐΔΠΕΖΐΒΦΐΤΖΥΖΦ
χβκβη
uΒΤΦΧΥ, , -
ΥΠtΩΒΤΖ, ΞΖΞΐΚΟΚΦ
ΡΤΠΛΖΔΦ ⁸ BSP⁹. FΚΝΖ ΠΗ ΦyΡΖ,
MΖΞΠΤy FΚΝΖΥ ⁸*.ΞΚΗ, *.ΙΖΪ⁹.
, . Ό
, ΥΕΔ ⁸SyΟΠΡΥΚΥ DΖΥΚΘΟ
CΠΟΥΦΤΒΚΟΦΥ FΚΝΖ⁹ ΡΤΠΛΖΔΦ,
40MΙά :
482
C ʹ. ALTERA FPGA
create_clock -name {clk} -period 40.000 -waveform { 0.000 20.000 } [get_ports {clk_clk}]
derive_clock_uncertainty
.ΥΕΔ ΡΤΠΛΖΔΦ, -
ΡΤΠΛΖΔΦ.
: , -
.
.
,
uΒΤΦΧΥ ΖΝΒΓΠΤΒΦΚΠΟ.
PΤΠΔΖΥΥΚΟΘ→SΦΒΤΦ→SΦΒΤΦ AΟΒΝyΥΚΥ ΒΟΕ ΖΝΒΓΠΤΒΦΚΠΟ.
, AΥΥΚΘΟΞΖΟΦΥ→PΚΟ PΝΒΟΟΖΤ
. ΔΥΨ
, :
CLOCK_50,Input,PIN_Y2,2,B2_N0,3.3-V LVTTL,
KEY[0],Input,PIN_M23,6,B6_N2,2.5 V,
UART_RXD,Input,PIN_G12,8,B8_N1,3.3-V LVTTL,
UART_TXD,Output,PIN_G9,8,B8_N2,3.3-V LVTTL,
ΡΚΟ ΡΝΒΟΟΖΤ,
⁸ C ʹ.20⁹. ,
PΤΠΔΖΥΥΚΟΘ→SΦΒΤΦ CΠΞΡΚΝΒΦΚΠΟ, -
⁸ΓΚΦΥΦΤΖΒΞ⁹, -
PΤΠΘΤΒΞ DΖΨΚΔΖ ⁸OΡΖΟ PΤΠΘΤΒΞΞΖΤ⁹.
QSΈS, . .
ΔΠΞΡΠΟΖΟΦ, ΘΖΟΖΤΒΦΖ, ΖΔΝΚΡΥΖ -
BSP. BSP ΥΧΓΡΤΠΛΖΔΦ,
, NIOS II→GΖΟΖΤΒΦΖ BSP. ,
ΡΤΠΛΖΔΦ BΧΚΝΕ ΦΙΚΥ ΡΤΠΛΖΔΦ. ΓΧΚΝΕ
⁸ΓΧΚΝΕ ΦΙΚΥ ΡΤΠΛΖΔΦ, ΡΤΠΛΖΔΦ -
⁹, .
, ΙΒΤΕΩΒΤΖ
JTAG EΔΝΚΡΥΖ -
FPGA, ΓΚΦΥΦΤΖΒΞ.
EΔΝΚΡΥΖ ΙΒΤΕΩΒΤΖ RΧΟ ΒΥ DΖΓΧΘ ΒΥ
NIOS II HΒΤΕΩΒΤΖ. -
RΧΟ ΒΥ →RΧΟ CΠΟiΘΧΤΒΦΚΠΟ RΖΗΤΖΥΙ CΠΟΟΖΔΦΚΠΟ
ΙΒΤΕΩΒΤΖ
“IΘΟΠΤΖΕ ΞΚΥΞΒΦΔΙΖΕ SyΥΦΖΞ ID” “IΘΟΠΤΖΕ ΞΚΥΞΒΦΔΙΖΕ SyΥΦΖΞ ΦΚΞΖΥΦΒΞΡ”,
ΙΒΤΕΩΒΤΖ .
483
C ʹ. ALTERA FPGA
ΙΖΝΝΠ ΩΠΤΝΕ,
C.6.3
JTAG ⁸ C ʹ.21⁹
,
AΝΦΖΤΒ DE2-115 DTE ⁸ΕΒΦΒ ΦΖΤΞΚΟΒΝ ΖΣΧΚΡΞΖΟΦ⁹
FEMALE ⁸ DTE MALE ,
⁹,
PC. DTE DTE, -
ΔΤΠΥΥ-ΠΨΖΤ ΥΖΤΚΒΝ ΔΒΓΝΖ ΟΧΝΝ ΞΠΕΖΞ ΔΒΓΝΖ.
ΥΖΤΚΒΝ MΒΝΖ-FΖΞΒΝΖ ,
DTE
DCE ⁸ΕΒΦΒ ΔΠΞΡΧΦΚΟΘ ΖΣΧΚΡΞΖΟΦ⁹.
CTS/RTS UART ⁸ QSΈS⁹
⁸ ΓΧfΖΤ,
⁹,
2 ΡΚΟ ΡΝΒΟΟΖΤ.
1 #include <stdio.h>
2 #include <stdint.h>
3 #include ”system.h”
4
5 int main()
6 {
7 int delay;
8 char *str = ”Hello Serial from NIOS II\n”;
9
10 volatile uint32_t *uart = (volatile uint32_t*) UART_0_BASE;
11
12 printf(”Start Printing to Serial Port”);
13 while (1)
14 {
15 printf(”New Iteration\n”);
16
17 char *ptr = str;
18 while (*ptr != ’\0’)
19 {
20 while ((uart[2] & (1<<6)) == 0);
21 uart[1] = *ptr;
22 ptr++;
23 }
24
25 //add a little delay
26 delay=0;
27 while (delay<2000000)
28 {
29 delay++;
30 }
31 }
32 return 0;
33 }
484
C ʹ. ALTERA FPGA
χβλ Ά ι
-
,
NIOS ,
PIO ⁸PΒΤΒΝΝΖΝ I/O⁹.
2 : 8 ΓΚΦ. 8
ΓΚΦ 8 SΆΊ0] SΆΊ7], 8 ΓΚΦ
8 ΝΖΕ: LEDRΊ0] LEDRΊ1]. RAM
32KB.
485
C ʹ. ALTERA FPGA
486
C ʹ. ALTERA FPGA
487
C ʹ. ALTERA FPGA
488
C ʹ. ALTERA FPGA
489
C ʹ. ALTERA FPGA
C ʹ.8: -
C ʹ.9:
.
.
C ʹ.11:
C ʹ.10: FPGA,
. .
490
C ʹ. ALTERA FPGA
C ʹ.12: FPGA,
USB BLASTER.
C ʹ.13: FPGA
TΠΡ LΖΨΖΝ DΖΥΚΘΟ, .
C ʹ.14: NIOS ,
, .
491
C ʹ. ALTERA FPGA
492
C ʹ. ALTERA FPGA
C ʹ.16: QSΈS -
.
493
C ʹ. ALTERA FPGA
C ʹ.17: .
C ʹ.18: BSP -
EΔΝΚΡΥΖ NIOS II
494
C ʹ. ALTERA FPGA
C ʹ.19: BSP,
ΥΧΓΡΤΠΛΖΔΦΥ PΤΠΛΖΔΦ EΪΡΝΠΤΖΤ EΔΝΚΡΥΖ
495
C ʹ. ALTERA FPGA
C ʹ.21: .
496
ψ ʹ
α
,
.
497
D ʹ.
ψχ DΚΤΖΔΦ CΧΤΤΖΟΦ
498
D ʹ.
Gφ GΚΘΒByΦΖ
499
D ʹ.
ύχ IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ
ύP IΟΦΖΝΝΖΔΦΧΒΝ PΤΠΡΖΤΦy
ύR IΟΥΦΤΧΔΦΚΠΟ RΖΘΚΥΦΖΤ
LP LΠΩ PΠΩΖΤ
500
D ʹ.
Mφ MΖΘΒByΦΖ
MUX MUΝΦΚΡΝΖ·ΖΤ
OS OΡΖΤΒΦΚΟΘ SyΥΦΖΞ
501
D ʹ.
Pχ PΖΤΥΠΟΒΝ CΠΞΡΧΦΖΤ
Pω PΤΠΔΖΥΥΚΟΘ EΝΖΞΖΟΦΥ
PPχ PΠΩΖΤ PC
502
D ʹ.
RW RΖΒΕ/ΆΤΚΦΖ
SύGυφRT SΚΘΟΒΝ:AΓΠΤΦ
503
D ʹ.
mχ MΚΔΤΠ CΠΟΦΤΠΝΝΖΤ
504
ω ʹ
Ό
, -
⁸ -
⁹.
505
E ʹ.
506
E ʹ.
ΓΒΔΜ-ΘΒΦΖ ΔΠΧΡΝΚΟΘ
ΓΒΔΜ-ΦΠ-ΓΒΔΜ
ΓΒΔΜΖΕ
ΓΒΔΜΘΤΠΧΟΕ
ΓΒΔΜΦΤΒΔΖ
ΓΒΔΜΩΒΤΕΥ ΒΟΕ ΗΠΤΩΒΤΕΥ
ΓΒΝΝ ΘΤΚΕ ΒΤΤΒy
ΓΒΟΕΩΚΕΦΙ
ΓΒΟΜ ΔΠΟlΚΔΦ
ΓΒΤΤΖΝ ΡΤΠΔΖΥΥΠΤ
ΓΒΤΤΖΝ ΥΙΚtΖΤ “ ”
ΓΒΥΖ
ΓΒΥΖΓΒΟΕ
ΓΒΦΔΙ ΠΡΖΤΒΦΚΠΟ
ΓΒΦΔΙΖΥ
ΓΒtΖΤy ΒtΒΔΜ
ΓΖΔΠΞΖ ΦΙΖ ΓΠtΝΖΟΖΔΜ
ΓΖΙΒΨΚΠΤΒΝ
ΓΖΙΒΨΚΠΧΤΒΝ ΝΖΨΖΝ
ΓΖΟΔΙΞΒΤΜΥ
ΓΚΟΒΤy iΝΖ
ΓΚΟΕ
ΓΚΡΠΝΒΤ ΚΟΦΖΘΤΒΦΖΕ ΚΟΛΖΔΦΚΠΟ ΝΠΘΚΔ
ΓΚΡΠΝΒΤ
ΓΚΦ ΝΒΟΖΥ ΓΚΦ
ΓΚΦ-ΤΖΨΖΤΥΒΝΥ ΓΚΦ
ΓΝΠΔΜΚΟΘ ΔΠΞΞΧΟΚΔΒΦΚΠΟ
ΓΠΒΤΕ ,
ΓΠΒΤΕΥ
ΓΠΕy ΖfΖΔΦ
ΓΠΟΕ-ΠΧΦ
ΓΠΠΦΥΦΤΒΡ
ΓΠΠΦΥΦΤΒΡ ΞΖΤΘΖ
ΓΠΠΦΥΦΤΒΡΡΚΟΘ
ΓΠΧΟΔΖ
ΓΠΧΟΕ
ΓΤΒΟΔΙ
ΓΤΖΒΕΓΠΒΤΕ
ΓΤΠΒΕΔΒΥΦ ⁸ ⁹
ΓΤΠΜΖΟ ΨΖΤΥΚΠΟ ⁸ ⁹
ΓΧΓΓΝΖ-ΡΧΥΙΚΟΘ
507
E ʹ.
ΓΧfΖΤ , , -
ΓΧfΖΤΖΕ
ΓΧfΖΤΚΟΘ
ΓΧΘΥ
ΓΧΚΝΕΚΟΘ ΓΝΠΔΜ
ΓΧΚΝΦ-ΚΟ
ΓΧΝΜ ,
ΓΧΤΟ-ΚΟ .
ΓΧΤΥΦ ΦΤΒΟΥΒΔΦΚΠΟ
ΓΧΤΥΦΥ ΞΠΕΖΥ
ΓΧΥ ΥΡΖΔΚiΔΒΦΚΠΟΥ
ΓΧΥ ΥΦΒΟΕΒΤΕΥ
ΓΧΥ ΥyΥΦΖΞΥ
ΓΧΥ ΩΤΒΡΡΖΤΥ
ΓΧΥ
ΓΧΥy ΩΒΚΦ
ΓyΦΖ-ΥΦΤΖΒΞ ByΦΖΥ
ΔΒΔΙΖ ΔΠΟΥΦΒΟΦ ΞΖΞΠΤy
ΔΒΔΙΖ ΙΚΦ
ΔΒΔΙΖ ΝΚΟΖ
ΔΒΔΙΖ ΞΚΥΥ
ΔΒΔΙΖΕ
ΔΒΡΒΔΚΦΒΟΔΖ
ΔΒΤΤΚΖΤ
ΔΒΤΤy ΝΠΠΜ ΒΙΖΒΕ ΒΕΕΖΤ
ΔΖΝΝ
ΔΖΝΝΧΝΒΤ ,
ΔΙΒΤΘΖ ΟΖΧΦΤΒΝΚΦy
ΔΙΒΤΘΖ ΥΙΒΤΚΟΘ ΟΠΚΥΖ
ΔΙΒΤΘΖ ΥΙΒΤΚΟΘ
ΔΙΒΤΘΖ ΥΙΒΤΚΟΘ
ΔΙΖΔΜΥΧΞ
ΔΙΚΝΕ
ΔΙΚΡ
ΔΝΠΔΜ ΕΠΞΒΚΟ
ΔΝΠΔΜ ΤΒΔΖ
ΔΝΠΔΜΖΕ ΔΚΤΔΧΚΦΥ
ΔΝΠΔΜΖΕ ΕΖΤΒΔΖΤ
ΔΝΠΔΜΖΕ ΦΤΒΟΥΚΥΦΠΤ
ΔΝΠΔΜΚΟΘ
508
E ʹ.
ΔΝΧΥΦΖΤ
ΔΠ-ΥyΟΦΙΖΥΚΥ -
ΔΠΒΝΖΥΔΖΕ
ΔΠΒΝΖΥΔΚΟΘ
ΔΠΒΤΥΖ ΘΤΒΚΟ ΒΤΔΙΚΦΖΔΦΧΤΖ
ΔΠΒΤΥΖ-ΘΤΒΚΟΖΕ /
ΔΠΒΤΥΖ
ΔΠΕΖΓΒΥΖ
ΔΠΕΖΔ
ΔΠΕΖΥΚΘΟ / ΔΠ-ΕΖΥΚΘΟ
ΔΠΝΝΖΔΦΠΤ
ΔΠΝΧΞΟ-ΩΚΥΖ ΒΔΔΖΥΥΖΥ
ΔΠΞΞΒΟΕ ΡΤΠΞΡΦ
ΔΠΞΞΚΦ ΙΚΥΦΠΤy
ΔΠΞΞΠΟ MΠΕΖ GΒΚΟ
ΔΠΞΞΠΟ MΠΕΖ RΖΛΖΔΦΚΠΟ RΒΦΚΠ
ΔΠΞΡΚΝΒΦΚΠΟ
ΔΠΞΡΚΝΖΤ ΓΒΥΖΕ ΤΧΟ-ΦΚΞΖ ΓΠΧΟΕΥ ,
ΔΙΖΔΜΚΟΘ
ΔΠΞΡΚΝΖΤ
ΔΠΞΡΝΖΞΖΟΦΒΤy
ΔΠΞΡΝΖΦΚΠΟ
ΔΠΞΡΠΟΖΟΦ
ΔΠΞΡΠΧΟΕ ΘΒΦΖΥ
ΔΠΞΡΧΦΖ-ΒΔΔΖΝΖΤΒΦΠΤ -
ΔΠΞΡΧΦΖ-ΚΟΦΖΟΥΚΨΖ
ΔΠΟΔΧΤΤΖΟΔy ΞΠΕΖΝ
ΔΠΟΔΧΤΤΖΟΦ ΥΠtΩΒΤΖ
ΔΠΟΕΚΦΚΠΟΒΝ ΜΖΖΡΖΤ
ΔΠΟΕΧΔΦΠΤ
ΔΠΟΖΟΦ-ΒΕΕΤΖΥΥΒΓΝΖ ΞΖΞΠΤΚΖΥ
⁸CAMΥ⁹
ΔΠΟiΘΧΤΒΦΚΠΟ
ΔΠΟΛΧΟΔΦΚΠΟ
ΔΠΟΟΖΔΦΚΠΟ ΥΦΧΓ
ΔΠΟΟΖΔΦΚΨΚΦy
ΔΠΟΥΦΒΟΦ ΞΖΞΠΤy
ΔΠΟΥΦΒΟΦ ΡΤΠΡΒΘΒΦΚΠΟ
ΔΠΟΥΧΞΡΦΚΠΟ
ΔΠΟΦΒΔΦ
ΔΠΟΦΒΞΚΟΒΦΚΠΟ ΕΖΝΒy
509
E ʹ.
ΔΠΟΦΒΞΚΟΒΦΚΠΟ
ΔΠΟΦΖΟΦΚΠΟ ΔΧΤΤΖΟΦ
ΔΠΟΦΤΚΓΧΦΠΤΥ
ΔΠΟΦΤΠΝ ΝΠΘΚΔ
ΔΠΟΦΤΠΝ
ΔΠΤΖ-ΕΧΞΡ
ΔΠΤΟΖΤΥ
ΔΠΧΡΝΚΟΘ
ΔΤΒΔΜΖΤ
ΔΤΒΥΙ
ΔΤΚΥΥ-ΔΤΠΥΥΖΕ
ΔΤΚΦΚΔΒΝ ΡΒΦΙΥ
ΔΤΠΥΥ-ΔΠΞΡΚΝΖ
ΔΤΠΥΥ-ΔΠΧΡΝΖ
ΔΤΠΥΥ-ΕΖΓΧΘΘΖΤ , -
ΔΤΠΥΥ-ΙΒΦΔΙ
ΔΤΠΥΥ-ΥΖΔΦΚΠΟ ,
ΔΤΠΥΥ-ΨΖΤΚΗy
ΔΤΠΥΥΠΨΖΤ
ΔΤΠΩΕ-ΗΧΟΕΚΟΘ
ΔΧΤΤΖΟΦ-ΥΦΒΤΨΖΕ ΚΟΨΖΤΦΖΤ
ΔΧΥΦΠΞ ΕΖΥΚΘΟ
ΔΧΥΦΠΞ
ΔΧΦ Πf
ΔΧΦ-Πf ΤΖΘΚΠΟ
ΔyΔΝΖ-ΓΧΕΘΖΦ
ΕΒΖΞΠΟ
ΕΒΖΞΠΟ ΡΤΠΔΖΥΥ
ΕΒΦΒΡΒΦΙ
ΕΒΦΒΡΒΦΙΥ
ΕΒyΦΚΞΖ ΔΝΚΖΟΦ/ΥΖΤΨΖΤ /
ΕΖΒΝΝΠΔΒΦΚΠΟ
ΕΖΕΚΔΒΦΖΕ ΝΠΘΚΔ
ΕΖΞΒΟΕ-ΡΒΘΚΟΘ
ΕΖΡΝΖΦΚΠΟ
ΕΖΡΠΥΚΦΚΠΟ
ΕΖΡΤΖΔΒΦΖΕ
ΕΖΥΔΤΚΡΦΠΤ
ΕΖΥΚΘΟ ΕΚΨΖΤΥΚΦy
ΕΖΥΚΘΟ ΙΠΧΥΖ
510
E ʹ.
ΕΖΥΚΘΟ-ΤΧΝΖ ΔΙΖΔΜΖΤ
ΕΖΨΖΝΠΡΖΤ ,
ΕΖΨΚΔΖ ΥΩΚΦΔΙ ΦΒΓΝΖ
ΕΖΨΚΔΖ
ΕΚΖ
ΕΚfΖΤΖΟΦΚΒΝ GΒΚΟ
ΕΚfΖΤΖΟΦΚΒΝ ΚΟΨΖΤΦΖΤ
ΕΚfΖΤΖΟΦΚΒΝ ΜΖΖΡΖΤ
ΕΚfΖΤΖΟΦΚΒΝ
ΕΚfΥ
ΕΚfΧΥΚΠΟ
ΕΚΞΞΖΤ
ΕΚΤΦy Π
ΕΚΥΡΒΦΔΙΖΤ
ΕΚΥΥΚΡΒΦΚΠΟ
ΕΚΥΦΤΚΓΧΦΖΕ-ΡΤΠΔΖΥΥΚΟΘ ΔΙΚΡ- ΔΙΚΡ -
ΓΧΚΝΕΚΟΘ ΦΖΔΙΟΚΣΧΖΥ
ΕΠΔΧΞΖΟΦΒΦΚΠΟ
ΕΠΞΒΚΟ-ΥΡΖΔΚiΔ
ΕΠΞΒΚΟ
ΕΠΞΚΟΠ ΖfΖΔΦ
ΕΠΟΖ ΥΚΘΟΒΝ
ΕΠΟΠΤ
ΕΠΡΒΟΦΥ
ΕΠΡΚΟΘ
ΕΠtΖΕ-ΕΖΔΚΞΒΝ ⁸ ⁹
ΕΠΩΟΥΦΤΖΒΞ ΕΖΓΧΘΘΚΟΘ
ΕΤΒΚΟ
ΕΤΚt
ΕΧΒΝ-ΤΒΚΝ
ΕΧΞΞy
ΕΧΞΡ ,
ΕyΟΒΞΚΔ SΔΙΖΕΧΝΚΟΘ PΠΝΚΔΚΖΥ
ΕyΟΒΞΚΔ ΓΖΥΦ ΖfΠΤΦ -
ΖΔΙΠ
ΖΕΘΖ-ΦΤΚΘΘΖΤΖΕ ΤΖΘΚΥΦΖΤ
ΖΕΘΖΥ
511
E ʹ.
ΖfΖΔΦΚΨΖ ΔΧΤΤΖΟΦ
ΖfΖΔΦΚΨΖ ΤΖΥΚΥΦΒΟΔΖ
ΖΝΖΔΦΤΚΔ ΔΧΤΤΖΟΦ
ΖΝΖΔΦΤΠ-ΞΖΔΙΒΟΚΔΒΝ ΥΦΤΚΜΖ ΡΝΒΦΖ -
ΖΝΖΔΦΤΠΟ ΓΖΒΞ ΝΚΦΙΠΘΤΒΡΙy
ΖΝΖΔΦΤΠΟΥ
ΖΞΚtΖΤ
ΖΟΙΒΟΔΖΕ ΞΠΕΖ ⁸ ⁹
ΖΟΙΒΟΔΖΞΖΟΦ
ΖΡΚΦΒΪy
ΖΥΦΒΓΚΥΙΖΕ
ΖΦΔΙΚΟΘ
ΖΪΒΥΔΒΝΖ SyΥΦΖΞ ΖΪΒΥΔΒΝΖ
ΖΪΡΒΟΥΚΠΟ ΙΖΒΕΖΤΥ
ΖΪΡΝΚΔΚΦ ΚΟΥΦΒΟΦΚΒΦΚΠΟ
ΖΪΦΤΒΔΦΚΠΟ
ΖΪΦΤΒΡΠΝΒΦΖΕ ⁸ ⁹
ΗΒΝΝ ΦΚΞΖ
ΗΒΝΝΚΟΘ
ΗΒΟ-ΚΟ
ΗΒΟ-ΠΧΦ
ΗΖΖΕΓΒΔΜ
ΗΖΖΕΦΙΤΠΧΘΙ
iΝΖ ΔΤΖΒΦΚΠΟ ΞΠΕΖ ΞΒΥΜ
iΝΖ ΡΖΤΞΚΥΥΚΠΟ ΞΒΥΜ -0
iΝΖ-ΓΒΔΜΖΕ ΨΚΤΦΧΒΝ ΞΖΞΠΤy -
iΝΞ ,
iΟΖ ΘΤΒΚΟ
iΟΖ ΘΤΒΚΟΖΕ ΡΤΚΨΚΝΖΘΖΥ
iΤΞΩΒΤΖ
iΪΖΕ ΠΤ ΥΦΒΦΚΔ ΡΤΚΠΤΚΦy ΥΔΙΖΕΧΝΚΟΘ
ΡΠΝΚΔΚΖΥ
lΒΦ-ΓΒΟΕ ΨΠΝΦΒΘΖ
lΠΒΦΚΟΘ ΘΒΦΖ
lΠΒΦΚΟΘ-ΡΠΚΟΦ
lΠΠΤΡΝΒΟΟΚΟΘ
ΗΠΠΦΖΕ
ΗΠΠΦΡΤΚΟΦ
ΗΠΤΖΘΤΠΧΟΕ
ΗΠΤΜΥ
512
E ʹ.
ΗΠΤΞΒΝ ΨΖΤΚiΔΒΦΚΠΟ
ΗΠΤΞΒΦ
ΗΤΒΞΖ ΓΧfΖΤ
ΗΤΒΞΖΩΠΤΜ
ΗΤΚΖΟΕΝy-ΚΥΙ ΗΤΠΟΦ-ΖΟΕ ΦΠ ΦΙΖ ΚΟΗΠ
ΡΤΠΘΤΒΞ ΚΟΗΠ
ΗΤΠΟΦ-ΖΟΕ -
ΗΤΠΟΦ-ΥΚΕΖ ΓΧΥ
ΗΧΝΝ ΔΧΥΦΠΞ
ΗΧΝΝ ΗΖΒΧΦΧΤΖ ΥΖΦ
ΗΧΝΝ-ΔΧΥΦΠΞ
ΗΧΝΝy ΤΖΥΦΠΤΖΕ ΝΠΘΚΔ
ΗΧΝΝy-ΒΥΥΠΔΚΒΦΚΨΖ
ΗΧΟΔΦΚΠΟ ΩΤΒΡΡΖΤ
ΗΧΟΔΦΚΠΟΒΝ ΕΖΥΔΤΚΡΦΚΠΟ
ΗΧΥΖ
ΘΒΚΟ ΒΔΔΖΥΥ
ΘΒΚΟ ΗΒΔΦΠΤ
ΘΒΟΘΖΕ
ΘΒΦΖ ΒΤΤΒyΥ
ΘΒΦΖ ΠΪΚΕΖ
ΘΒΦΖ-ΝΖΨΖΝ
ΘΖΟΖΤΒΦΠΤ
ΘΖΟΖΤΚΔ ΙΒΤΕΩΒΤΖ/ΥΠtΩΒΤΖ ΔΠ -
ΕΖΥΚΘΟ ΡΤΠΔΖΥΥ lΠΩ /
ΘΖΟΖΤΚΔ
ΘΝΚΦΔΙ
ΘΝΚΦΔΙ
ΘΝΠΓΒΝ
ΘΝΧΖ ΝΠΘΚΔ
ΘΤΒΕΖΕ ΛΧΟΔΦΚΠΟ
ΘΤΒΟΧΝΒΤΚΦy
ΘΧΒΤΕ ΤΚΟΘΥ
ΘΧΦΥ
ΙΒΟΕΥ ΠΟ
ΙΒΤΕ ΝΚΟΜΥ
ΙΒΤΕΩΒΤΖ
ΙΒΤΕΩΚΤΖ /
ΙΒΥΙ ΦΒΓΝΖ
ΙΖΒΕ-ΥΖΖΜ
ΙΖΒΕΖΤ iΝΖ
513
E ʹ.
ΙΖΒΡ-ΓΒΥΖΕ
ΙΖΒΦ-ΞΒΟΒΘΖΒΓΝΖ
ΙΖΦΖΤΠΘΖΟΖΠΧΥ
ΙΚΘΙ-ΖΟΕ
ΙΚΘΙ-ΝΖΨΖΝ
ΙΚΥΦΠΘΤΒΞ
ΙΚΥΦΠΤy ΖfΖΔΦ
ΙΠΝΕ ΦΚΞΖ
ΙΠΝΖΥ
ΙΠΞΖ ΕΚΤΖΔΦΠΤy
ΙΠΠΜΥ
ΙΠΥΦΟΒΞΖ
ΙΠΦ ΥΡΠΦΥ
ΙΠΦ
ΙΠΦΡΒΦΔΙΚΟΘ
ΙΠΧΥΖΜΖΖΡΚΟΘ ΦΒΥΜΥ
ΙΧΓ
ΚΞΞΧΟΚΦy
ΚΞΡΒΔΦ ΚΠΟΚάΒΦΚΠΟ
ΚΞΡΖΕΒΟΔΖ
ΚΞΡΝΒΟΦΒΦΚΠΟ
ΚΞΡΝΖΞΖΟΦΖΕ
ΚΞΡΧΤΚΦy
ΚΟ ΡΧΓΝΚΔ ΥΞΒΤΦ ΥΡΒΔΖΥ ’ ’
ΚΟΔΠΟΥΚΥΦΖΟΦΝy
ΚΟΕΖΪ ⁸ ⁹
ΚΟΗΖΤΤΖΕ ΝΒΦΔΙΖΥ
ΚΟΘΠΦ
ΚΟΡΧΦ/ΠΧΦΡΧΦ ΨΒΝΧΖΥ /
ΚΟΡΧΦ
ΚΟΥΦΒΟΔΖ
ΚΟΥΦΒΟΦΚΒΦΖ
ΚΟΥΦΤΧΔΦΚΠΟ ΔΒΔΙΖ ΞΖΞΠΤy
ΚΟΥΧΝΒΦΠΤ
ΚΟΥΧΤΘΖΟΦ ΦΖΔΙΟΠΝΠΘy
ΚΟΦΖΘΖΤ ΝΚΟΖΒΤ ΡΤΠΘΤΒΞΞΚΟΘ
ΚΟΦΖΤΝΖΒΨΚΟΘ ⁸ ⁹
ΚΟΦΖΤΟΒΦΚΠΟΒΝΚάΒΦΚΠΟ
ΚΟΦΖΤΡΤΠΔΖΥΥ
ΚΟΦΖΤΤΧΡΦ ΙΒΟΕΝΖΤΥ
ΚΟΦΤΚΟΥΚΔ
514
E ʹ.
ΚΟΨΖΤΥΚΠΟ
ΚΟΨΖΤΦΖΤ
ΛΒΚΝ ΗΧΟΔΦΚΠΟΒΝΚΦy
ΛΧΞΡΖΤ
ΜΖΖΡΖΤ
ΜΖΤΟΖΝ
ΜΖy ΦΒΥΜΥ
ΜΚΟΜ ΖfΖΔΦ
ΝΒΤΘΖ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ
ΝΒΦΔΙ
ΝΒΦΔΙΧΡ
ΝΒΦΖΟΔy
ΝΒΪΚΦy
ΝΒyΖΤ Ί . . 7 OSI ΝΒyΖΤΥ]
ΝΒyΖΤ
ΝΒyΠΧΦ-ΨΖΤΥΧΥ-ΥΔΙΖΞΒΦΚΔ
ΝΒyΠΧΦ , ,
ΝΖΒΕ
ΝΖΒΗ ΔΖΝΝΥ
ΝΖΒΜΖΤ
ΝΖΒΟ
ΝΖΒΥΦ ΥΝΒΔΜ ΥΔΙΖΕΧΝΚΟΘ Π -
ΝΖΘΒΔy
ΝΖΨΖΝ-ΥΖΟΥΚΦΚΨΖ ΝΒΦΔΙ
ΝΖΨΖΝΚάΖΕ
ΝΚΜΖΝΚΙΠΠΕ
ΝΚΟΖΒΤ
ΝΚΟΖΗΖΖΕ
ΝΚΟΜ ⁸ ΔΠΞΡΚΝΖ⁹
ΝΚΨΖ-ΝΠΔΜ
ΝΠΒΕΖΕ ΜΖΤΟΖΝ ΞΠΕΧΝΖΥ
ΝΠΒΕΖΤ
ΝΠΔΒΝ ΞΖΞΠΤy ΓΒΟΜΥ
ΝΠΔΒΝΚάΒΦΚΠΟ
ΝΠΔΜΥΦΖΡ
ΝΠΘΚΔ ΝΖΨΖΝ
ΝΠΘΚΔΒΝ ΓΝΠΔΜ ΒΕΕΤΖΥΥΚΟΘ
ΝΠΘΚΔΒΝ ΖfΠΤΦ
ΝΠΠΡ ΦΚΝΚΟΘ ΦΤΒΟΥΗΠΤΞΒΦΚΠΟΥ
ΝΠΠΡ ΧΟΤΠΝΝΚΟΘ
515
E ʹ.
ΝΠΩ-ΨΠΝΧΞΖ
ΞΒΔΤΠ
ΞΒΔΤΠΥ
ΞΒΚΟΝΚΟΖ ΔΠΕΖ
ΞΒΚΟΦΒΚΟΖΤ
ΞΒΚΟΦΒΚΟΖΤΥΙΚΡ
ΞΒΛΠΤΚΦy-ΔΒΤΤΚΖΤ ΕΖΨΚΔΖ
ΞΒΟΕΒΦΖ
ΞΒΟΧΒΝΝy
ΞΒΟΧΒΝΥ
ΞΒΟΧΗΒΔΦΧΤΒΓΚΝΚΦy
ΞΒΟΧΗΒΔΦΧΤΚΟΘ ΡΝΒΟΦ
ΞΒΤΘΚΟ
ΞΒΤΘΚΟΥ ΠΗ ΥΝΒΔΜ ΗΠΤ ΙΒΤΕΩΒΤΖ
ΞΒΤΜΖΦ-ΥΡΖΔΚiΔ
ΞΒΥΜ ΠΧΦ
ΞΒΥΜ-ΡΤΠΘΤΒΞΞΖΕ
ΞΒΥΜ
ΞΒΥΦΖΤ ΚΟΕΖΟΦΚiΖΤ
ΞΒΥΦΖΤ/ΥΝΒΨΖ /
ΞΒΥΦΖΤ
ΞΒΦΙ ΔΠΡΤΠΔΖΥΥΠΤ
ΞΖΕΚΧΞ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ
ΞΖΞΠΤy ΗΤΒΘΞΖΟΦΒΦΚΠΟ
ΞΖΞΠΤy ΞΒΡΡΖΕ
ΞΖΞΠΤy ΡΒΕΕΚΟΘ ByΦΖ
ΞΖΞΠΤy-ΚΟΦΖΟΥΖ ΥyΥΦΖΞΥ
ΞΖΤΘΖΕ ΦΤΒΟΥΚΥΦΠΤ ΝΠΘΚΔ
ΞΖΦΒ-ΥyΟΦΒΪ ΞΖΦΒ
ΞΖΦΒΝ ΞΚΘΤΒΦΚΠΟ
ΞΖΦΒΝ-1 -1
ΞΚΔΤΠΡΤΠΓΖΥ -
ΞΚΤΤΠΤ ΦΖΔΙΟΚΣΧΖ
ΞΚΤΤΠΤ-ΔΧΤΤΖΟΦ
ΞΠΓΚΝΚΦy
ΞΠΕΖ
ΞΠΕΧΝΒΤΚΦy
ΞΠΕΧΝΖ ΘΖΟΖΤΒΦΠΤ
ΞΠΕΧΝΖ
ΞΠΟΚΦΠΤ ΡΤΠΘΤΒΞ -
516
E ʹ.
ΞΠΟΠΦΠΟΚΔ ΥΔΙΖΕΧΝΚΟΘ -
ΞΠΟΠΦΠΟΚΔΚΦy
ΞΧΝΦΚΡΝΖΪΖΤ
ΞΧΝΦΚΦΒΥΜΚΟΘ
ΞΧΝΦΚΦΙΤΖΒΕΚΟΘ
ΟΒΚΨΖ
ΟΒΤΤΠΩ ΓΧΥ
ΟΖΘΒΦΚΨΖ ΝΖΨΖΝ-ΥΖΟΥΚΦΚΨΖ ΝΒΦΔΙ
ΟΖΘΖΕΘΖ
ΟΖΥΦΖΕ ΚΟΦΖΤΤΧΡΦΥ
ΟΖΦΝΚΥΦ ,
ΟΖΦΝΚΥΦΥ /
ΟΖΦΩΠΤΜ ΔΠΟΦΖΟΦΚΠΟ
ΟΖΦΩΠΤΜ-ΒΩΒΤΖ
ΟΚΓΓΝΖ ⁸ ⁹
ΟΠΕΖ
ΟΠΚΥΖ ΚΞΞΧΟΚΦy
ΟΠΚΥΖ ΞΒΤΘΚΟ
ΟΠΚΥΖ ΦΠΝΖΤΒΟΦ ΡΤΖΔΙΒΤΘΖ
ΟΠΟ-ΦΚΝΖΕ
ΟΠΟΥΒΦΧΤΒΦΖΕ -
ΟΧΞΓΖΤ-ΔΤΧΟΔΙΚΟΘ ΝΒΟΘΧΒΘΖΥ
ΠΓΛΖΔΦ-iΝΖ
ΠΓΛΖΔΦΚΨΖ ΗΧΟΔΦΚΠΟ
ΠΓΥΖΤΨΒΓΚΝΚΦy
ΠΕΕΥ ΒΟΕ ΖΟΕΥ , ,
ΠΗ ΞΖΞΠΤy ΔΙΧΟΜΥ
Πf-ΦΙΖ-ΥΙΖΝΗ
ΠfΥΖΦ
ΠΟ-ΔΙΚΡ ΓΧΥΖΥ
ΠΟ-ΔΙΚΡ
ΠΡΖΟ ΥΠΧΤΔΖ ΙΒΤΕΩΒΤΖ ΒΟΕ ΥΠtΩΒΤΖ
ΠΡΖΤΒΦΠΤ-ΝΖΨΖΝ ΕΖΦΒΚΝ
ΠΧΦΝΠΠΜ
ΠΧΦΡΧΦ
ΠΧΦΥΠΝΕ
ΠΧΦΥΠΧΤΔΚΟΘ
ΠΨΖΤΙΖΒΕ ΠΗ Β ΔyΔΝΖΒΔΔΧΤΒΦΖ
ΥΚΞΧΝΒΦΚΠΟ
ΠΨΖΤΙΖΒΕ
517
E ʹ.
ΠΨΖΤΤΧΟ ΥΦΒΔΜ
ΠΨΖΤΥΙΠΠΦ -
ΠΪΚΕΒΦΚΠΟ
ΡΒΔΜΒΘΚΟΘ
ΡΒΔΜΖΦ-ΥΩΚΦΔΙΖΕ
ΡΒΔΜΚΟΘ ,
ΡΒΕ ,
ΡΒΘΖ-ΓΝΠΔΜΖΕ ΞΖΞΠΤy
ΡΒΟΖ
ΡΒΟΖ ΥΡΝΚtΚΟΘ ΓΚΟΕΚΟΘΥ
ΡΒΤΖΟΦ
ΡΒΤΦΚΦΚΠΟ
ΡΒΥΥ ΘΒΦΖ
ΡΒΥΥ-ΘΒΦΖ ΝΖΒΜΒΘΖ
ΡΒΥΦ ΦΙΖ ΖΟΕ ΠΗ ΒΟ ΒΤΤΒy
ΡΒΦΔΙΚΟΘ
ΡΒtΖΤΟΚΟΘ
ΡΒy-ΒΥ-yΠΧ-ΘΠ ΥΦΤΒΦΖΘy
ΡΖΒΜ ΡΖΤΗΠΤΞΒΟΔΖ
ΡΖΤΔΖΟΦΒΘΖ ΒΔΦΚΨΚΦy
ΡΖΤΗΠΤΞΒΟΔΖ
ΡΖΤΚΡΙΖΤy
ΡΖΤΥΚΥΦΖΟΔΖ , , ⁸
ΔΠΟΦΖΪΦ⁹
ΡΙΠΦΠΤΖΥΚΥΦ
ΡΙyΥΚΔΒΝ ΝΖΨΖΝ
ΡΚΟ
ΡΚΟ ΘΤΚΕ ΒΤΤΒy
ΡΚΟ
ΡΚΟΘΚΟΘ Β ΟΠΕΖ
ΡΚΟΟΖΕ ΞΖΞΠΤy
ΡΚΟΠΧΦ
ΡΚΡΖΝΚΟΖ ΦΤΒΟΥΒΔΦΚΠΟ
ΡΚΡΖΝΚΟΖ
ΡΚΡΖΝΚΟΚΟΘ
ΡΝΒΔΖ-ΒΟΕ-ΤΠΧΦΖ
ΡΝΒΔΖΞΖΟΦ
ΡΝΒΥΦΚΔ ΣΧΒΕ lΒΦ ΡΒΔΜΥ
ΡΝΧΘΚΟ ΤΖΘΚΠΟΥ ⁸ ?⁹
ΡΠΝΝΚΟΘ
ΡΠΝyΥΚΝΚΔΠΟ
518
E ʹ.
ΡΠΟΦΖΟΦΚΒΝ
ΡΠΠΤ ΖΟΔΒΡΥΧΝΒΦΚΠΟ
ΡΠΠΤ ΝΠΘΚΔ
ΡΠΤΦ
ΡΠΤΦΚΟΘ / ΦΠ ΡΠΤΦ
ΡΠΥΚΦΚΠΟΒΝ ΟΠΦΒΦΚΠΟ ⁸ ⁹
ΡΠΥΚΦΚΨΖ ΝΖΨΖΝ-ΥΖΟΥΚΦΚΨΖ ΝΒΦΔΙ
ΡΠΥΦΔΙΒΤΘΖ
ΡΠΩΖΤ ΕΚΥΥΚΡΒΦΚΠΟ
ΡΠΩΖΤ ΖΥΦΚΞΒΦΚΠΟ ΞΠΕΧΝΖ
ΡΤΖ-ΖΞΡΦΚΠΟ -
ΡΤΖΕΖiΟΖΕ ΔΠΞΡΧΦΖΤ ΥyΥΦΖΞ
ΡΤΖΕΚΔΒΦΖ ΥΖΝΗ-ΤΖΥΖtΚΟΘ -
ΡΤΖΖΞΡΦΚΠΟ ΠΗ ΤΖΥΠΧΤΔΖΥ
ΡΤΖΖΞΡΦΚΨΖ ΥΔΙΖΞΖ -
ΡΤΖΝΚΞΚΟΒΤy ΥΖΦ-ΧΡ ΔΠΕΖ
ΡΤΖΝΠΒΕΖΕ
ΡΤΖΥΖΦ -
ΡΤΚΞΖΤ
ΡΤΚΞΚΦΚΨΖ Ί…ΘΒΦΖ…] Ί.. ..]
ΡΤΠΔΖΥΥ ΗΠΤΜ
ΡΤΠΔΖΥΥ ΘΒΚΟ ΗΒΔΦΠΤ
ΡΤΠΔΖΥΥ
ΡΤΠΘΤΒΞ ΤΖΡΤΖΥΖΟΦΒΦΚΠΟΥ
ΡΤΠΘΤΒΞ-ΔΠΟΦΤΠΝΝΖΕ ΡΠΝΝΚΟΘ
ΡΤΠΡΖΤΝy
ΡΤΠΡΖΤΦy
ΡΤΠΡΤΚΖΦΒΤy ΓΧΥ ΕΠΔΧΞΖΟΦΒΦΚΠΟ ⁸ ⁹
ΡΤΠΦΠΦyΡΚΟΘ
ΡΥΖΧΕΠΤΒΟΕΠΞ
ΡΧΝΝ ΕΠΩΟ ΞΖΟΧ
ΡΧΝΝ ΕΠΩΟ ,
ΡΧΝΝ ΧΡ ,
ΡΧΝΥΖ ΩΚΕΦΙ ΞΠΕΧΝΒΦΚΠΟ
ΡΧΝΥΖΕ ΝΒΦΔΙΖΥ
ΡΧΟΔΙ-ΦΙΤΠΧΘΙ
ΡΧΟΔΙΦΙΤΠΧΘΙ ΔΠΟΕΚΦΚΠΟ
ΡΧΥΙ ΦΙΧΞΓΩΙΖΖΝ
ΣΧΚΔΜΦΧΤΟ ΕΖΥΚΘΟ ΒΡΡΤΠΒΔΙ
ΣΧΚΖΦ ΦΚΞΖ
ΤΒΔΖ ΔΠΟΕΚΦΚΠΟΥ
519
E ʹ.
ΤΒΔΖ
ΤΒΞΡ-ΧΡ
ΤΒΟΘΖ
ΤΒΟΜ
ΤΒΦΚΠΖΕ ΔΚΤΔΧΚΦΥ
ΤΒΦΚΠΖΕ
ΤΒΦΚΠΚΟΘ ΔΠΟΥΦΤΒΚΟΦΥ
ΤΖΒΕ ΓΧΤΥΦ ΒΔΔΖΥΥ
ΤΖΒΝ ΦΚΞΖ ΥΧΡΡΠΤΦ
ΤΖΒΝΚάΖ
ΤΖΓΚΟΕ
ΤΖΔΠΟiΘΧΤΒΓΝΖ ,
ΤΖΘΚΥΦΖΤ ΥΡΚΝΝ ⁸ ⁹
ΤΖΘΚΥΦΖΤ
ΤΖΘΧΝΒΦΠΤ
ΤΖΝΒy Ί : -
]
ΤΖΣΧΖΥΦ/ΘΤΒΟΦ ΚΟΦΖΤΗΒΔΖ /
ΤΖΥΖΦ
ΤΖΥΚΥΦΒΟΔΖ
ΤΖΥΚΥΦΚΨΖ
ΤΖΥΚΥΦΚΨΚΦy
ΤΖΥΚΥΦΠΤ
ΤΖΥΚάΒΓΝΖ
ΤΖΥΠΧΤΥΖΥ
ΤΖΥΡΠΟΥΚΨΖ ΥyΥΦΖΞ
ΤΖΥΦΠΤΖ
ΤΖΨΖΤΥΖ ΓΤΖΒΜΕΠΩΟ ΨΠΝΦΒΘΖ
ΤΖΨΖΤΥΖ ΖΟΘΚΟΖΖΤΚΟΘ
ΤΚΘΠΤ ΝΒΦΖΤ
ΤΚΡΡΝΖ ΔΒΤΤy ΒΕΕΖΤ
ΤΚΥΖ ΦΚΞΖ
ΤΚΥΚΟΘ
ΤΠΒΕΞΒΡ
ΤΠΘΧΖ ΡΤΠΘΤΒΞΥ
ΤΠΠΦ ΔΠΞΡΝΖΪ
ΤΠΠΦ ΕΚΤΖΔΦΠΤy/ΗΠΝΕΖΤ
ΤΠΠΦ ⁸
- UNI·⁹
ΤΠΧΟΕ-ΤΠΓΚΟ
ΤΠΧΦΖ
520
E ʹ.
ΤΠΧΦΖΤ ,
ΤΠΧΦΚΟΘ
ΤΠΩ-ΟΠΞΚΟΒΦΖΕ
ΤΧΟ-ΦΚΞΖ ΝΠΒΕΖΤ
ΤΧΟΦΚΞΖ ΡΒΦΔΙΚΟΘ
ΥΒΦΧΤΒΦΖΕ ΝΠΒΕ ΚΟΨΖΤΦΖΤ
ΥΒΦΧΤΒΦΖΕ ,
ΥΒΦΧΤΒΦΚΠΟ
ΥΔΒΝΒΤ ΨΒΤΚΒΓΝΖ
ΥΔΒΝΖ
ΥΔΒΝΚΟΘ ΖfΖΔΦ
ΥΔΒΟ-ΔΙΒΚΟ ΚΟΥΖΤΦΚΠΟ
ΥΔΙΖΕΧΝΒΓΝΖ ΖΟΦΚΦΚΖΥ
ΥΔΙΖΕΧΝΚΟΘ ΡΠΝΚΔΚΖΥ
ΥΔΙΖΞΒΦΚΔ
ΥΔΤΒΦΔΙ ΡΒΕ ΞΖΞΠΤy
ΥΔΤΚΓΖ
ΥΔΤΚΡΦ
ΥΔΤΚΡΦΚΟΘ
ΥΔΤΧΦΚΟΠΧΥ ΠΧΦΝΠΠΜ
ΥΖΔΠΟΕΒΤy ΡΤΖΔΙΒΤΘΖ ΕΖΨΚΔΖΥ
ΥΖΘΞΖΟΦΒΦΚΠΟ ΗΒΧΝΦ
ΥΖΘΞΖΟΦΖΕ ΞΖΞΠΤy
ΥΖΘΞΖΟΦΥ
ΥΖΝΗ-ΒΝΚΘΟΖΕ -
ΥΖΝΗ-ΓΚΒΥΚΟΘ
ΥΖΝΗ-ΓyΡΒΥΥ ΡΒΦΙ -
ΥΖΝΗ-ΝΠΒΕΚΟΘ
ΥΖΞΚΔΠΟΕΧΔΦΠΤ ΔΠΞΡΒΟy
ΥΖΞΚΔΠΟΕΧΔΦΠΤ
ΥΖΞΚΔΧΥΦΠΞ
ΥΖΟΥΖ ΒΞΡΝΚiΖΤ
ΥΖΟΦΚΟΖΝΥ
ΥΖΣΧΖΟΦΚΒΝ
ΥΖΣΧΖΟΦΚΒΝ ΕΖΥΚΘΟ/ΔΚΤΔΧΚΦ /
ΥΖΣΧΖΟΦΚΒΝ
ΥΖΥΥΚΠΟ
ΥΖΦ-ΒΥΥΠΔΚΒΦΚΨΖ
ΥΖΦ
ΥΖΦΧΡ ΦΚΞΖ
ΥΙΒΤΖΕ
521
E ʹ.
522
E ʹ.
ΥΧΓΥΦΤΒΦΖ
ΥΧΓΥyΥΦΖΞ
ΥΧΓΦΙΤΖΥΙΠΝΕ ΤΖΘΚΠΟ -
ΥΧΡΖΤΚΞΡΠΥΖ
ΥΧΡΖΤΧΥΖΤ
ΥΧΤΗΒΔΖ ΞΠΧΟΦ
ΥΩΚΟΘ
ΥΩΚΦΔΙΖΕ ΚΟΡΧΦ
ΥΩΚΦΔΙΚΟΘ ΟΠΚΥΖ
ΥΩΚΦΔΙΚΟΘ
ΥyΟΦΙΖΥΚΥΒΓΝΖ
ΥyΟΦΙΖΥΚάΖΕ /
ΥyΥΦΖΞ-ΚΟΔΝΧΕΖ iΝΖΥ
ΥyΥΦΖΞ-ΝΖΨΖΝ ΙΠΧΥΖΥ
ΦΒΘ
ΦΒΤΘΖΦ
ΦΒΥΜ
ΦΒΪΠΟΠΟΠΞy
ΦΖΥΦ
ΦΖΥΦΒΓΝΖ
ΦΖΥΦΒΓΝΚΦy
ΦΖΥΦΚΟΘ
ΦΖΪΦΧΤΖ ΞΖΞΠΤy
ΦΙΖ ΓΒΤΖ ΞΚΟΚΞΧΞ
ΦΙΤΖΒΕ
ΦΙΤΖΥΙΠΝΕ
ΦΙΤΠΧΘΙ ΙΠΝΖ ΕΖΨΚΔΖΥ
ΦΙΤΠΧΘΙ-ΙΠΝΖ ⁸ ⁹
ΦΚΝΖΕ ⁸ , -
⁹
ΦΚΞΖ ΓΠΤΤΠΩΚΟΘ
ΦΚΞΖ ΥΝΚΔΖ
ΦΚΞΖ ΦΠ ΞΒΤΜΖΦ ΔΠΥΦ
523
E ʹ.
524
E ʹ.
ΩΙΖΤΖΒΥΖ
ΩΚΕΖΤ ΡΒΦΙΥ
ΩΚΤΖ
ΩΚΤΚΟΘ
ΩΠΤΜΚΟΘ ΕΤΒt
ΩΠΤΜΚΟΘ ΡΤΠΦΠΦyΡΖ
ΩΠΤΥΦ ΔΒΥΖ
ΩΤΒΡΒΤΠΧΟΕ
ΩΤΚΦΖ-ΓΒΔΜ -
ΩΤΚΦΖ-ΦΙΤΠΧΘΙ
yΚΖΝΕ ⁸ ⁹
άΚΡΡΖΤ
525
E ʹ.
526
Ί1] Ά.F. BΤΚΟΜΞΒΟ, D.E. HΒΘΘΒΟ, ΒΟΕ Ά.Ά. TΤΠΧΦΞΒΟ. A ΙΚΥΦΠΤy ΠΗ ΦΙΖ
ΚΟΨΖΟΦΚΠΟ ΠΗ ΦΙΖ ΦΤΒΟΥΚΥΦΠΤ ΒΟΕ ΩΙΖΤΖ ΚΦ ΩΚΝΝ ΝΖΒΕ ΧΥ. Sήlid-Sγaγe Ciαcuiγβ,
IEEE Jήuαέal ήf, 32⁸12⁹:1858–1865, DΖΔ 1997.
Ί4] HΚΟΦΠΟ GΝΖΟΟ, DΒΨΖ SΒΘΖΤ, MΚΜΖ UΡΦΠΟ, DΒΤΤΖΟ BΠΘΘΥ, DΠΧΘ CΒΤΞΖΒΟ,
AΝΒΟ KyΜΖΤ, ΒΟΕ PΒΦΚΔΖ RΠΧΥΥΖΝ. hΖ ΞΚΔΤΠΒΤΔΙΚΦΖΔΦΧΤΖ ΠΗ ΦΙΖ ΡΖΟΦΚΧΞ 4
ΡΤΠΔΖΥΥΠΤ. Iέγel Techέήlήgy Jήuαέal, Q1:1–10, 2001.
Ί5] AMD. Aγhlήέ XP Pαήceββήα Mήdel 8 Daγa Sheeγ, 25175 ΤΖΨ. Ι ΖΕΚΦΚΠΟ, MΒΤΔΙ
2003.
527
Ί11] OyΥΦΖΚΟ RΒ ΒΟΕ TΠΤΓΠΛΠΤΟ SΦΤΠΞ. TΤΖΟΕΥ ΒΟΕ ΔΙΒΝΝΖΟΘΖΥ ΚΟ ΖΞΓΖΕΕΖΕ
ΥyΥΦΖΞΥ - CΠDΖVΖΤ ΒΟΕ HΚBΧ ΖΪΡΖΤΚΖΟΔΖΥ. IΟ Nήαβk Iέfήαάaγikkήέfeαaέβe,
KΠΟΘΥΓΖΤΘ, NΠΤΩΒy, NΠΨΖΞΓΖΤ 2002. HΠΘΥΜΠΝΖΟ BΧΥΜΖΤΧΕ, http://www.
nik.no/2002/Ra.pdf.
Ί15] ΈΒΠΛΧΟ ΉΙΒΟΘ, LΧ ΉΙΒΟΘ, ΆΧΛΚΖ ΆΖΟ, GΧΒΟΘyΧ SΧΟ, ΒΟΕ ΈΚΤΒΟ CΙΖΟ. MΧΝΦΚ-
ΝΖΨΖΝ ΔΖΝΝ Υt-ΤΒΞ: IΥ ΚΦ ΤΖΒΝΚΥΦΚΔ ΠΤ ΛΧΥΦ Β ΕΤΖΒΞ? IΟ Cήάίuγeα-Aided Deβigέ
(ICCAD), 2012 IEEE/ACM Iέγeαέaγiήέal Cήέfeαeέce ήέ, ΡΒΘΖΥ 526–532, NΠΨ
2012.
Ί16] D. GΠΞΖά TΠΤΠ, M. AΤάΖΝ, F. SΖΘΧΚΟ, ΒΟΕ M. JΖάΖΣΧΖΝ. SΠt ΖΤΤΠΤ ΕΖΦΖΔΦΚΠΟ ΒΟΕ
ΔΠΤΤΖΔΦΚΠΟ ΦΖΔΙΟΚΣΧΖ ΗΠΤ ΤΒΕΚΒΦΚΠΟ ΙΒΤΕΖΟΚΟΘ ΓΒΥΖΕ ΠΟ Δ-ΖΝΖΞΖΟΦ ΒΟΕ ΓΚΔΥ.
Ciαcuiγβ aέd Syβγeάβ II: Exίαeββ Bαiefβ, IEEE Tαaέβacγiήέβ ήέ, 61⁸12⁹:952–956,
DΖΔ 2014.
Ί18] J. JΖΕΕΖΝΠΙ ΒΟΕ B. KΖΖΦΙ. HyΓΤΚΕ ΞΖΞΠΤy ΔΧΓΖ ΟΖΩ ΕΤΒΞ ΒΤΔΙΚΦΖΔΦΧΤΖ
ΚΟΔΤΖΒΥΖΥ ΕΖΟΥΚΦy ΒΟΕ ΡΖΤΗΠΤΞΒΟΔΖ. IΟ VLSI Techέήlήgy (VLSIT), 2012
Syάίήβiuά ήέ, ΡΒΘΖΥ 87–88, JΧΟΖ 2012.
Ί19] CΙΚΡ SΙΠΦΥ. TΖΥΦΥ ΥΙΠΩ ΕΕΤ4 ΚΥ ΧΥΖΝΖΥΥ ΗΠΤ ΕΖΥΜΦΠΡ ΡΔ ΧΥΖΤΥ, FΖΓΤΧΒΤy 2015.
ΊOΟΝΚΟΖ; ΒΔΔΖΥΥΖΕ 14-SΖΡΦΖΞΓΖΤ-2015].
528
Ί23] GΠΤΕΠΟ E. MΠΠΤΖ. CΤΒΞΞΚΟΘ ΞΠΤΖ ΔΠΞΡΠΟΖΟΦΥ ΠΟΦΠ ΚΟΦΖΘΤΒΦΖΕ ΔΚΤΔΧΚΦΥ.
Elecγαήέicβ, 38⁸8⁹:1–4, AΡΤΚΝ 19 1965.
Ί31] KΧΤΦ KΖΧΦάΖΤ, SΙΒΤΒΕ MΒΝΚΜ, ΒΟΕ RΚΔΙΒΤΕ NΖΩΦΠΟ. FΤΠΞ ASIC ΦΠ ASIP: hΖ
ΟΖΪΦ ΕΖΥΚΘΟ ΕΚΥΔΠΟΦΚΟΧΚΦy. ICCD, ΡΒΘΖΥ –, 2002.
Ί32] NΖΚΝ H.E. ΆΖΥΦΖ ΒΟΕ DΒΨΚΕ HΒΤΤΚΥ. CMOS VLSI Deβigέ: A Ciαcuiγβ aέd
Syβγeάβ Peαβίecγive. AΕΕΚΥΠΟ-ΆΖΥΝΖy, 3ΤΕ ΖΕΚΦΚΠΟ, 2004.
Ί33] EΕΚΦΠΤΚΒΝ. NΖΩΥ ΊΘΠΠΘΝΖ ΘΝΒΥΥ ΚΥ ΕΖΒΕ, ΓΧΦ ΒΧΘΞΖΟΦΖΕ ΤΖΒΝΚΦy ΝΚΨΖΥ ΠΟ].
Sίecγαuά, IEEE, 52⁸3⁹:18–18, MΒΤΔΙ 2015.
Ί35] M.F. CΝΠΧΦΚΖΤ, C. PΒΤΒΕΚΥ, ΒΟΕ V.M. ΆΖΒΨΖΤ. DΖΥΚΘΟ ΒΟΕ ΒΟΒΝyΥΚΥ ΠΗ
Β 32-ΓΚΦ ΖΞΓΖΕΕΖΕ ΙΚΘΙ-ΡΖΤΗΠΤΞΒΟΔΖ ΔΝΧΥΦΖΤ ΠΡΦΚΞΚάΖΕ ΗΠΤ ΖΟΖΤΘy ΒΟΕ
ΡΖΤΗΠΤΞΒΟΔΖ. IΟ Haαdwaαe-Sήtwaαe Cή-Deβigέ fήα High Peαfήαάaέce
Cήάίuγiέg (Cή-HPC), 2014, ΡΒΘΖΥ 1–8, NΠΨ 2014.
529
Ί37] J. CΠΥΞΒΥ, I. TΒΜΚ, D.GΤΖΖΟ, O. ΉΒΝΖΥΟy, L.VΒΟGΠΠΝ, M. PΠΝΝΖΗΖyΥ, R.DΖΘΖΖΥΦ,
M.ΆΒΖΝΜΖΟΥ, K. HΤΒΓy, M. KΒΞΡΖΝ, ΒΟΕ R. SΒΓΝΒΦΟΚΘ. 3Ε ΞΧΤΒΝΖ, 2002.
Ί39] I. SΠΕΒΘΒΤ, HΧΟΘ-JΧ LΖΖ, P. HΒΦΤΒΔΜ, ΒΟΕ ΈΒ-QΚΟ ΉΙΒΟΘ. SΔΒΝΒΓΝΖ ΩΒΨΖΝΖΦ
ΔΠΕΚΟΘ ΗΠΤ ΥyΟΦΙΖΦΚΔ/ΟΒΦΧΤΒΝ ΙyΓΤΚΕ ΚΞΒΘΖΥ. Ciαcuiγβ aέd Syβγeάβ fήα Videή
Techέήlήgy, IEEE Tαaέβacγiήέβ ήέ, 9⁸2⁹:244–254, MΒΤ 1999.
530
Eάbedded Syβγeάβ, CASES ’00, ΡΒΘΖΥ 180–186, NΖΩ ΈΠΤΜ, NΈ, USA, 2000.
ACM.
Ί50] S. SΧΓΙΒ. AΟ ΖΪΔΝΧΥΚΨΖ ΔΒΔΙΖ ΞΠΕΖΝ. iέ IEEE ITNG, ΡΒΘΖΥ 1715–1716, 2009.
Ί54] D. P. BΠΨΖΦ ΒΟΕ M. CΖΥΒΦΚ. Uέdeαβγaέdiέg γhe Liέux Keαέel, Fαήά I/O Pήαγβ
γή Pαήceββ Maέageάeέγ. O’RΖΚΝΝy ΒΟΕ AΥΥΠΔΚΒΦΖΥ, ⁸1001 MΠΤΤΚΥ SΦΤΖΖΦ⁹,
SΖΓΒΥΦΠΡΠΝ, 2001.
Ί56] M. ΆΠΠ ΒΟΕ J. NΖΚΕΖΤ. OΡΖΟGL ΡΤΠΘΤΒΞΞΚΟΘ ΘΧΚΕΖ. 2έd edέ. (Silicήέ
Gαaίhicβ Iέc), 1997.
531
SΠΧΕΤΚΥ, ΒΟΕ JΧΒΟ LΒΟΔΙΒΤΖΥ. OΡΦΚΞΚάΒΦΚΠΟ ΠΗ ΕyΟΒΞΚΔ ΕΒΦΒ ΥΦΤΧΔΦΧΤΖΥ
ΚΟ ΞΧΝΦΚΞΖΕΚΒ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ ΧΥΚΟΘ ΖΨΠΝΧΦΚΠΟΒΤy ΔΠΞΡΧΦΒΦΚΠΟ. IΟ
Pαήceediέgβήf γhe 10γh Iέγeαέaγiήέal Wήαkβhήί ήέ Sήtwaαe &Aάί; Cήάίileαβ
fήα Eάbedded Syβγeάβ, SCOPES ’07, ΡΒΘΖΥ 31–40, NΖΩ ΈΠΤΜ, NΈ, USA, 2007.
ACM.
Ί64] M.N. JΠΥΧtΚΥ. he C++ Sγaέdaαd Libαaαy. AΕΕΚΥΠΟ ΆΖΥΝΖy, HΒΤΝΠΩ, 1999.
532
Ί70] S. MΒΞΒΘΜΒΜΚΥ, D. AΦΚΖΟάΒ, C. PΠΧΔΖΦ, F. CΒtΙΠΠΤ, ΒΟΕ D. SΠΧΕΤΚΥ. EΟΖΤΘy-
ΖiΔΚΖΟΦ ΕyΟΒΞΚΔ ΞΖΞΠΤy ΒΝΝΠΔΒΦΠΤΥ ΒΦ ΦΙΖΞΚΕΕΝΖΩΒΤΖ ΝΖΨΖΝ ΠΗ ΖΞΓΖΕΕΖΕ
ΥyΥΦΖΞΥ. iέ Pαήceediέgβ ήf EMSOFT 269, ΡΒΘΖΥ 215–222, 2006.
533
Ί79] MΚΔΤΠΥΠt CΠΤΡΠΤΒΦΚΠΟ. HΖΒΡ:ΡΝΖΒΥΧΤΖΥ ΒΟΕ ΡΒΚΟΥ ⁸ΗΠΤ ΩΚΟΕΠΩΥ NT
ΦΖΔΙΟΠΝΠΘΚΖΥ⁹.
Ί81] DΒΨΚΕ GΒy ΒΟΕ AΝΖΪ AΚΜΖΟ. MΖΞΠΤy ΞΒΟΒΘΖΞΖΟΦ ΩΚΦΙ ΖΪΡΝΚΔΚΦ ΤΖΘΚΠΟΥ. IΟ
Pαήceediέgβ ήf γhe ACM SIGPLAN 1998 Cήέfeαeέce ήέ Pαήgαaάάiέg Laέguage
Deβigέ aέd Iάίleάeέγaγiήέ, PLDI ’98, ΡΒΘΖΥ 313–323, NΖΩ ΈΠΤΜ, NΈ, USA,
1998. ACM.
Ί87] Ά. SΤΚΥΒ-ΒΟ J. MΠΤΤΚΥ CΙΒΟΘ, C.-T. DΒΟ LΠ. OΞΪ: ΠΓΛΖΔΦ ΞΒΟΒΘΖΞΖΟΦ
ΖΪΦΖΟΥΚΠΟ. IΟ Cήάίileα aέdAαchiγecγuαe Suίίήαγ fήαEάbedded Syβγeάβ, SΒΟ
DΚΖΘΠ, 1999.
Ί88] M. SΙΤΖΖΕΙΒΤ ΒΟΕ GΖΠΤΘΖ VΒΤΘΙΖΥΖ. EiΔΚΖΟΦ ΗΒΚΤ ΣΧΖΧΖΚΟΘ ΧΥΚΟΘ ΕΖiΔΚΦ
ΤΠΧΟΕ ΤΠΓΚΟ. SIGCOMM Cήάίuγ. Cήάάuέ. Rev., 25⁸4⁹:231–242, OΔΦΠΓΖΤ
1995.
534
Ί90] D. AΦΚΖΟάΒ, S. MΒΞΒΘΜΒΜΚΥ, F. CΒtΙΠΠΤ, J.M. MΖΟΕΚΒΥ, ΒΟΕ D. SΠΧΕΤΚΥ.
MΠΕΧΝΒΤ ΔΠΟΥΦΤΧΔΦΚΠΟ ΒΟΕ ΡΠΩΖΤ ΞΠΕΖΝΝΚΟΘ ΠΗ ΕyΟΒΞΚΔ ΞΖΞΠΤy ΞΒΟΒΘΖΤΥ
ΗΠΤ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ. IΟ Oίγiάiιaγiήέ aέd Siάulaγiήέ, ΨΠΝΧΞΖ 3254,
SΒΟΦΠΤΚΟΚ, GΤΖΖΔΖ, 2004. SΡΤΚΟΘΖΤ, HΖΚΕΖΝΓΖΤΘ.
Ί97] MΒΥΥΚΞΠ BΒΟάΚ, DΒΨΚΕ CΧΒΤΦΚΖΝΝΖΥ, TΠΞ IΘΠΖ, GΚΒΟΝΧΔΒ MΒΤΦΚΟΠ, ΒΟΕ DΒΨΚΕ
MΖΝΝΚΥ. AΤΕΧΚΟΠ ΠiΔΚΒΝ ΩΖΓΥΚΦΖ. ⁸OΟ-ΝΚΟΖ⁹ http://www.arduino.cc/, 2015.
535