You are on page 1of 538

s

Ενσωματωμένα
Συστήματα
Ο αθέατος ψηφιακός κόσμος

Μηνάς Δασυγένης
Δημήτριος Σούντρης
,

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-ΔΠΤΖΥ,

• ‘ ’ ⁸SyΥΦΖΞ ΠΟ CΙΚΡ, SOC⁹,

• 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

χ υltera ϊPGυ θκε


C.1 . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . 461
C.2 1. . . . . . . . . . . . . . . . . . . . . . 468
C.3 2. . . . . . . . . . . . . . . . . . . . . . 470
C.4 3. . . . . . . . . . . . . . . . . . . . . . 473
C.5 4. . . . . . . . . . . . . . . . . . . . . . 474
C.6 5. . . . . . . . . . . . . . . . . . . . . . 476
C.6.1 NIOS II
QΥyΥ . . . . . . . . . . . . . . . . . . . . . . . . . 478
C.6.2 VHDL -
, BSP . . . . . . . . . . 481
C.6.3
. . . 482
C.7 5 . . . . . . . . . . . . . . . . . . . . . . 485

ψ θνλ

ω Ό ιδι

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

B .1 AΤΕΧΚΟΠ UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386


B .2 / AΤΕΧΚΟΠ UNO. . . . . . . . . . . . 387
B .3 AΤΕΧΚΟΠ UNO. . . . . . . . . . . . 388
B .4 AΤΕΧΚΟΠ UNO. . . . . . . . . . . 389
B .5
AΤΕΧΚΟΠ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
B .6 AΤΕΧΚΟΠ. . . . . . . . . . . . 393
B .7 CIRC01 . . . . . . . . . . . . . . . 396
B .8 CIRC01 . . . . . . . . . . . . . . . . 396
B .9 CIRC02 . . . . . . . . . . . . . . . 403
B .10 CIRC02 . . . . . . . . . . . . . . . . 403
B .11 CIRC03 . . . . . . . . . . . . . . . 410

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 ,
, , , ⁸ . . -
⁹.

1.3: 1950 ENIAC.


ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.

, ,
,
⁸1947⁹, 3 ,
⁸ ⁹ ⁸ ⁹ -
,
.
TΤΒΟΥΚΥΦΠΤ CΠΞΡΧΦΖΤ MΒΟΔΙΖΥΦΖΤ
⁸ 1.4 ⁹.
MIT, CΒΞΓΤΚΕΘΖ, MΒΟΔΙΖΥΦΖΤ ,

ΙtΡΥ://ΖΟ.ΩΚΜΚΡΖΕΚΒ.ΠΤΘ/ΩΚΜΚ/HΚΥΦΠΤyΐΠΗΐΔΠΞΡΧΦΚΟΘΐΙΒΤΕΩΒΤΖ
#/ΞΖΕΚΒ/FΚΝΖ:SSEMΐMΒΟΔΙΖΥΦΖΤΐΞΧΥΖΧΞΐΔΝΠΥΖΐΧΡ.ΛΡΘ

30
1.

IΟΦΖΝ, IBM, DEC, ARM, CRAΈ, ., -


. -
,
5 .

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

1.5: PDP-1 DEC,


. MΒtΙΖΩ
HΧΦΔΙΚΟΥΠΟ - ΙtΡ://ΩΩΩ.lΚΔΜΤ.ΔΠΞ/ΡΙΠΦΠΥ/ΙΚΕΕΖΟΝΠΠΡ/307119987/. LΚΔΖΟΥΖΕ
ΧΟΕΖΤ CC BΈ 2.0 ΨΚΒ CΠΞΞΠΟΥ.

Ι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: -
.

ROM FLASH EEPROM,


.
.
1.10 , -
. ,
, -
⁸A/D ΔΠΟΨΖΤΦΖΤ⁹, -
⁸D/A ΔΠΟΨΖΤΦΖΤ⁹, -
, ,
, -
, , - .
,
.
, -
.

.
,
.
, -
, 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⁹
,
.

• PΆM ⁸ΡΧΝΥΖ ΩΚΕΦΙ ΞΠΕΧΝΒΦΚΠΟ, -


⁹, ,
-
. . . 1,
10⁵ 90⁵ ,
9, 100⁵ .

• , -
.

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 MΚΔΤΠ SD.

• VIDEO H.234 -
.

• ⁸ 1A 12V,
⁹.

• .

• .

• LΚPO ΞΚΟΚ USB.

• SD.

• ,
CMOS CCD.

• LCD ⁸ΝΚΣΧΚΕ ΔΤyΥΦΒΝ ΕΚΥΡΝΒy⁹ ΨΚΕΖΠ


.

• FAT SD,
PC

• USB MΒΥΥ SΦΠΤΒΘΖ DΖΨΚΔΖ 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.

• ⁸ΆΙΖΖΝ SΡΖΖΕ SΖΟΥΠΤ⁹.

• ⁸ΤΖΒΤ ΨΚΖΩ ΔΒΞΖΤΒ⁹.

• ⁸ΖΝΖΔΦΤΚΔ ΡΠΩΖΤ ΥΦΖΖΤΚΟΘ⁹ -


.

• ⁸ΒΚΤΓΒΘΥ⁹.

• ⁸ΥΖΒΦΓΝΖΦ ΡΤΖΦΖΟΥΚΠΟΟΖΤ⁹.

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

FPGA AΝΦΖΤΒ DE2-115.


, -
, -
.

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.

m∗n ΓΚΦ. m×n ⁸‘m- -n’⁹. -


ΓΚΦ ,
ECC ⁸ΖΤΤΠΤ ΔΠΤΤΖΔΦΚΟΘ ΔΠΕΖ, -
⁹. ECC -
,
, -
⁸ΥΠt ΖΤΤΠΤΥ⁹,
ΓΚΦ Ί16].
m n ΓΚΦ, -
m ,
, . log2 (m)
. -
, k , 2k
. k ΓΚΦ.
k . -
.
⁸ ROM⁹,
⁸ RAM⁹.
, ⁸ ,
⁹, ⁸ΕΒΦΒ ΥΙΖΖΦ⁹ -
,
1970 Ί17].
Ό . -
, ΓΚΦ ByΦΖ .
8ΓΚΦ, 32ΓΚΦ,
8 ΓΚΦ 32 ΓΚΦ . , -
8 ΓΚΦ 4 32 ΓΚΦ.
, -
ByΦΖ
⁸ΓΧΤΥΦ ΦΤΒΟΥΗΖΤ, ⁹.
,
. , DRAM ⁸ RAM⁹ -
4MBΪ1 ⁸ ΓΚΦ⁹, SRAM ⁸
RAM⁹ 512KBΪ8 ⁸ ⁹. -
, , -
. DRAM,
,
ΓΚΦ ⁸LSB⁹,
⁸MSB⁹. ,

8 ΓΚΦ .

75
3.

SRAM . ,
DRAM , -
. -
DRAM ⁸4MBΪ1⁹Ϊ8 32MB.

ηβζβε α Random υccess


Memory, RυM
RAM
⁸RΒΟΕΠΞ AΔΔΖΥΥ MΖΞΠΤy⁹. , -

’. , ‘ ’
⁸ΥΖΤΚΒΝ ΞΖΞΠΤy⁹, HyΓΤΚΕ MΖΞΠΤy CΧΓΖ Ί18] -
⁸·ΚΝΚΟΪ, AΝΦΖΤΒ, MΚΔΤΠΥΠt, SΒΞΥΧΟΘ, ARM . .⁹, ‘ΥΖΤΚΒΝ’
-
, RAM. RAM
⁸ 1960⁹,
⁸ΞΒΘΟΖΦΚΔ ΔΠΤΖ ΞΖΞΠΤy⁹,
3.1ϊ,
. , ,
, . -
RAM, -
.
RAM . -
-
⁸ ⁹. RAM -
⁸ ⁹, -
⁸ ⁹. RAM
, -
.
,
, RAM -
⁸ 3.2 3.3⁹,
.
RAM : RAM ⁸ -
SΦΒΦΚΔ RAM SRAM⁹ RAM ⁸ ΕyΟΒΞΚΔ
RAM DRAM⁹. SRAM -
lΚΡ-lΠΡ, ΓΚΦ .
RAM,

ϊΙ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.

⁸ΕΠΧΓΝΖ ΕΒΦΒ ΤΒΦΖ, DDR⁹ . -


MΙά DDR-200, DDR-233, DDR-333,
DDR-400. -
,
⁸ 128 ΓΚΦ 256 ΓΚΦ⁹. -
DDR2 SDRAM DDR2-400, DDR2-533, DDR2-
667, DDR2-800 DDR2-1066. ⁸DDR3 SDRAM⁹
512 ΓΚΦ, 1.5
VΠΝΦ DDR3-1600.

2014⁹, DDR4, 1.2 VΠΝΦ DDR4-2133
DDR4-3200. -

⁸ ⁹, -
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.

3.4: ⁸a⁹ BΚΦΥ , ⁸b⁹


ROM, ⁸Δ⁹ RAM.

ROM .
, ⁸ΓΠΠΦ ΝΠΒΕΖΤ⁹,
.
-
-
, FΝΒΥΙ. ROM
.Ό , -
, RAM ,
. ROM ,
.
k
2k Ϊ 1 ROM, n
k 2k Ϊ n ROM.
.
. -
ROM
, .
ROM
.

80
3.

ROM ‘ ⁸ΓΧΤΟ⁹ ROM’.


-

ROM ‘ ’ ‘ ’
ΓΚΦ.
‘ ’ ROM
ROM -
⁸IΟ-SyΥΦΖΞ PΤΠΘΤΒΞΚΟΘ-ISP⁹ ⁸IΟ-CΚΤΔΧΚΦ PΤΠΘΤΒΞΞΚΟΘ -
ICP⁹. ROM , -
.

⁹.
ROM, PROM ⁸ΡΤΠΘΤΒΞΞΒΓΝΖ ROM⁹,
.

.
PROM, -
.
ROM ⁸ : -
, -

. ROM
,
. -
. , PROM -
, OTP ⁸OΟΖ TΚΞΖ PΤΠΘΤΒΞΞΒΓΝΖ⁹.

ηβζβη ωrasable Programmable Memory


PROM PROM ⁸ΖΤΒΥΒΓΝΖ
PROM, EPROM⁹. -
⁸lΠΒΦΚΟΘ ΘΒΦΖ⁹, -
⁸ 12V
25V⁹, .
.
OTP ROMΥ ,
. -
. , OTP
ROMS , -
.
⁸EPROM⁹.

81
3.

EPROM,
.
OTP ROMΥ. , EPROM -
, OTP ROM -
.
EPROM OTP ,
, B⁸ ⁹,
ΞΖΘΒΓyΦΖ .

ηβζβθ ωlectrically ωrasable Programmable Memory α ωωPROM


EEPROM ,
EEPROM ⁸
⁹. ,
⁸EΝΖΔΦΤΚΔΒΝΝy ΒΝΦΖΤΒΓΝΖ ΤΖΒΕ-ΠΟΝy ΞΖΞΠΤy, EAROM⁹.
EEPROM
, -
. -
ROM ⁸
ΜΚΝΠΓyΦΖ⁹, -
. ’ , ,
.
⁸ ATMEGA 328P⁹, -
EEPROM
.
, -
, , , .
, -
,
EEPROM
DHCP.

ηβζβι ϊ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.

1 ByΦΖ ⁸ΞΧΝΦΚ ByΦΖ⁹,


ΖΟΕΚΒΟΖΥΥ ⁸ -
ByΦΖ⁹: ΓΚΘ ΖΟΕΚΒΟ ΝΚtΝΖ ΖΟΕΚΒΟ.
.

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.

3.5: BΚΘ ΖΟΕΚΒΟ LΚtΝΖ EΟΕΚΒΟ.

. ΝΚ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 ΡΒΕΕΚΟΘ⁹ -
, .

⁸ΟΒΦΚΨΖ ΓΚΦ ΩΚΕΦΙ, NBΆ⁹


. :
8, 16, 32
64 ΓΚΦ. -
.Ό NBΆ
⁸ ⁹.
, 16 ΓΚΦ 16 ΓΚΦ -
8 32 ΓΚΦ 16 ΓΚΦ.
,
.
-
-
. O
ByΦΖ, ByΦΖ Ά. , -
32 ΓΚΦ 4 ByΦΖ -
0Ι, 1Ι, 2Ι, 3Ι, 4Ι, 5Ι, 6Ι, 7Ι. -
ΓΚΦ -
ByΦΖ. 32 ΓΚΦ,

87
3.

2 ΓΚΦ 4 ByΦΖ , 2 ΓΚΦ


. 64 ΓΚΦ, 4 ΓΚΦ -
8 ByΦΖ 8 ΓΚΦ -
. ,
ABF1Ι 1010101111110001
32 ΓΚΦ 10101011111100??,
1010101111110000 ⁸ABF0Ι⁹ 1010101111110011 ⁸ABF3Ι⁹, 64 ΓΚΦ
101010111111????, 1010101111110000 ⁸ABF0Ι⁹
1010101111111111 ⁸ABFFΙ⁹.
, .
ΓΚΦ -
⁸ -
⁹, 00 ⁸ ⁹.
32ΓΚΦ , 32ΓΚΦ 30ΓΚΦ -
ΓΚΦ 4 ⁸ . .
32ΓΚΦ 34 ΓΚΦ⁹.
ByΦΖ ,

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

ByΦΖ 2 ΚΟΕΖΪ ΓΚΦ 1.


ByΦΖ . ΦΒΘ ,
, ByΦΖ
⁸ 2 ByΦΖ⁹, ΦΒΘ
.

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.

⁸CΠΟΦΖΟΦ AΕΕΤΖΥΥΒΓΝΖ MΖΞΠΤy - CAM⁹. CAM


RAM ,
CAM -

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

1980 DRAM 4 KΓΚΦΥ


, 16 KΓΚΦ 1981 1982, .
3 4 MHά ,
⁸ -
⁹.
.
2000 DRAM 256 MΓΚΦΥ , -
30 MHά.
-
.
, ,
. , ,

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) ,
⁹ . -
,
: , .

- -ΥΧΡΖΤΨΚΥΠΤΥ⁹,
, . ,

⁸ΠΡΖΤΒΦΚΟΘ ΥyΥΦΖΞ ΔΒΝΝΥ⁹.


.

ηβζβει

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.

, ⁸LΒΥΦ IΟ FΚΤΥΦ OΧΦ - LIFO⁹,


‘ ’ , ‘ ’ ⁸
⁹.
H -

⁸ , -
, . .⁹. ,
. , ‘
’ ‘ ’
, .

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:
⁸ ⁹, ⁸ ⁹,
⁸ ⁹.

⁸CΠΞΡΝΖΪ IΟΥΦΤΧΔΦΚΠΟ SΖΦ CΠΞΡΧΦΚΟΘ - CISC⁹


⁸RΖΕΧΔΖΕ IΟΥΦΤΧΔΦΚΠΟ SΖΦ
CΠΞΡΧΦΚΟΘ - RISC⁹. -
. RISC
CISC,
.
.

AΥΥΖΞΓΝy 8086. AΥΥΖΞΓΝy 8086 -


IΟΦΖΝ. ,
, . -
-
3.1. , 0Ϊ41.
.

IΟΦΖΝ Ϊ86 ΞΠΨ ΒΝ, 41Ι


MΠΦΠΤΠΝΒ 6800/68HC11 LDAA #⁴41
MΠΦΠΤΠΝΒ 680Ϊ0 ΞΠΨΖ.Γ #⁴41,D0
PIC16ΪΪ ΞΠΨΝΩ 0Ϊ41
MΠΦΠΤΠΝΒ 56000 ΞΠΨΖ #⁴0041,A
IΟΦΖΝ 80960 ΝΕΒ 0Ϊ41,Τ4

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.

⁸MΚΝΝΚΠΟΥ ΠΗ IΟΥΦΤΧΔΦΚΠΟΥ PΖΤ SΖΔΠΟΕ-MIPS⁹.


,
, . -
,
.
, , -
⁸ΔΤΚΦΚΔΒΝ ΡΒΦΙ⁹ ⁸ΦΙΤΠΧΘΙΡΧΦ⁹.
-
,

⁸ΠΧΦΡΧΦ ΕΒΦΒ ΓΧΥ⁹.


.
, -
, ⁸ ⁹ -
,
,
. -
,

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

3.22: GΠΤΕΠΟ MΠΠΤΖ 1965,


18 ,
.

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.

⁸VΖΤy-LΠΟΘ IΟΥΦΤΧΔΦΚΠΟ ΆΠΤΕΥ–VLIΆ⁹,


⁸ 256 ΓΚΦ⁹,
32 ΓΚΦ ⁸ 8 ⁹, -
. 8 , -
.Ό ,
32 ΓΚΦ, 4 GB. -
, ⁸ΡΠΩΖΤ
ΕΠΩΟ ΝΠΘΚΔ⁹,
, .
Ό TI C6201,
TΖΪΒΥ IΟΥΦΤΧΞΖΟΦ CΠΕΖ CΠΞΡΠΥΖΤ SΦΧΕΚΠ Ψ2.2 Ί30]
⁸ 3.29⁹.
ARM, -
6000 TI.
,
,
.
⁸ ⁹.
DMA,

. , -
. , -
, 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ΠΞΞΠΟΥ ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.
ΩΚΜΚΡΖΕΚΒ.ΠΤΘ.

BGA ⁸ΓΒΝΝ ΘΤΚΕ ΒΤΤΒy - ⁹,

⁸ 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:
, .

⁸12V, 7V, 5V, 3.3V, 1.8V⁹.


-
-
, .
Ό , ⁸ ⁹
, -

. , -
-
⁸ ,
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⁹,
.

⁸ΚΟΦΖΘΤΒΦΖΕ ΔΚΤΔΧΚΦ⁹ ⁸ΔΙΚΡ⁹ -


⁸ΥΖΞΚΔΠΟΕΧΔΦΠΤ ΕΖΨΚΔΖ⁹ -
.
, -
- ⁸ΔΠΞΡΝΖΞΖΟΦΒΤy
ΞΖΦΒΝ ΠΪΚΕΖ ΥΖΞΚΔΠΟΕΧΔΦΠΤ - CMOS Ί32]⁹. , ⁸ΥΖΞΚΔΠΟΕΧΔΦΠΤΥ⁹
,
, 4.10 .
.
. .
-

Ι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ΥΚΔΒΝ ΥΚΞΧΝΒΦΚΠΟ⁹:
-
.

• ⁸ΕΖΥΚΘΟ ΤΧΝΖ ΔΙΖΔΜ - DRC⁹: -


-
. DRC
.

θβμβη α
άϊ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 ⁸ΡΤΠΘΤΒΞΞΒΓΝΖ ΝΠΘΚΔ ΕΖΨΚΔΖΥ, ⁹
, -
.

θβν PLψ ϊPGυ


Ό ,
, ASIC. Ό , ⁸ , -

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.

VΚΤΦΖΪ-7 2000T 2011. 6.8 -


2 -
20 .
4 FPGA VΚΤΦΖΪ, ,
10.000 . VΚΤΦΖΪ-7 2000T,
, 4
FPGA, ·ΚΝΚΟΪ 2012
2 ΔΙΚΡ FPGA 8 -
28GΓΡΥ, H580T. Ό -
ASIC, FPGA ,
,
.

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

·C3000 ·C4000 ·ΚΝΚΟΪ


. 3 , -
3
ΓΚΦ . ,
ΓΚΦ,
.
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,

ωPROM, ωωPROM ϊLυSό

EPROM, EEPROM
FΝΒΥΙ .
, , .
Ό , -
.

,
.
. -
EPROM,
EEPROM FΝΒΥΙ.
-
SRAM - ,
- SRAM.
-
, -
SRAM.

180
4.

θβνβκ
FPGAΥ -

. , -

. 4.22 4.23 2
, AΝΦΖΤΒ ·ΚΝΚΟΪ.
. -
CAD ⁸CΠΞΡΧΦΖΤ AΚΕΖΕ DΖΥΚΘΟ⁹, -
.
. -
- -
, , , , ,
.

4.22: AΝΦΖΤΒ uΒΤΦΧΥ II -


FPGA.

-
FPGA :
• ⁸ΕΖΥΚΘΟ ΖΟΦΤy⁹: -
⁸ΥΔΙΖΞΒΦΚΔ ΖΕΚΦΠΤ⁹

181
4.

4.23: ·ΚΝΚΟΪ ISE VΚΨΒΕΠ


FPGA.

⁸ΙΒΤΕΩΒΤΖ ΕΖΥΔΤΚΡΦΚΠΟ ΝΒΟΘΧΒΘΖ, HDL⁹,


VΖΤΚΝΠΘ VHDL.

• ⁸ΕΖΥΚΘΟ Υ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.

ΗΤΒΞΖ ΓΧfΖΤ ΨΚΕΖΠ, 64 KB 12


KB I-ΔΒΔΙΖ DSP, 16 KB I-ΔΒΔΙΖ 8 KB D-ΔΒΔΙΖ ARM⁹
I/O .
DSP
, , . ARM -
⁸ , -
, ⁸ΚΟΦΖΤΤΧΡΦ ΙΒΟΕΝΖΤΥ⁹ . . .⁹. DSP

⁸ ⁹.
RISC -
,
.
C55Ϊ DSP .
-
. , , -
, DSP ARM.
Ό , ,
DSP
⁸ PI⁹,

DSP. DSP ⁸ DSP


TI⁹ -
DSP, DSP,
. , DSP

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

⁸ . .,
, ,
⁹.

4.26: SΠC. SΠC


CΚΤΤΧΥ LΠΘΚΔ EP9312 ΔΙΚΡ. -
SΠC: RISC ⁸Π ARM920T⁹, -
⁸ , UARTΥ, USB, EΦΙΖΤΟΖΦ⁹,
⁸SRAM, lΒΥΙ, SDRAM⁹, , -
IP ⁸ MΒΨΖΤΚΔΜ⁹,
.

θβεδβη
‘ ’
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 -

⁸ ΕΧΒΝ ΣΧΒΕ ΔΠΤΖΥ ARMS MIPS PPC ⁹.


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.

PCIΖ ⁸PCIΖ ΥΩΚΦΔΙ⁹, -


- .
PCI PCI PCI, IDE, USB, E/E.

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.

⁸ΕΚΤΖΔΦ ΞΖΞΠΤy ΒΔΔΖΥΥ, DMA⁹.


-
. -
DMA, ,
,
,
.
,
DMA.

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

PCIΖ ⁸PCI ΖΪΡΤΖΥΥ⁹ ⁸ 5.7⁹. , -


⁸ ΝΒΟΖΥ⁹ -
- ⁸ , PCIΖ PCIΖ -
.
, -
, .
⁸ . .4 Ϊ4, -

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.

5.8: LVDS, PCIΖ, -


ΓΚΦ .

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

0.9 1995 1.5 MΓΚΦ/Υ


1.0 1996 1.5 MΓΚΦ/Υ 12 MΓΚΦ/Υ
2.0 2000 480 MΓΚΦ/Υ
3.0 2008 5 GΓΚΦ/Υ
3.1 2013 10 GΓΚΦ/Υ

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-ΩΚΤΖ

. 4-ΩΚΤΖ SPI ⁸SΖΤΚΒΝ PΖΤΚΡΙΖΤΒΝ IΟΦΖΤΗΒΔΖ,


⁹ 4 : ,
, ⁸ 5.9⁹. -
20MΙά,
-
. 4 SSI ⁸SyΟΔΙΤΠΟΠΧΥ SΖΤΚΒΝ
IΟΦΖΤΗΒΔΖ, ⁹, RS-422 -
2 2 .
SPI 3 ⁸3-ΩΚΤΖ⁹
⁸ ⁹.
2 IC 2
-
, , PΙΚΝΚΡΥ.
100 KΙά
5 MΙά. ΡΧΝΝ-ΧΡ
⁸ ⁹ ⁸ 5.10⁹.
SMB
.
SMB
,
. IC
2
-
,
.
1 DΒΝΝΒΥ SΖΞΚΔΠΟΕΧΔΦΠΤ

216
5.

5.9: SPI 3 . CΓΧΤΟΖt


ΩΚΜΚΡΖΕΚΒ.ΔΠΞ.

, -
.
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 -
, -
, -
⁸ΥΦΤΚΟΘΥ⁹.
, ⁸ ΥΦΤΚΟΘ⁹,
ΞΧΝΦΚΞΖΕΚΒ. -
’ .

6.4: DDTΥ STL


⁸ ⁹, ⁸ ⁹ -
STL.

• : -
, -
.

233
6.

• BΚΦΥΖΦ: ’ ΨΖΔΦΠΤ BΠΠΝΖ, ΓΚΦΥ


ΓΚΦ. ΨΖΔΦΠΤ, ΓΚΦΥΖΦ
. ’ .
ΓΚΦΥΖΦ ’ ,
STL, .

• :
,
.

. , , -
,

. . -
,
:
,
Ί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,

Ί49]. BΠΠΥΦ ΒΕ-ΙΠΔ, -


, .
DDTΥ ⁸ -
⁹ STL.
,
. ,
, . -
.

236
6.

-
, , -
. ,
ΞΒΡ, ,

. ,
- ,
. ,
, -
-
. ,
,
.
,
. ’ ,

, . -

, -
. STL 6.3.3.

κβζβζ
DDM
DDTΥ ΓΝΠΔΜ ,
. ΓΝΠΔΜ -
.
Ί56], -
. DMM
,
.
: ΓΝΠΔΜ
ΓΝΠΔΜ .
ΓΝΠΔΜ
ΓΝΠΔΜ, ΓΝΠΔΜ ,
.
DMM :

• ΞΒΝΝΠΔ ⁸ ΟΖΩ C++⁹:


ΓΝΠΔΜ -
.

237
6.

• ΗΤΖΖ ⁸ ΕΖΝΖΦΖ C++⁹: -


ΓΝΠΔΜ, -
.

,
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);
}

for (int i = 0; i < SIZE; i++) {


if (h(i))
g(f(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.

25 unsigned short logType_s = ( unsigned short ) logType ;


26 if ( logFile_ != NULL ) {
27 fwrite (& logType_s , sizeof ( unsigned short ), 1, logFile_ );
28 fwrite (& logSize , sizeof ( unsigned short ), 1, logFile_ );
29 }
30 return * this ;
31 }
32
33 DMMLogger & operator <<( const unsigned int num ) {
34 if ( logFile_ != NULL )
35 fwrite (& num , sizeof ( unsigned int), 1, logFile_ );
36 return * this ;
37 }
38
39 DMMLogger & operator <<( const void * addr ) {
40 if ( logFile_ != NULL )
41 fwrite (& addr , sizeof ( unsigned int), 1, logFile_ );
42 return * this ;
43 }
44
45 FILE * logFile_ ; // Initialized in the constructor

, ΝΠΘΐΩΤΚΦΖ, ΝΠΘΐΞΒΝΝΠΔΐΓΖΘΚΟ, ΝΠΘΐΗΤΖΖΐΓΖΘΚΟ,


ΝΠΘΐΗΤΖΖΐΖΟΕ, ΝΠΘΐΥΔΠΡΖΐΓΖΘΚΟ, ΝΠΘΐΥΔΠΡΖΐΖΟΕ, ΥΖΣΧΖΟΔΖΐΘΖΦ, ΥΖΣΧΖΟΔΖΐΒΕΕ,
ΥΖΣΧΖΟΔΖΐΤΖΞΠΨΖ, ΥΖΣΧΖΟΔΖΐΔΝΖΒΤ, ΞΒΡΐΘΖΦ, ΞΒΡΐΒΕΕ, ΞΒΡΐΤΖΞΠΨΖ
ΞΒΡΐΔΝΖΒΤ, .
ΝΠΘTyΡΖ .
, ΞΒΝΝΠΔ⁸⁹ ΗΤΖΖ⁸⁹,
.
:
1 template <int ID , typename Logger = DMMLogger >
2 class logged_allocator {
3 public :
4 inline static void * malloc ( const size_t sz) {
5 Logger :: log_malloc_begin (ID , sz );
6 void * ptr =:: malloc (sz );
7 Logger :: log_malloc_end (ID , sz , ptr );
8 return ptr ;
9 }
10
11 inline static void free ( void * ptr) {
12 Logger :: log_free_begin (ID , ptr );
13 :: free (ptr );
14 Logger :: log_free_end (ID , ptr );
15 }
16 };

-
, :

• μΥΔΠΡΖό
- ⁸ΔΠΟΦΤΠΝ-lΠΩ⁹.
:

262
7.

1 template <class Logger = std_scope_logger >


2 class scope {
3 public :
4 scope (std :: string name )
5 : name_ ( name )
6 {
7 Logger :: log_scope_begin ( name_ );
8 }
9
10 ~ scope () {
11 Logger :: log_scope_end ( name_ );
12 }
13 private :
14 std :: string name_ ;
15 };

-
,
. ,

, , ,
.
,
-

⁸ , ⁹
-
.

• μ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.

13 void operator delete []( void * p) {


14 return Allocator :: free (p);
15 }
16 };

⁸ ⁹,
:
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ό -
, .

• μAΝΝΠΔΒΦΖΕό μVARό μVECTORό , -

,
.
μ ό
.

λβηβζ α

-
,
, -
-
, .

. , -
,
, . , -
-
.
-
. -

. -
,
,
⁸ , ⁹ 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.

6 activeControlFlows .get(threadId ).top()


7 Increase allocation count for event.size
8 DeallocEnd ->
9 FindBlockOfAddress (event.address) =>
10 Increase de -allocation count for event.size
11 Add number of accesses to accesses for block
12 of size event.size
13 Destroy live -block
14 VarRead or
15 VarWrite ->
16 FindBlockOfAddress (event.address) =>
17 Increment read or write counter for this live -block
18 }
19 inalize () {
20 forall block ? live -block {
21 Report memory leak for this block and where it was
22 allocated
23 }
24 }

ΓΝΠΔΜ
, , -
. ,
⁸ 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ΦΖΥ, .

, ⁸92 132 Γ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.

03 144.17 26.92 25.39 720.54 735.17 0 0.29 547.52 572.22


04 159.45 32.33 33.54 744.68 730.43 0 0.04 523.58 514.36
05 165.61 43.62 43.37 844.33 862.57 0 0.05 650.53 698.31
06 115.39 27.89 28.19 865.83 868.86 0 0.16 598.72 629.96
07 120.39 35.03 35.96 551.71 552.20 0 0.94 590.30 614.06
08 143.51 42.13 42.13 572.62 572.98 0 0 566.18 567.98
09 160.48 42.85 42.97 820.09 820.18 0 0.12 651.85 575.89
10 27.02 0.07 0.06 1620.66 1481.76 0.03 0 1420.49 1427.60
11 150.39 43.99 43.97 793.95 938.43 0.02 0 1080.67 931.31
12 142.78 37.94 38.03 834.40 835.10 0 0 806.23 962.48
13 66.95 19.41 19.48 1916.14 571.26 0 0.08 2863.90 1968.18
107.55 27.10 27.17 1350.01 1236.27 0 0.13 1350.39 1242.75

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.

AΨΖΤΒΘΖ 6,57 1,76 1,78 49,28 41,09 0 0.03 52,57 46,82


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.

03 18.9 58.6 0.0 60.5 57.7 63.2 9.5 28.2 36.4


04 3.4 89.3 40.5 42.8 50.3 52.1 13.1 0.0 9.6
05 66.1 25.4 25.4 201.6 192.1 1.0 0.0 9.5 0.3
06 23.7 48.3 11.7 214.0 221.1 50.5 0.0 166.2 150.2
07 5452.4 88.0 87.1 1442.6 1425.3 1.0 0.0 15071.5 14179.6
08 6547.4 151.1 104.9 1537.5 1484.8 12.3 0.0 10492.1 10445.9
09 17.6 32.9 16.5 147.0 154.8 10.2 0.0 56.0 75.2
10 0 163.5 85.2 1.3 14.6 163.3 81.9 2.0 2.0
11 868.4 127.7 28.9 6463.2 5879.6 98.9 0.0 930.7 1299.1
12 118.4 127.3 58.0 620.1 635.8 133.4 25.1 76.2 0.0
13 1176.8 714.0 26.0 310.6 313.2 705.0 0.0 673.0 1200.4
1099.8 122.4 37.3 871.3 830.7 99.3 10.0 2144.0 2131.4

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 .

μβε

⁸ΕyΟΒΞΚΔ ΞΖΞΠΤy, DM⁹.

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.

, SyΥΦΖΞ OΟ ΔΙΚΡ DyΟΒΞΚΔ


MΖΞΠΤy MΒΟΒΘΖΞΖΟΦ UΟΚΦ⁹, -
,

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ΦΖΥ

ΡΠΠΝ 100 ΓyΦΖΥ, 88 Γ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⁵⁹.

μβιβε

RΠΓΚΟ ⁸DRR⁹ NΖΦBΖΟΔΙ


Ί92].
. , DRR -
CΚΥΔΠ
. -
DRR -
,
. DRR,
-
, μ ό μ ό -
ΓyΦΖΥ .
μ ό
⁸ , ⁹,
.

μ ό,
Γ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.

⁸Υ⁹ 600 1.52 6.05


7.98×10^9 4.04×10^6 11.22×10^6
LΖΒ-LΚΟΧΪ ⁸ByΦΖΥ⁹ 2.34×10^5 2.11×10^6 1.86×10^6
⁸Υ⁹ 600 2.01 8.12
⁸ΟJ⁹ 8.18×10^9 4.11×10^6 11.43×10^6
⁸ΓyΦΖΥ⁹ 2.47×10^5 2.08×10^6 2.03×10^6
⁸Υ⁹ 600 1.87 7.03
⁸ΟJ⁹ 8.25×10^9 4.01×10^6 11.61×10^6
OΓΥΦΒΔΜΥ ⁸ByΦΖΥ⁹ – – 1.55×10^6
⁸Υ⁹ – – 6.55
⁸ΟJ⁹ – – 10.93×10^6
Π DM ⁸ΓyΦΖΥ⁹ 1.48×10^5 1.07×10^6
⁸Υ⁹ 600 6.91
⁸ΟJ⁹ 7.11×10^9 9.67×10^6

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

⁸28.47⁵⁹, LΖΒ ⁸29.46⁵⁹


KΚΟΘΥΝΖy ⁸33.01⁵⁹. -
, 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 ʹ.

,
⁸ .
ε ⁹ ⁸
⁹ . -
- ,

.
,
,
. -
,
. ., ⁸ΤΖΒΝ-ΦΚΞΖ⁹ -
. , -
, ,
,

υβζβη α

,
.
-
⁸ ⁹. -
-

⁸DTSE, DΒΦΒ TΤΒΟΥΗΖΤ ⁶ SΦΠΤΒΘΖ EΪΡΝΠΤΒΦΚΠΟϊ⁹.


,
.
. -
-
⁸OΟ-ΔΙΚΡ – ΔΒΔΙΖ ⁹ -
, ⁸
1⁹.
. -
, -

ϊΙtΡ://ΔΚΦΖΥΖΖΤΪ.ΚΥΦ.ΡΥΧ.ΖΕΧ/ΨΚΖΩΕΠΔ/ΕΠΩΟΝΠΒΕ?ΕΠΚ=10.1.1.10.5613⁶ΤΖΡ=ΤΖΡ1⁶ΦyΡΖ=ΡΕΗ

344
A ʹ.

, -
⁸ ⁹.
η η ⁸ΡΤΠiΝΚΟΘ⁹
, -
.
ATOMIUM ⁸ΙtΡ://ΩΩΩ.ΚΞΖΔ.ΓΖ/ΕΖΥΚΘΟ/ΒΦΠΞΚΧΞ⁹

-
.
⁸ΘΝΠΓΒΝ
ΝΠΠΡ⁹ -
⁸ΕΒΦΒ-ΤΖΧΥΖ ΦΤΒΟΥΗΠΤΞΒΦΚΠΟΥ⁹, -
.

A ʹ.1:
⁸SRAM, EΞΓΖΕΕΖΕ DRAM⁹
,
.

άGlobal Loopέ
⁸ΘΝΠΓΒΝ ΝΠΠΡ⁹ ΝΠΠΡ ΧΟΤΠΝΝΚΟΘ,
ΝΠΠΡ ΞΖΤΘΚΟΘ, ΝΠΠΡ ΦΚΝΝΚΟΘ, ΝΠΠΡ ΓΧΞΡ, ΝΠΠΡ ΖΪΦΖΟΕ, ΝΠΠΡ ΓΠΕy ΥΡΝΚΦ, ΝΠΠΡ ΤΖΨΖΤΥΖ,
ΝΠΠΡ ΚΟΦΖΤΔΙΒΟΘΖ.
.
ΘΝΠΓΒΝ ΝΠΠΡ
. -
.
,
.

345
A ʹ.

for άiρδοiπ οiίίέ


{
code into loop i
for άjρδοjπMοjίίέ
{
code into loop j
for άkρδοkπϊοkίίέ
{
code into loop k
for άlρδοlπGοlίίέ
{
code into loop l
for άmρδοmπPοmίίέ
code into loop m
}
}
}
}

aέ Loop unrollingξ , -
.

for άiρδο iπζο iίίέ


for άiρδοiπθοiίίέ {
a[i]ρb[i]ήc[i]ο
}
a[iήζ]ρb[iήζ]ήc[iήζ]ο
a[iήζίε]ρb[iήζίε]ήc[iήζίε]ο

bέ Loop mergingξ , -
. -
.

for άiρδοiπ οiίίέ for άiρδοiπ οiίίέ


a[i]ρb[i]ήc[i]ο {
for άjρδοjπ οjίίέ
d[j]ρc[j]ήe[j]ο }
a[i]ρb[i]ήc[i]ο
d[i]ρc[i]ήe[i]ο

346
A ʹ.

cέ Loop tillingξ
,
ΔΒΔΙΖ .

dέ Loop φumpξ LΠΠΡ MΖΤΘΚΟΘ

347
A ʹ.

for άiρζο iπNο iίίέ


φ[i] ρ fάυ[i]έο
for άiρδο iπNαζο iίίέ iίζ ς i ⇒
χ[i] ρ gάφ[iίζ]έο

for άiρζο iπNο iίίέ


φ[i] ρ fάυ[i]έο
for άiρζο iπNο iίίέ iίζ–ζ ρ i ⇒ merging possible
χ[iαζ] ρ gάφ[iίζαζ]έο

for άiρζο iπNο iίίέ


Loop Merge φ[i] ρ fάυ[i]έο
χ[iαζ] ρ gάφ[i]έο

eέ Loop ωxtendξ LΠΠΡ MΖΤΘΚΟΘ

for άiρδο iπNο iίίέ


φ[i] ρ fάυ[i]έο
for άiρζο iπNίζο iίίέ
χ[iαζ] ρ gάφ[i]έο
for άiρδο iπNίζο iίίέ
ifάiπNέ
φ[i] ρ fάυ[i]έο
for άiρδο iπNίζο iίίέ Loop ωxtend
ifάiςρζέ
χ[iαζ] ρ gάφ[iέο
for άiρδο iπNίζο iίίέ
ifάiπNέ
Loop Merge φ[i] ρ fάυ[i]έο
ifάiςρζέ
χ[iαζ] ρ gάφ[iέο

fέ Loop φody Splitξ

348
A ʹ.

for άiρδο iπNο iίίέ


υ[i] ρ fάυ[iαε]έο
φ[i] ρ gάin[i]έο
for άjρδο jπNο jίίέ
χ[i] ρ hάφ[i],υ[N]έο

for άiρδο iπNο iίίέ
υ[i] ρ fάυ[iαε]έο
for άkρδο kπNο kίίέ
φ[k] ρ gάin[k]έο
for άjρδο jπNο jίίέ
χ[j] ρ hάφ[j],υ[N]έο
for άiρδο iπNο iίίέ
υ[i] ρ fάυ[iαε]έο
for άjρδο jπNο jίίέ
φ[j] ρ gάin[j]έο
χ[j] ρ hάφ[j],υ[N]έο

gέ Loop Reverseξ

for άiρδο iπNο iίίέ


φ[i] ρ fάυ[i]έο N–i ς i ⇒ merging not possible
for άiρδο iπNο iίίέ ά έ
χ[i] ρ gάφ[Nαi]έο

Loop Reverse for άiρδο iπNο iίίέ


φ[i] ρ fάυ[i]έο

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

forάiρδο iπWο iίίέ forάjρδο jπόο jίίέ


forάjρδο jπόο jίίέ forάiρδο iπWο iίίέ
υ[i][j] ρ …ο υ[i][j] ρ …ο

⁸DΒΦΒ
RΖΧΥΖ TΤΒΟΥΗΠΤΞΒΦΚΠΟΥ⁹. -

⁸ -
⁹ -
.
-
. ,
-

. -
,
, .
3 .

-
:

εξ
.

350
A ʹ.

A ʹ.2: .

ζξ

υβη
-
. ,
, -

υβηβε
PΒΤΒΝΝΖΝ HΚΖΤΒΤΔΙΚΔΒΝ OΟΖ
DΚΞΖΟΥΚΠΟΒΝ SΖΒΤΔΙ ⁸PHODS⁹,
. PHODS
⁸MΠΦΚΠΟ EΥΦΚΞΒΦΚΠΟ⁹, -
⁸ΗΤΒΞΖ⁹ . -

. PHODS
⁸ ×N⁹, -
ΓΝΠΔΜ ⁸ ×B ΡΚΪΖΝ⁹
ΓΝΠΔΜ
⁸ΗΤΒΞΖ⁹ ⁸ΗΤΒΞΖ⁹.
ΗΤΒΞΖ ΗΤΒΞΖ
ΗΤΒΞΖ

351
A ʹ.

A ʹ.3: TΚΞΖ ΗΤΒΞΖ

ΗΤΒΞΖ. -
.
PHODS C .

/* PΒΤΒΝΝΖΝ HΚΖΤΒΤΔΙΚΔΒΝ OΟΖ-DΚΞΖΟΥΚΠΟΒΝ SΖΒΤΔΙ ΞΠΦΚΠΟ ΖΥΦΚΞΒΦΚΠΟ - IΟΚΦΚΒΝ


ΒΝΘΠΤΚΦΙΞ */
/* UΥΖΕ ΗΠΤ ΥΚΞΧΝΒΦΚΠΟ ΒΟΕ ΡΤΠiΝΚΟΘ */

#ΚΟΔΝΧΕΖ <ΥΦΕΚΠ.Ι>
#ΚΟΔΝΧΕΖ <ΞΒΦΙ.Ι>
#ΚΟΔΝΧΕΖ <ΥΦΤΚΟΘ.Ι>
#ΚΟΔΝΧΕΖ <ΥΦΕΝΚΓ.Ι>
#ΚΟΔΝΧΕΖ <ΦΚΞΖ.Ι>
#ΕΖiΟΖ N 144 /* ΗΤΒΞΖ ΕΚΞΖΟΥΚΠΟ ΗΠΤ QCIF ΗΠΤΞΒΦ */
#ΕΖiΟΖ M 176 /* ΗΤΒΞΖ ΕΚΞΖΟΥΚΠΟ ΗΠΤ QCIF ΗΠΤΞΒΦ */
#ΕΖiΟΖ B 16 /* BΝΠΔΜ ΥΚάΖ */
#ΕΖiΟΖ Ρ 7 /* SΖΒΤΔΙ ΥΡΒΔΖ. RΖΥΦΤΚΔΦΖΕ ΚΟ Β Ί-Ρ,Ρ] ΤΖΘΚΠΟ ΒΤΠΧΟΕ ΦΙΖ ΠΤΚΘΚΟΒΝ
ΝΠΔΒΦΚΠΟ ΠΗ ΦΙΖ ΓΝΠΔΜ. */

ΨΠΚΕ ΤΖΒΕΐΥΖΣΧΖΟΔΖ⁸ΧΟΥΚΘΟΖΕ ΔΙΒΤ ΔΧΤΤΖΟΦΊN]ΊM],ΧΟΥΚΘΟΖΕ ΔΙΒΤ


ΡΤΖΨΚΠΧΥΊN]ΊM]⁹

352
A ʹ.

A ʹ.4: ⁸ , ΄, ΄΄⁹, -
.

έ
FILE *ΡΚΔΦΧΤΖ0,*ΡΚΔΦΧΤΖ1;
ΚΟΦ Κ,Λ;

ΚΗ⁸⁸ΡΚΔΦΧΤΖ0=ΗΠΡΖΟ⁸”ΒΜΚyΠ0.y”,”ΤΓ”⁹⁹==NULL⁹
έ
ΡΤΚΟΦΗ⁸”ΡΤΖΨΚΠΧΥ ΗΤΒΞΖ ΕΠΖΥΟ’Φ ΖΪΚΥΦ\Ο”⁹;
ΖΪΚΦ⁸-1⁹;
ί

ΚΗ⁸⁸ΡΚΔΦΧΤΖ1=ΗΠΡΖΟ⁸”ΒΜΚyΠ1.y”,”ΤΓ”⁹⁹==NULL⁹
έ
ΡΤΚΟΦΗ⁸”ΔΧΤΤΖΟΦ ΗΤΒΞΖ ΕΠΖΥΟ’Φ ΖΪΚΥΦ\Ο”⁹;
ΖΪΚΦ⁸-1⁹;
ί

/* IΟΡΧΦ ΗΠΤ ΦΙΖ ΡΤΖΨΚΠΧΥ ΗΤΒΞΖ */


ΗΠΤ⁸Κ=0;Κ<N;Κ++⁹
ΗΠΤ⁸Λ=0;Λ<M;Λ++⁹
ΡΤΖΨΚΠΧΥΊΚ]ΊΛ]=ΗΘΖΦΔ⁸ΡΚΔΦΧΤΖ0⁹;

/* IΟΡΧΦ ΗΠΤ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */

353
A ʹ.

ΗΠΤ⁸Κ=0;Κ<N;Κ++⁹
ΗΠΤ⁸Λ=0;Λ<M;Λ++⁹
ΔΧΤΤΖΟΦΊΚ]ΊΛ]=ΗΘΖΦΔ⁸ΡΚΔΦΧΤΖ1⁹;

ΗΔΝΠΥΖ⁸ΡΚΔΦΧΤΖ0⁹;
ΗΔΝΠΥΖ⁸ΡΚΔΦΧΤΖ1⁹;
ί

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Κ,Λ,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
ΗΠΤ⁸Κ=0;Κ<N/B;Κ++⁹
ΗΠΤ⁸Λ=0;Λ<M/B;Λ++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΚ]ΊΛ]=0;
ΨΖΔΦΠΤΥΐyΊΚ]ΊΛ]=0;
ί

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */
έ
ΕΚΥΦΪ=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]+Ν];

354
A ʹ.

ΕΚΥΦΪ+=ΒΓΥ⁸Ρ1-Ρ2⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ1⁹
έ
ΞΚΟ1=ΕΚΥΦΪ;
ΓΖΥΦΪ=Κ;
ί
ί

ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */


έ
ΕΚΥΦ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]+Κ+Ν];

ΕΚΥΦ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,

.
. -
-
.
.
, .
:

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
forάxρδοxπNγφοxίίέ
forάyρδοyπMγφοyίίέ
{
vectors_x[x][y]ρδο
vectors_y[x][y]ρδο
}

356
A ʹ.

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
forάiραSοiπSίεοiίρSέ γή ϊor all candidate bloks in X dimension ήγ
έ
ΕΚΥΦΪ=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⁹;
ί
ΚΗ⁸ΕΚΥΦΪ<ΞΚΟ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
, ΝΠΠΡ ΞΖΤΘΚΟΘ
Μ.
Μ
.

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
ί

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;

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+Ν];

⁹ .

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹
ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
ί

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
S=4;
ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;
ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */

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
.

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸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;
ΖΝΥΖ
Ρ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. :

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ

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,

ΓΧfΖΤΥ B×B ⁸B+2*Ρ×⁸B+2*Ρ⁹. , -


ΓΧfΖΤΥ -
. ,
ΓΧfΖΤ
ΔΧΤΤΖΟΦ ΓΝΠΔΜ B×B. -

365
A ʹ.

⁸ 5⁹.

6 7 ΔΧΤΤΖΟΦ
ΡΤΖΨΚΠΧΥ .

A ʹ.5:
⁸ΔΧΤΤΖΟΦ ΡΤΖΨΚΠΧΥ⁹
ΔΧΤΤΖΟΦΐΝΚΟΖ, ΓΝΠΔΜ ΡΤΖΨΚΠΧΥΐΝΚΟΖ, RΆ .

-
-
6 7. -
.

current_line

366
A ʹ.

A ʹ.6: -
ΔΧΤΤΖΟΦ.

ΔΧΤΤΖΟΦ ⁸ΓΧfΖΤ⁹
ΔΧΤΤΖΟΦΐΝΚΟΖ ⁸ 6⁹. ,
ΔΧΤΤΖΟΦ ΔΧΤΤΖΟΦΐΝΚΟΖ -
ΔΧΤΤΖΟΦΐΝΚΟΖ -
. -
:

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int current_line[M][φ]ο

367
A ʹ.

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */

forάjρδοjπMοjίίέ γή χopy data from current to bufer current_line ήγ


forάiρδοiπφοiίίέ
current_line[i][j]ρcurrent[φήxί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;Ν++⁹
έ
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ΖΤ.
:

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int blok[ ][ ]ο

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;

369
A ʹ.

ΩΙΚΝΖ⁸S>0⁹
έ
ΞΚΟ1=255*B*B;
ΞΚΟ2=255*B*B;

forάkρδοkπφοkίίέ γή χopy data from current to bufer blok ήγ


forάlρδοlπφοlίίέ
blok[k][l]ρcurrent[φήxίk][φήyίl]ο

ΗΠΤ⁸Κ=-S;Κ<S+1;Κ+=S⁹ /* FΠΤ ΒΝΝ ΔΒΟΕΚΕΒΦΖ ΓΝΠΔΜΥ ΚΟ · ΕΚΞΖΟΥΚΠΟ */


έ
ΕΚΥΦΪ=0;
ΕΚΥΦy=0;

ΗΠΤ⁸Μ=0;Μ<B;Μ++⁹ /* FΠΤ ΒΝΝ ΡΚΪΖΝΥ ΚΟ ΦΙΖ ΓΝΠΔΜ */


ΗΠΤ⁸Ν=0;Ν<B;Ν++⁹
έ
Ρ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]+Ν];

ΕΚΥΦΪ+=ΒΓΥ⁸Ρ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 -
-
ΔΧΤΤΖΟΦΐΝΚΟΖ ΓΝΠΔΜ.
, ΔΧΤΤΖΟΦ
ΔΧΤΤΖΟΦΐΝΚΟΖ , ΔΧΤΤΖΟΦΐΝΚΟΖ
ΓΝΠΔΜ. ΓΝΠΔΜ
. -
.

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int current_line[M][φ]ο
int blok[ ][ ]ο

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */

forάjρδοjπMοjίίέ γή χopy data from current to bufer current_line ήγ


forάiρδοiπφοiίίέ
current_line[i][j]ρcurrent[φήxίi][j]ο

371
A ʹ.

ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;
S=4;

forάkρδοkπφοkίίέ γή χopy data from current to bufer blok ήγ


forάlρδοlπφοlίίέ
blok[k][l]ρcurrent_line[k][φήyίl]ο

ΩΙΚΝΖ⁸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.
ΔΧΤΤΖΟΦΐΝΚΟΖ ΔΧΤΤΖΟΦ
. .

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int previous_line[ ίζήp][ ]ο

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


έ

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
.

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int RW[ ίζήp][ ίζήp]ο

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


ΗΠΤ⁸y=0;y<M/B;y++⁹
έ
ΨΖΔΦΠΤΥΐΪΊΪ]Ίy]=0;
ΨΖΔΦΠΤΥΐyΊΪ]Ίy]=0;

forάkρδοkπφίζήpοkίίέ γή χopy data from previous to RW ήγ


forάlρδοlπφίζήpοlίίέ
{
ifάάφήxίkαpέπδ || άφήxίkαpέςάNαεέ || άφήyίlαpέπδ || άφήyίlαpέςάMαεέέ
rw[k][l]ρδο
else
{
ifάlςζήpαε || yρρδέ rw[k][l]ρprevious[φήxίkαp][φήyίlαp]ο
else rw[k][l]ρrw[k][lίφ]ο
}
}

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Ά
ΡΤΖΨΚΠΧΥ.

ΨΠΚΕ ΡΙΠΕΥΐΞΠΦΚΠΟΐΖΥΦΚΞΒΦΚΠΟ⁸ΚΟΦ ΔΧΤΤΖΟΦΊN]ΊM],ΚΟΦ ΡΤΖΨΚΠΧΥΊN]ΊM],ΚΟΦ


ΨΖΔΦΠΤΥΐΪΊN/B]ΊM/B],ΚΟΦ ΨΖΔΦΠΤΥΐyΊN/B]ΊM/B]⁹
έ
ΚΟΦ Ϊ,y,Μ,Ν,Ρ1,Ρ2,Σ2,ΕΚΥΦΪ=0,ΕΚΥΦy=0,S,ΞΚΟ1,ΞΚΟ2,ΓΖΥΦΪ,ΓΖΥΦy;
int previous_line[ ίζήp][ ]ο
int RW[ ίζήp][ ίζήp]ο

ΗΠΤ⁸Ϊ=0;Ϊ<N/B;Ϊ++⁹ /* FΠΤ ΒΝΝ ΓΝΠΔΜΥ ΚΟ ΦΙΖ ΔΧΤΤΖΟΦ ΗΤΒΞΖ */


έ

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;

forάkρδοkπφίζήpοkίίέ γή χopy data from previous_line to RW ήγ


forάlρδοlπφίζήpοlίίέ
{
ifάάφήxίkαpέπδ || άφήxίkαpέςάNαεέ || άφήyίlαpέπδ || άφήyίlαpέςάMαεέέ
rw[k][l]ρδο
else
{
ifάlςζήpαε || yρρδέ rw[k][l]ρprevious_line[kαp][φήyίlαp]ο
γή χopy from previous_line array ήγ
else rw[k][l]ρrw[k][lίφ]ο γή Reuse from the same arrayήγ
}
}

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

AΤΕΧΚΟΠ LΖΠΟΒΤΕΠ AΤΕΧΚΟΠ MΖΘΒ AΤΕΧΚΟΠ LΚΝyPΒΕ

AΤΕΧΚΟΠ FΚΠ AΤΕΧΚΟΠ EΦΙΖΤΟΖΦ AΤΕΧΚΟΠ NΒΟΠ

AΤΕΧΚΟΠ BT AΤΕΧΚΟΠ MΚΟΚ AΤΕΧΚΟΠ PΤΠ MΚΟΚ

B ʹ.1: AΤΕΧΚΟΠ

-
ΒΤΕΧΚΟΠ, -
⁸ -
‘ΥΙΚΖΝΕΥ’ ⁹. SΙΚΖΝΕΥ
ΡΚΟ ΒΤΕΧΚΟΠ.
B ʹ.2.
, -
AΤΕΧΚΟΠ UNO.

384
B ʹ. ARDUINO 8BIT

AΤΕΧΚΟΠ ΆΚFΚ SΙΚΖΝΕ -


AΤΕΧΚΟΠ AΤΕΧΚΟΠ
ΆΚi SΙΚΖΝΕ .

AΤΕΧΚΟΠ EΦΙΖΤΟΖΦ SΙΚΖΝΕ


AΤΕΧΚΟΠ AΤΕΧΚΟΠ -
EΦΙΖΤΟΖΦ RJ45 .
SΙΚΖΝΕ
ΆΚΤΖΝΖΥΥ SD SΙΚΖΝΕ -
AΤΕΧΚΟΠ

.
ΆΚΤΖΝΖΥΥ
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

B ʹ.3: AΤΕΧΚΟΠ UNO R3


ATMEGA328
5V DC
7-12V DC
Ό 6-20V DC
/ 14, ⁸6 PΆM ⁹
6
40ΞA
- 50ΞA
3.3V
lΒΥΙ 32KB ⁸ATMEGA328⁹
SRAM 2KB ⁸ATMEGA328⁹
EEPROM 1KB ⁸ATMEGA328⁹
16MHά

B ʹ.2: / AΤΕΧΚΟΠ UNO.

387
B ʹ. ARDUINO 8BIT

ΒΔΔΖΥΥ ΞΖΞΠΤy⁹, ΥΜΖΦΔΙ -


, EEPROM, -
. ζK
SRυMξ
,
AΤΕΧΚΟΠ -
. εK ωωPROMξ
. SRAM,
. ηζK
ϊlashξ 2 K iΤΞΩΒΤΖ AΤΕΧΚΟΠ -
. iΤΞΩΒΤΖ -
USB.
30K FΝΒΥΙ
, .
FΝΒΥΙ, .
AΤΕΧΚΟΠ UNO 14
⁸ B ʹ.3⁹.

B ʹ.3: AΤΕΧΚΟΠ UNO.

Ό
. 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ΠΕΧΝΒΦΚΠΟ⁹.

B ʹ.4: AΤΕΧΚΟΠ UNO.

AΤΕΧΚΟΠ UNO
. AΤΕΧΚΟΠ, -
ANALOG IN B ʹ.4,
6 ΡΚΟ, 0 5.
. 10ΓΚΦ
⁸1024 ⁹, 1024 . -
⁸ΒΟΒΝΠΘRΖΗΖΤΖΟΔΖ⁸⁹⁹ 1.1V,
5V. , -
ΡΚΟ AREF
. , AREF 3.3V

1.65V, AΤΕΧΚΟΠ 512 ⁸ , ⁸ 1,65V/3,3V ⁹ * 1024 = 512.


AΤΕΧΚΟΠ,
AΤΕΧΚΟΠ IDE Ί98].
AΤΕΧΚΟΠ
, , -
, .
ΙΒΤΕΩΒΤΖ ΒΤΕΧΚΟΠ
. AΤΕΧΚΟΠ -
ΥΜΖΦΔΙ. B ʹ.4
, B ʹ.5 .
AΤΕΧΚΟΠ IDE JΒΨΒ :

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 ΓΡΥ

3. ΥΜΖΦΔΙ ΒΤΕΧΚΟΠ ΥΖΦΧΡ⁸⁹


SΖΤΚΒΝ.ΓΖΘΚΟ⁸9600⁹;

391
B ʹ. ARDUINO 8BIT

B ʹ.4: AΤΕΧΚΟΠ IDE

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ΤΖΒΕΓΠΒΤΕ

1 AΤΕΧΚΟΠ ΒΟΕ BΤΖΒΕΓΠΒΤΕ HΠΝΕΖΤ

1 74HC595 SΙΚt RΖΘΚΥΦΖΤ ⁸16 ΡΚΟΥ⁹

2 2N2222 ΦΤΒΟΥΚΥΦΠΤΥ

2 DΚΠΕΖ SΞΒΝΝ SΚΘΟΒΝ

1 DC MΠΦΠΤ ΩΚΦΙ ΩΚΤΖΥ

397
B ʹ. ARDUINO 8BIT

B ʹ.5:

ά έ

1 SΞΒΝΝ SΖΤΨΠ

1 5V RΖΝΒy SPDT SΖΒΝΖΕ

1 TMP36 - TΖΞΡΖΤΒΦΧΤΖ SΖΟΥΠΤ

1 SΠtPΠΦ MΖΞΓΤΒΟΖPΠΦΖΟΦΚΠΞΖΦΖΤ - 50ΞΞ

30 JΧΞΡΖΤ ΆΚΤΖΥ SΦΒΟΕΒΤΕ 7” M/M PΒΔΜ ΠΗ 30

1 MΚΟΚ PΙΠΦΠΔΖΝΝ

1 LED - RGB 3 ΔΠΝΠΤ

398
B ʹ. ARDUINO 8BIT

B ʹ.5:

ά έ

1 LED 5ΞΞ

1 TΤΚΞΡΠΦ 10K

1 BΧάάΖΤ 12ΞΞ 2.048ΜHά

2 MΠΞΖΟΦΒΤy PΧΥΙ BΧtΠΟ 12ΞΞ

50 RΖΥΚΥΦΠΤΥ 330 OΙΞ ⁶ 10 KOΙΞ 1/6 ΆΒt

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

LEDΥ. LED ΒΟΚΞΒΦΚΠΟΥ


AΤΕΧΚΟΠ, -
for()
.
ξ ζι
CIRC-02 :

• 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

103 delay(delayTime); //waits delayTime milliseconds


104 digitalWrite(ledPins[1], LOW); //Turns on LED #6 (connected to pin 8 )
105 delay(delayTime); //waits delayTime milliseconds
106 digitalWrite(ledPins[0], LOW); //Turns on LED #7 (connected to pin 9 )
107 delay(delayTime); //waits delayTime milliseconds
108 }
109 /*
110 * oneAfterAnotherLoop() - Will light one LED then delay for delayTime then light
111 * the next LED until all LEDs are on it will then turn them
112 * of one after another
113 * this does it using a loop which makes for a lot less typing.
114 * than oneOnAtATimeNoLoop() does exactly the same thing with less typing
115 */
116 void oneAfterAnotherLoop(){
117 int delayTime = 100; //the time (in milliseconds) to pause between LEDs
118 //make smaller for quicker switching and larger for slower
119 //Turn Each LED on one after another
120 for(int i = 0; i <= 7; i++){
121 digitalWrite(ledPins[i ], HIGH); //Turns on LED #i each time this runs i
122 delay(delayTime); //gets one added to it so this will repeat
123 } //8 times the irst time i will = 0 the inal
124 //time i will equal 7;
125
126 //Turn Each LED of one after another
127 for(int i = 7; i >= 0; i--){
128 //same as above but rather than starting at 0 and counting up
129 //we start at seven and count down
130 digitalWrite(ledPins[i ], LOW); //Turns of LED #i each time this runs i
131 delay(delayTime); //gets one subtracted from it so this will repeat
132 } //8 times the irst time i will = 7 the inal
133 //time it will equal 0
134 }
135
136 /*
137 * oneOnAtATime() - Will light one LED then the next turning of all the others
138 */
139 void oneOnAtATime(){
140 int delayTime = 100; //the time (in milliseconds) to pause between LEDs
141 //make smaller for quicker switching and larger for slower
142 for(int i = 0; i <= 7; i++){
143 int ofLED = i - 1; //Calculate which LED was turned on last time through
144 if (i == 0) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
145 ofLED = 7; //turn on LED 2 and of LED 1)
146 } //however if i = 0 we don’t want to turn of led -1 (doesn’t exist)
147 //instead we turn of LED 7, (looping around)
148 digitalWrite(ledPins[i ], HIGH); //turn on LED #i
149 digitalWrite(ledPins[ofLED], LOW); //turn of the LED we turned on last time
150 delay(delayTime);
151 }
152 }
153
154 /*
155 * inAndOut() - This will turn on the two middle LEDs then the next two out
156 * making an in and out look
157 */
158 void inAndOut(){
159 int delayTime = 100; //the time (in milliseconds) to pause between LEDs
160 //make smaller for quicker switching and larger for slower
161
162 //runs the LEDs out from the middle
163 for(int i = 0; i <= 3; i++){
164 int ofLED = i - 1; //Calculate which LED was turned on last time through

406
B ʹ. ARDUINO 8BIT

165 if (i == 0) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will


166 ofLED = 3; //turn on LED 2 and of LED 1)
167 } //however if i = 0 we don’t want to turn of led -1 (doesn’t exist)
168 //instead we turn of LED 7, (looping around)
169 int onLED1 = 3 - i; //this is the irst LED to go on
170 //ie. LED #3 when i = 0 and LED #0 when i = 3
171 int onLED2 = 4 + i; //this is the irst LED to go on
172 //ie. LED #4 when i = 0 and LED #7 when i = 3
173 int ofLED1 = 3 - ofLED; //turns of the LED we turned on last time
174 int ofLED2 = 4 + ofLED; //turns of the LED we turned on last time
175
176 digitalWrite(ledPins[onLED1], HIGH);
177 digitalWrite(ledPins[onLED2], HIGH);
178 digitalWrite(ledPins[ofLED1], LOW);
179 digitalWrite(ledPins[ofLED2], LOW);
180 delay(delayTime);
181 }
182
183 //runs the LEDs into the middle
184 for(int i = 3; i >= 0; i--){
185 int ofLED = i + 1; //Calculate which LED was turned on last time through
186 if (i == 3) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
187 ofLED = 0; //turn on LED 2 and of LED 1)
188 } //however if i = 0 we don’t want to turn of led -1 (doesn’t exist)
189 //instead we turn of LED 7, (looping around)
190 int onLED1 = 3 –I; //this is the irst LED to go on
191 //ie. LED #3 when i = 0 and LED #0 when i = 3
192 int onLED2 = 4 + i; //this is the irst LED to go on
193 //ie. LED #4 when i = 0 and LED #7 when i = 3
194 int ofLED1 = 3 - ofLED; //turns of the LED we turned on last time
195 int ofLED2 = 4 + ofLED; //turns of the LED we turned on last time
196
197 digitalWrite(ledPins[onLED1], HIGH);
198 digitalWrite(ledPins[onLED2], HIGH);
199 digitalWrite(ledPins[ofLED1], LOW);
200 digitalWrite(ledPins[ofLED2], LOW);
201 delay(delayTime);
202 }
203 }

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

ήήή ξ servo δ εμδ α


β εμδ α
β ήήή
CIRCΐ04
. SΖΤΨΠ ,
. .
SΖΤΨΠ -
, ΒΤΕΧΚΟΠ ,
USB
.

φβεε χύ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ΖΤΨΠΥ -
:

• ·ΞΒΥ HΚΦ CΠΧΟΦΖΤ ⁸ ΙtΡ://ΦΚΟΜΖΤΝΠΘ.ΔΠΞ/2007/12/04/ΒΤΕΧΚΟΠ-ΪΞΒΥ-


ΙΚΦΔΠΧΟΦΖΤ/ ⁹

• OΡΖΟ SΠΧΤΔΖ RΠΓΠΦΚΔ AΤΞ ⁸ ΙtΡ://ΩΩΩ.ΦΙΚΟΘΚΨΖΤΥΖ.ΔΠΞ/ΦΙΚΟΘ:387 ⁹

• SΖΤΨΠ ΆΒΝΜΖΤ ⁸ ΙtΡ://ΩΩΩ.ΚΟΥΦΤΧΔΦΒΓΝΖΥ.ΔΠΞ/ΚΕ/ΥΚΞΡΝΖΆΒΝΜΖΤ-4-ΝΖΘΘΖΕ-


2-ΥΖΤΨΠ-ΩΒΝΜΚΟΘ-ΤΠΓΠΦ/ ⁹

φβεζ ι
,
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

7 for(int i = 0; i < 8; i++){


8 changeLED(i,OFF);
9 delay(delayTime);
10 }

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

6 * a square wave of the appropriate frequency to the piezo, generating


7 * the corresponding tone.
8 *
9 * The calculation of the tones is made following the mathematical
10 * operation:
11 *
12 * timeHigh = period / 2 = 1 / (2 * toneFrequency)
13 *
14 * where the diferent tones are described as in the table:
15 *
16 *note frequency period timeHigh
17 * c 261 Hz 3830 1915
18 * d 294 Hz 3400 1700
19 * e 329 Hz 3038 1519
20 * f 349 Hz 2864 1432
21 * g 392 Hz 2550 1275
22 * a 440 Hz 2272 1136
23 * b 493 Hz 2028 1014
24 * C 523 Hz 1912 956
25 *
26 * http://www.arduino.cc/en/Tutorial/Melody
27 */
28
29 int speakerPin = 9;
30
31 int length = 15; // the number of notes
32 // a space represents a rest
33 char notes[] = ”ccggaagfeeddc ”;
34 int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
35 int tempo = 300;
36
37 void playTone(int tone, int duration) {
38 for (long i = 0; i < duration * 1000L; i += tone * 2) {
39 digitalWrite(speakerPin, HIGH);
40 delayMicroseconds(tone);
41 digitalWrite(speakerPin, LOW);
42 delayMicroseconds(tone);
43 }
44 }
45
46 void playNote(char note, int duration) {
47 char names[] = { ’c’, ’d’, ’e’ , ’ f ’ , ’g’ , ’a’ , ’b’, ’C’ };
48 int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
49
50 // play the tone corresponding to the note name
51 for (int i = 0; i < 8; i++) {
52 if (names[i] == note) {
53 playTone(tones[i], duration);
54 }
55 }
56 }
57
58 void setup() {
59 pinMode(speakerPin, OUTPUT);
60 }
61
62 void loop() {
63 for (int i = 0; i < length; i++){
64 if (notes[i ] == ’ ’){
65 delay(beats[i] * tempo); // rest
66 } else {
67 playNote(notes[i], beats[i ] * tempo);

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

1 int length = 13; // the number of notes


2 char notes[] = ”ccdcfeccdcgf ”; // a space represents a rest
3 int beats[] = { 1, 1, 1, 1, 1, 2, 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

12 digitalWrite(ledPin, LOW); // turn LED OFF


13 }
14
15 if (digitalRead(inputPin2) == LOW) {
16 digitalWrite(ledPin, HIGH); // turn LED ON
17 }
18 }

, 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

LED ΡΚΟ 13 AΤΕΧΚΟΠ ⁸ ΡΚΟ 9


B ʹ.21, ⁹

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

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);
48 }

, ΝΠΠΡ : 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

31 loat temperature = getVoltage(temperaturePin);


32 //converting from 10 mv per degree wit 500 mV ofset
33 temperature = (temperature - .5) * 100;
34 //to degrees ((volatge - 500mV) times 100)
35 Serial .println(temperature); //printing the result
36 delay(1000); //waiting a second
37 }
38
39 /*
40 * getVoltage() - returns the voltage on the analog input deined by
41 * pin
42 */
43 loat getVoltage(int pin){
44 //converting from a 0 to 1023 digital range
45 return (analogRead(pin) * .004882814);
46 // to 0 to 5 volts (each 1 reading equals ~ 5 millivolts
47 }

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 :

• 1 RGB LED 5ΞΞ


• 3 330 OΙΞ ⁸ - - ⁹
• 6

,
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

330 OΙΞ ΡΚΟ , -


ΡΚΟ AΤΕΧΚΟΠ. ΡΚΟ .

φβηθ χύ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. .

3. fromLow map(value, fromLow,


fromHigh, toLow, toHigh) 50 2.
2 50
.

4. .

5. ⁸90 ⁹
.

450
B ʹ. ARDUINO 8BIT

6. fromHigh map(value, fromLow,


fromHigh, toLow, toHigh) 300 5.
5 300
. CIRCΐ13ΐΔ1
AΤΕΧΚΟΠ. .
ξ
:
• OΟΖ ΡΝΒyΖΤ RΠΔΜ PΒΡΖΤ SΔΚΥΥΠΤΥ GΝΠΨΖ ⁸http://grathio.com/2010/03/
rock_paper_scissors_training_glove/⁹
• EΝΖΔΦΤΠΟΚΔ PΝΒΟΦ BΤΒΔΖ ⁸http://www.flickr.com/photos/mleak/
322577143/in/set-72157601527068224/⁹

φβην εθ
-
, , -
.
. 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 NOKIA 5110 LCD

• 1 ΧΝΦΤΒΥΠΟΚΔ ΞΠΕΧΝΖ

: ,
,
. -
: ΧΝΦΤΒΥΠΟΚΔ MΠΕΧΝΖ -
ΔΞ ⁸40ΔΞ⁹

. , ΔΞ
ΔΞ, -
“HΖΝΝΠ SΦΧΕΖΟΦ ···· ⁸ ⁹”.

456
B ʹ. ARDUINO 8BIT

, AΤΕΧΚΟΠ.
AΤΕΧΚΟΠ, NOKIA 5110LCD -
, ΧΝΦΤΒΥΠΟΚΔ SDM-IO , ΓΖΖΡΖΤ
PΚΟ ⁸5V⁹ ⁸GND⁹
AΤΕΧΚΟΠ ΓΤΖΒΕΓΠΒΤΕ. CΠΞΡΚΝΖ, -
AΤΕΧΚΟΠ IDE. ‼
USB AΤΕΧΚΟΠ /
.

φβθζβε υrduino breadboard


ΓΤΖΒΕΓΠΒΤΕ
. 5V AΤΕΧΚΟΠ -
⁸+⁹ ΓΤΖΒΕΓΠΒΤΕ. 5V
AΤΕΧΚΟΠ ⁸AΟΒΝΠΘ IN⁹.
⁸GND 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

φβθζβη ultrasonic module


ΡΚΟΥ .
AΤΕΧΚΟΠ :

1. VCC −→ 5V

2. TRIG −→ ΡΚΟ AΤΕΧΚΟΠ

3. ECHO −→ ΡΚΟ AΤΕΧΚΟΠ

4. GND −→ GND ⁸AΤΕΧΚΟΠ⁹

⁸A2⁹ ΡΚΟΥ ΧΝΦΤΒΥΠΟΚΔ ΞΠΕΧΝΖ. -


:
1 #deine SDM_IO_TIMEOUT 1000
2 int TrigPin = XX;

⁸ 2⁹ TrigPin.
1 int EchoPin = XX;

⁸ 3⁹ EchoPin.
1 unsigned long ultrasoundDuration;
2 int timeout;
3 unsigned long tStartPing = 0;
4 loat sensorValue = 0;

setup() pinMode(ΧΧΧΧPin, OUTPUT); ⁸ 4⁹


PΚΟ pinMode(ΧΧΧΧPin, INPUT); ⁸ 5⁹ -
PΚΟ loop() : sensorValue =
read_sdm_io_range();

1 //SDM-IO Ultrasonic Range Sensor distance function


2 loat read_sdm_io_range(){
3 unsigned char pin = 0;
4 unsigned int time_lag = 0;
5
6 digitalWrite(TrigPin, HIGH);
7 delayMicroseconds(2);
8 digitalWrite(TrigPin, LOW);
9 delayMicroseconds(10);
10 digitalWrite(TrigPin, HIGH);
11
12 tStartPing = micros();
13 timeout = 0;
14 pin = digitalRead(EchoPin);
15 while(pin) {
16 pin = digitalRead(EchoPin);
17 time_lag++;
18 if (time_lag>SDM_IO_TIMEOUT){

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 −→ ⁸ ⁹

3. SCE −→ ΡΚΟ AΤΕΧΚΟΠ

4. RST −→ ΡΚΟ AΤΕΧΚΟΠ

5. D/C −→ ΡΚΟ AΤΕΧΚΟΠ

6. DN⁸MOSI⁹ −→ ΡΚΟ AΤΕΧΚΟΠ

7. SCLK −→ ΡΚΟ AΤΕΧΚΟΠ

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

– CyΔΝΠΟΖ V SΠC 5CSEMA5F31 / EPCQ256 256-MΓΚΦ ΥΖΤΚΒΝ


ΔΠΟiΘΧΤΒΦΚΠΟ ΕΖΨΚΔΖ

• 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-ΡΚΟ ΙΖΒΕΖΤΥ⁹

– 128MB SDRAM, 2MB SRAM, 8MB FΝΒΥΙ, 32KΓΚΦ EEPROM


– MΚΔΤΠ SD

462
C ʹ. ALTERA FPGA

– 8 7-ΥΖΘΞΖΟΦ
– 1 LCD 2Ϊ16

• SΩΚΦΔΙΖΥ ΒΟΕ LEDΥ

– 18
– 18 LEDΥ
– 4

– 50 MHά ΔΝΠΔΜ ⁸3 ⁹

AΝΦΖΤΒ uΒΤΦΧΥ. 2
,
AΝΦΖΤΒ ⁸ΩΩΩ.ΒΝΦΖΤΒ.ΔΠΞ⁹. ⁸ΩΖΓ⁹,

⁸ . . ,
⁹, ⁸ΥΧΓΥΔΤΚΡΦΚΠΟ⁹,
AΝΦΖΤΒ -
, ⁸IP⁹
. -
ΩΖΓ , .
uΒΤΦΧΥ ⁸ 2015⁹ 15, -
13,
15. Ό ,
-
32ΓΚΦ 64ΓΚΦ , ΆΚΟΕΠΩΥ ·P ,

2001 . AΝΦΖΤΒ DE2-115 -


CD IΟΦΖΤΟΖΦ.
,
.
Ό ,
AΝΦΖΤΒ ·ΚΝΚΟΪ, -
, -
HDL . ,
-
. -
FPGA,

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

C ʹ.2: TΒΥΜΥ AΝΦΖΤΒ uΒΤΦΧΥ, -


.

AΝΦΖΤΒ, -
-
⁸ C ʹ.2⁹ uΒΤΦΧΥ
⁸ΞΠΕΧΝΖΥ⁹:

• ⁶ ⁸AΟΒΝyΥΚΥ ⁶ SyΟΦΙΖΥΚΥ⁹

• ⁸PΒΤΦΚΦΚΠΟ MΖΤΘΖ⁹

• FPGA ⁸FΚtΖΤ⁹

• ⁸AΥΥΖΞΓΝΖΤ⁹

• ⁸TΚΞΖuΖΥΦ⁹

• ⁸DΖΥΚΘΟ AΥΥΚΥΦΒΟΦ⁹

• ΟΖΦΝΚΥΦ ⁸EDA NΖΦΝΚΥΦ ΆΤΚΦΖΤ⁹

• HΒΤΕCΠΡy NΖΦΝΚΥΦ ΆΤΚΦΖΤ

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

3. ΓΝΠΔΜ ⁸BΝΠΔΜ EΕΚΦΠΤ⁹ -

⁸ΥΔΙΖΞΒΦΚΔ⁹.

4. ⁸MΖΘΒΆΚάΒΤΕ PΝΧΘ-ΚΟ MΒΟΒΘΖΤ⁹, -

⁸ΞΖΘΒΗΧΟΔΦΚΠΟΥ⁹ IP ⁸IP ΗΧΟΔΦΚΠΟΥ⁹.

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άΖΤ⁹.

13. TΚΞΖuΖΥΦ TΚΞΚΟΘ AΟΒΝyάΖΤ .

14. -
CΙΚΡ PΝΒΟΟΖΤ, LΠΘΚΔLΠΔΜ AΥΥΚΘΟΞΖΟΦ
EΕΚΦΠΤ.

15. ΔΙΚΡ AΥΥΖΞΓΝΖΤ


PΤΠΘΤΒΞΞΖΤ.

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;

AΥΥΚΘΟΞΖΟΦΥ AΥΥΚΘΟΞΖΟΦ EΕΚΦΠΤ. -

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,
⁹ :

set_location_assignment PIN_Y2 -to CLK


set_location_assignment PIN_R24 -to BUTTON

471
C ʹ. ALTERA FPGA

set_location_assignment PIN_AB24 -to SWITCH


set_location_assignment PIN_E22 -to LED

⁸ ⁹ , 4 -
, C ʹ.13.
, .
, ,
. -
FΚΝΖ→NΖΩ→SyΟΠΡΥΚΥ DΖΥΚΘΟ CΠΟΥΦΤΒΚΟΦΥ FΚΝΖ. -
+ ΔΤΖΒΦΖΐΔΝΠΔΜ -ΡΖΤΚΠΕ 20 ΊΘΖΦΐΡΠΤΦΥ
ΔΝΜ]+++, 20,
ΡΤΠΛΖΔΦ .ΥΕΔ. -

ΡΤΠΛΖΔΦ ΟΒΨΚΘΒΦΠΤ FΚΝΖΥ.


ΔΠΞΡΚΝΖ ΥyΟΦΙΖΥΚάΖ ΡΤΠΛΖΔΦ , -
ΔΠΞΡΚΝΖΤ PΤΠΔΖΥΥΚΟΘ→SΦΒΤΦ CΠΞΡΚΝΒΦΚΠΟ. -
, ⁸ ΦΒΥΜΥ⁹,
. ,
ΔΠΞΡΚΝΖ
ΩΒΤΟΚΟΘΥ ΖΤΤΠΤΥ. ,

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ΤΠΘΤΒΞΞΚΟΘ :

1. PΤΠΘΤΒΞΞΖΤ TΠΠΝΥ AΧΦΠ


DΖΦΖΔΦ

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

15 X <= not ( (A and not S) or (B and S) );


16 end behavioral;

, ΟΠΦ ,
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 .

χβι Ά θ

UΡ/DΠΩΟ. , ΥΝΚΕΖ ΥΩΚΦΔΙ ⁸SΆ0⁹


1, . -
1.49 Hά, -
ΤΖΥΖΦ. 22 ,
22 LED . C.5. -
ΡΤΠΛΖΔΦ C.5.
CSV ,
RST KEΈ
⁸KEΈΊ0]/KEΈΊ1]/KEΈΊ2]/KEΈΊ3]⁹.
CLOCKΐ50,
,

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,
⁸ΞΠΕΧΝΖΥ⁹, -
. , -
, ,

FPU ⁸lΠΒΦΚΟΘ ΡΠΚΟΦ ΧΟΚΦ⁹.


NΚΠΥ II C ʹ.15.

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

, NΚΠΥ II/Ζ, NΚΠΥ II/Υ NIOS II/Η .


, NΚΠΥ II/Ζ,
. FΚΟΚΥΙ, ΔΠΞΡΠΟΖΟΦ ,
SyΥΦΖΞ CΠΟΦΖΟΦΥ 3 : ΔΝΜΐ0, ΠΟΔΙΚΡΐΞΖΞΠΤy2ΐ0, ΟΚΠΥ2ΐΣΥyΥΐ0.

UART. UART ΔΠΞΡΠΟΖΟΦ ΝΚΓΤΒΤy ΥΖΒΤΔΙ, UART


⁸RS-232 SΖΤΚΒΝ PΠΤΦ⁹. N/8/1/2 115200
iΪΖΕ, ⁸ -
-
⁹. -
, -
. ΖΪΦΖΤΟΒΝΐΔΠΟΟΖΔΦΚΠΟ ΧΒΤΦΐ0
EΪΡΠΤΦ ⁸ΕΠΧΓΝΖ-ΔΝΚΔΜ ΦΠ ΖΪΡΠΤΦ⁹
“ΧΒΤΦΐ0ΐΖΪΦΖΤΟΒΝΐΔΠΟΟΖΔΦΚΠΟ”. ,
ΚΟΦΖΤΤΧΡΦ ΤΖΣΧΖΥΦ ⁸IRQ⁹ . ,
ΔΠΟΟΖΔΦΚΠΟΥ→ ΟΚΠΥ2ΐΣΥyΥΐ0.ΕΐΚΤΣ→ΧΒΤΦΐ0.ΚΤΣ.
8 ΖΤΤΠΤΥ, -
. ΔΠΟΟΖΔΦΚΠΟΥ ΔΠΞΡΠΟΖΟΦ -
⁸ΔΝΜ⁹. 3 , 8
5. , ΔΝΜΐΤΖΥΖΦ ΤΖΥΖΦ. 3 -
2. ΕΒΦΒΐΞΒΥΦΖΤ ΚΟΥΦΤΧΔΦΚΠΟΐΞΒΥΦΖΤ
Υ1 , Υ1
ΧΒΤΦΐ0 ΕΒΦΒΐΞΒΥΦΖΤ , Υ1 .
, RΖΥΖΦ VΖΔΦΠΤ
EΪΔΖΡΦΚΠΟ VΖΔΦΠΤ, ΨΖΔΦΠΤ ΞΖΞΠΤy ΠΟΔΙΚΡΐΞΖΞΠΤy2ΐ0.Υ1. -
iΟΚΥΙ. , JTAG -
. , -
ΛΦΒΘΐΕΖΓΧΘΐΞΠΕΧΝΖΐΤΖΥΖΦ ΤΖΥΖΦ -
ΧΒΤΦΐ0, ΟΚΠΥ2ΐΣΥyΥΐ0 ΠΟΔΙΚΡΐΞΖΞΠΤy2ΐ0. -
SyΥΦΖΞ→CΤΖΒΦΖ GΝΠΓΒΝ RΖΥΖΦ NΖΦΩΠΤΜ. ,
JTAG UART
⁸ /
⁹. , ΔΝΜ ΤΖΥΖΦ,
ΒΨΒΝΠΟΐΛΦΒΘΐΥΝΒΨΖ ⁸ΕΒΦΒ⁹
Υ1 . , IRQ
IRQ , -
IRQ : UART IRQ0,
JTAG UART IRQ1. 4 ,
.
. -
SyΥΦΖΞ→ΒΥΥΚΘΟ ΓΒΥΖ ΒΕΕΤΖΥΥΖΥ, .

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

• ΒΝΝΠΩΐΔΠΕΖΐΒΦΐΤΖΥΖΦ

, ΥΦΕΖΤΤ, ΥΦΕΚΟ, ΥΦΕΠΧΦ ΛΦΒΘΐΧΒΤΦΐ0


⁸ ΟΧΝΝ ΞΠΕΖΞ ,
ΧΒΤΦΐ0⁹, .
GENERATE E·IT.
Ό , HΖΝΝΠ
ΗΤΠΞ NIOS II , ΙΖΝΝΠΐΩΠΤΝΕ.Δ.
PΤΠΛΖΔΦ→BΧΚΝΕ ALL BSP
HΖΝΝΠ ΆΠΤΝΕ. ,
. ΥΧΓΡΤΠΛΖΔΦ ΙΖΝΝΠ ΩΠΤΝΕ ⁸
ΥΧΓΡΤΠΛΖΔΦ BSP⁹, MΒΜΖ TΒΤΘΖΦ→BΧΚΝΕ→ΞΖΞΐΚΟΚΦΐΘΖΟΖΤΒΦΖ
ΓΧΚΝΕ. ΙΖΪ -
ΡΤΠΛΖΔΦ ΞΖΞΐΚΟΚΦ,
.

χβκβη

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

C ʹ.3: TΒΥΜΥ AΝΦΖΤΒ uΒΤΦΧΥ, -


.

486
C ʹ. ALTERA FPGA

C ʹ.4: NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ AΝΦΖΤΒ uΒΤΦΧΥ, -


.

487
C ʹ. ALTERA FPGA

C ʹ.5: 2 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ, -


ΡΤΠΛΖΔΦ.

488
C ʹ. ALTERA FPGA

C ʹ.6: 3 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ,


FPGA ΔΙΚΡ.

489
C ʹ. ALTERA FPGA

C ʹ.7: 4 NΖΩ PΤΠΛΖΔΦ ΆΚάΒΤΕ,


ΡΤΠΛΖΔΦ.

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

C ʹ.15: NIOS II AΝΦΖΤΒ -


, .

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 ʹ.20: PΚΟ PΝΒΟΟΖΤ .

C ʹ.21: .

496
ψ ʹ

α
,
.

ηG 3ΤΕ GΖΟΖΤΒΦΚΠΟ MΠΓΚΝΖ NΖΦΩΠΤΜ

υφS AΟΦΚΝΠΔΜ BΤΖΒΜΚΟΘ SyΥΦΖΞ

υχχ AΕΒΡΦΚΨΖ CΤΧΚΥΖ CΠΟΦΤΠΝ

υχPύ AΕΨΒΟΔΖΕ CΠΟiΘΧΤΒΦΚΠΟ ΒΟΕ PΠΩΖΤ IΟΦΖΤΗΒΔΖ

υGP AΔΔΖΝΖΤΒΦΖΕ GΤΒΡΙΚΔΥ PΠΤΦ

υόφ AΕΨΒΟΔΖΕ HΚΘΙ-ΡΖΤΗΠΤΞΒΟΔΖ BΧΥ

υLU AΤΚΦΙΞΖΦΚΔ LΠΘΚΔ UΟΚΦ

υMφυ AΕΨΒΟΔΖΕ MΚΔΤΠΔΠΟΦΤΠΝΝΖΤ BΧΥ AΤΔΙΚΦΖΔΦΧΤΖ

υMψ AΕΨΒΟΔΖΕ MΚΔΤΠ DΖΨΚΔΖΥ

υPύχ AΕΨΒΟΔΖΕ PΤΠΘΤΒΞΞΒΓΝΖ IΟΦΖΤΤΧΡΦ CΠΟΦΤΠΝΝΖΤ

υRM AΔΠΤΟ RISC MΒΔΙΚΟΖ/AΕΨΒΟΔΖΕ RISC MΒΔΙΚΟΖΥ

υSύχ AΡΡΝΚΔΒΦΚΠΟ-SΡΖΔΚiΔ IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ

υSύP AΡΡΝΚΔΒΦΚΠΟ-SΡΖΔΚiΔ IΟΥΦΤΧΔΦΚΠΟ ΥΖΦ PΤΠΔΖΥΥΠΤ

υSSP AΡΡΝΚΔΒΦΚΠΟ-SΡΖΔΚiΔ SΦΒΟΕΒΤΕ PΤΠΕΧΔΦ

497
D ʹ.

υVRύSP AVR IΟ-SyΥΦΖΞ PΤΠΘΤΒΞΞΚΟΘ

φGυ BΒΝΝ GΤΚΕ AΤΤΒy

φύOS BΒΥΚΔ IΟΡΧΦ/OΧΦΡΧΦ SyΥΦΖΞ

φPS ΓΚΦΥ ΡΖΤ ΥΖΔΠΟΕ

φSP BΚΟΒΤy SΡΒΔΖ PΒΤΦΚΦΚΠΟΚΟΘ

χυψ CΠΞΡΧΦΖΤ-AΚΕΖΕ DΖΥΚΘΟ

χυM CΠΞΡΧΦΖΤ-AΚΕΖΕ MΒΟΧΗΒΔΦΧΤΚΟΘ

χυN CΠΟΦΤΠΝΝΖΤ AΤΖΒ NΖΦΩΠΤΜ

χψύP CΖΤΒΞΚΔ DΧΒΝ-IΟ LΚΟΖ PΒΔΜΒΘΖ

χύSχ CΠΞΡΝΖΪ IΟΥΦΤΧΔΦΚΠΟ SΖΦ CΠΞΡΧΦΚΟΘ

χLύ CΝΖΒΤ IΟΦΖΤΤΧΡΦ

χMOS CΠΞΡΝΖΞΖΟΦΒΤy MΖΦΒΝ-OΪΚΕΖ SΖΞΚΔΠΟΕΧΔΦΠΤ

χOϊϊ CΠΞΞΠΟ OΓΛΖΔΦ FΚΝΖ FΠΤΞΒΦ

χPLψ CΠΞΡΝΖΪ PΤΠΘΤΒΞΞΒΓΝΖ DΖΨΚΔΖ

χPU CΖΟΦΤΒΝ PΤΠΔΖΥΥΠΤ UΟΚΦ

χVSL CΒΥΔΒΕΖ VΠΝΦΒΘΖ SΩΚΦΔΙ LΠΘΚΔ

ψγυ converter DΚΘΚΦΒΝ-ΦΠ-AΟΒΝΠΘ ΔΠΟΨΖΤΦΖΤ

ψχ DΚΤΖΔΦ CΧΤΤΖΟΦ

ψψR DΠΧΓΝΖ DΒΦΒ RΒΦΖ

ψψT DyΟΒΞΚΔ DΒΦΒ TyΡΖΥ

ψωχ DΚΘΚΦΒΝ EΣΧΚΡΞΖΟΦ CΠΤΡΠΤΒΦΚΠΟ

ψωS DΒΦΒ EΟΔΤyΡΦΚΠΟ SΦΒΟΕΒΤΕ

ψόχP DyΟΒΞΚΔ HΠΥΦ CΠΟiΘΧΤΒΦΚΠΟ PΤΠΦΠΔΠΝ

ψύP DΧΒΝ IΟ LΚΟΖ PΒΔΜΒΘΖ

ψMυ DΚΤΖΔΦ MΖΞΠΤy AΔΔΖΥΥ

498
D ʹ.

ψMM DyΟΒΞΚΔ MΖΞΠΤy MΒΟΒΘΖΞΖΟΦ

ψRυM DyΟΒΞΚΔ RΒΟΕΠΞ-AΔΔΖΥΥ MΖΞΠΤy

ψRR DΖiΔΚΦ RΠΧΟΕ RΠΓΚΟ

ψSP DΚΘΚΦΒΝ-SΚΘΟΒΝ PΤΠΔΖΥΥΠΤ

ωχU EΟΘΚΟΖ CΠΟΦΤΠΝ UΟΚΦ

ωψυ EΝΖΔΦΤΠΟΚΔ DΖΥΚΘΟ AΧΦΠΞΒΦΚΠΟ

ωωPROM EΝΖΔΦΤΚΔΒΝ EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ RΖΒΕ-OΟΝy MΖΞΠΤy

ωύSυ EΪΦΖΟΕΖΕ IΟΕΧΥΦΤy SΦΒΟΕΒΤΕ AΤΔΙΚΦΖΔΦΧΤΖ

ωLϊ EΪΖΔΧΦΒΓΝΖ ΒΟΕ LΚΟΜΒΓΝΖ FΠΤΞΒΦ

ωNύυχ EΝΖΔΦΤΠΟΚΔ NΧΞΖΤΚΔΒΝ IΟΦΖΘΤΒΦΠΤ AΟΕ CΠΞΡΧΦΖΤ

ωPM EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ MΖΞΠΤy

ωPROM EΤΒΥΒΓΝΖ PΤΠΘΤΒΞΞΒΓΝΖ RΖΒΕ-OΟΝy MΖΞΠΤy

ϊχW FΠΤΩΒΤΕ CΠΝΝΚΥΚΠΟ ΆΒΤΟΚΟΘ

ϊύϊO FΚΤΥΦ IΟ FΚΤΥΦ OΧΦ

ϊPGυ FΚΖΝΕ PΤΠΘΤΒΞΞΒΓΝΖ GΒΦΖ AΤΤΒyΥ

Gφ GΚΘΒByΦΖ

Gχχ GNU C CΠΞΡΚΝΖΤ

Gψφ GNU DΖΓΧΘΘΖΤ

GPύO GΖΟΖΤΒΝ-PΧΤΡΠΥΖ IΟΡΧΦ/ΠΧΦΡΧΦ

GPS GΝΠΓΒΝ PΠΥΚΦΚΠΟΚΟΘ SyΥΦΖΞ

GSM GΝΠΓΒΝ SyΥΦΖΞ ΗΠΤ MΠΓΚΝΖ CΠΞΞΧΟΚΔΒΦΚΠΟΥ

όφM HΚΘΙ BΒΟΕΩΚΕΦΙ-MΖΞΠΤy

όψL HΒΤΕΩΒΤΖ DΖΥΔΤΚΡΦΚΠΟ LΒΟΘΧΒΘΖ

όψMύ HΚΘΙ-DΖiΟΚΦΚΠΟ MΧΝΦΚΞΖΕΚΒ IΟΦΖΤΗΒΔΖ

όSφ HΧΖ, SΒΦΧΤΒΦΚΠΟ ΒΟΕ BΤΚΘΙΦΟΖΥΥ

499
D ʹ.

ύζχ IΟΦΖΤ-IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ

ύφM IΟΦΖΤΟΒΦΚΠΟΒΝ BΧΥΚΟΖΥΥ MΒΔΙΚΟΖΥ CΠΤΡΠΤΒΦΚΠΟ

ύχ IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ

ύχP IΟ-CΚΤΔΧΚΦ PΤΠΘΤΒΞΞΚΟΘ

ύψω IΟΦΖΘΤΒΦΖΕ DΤΚΨΖ EΝΖΔΦΤΠΟΚΔΥ

ύωωω IΟΥΦΚΦΧΦΖ OΗ EΝΖΔΦΤΚΔΒΝ ΒΟΕ EΝΖΔΦΤΠΟΚΔΥ EΟΘΚΟΖΖΤΥ

ύP IΟΦΖΝΝΖΔΦΧΒΝ PΤΠΡΖΤΦy

ύR IΟΥΦΤΧΔΦΚΠΟ RΖΘΚΥΦΖΤ

ύRQ IΟΦΖΤΤΧΡΦ RΖuΖΥΦ

ύSυ IΟΕΧΥΦΤy SΦΒΟΕΒΤΕ AΤΔΙΚΦΖΔΦΧΤΖ

ύSP IΟ-ΥyΥΦΖΞ ΡΤΠΘΤΒΞΞΚΟΘ

ύSR IΟΦΖΤΤΧΡΦ SΖΤΨΚΔΖ RΖΣΧΖΥΦ

ύVR IΟΦΖΤΞΖΕΚΒΦΖ VΒΤΚΒΓΝΖ RΖΞΠΨΒΝ

ώTυG JΠΚΟ TΖΥΦ AΔΦΚΠΟ GΤΠΧΡ

LυN LΠΔΒΝ AΤΖΒ NΖΦΩΠΤΜ

Lχψ LΚΣΧΚΕ CΤyΥΦΒΝ DΚΥΡΝΒy

LψW LΒΟΖ DΖΡΒΤΦΧΤΖ ΆΒΤΟΚΟΘ

Lωψ LΚΘΙΦ-EΞΚtΚΟΘ DΚΠΕΖ

LύϊO LΒΥΦ IΟ FΚΤΥΦ OΧΦ

LP LΠΩ PΠΩΖΤ

LPψψR LΠΩ PΠΩΖΤ DΠΧΓΝΖ DΒΦΒ RΒΦΖ SyΟΔΙΤΠΟΠΧΥ DRAM

LSφ LΖΒΥΦ SΚΘΟΚiΔΒΟΦ BΚΦ

LSύ LΒΤΘΖ SΔΒΝΖ IΟΦΖΘΤΒΦΖΕ

LUT LΠΠΜ UΡ TΒΓΝΖ

LVψS LΠΩ-ΨΠΝΦΒΘΖ ΕΚfΖΤΖΟΦΚΒΝ ΥΚΘΟΒΝΚΟΘ

500
D ʹ.

LVTTL LΠΩ VΠΝΦΒΘΖ TΤΒΟΥΚΥΦΠΤ TΤΒΟΥΚΥΦΠΤ LΠΘΚΔ

Mφ MΖΘΒByΦΖ

Mχυ MΚΔΤΠ CΙΒΟΟΖΝ AΤΔΙΚΦΖΔΦΧΤΖ

MχPU MΒΥΦΖΤ CΠΟΦΤΠΝΝΖΤ PΤΠΔΖΥΥΠΤ UΟΚΦ

Mόz MΖΘΒ HΖΤΦά

MύL MΒΝΗΧΟΔΦΚΠΟ IΟΕΚΔΒΦΚΠΟ LΒΞΡ

MύPS MΚΔΤΠPΤΠΔΖΥΥΠΤ ΩΚΦΙΠΧΦ IΟΦΖΤΝΠΔΜΖΕ PΚΡΖΝΚΟΖ SΦΒΘΖ

MLχ MΧΝΦΚ ΝΖΨΖΝ ΔΖΝΝ

MMU MΖΞΠΤy MΒΟΒΘΖΞΖΟΦ UΟΚΦ

MPύ MΖΥΥΒΘΖ PΒΥΥΚΟΘ IΟΦΖΤΗΒΔΖ

MPU MΚΔΤΠPΤΠΔΖΥΥΠΤ UΟΚΦ

MSφ MΠΥΦ SΚΘΟΚiΔΒΟΦ BΚΦ

MSύ MΖΕΚΧΞ SΔΒΝΖ IΟΦΖΘΤΒΦΖΕ

MSR MΠΕΖΝ-SΡΖΔΚiΔ RΖΘΚΥΦΖΤ

MUX MUΝΦΚΡΝΖ·ΖΤ

NυNψ gate NΖΘΒΦΚΨΖ-AND ΘΒΦΖ

NφO NΖΦΩΠΤΜ ByΦΖ OΤΕΖΤ

NφW NΒΦΚΨΖ BΚΦ ΆΚΕΦΙ

NRω NΠΟ RΖΔΧΤΤΖΟΦ EΟΘΚΟΖΖΤΚΟΘ ΔΠΥΦ

OMυP OΡΖΟ MΧΝΦΚΞΖΕΚΒ AΡΡΝΚΔΒΦΚΠΟ PΝΒΦΗΠΤΞ

OS OΡΖΤΒΦΚΟΘ SyΥΦΖΞ

OTP OΟΖ TΚΞΖ PΤΠΘΤΒΞΞΒΓΝΖ

PυM PΒΤΜ AΥΥΚΥΦ SyΥΦΖΞ

PυTυ PΒΤΒΝΝΖΝ AT AtΒΔΙΞΖΟΦ

PχαύX PΖΤΚΡΙΖΤΒΝ CΠΞΡΠΟΖΟΦ IΟΦΖΤΔΠΟΟΖΔΦ Ζ·ΦΖΟΕΖΕ

501
D ʹ.

Pχ PΖΤΥΠΟΒΝ CΠΞΡΧΦΖΤ

Pχύ PΖΤΚΡΙΖΤΒΝ CΠΞΡΠΟΖΟΦ IΟΦΖΤΔΠΟΟΖΔΦ

Pχύe PΖΤΚΡΙΖΤΒΝ CΠΞΡΠΟΖΟΦ IΟΦΖΤΔΠΟΟΖΔΦ EΪΡΤΖΥΥ

Pψυ PΖΤΥΠΟΒΝ DΚΘΚΦΒΝ AΥΥΚΥΦΒΟΦ

PψύP DΧΒΝ IΟ-ΝΚΟΖ PΒΔΜΒΘΖ

PψPαε PΤΠΘΤΒΞ DΒΦΒ PΤΠΔΖΥΥΠΤ-1

Pω PΤΠΔΖΥΥΚΟΘ EΝΖΞΖΟΦΥ

PGυ PΚΟ GΤΚΕ AΤΤΒy

PόOψS PΒΤΒΝΝΖΝ HΚΖΤΒΤΔΙΚΔΒΝ OΟΖ-DΚΞΖΟΥΚΠΟΒΝ SΖΒΤΔΙ

PLψ PΤΠΘΤΒΞΞΒΓΝΖ LΠΘΚΔ DΖΨΚΔΖ

PMOS P-ΦyΡΖ MΖΦΒΝ-OΪΚΕΖ-SΖΞΚΔΠΟΕΧΔΦΠΤ

PPχ PΠΩΖΤ PC

PROM PΤΠΘΤΒΞΞΒΓΝΖ RΖΒΕ-ΠΟΝy MΖΞΠΤy

PSOχ PΤΠΘΤΒΞΞΒΓΝΖ SyΥΦΖΞ OΟ CΙΚΡ

PWM PΧΝΥΖ ΆΚΕΦΙ MΠΕΧΝΒΦΚΠΟ

QύP uΒΕΤΧΡΝΖ ΚΟ-ΝΚΟΖ

RυM RΒΟΕΠΞ-AΔΖΥΥ MΖΞΠΤy

RψRυM RΒΞΓΧΥ DyΟΒΞΚΔ RΒΟΕΠΞ AΔΔΖΥΥ MΖΞΠΤy

RGφ RΖΕ GΤΖΖΟ BΝΧΖ

RύSχ RΖΕΧΔΖΕ IΟΥΦΤΧΔΦΚΠΟ SΖΦ CΠΞΡΧΦΖΤ

ROM RΖΒΕ-OΟΝy MΖΞΠΤy

RSαθζζ RΒΕΚΠ SΖΔΦΠΤ SΦΒΟΕΒΤΕ 422

RTχ RΖΒΝ-TΚΞΖ CΝΠΔΜ

RTL RΖΘΚΥΦΖΤ TΤΒΟΥΗΖΤ LΖΨΖΝ

RTOS RΖΒΝ-TΚΞΖ OΡΖΤΒΦΚΟΘ SyΥΦΖΞ

502
D ʹ.

RW RΖΒΕ/ΆΤΚΦΖ

RXγTX RΖΔΖΚΨΖΤ ΞΠΕΖ/TΤΒΟΥΞΚΥΥΚΠΟ ΞΠΕΖ

SυTυ SΖΤΚΒΝ AT AtΒΔΙΞΖΟΦ

Sφχ SΚΟΘΝΖ BΠΒΤΕ CΠΞΡΧΦΖΤ

SχSύ SΞΒΝΝ CΠΞΡΧΦΖΤ SyΥΦΖΞ IΟΦΖΤΗΒΔΖ

SψRυM SyΟΔΙΤΠΟΠΧΥ DyΟΒΞΚΔ RΒΟΕΠΞ AΔΔΖΥΥ MΖΞΠΤy

SύGυφRT SΚΘΟΒΝ:AΓΠΤΦ

SύMψ SΚΟΘΝΖ IΟΥΦΤΧΔΦΚΠΟ MΧΝΦΚΡΝΖ DΒΦΒ

SMφ SyΥΦΖΞ MΒΟΒΘΖΞΖΟΦ BΧΥ

SMP SyΞΞΖΦΤΚΔ MΧΝΦΚ PΤΠΔΖΥΥΚΟΘ

SOχ SyΥΦΖΞ OΟ CΙΚΡ

SoχψMM SyΥΦΖΞ ΠΟ CΙΚΡ DyΟΒΞΚΔ MΖΞΠΤy MΒΟΒΘΖΞΖΟΦ

SPψύP SΜΚΟΟy DΧΒΝ IΟ LΚΟΖ PΒΔΜΒΘΚΟΘ

SPψT SΚΟΘΝΖ ΡΠΝΖ, ΕΠΧΓΝΖ ΦΙΤΠΩ

SPύ SΖΤΚΒΝ PΖΤΚΡΙΖΤΒΝ IΟΦΖΤΗΒΔΖ

SPMψ SΚΟΘΝΖ PΤΠΘΤΒΞ MΧΝΦΚΡΝΖ DΒΦΒ

SRυM SΦΒΦΚΔ RΒΟΕΠΞ AΔΔΖΥΥ MΖΞΠΤy

SSύ SΞΒΝΝ SΔΒΝΖ IΟΦΖΘΤΒΦΖΕ

SSύ SyΟΔΙΤΠΟΠΧΥ SΖΤΚΒΝ IΟΦΖΤΗΒΔΖ

STύ SΖΦ IΟΦΖΤΤΧΡΦΥ

SoPχ SyΥΦΖΞ ΠΟ Β PΤΠΘΤΒΞΞΒΓΝΖ CΙΚΡ

TχPγύP TΤΒΟΥΞΚΥΥΚΠΟ CΠΟΦΤΠΝ PΤΠΦΠΔΠΝ/IΟΦΖΤΟΖΦ PΤΠΦΠΔΠΝ

TψMύ hΧΞΓ IΟΥΦΤΧΔΦΚΠΟ DΖΓΧΘΘΖΤ MΧΝΦΚΡΝΚΖΤ

TLM TΤΒΟΥΒΔΦΚΠΟ LΖΨΖΝ MΠΕΖΝΚΟΘ

TPMS TΚΞΖ PΤΖΥΥΧΤΖ MΠΟΚΦΠΤΚΟΘ SyΥΦΖΞ

503
D ʹ.

TTL TΤΒΟΥΚΥΦΠΤ-TΤΒΟΥΚΥΦΠΤ LΠΘΚΔ

UυRT UΟΚΨΖΤΥΒΝ AΥyΟΔΙΤΠΟΠΧΥ RΖΔΖΚΨΖΤ/TΤΒΟΥΞΚtΖΤ

UML UΟΚiΖΕ MΠΕΖΝΚΟΘ LΒΟΘΧΒΘΖ

USφ UΟΚΨΖΤΥΒΝ SΖΤΚΒΝ BΧΥ

VόψL VHSIC HΒΤΕΩΒΤΖ DΖΥΔΤΚΡΦΚΠΟ LΒΟΘΧΒΘΖ

VόSύχ VΖΤy HΚΘΙ SΡΖΖΕ IΟΦΖΘΤΒΦΖΕ CΚΤΔΧΚΦ

VLύW VΖΤy LΠΟΘ IΟΥΦΤΧΔΦΚΠΟ ΆΠΤΕ

VLSύ VΖΤy LΒΤΘΖ SΔΒΝΖ IΟΦΖΘΤΒΦΚΠΟ

VOύP VΠΚΔΖ OΨΖΤ IΟΦΖΤΟΖΦ PΤΠΦΠΔΠΝ

WiMυX ΆΠΤΝΕΩΚΕΖ IΟΦΖΤΠΡΖΤΒΓΚΝΚΦy ΗΠΤ MΚΔΤΠΩΒΨΖ AΔΔΖΥΥ

Wii ΆΚΤΖΝΖΥΥ FΚΕΖΝΚΦy

XψR Ζ·ΦΖΤΟΒΝ DΒΦΒ RΖΡΤΖΥΖΟΦΒΦΚΠΟ

mχ MΚΔΤΠ CΠΟΦΤΠΝΝΖΤ

504
ω ʹ

Ό
, -
⁸ -
⁹.

0,25-ΞΚΔΤΠΟ CMOS 0,25 CMOS


10Ϊ ΝΠΟΘΖΤ 10
API
ASIC -

AΝΦΖΤΒ DE-ΥΖΤΚΖΥ ΓΠΒΤΕ AΝΦΖΤΒ DE


ByΦΖ-ΝΒΟΖ ΥΖΝΖΔΦΚΠΟΥ ByΦΖ
CMOS MΧΝΦΚΕΤΒΚΟ LΠΘΚΔ CMOS
CΒΥΔΒΕΖ VΠΝΦΒΘΖ SΩΚΦΔΙ LΠΘΚΔ -
CVSL
CΠΞΞΖΤΔΚΒΝΝy ΝΚΔΖΟΥΖΕ IP ΔΠΤΖΥ
FLOPS
FPGA
FΚΟΚΦΖ SΦΒΦΖ MΒΔΙΚΟΖ
HΒΤΕΩΒΤΖ DΖΥΔΤΚΡΦΚΠΟ LΒΟΘΧΒΘΖ
IΟΦΖΘΤΒΦΖΕ DΖΨΖΝΠΡΞΖΟΦ
EΟΨΚΤΠΟΞΖΟΦΥ ⁸IDE⁹
IΟΦΖΤΤΧΡΦ DΖΥΔΤΚΡΦΠΤ TΒΓΝΖ
KΒΤΟΒΧΘΙ ΞΒΡ KΒΤΟΒΧΘΙ
LCD ΤΖΒΝ ΖΥΦΒΦΖ LCD
MPI ΔΠΞΞΧΟΚΔΒΦΠΤ MPI
MPI
MΒΥΜΒΓΝΖ ROM ROM

505
E ʹ.

MΒΨΖΤΚΔΜ LΠΔΜ MΒΨΖΤΚΜ


MΖΥΥΒΘΖ PΒΥΥΚΟΘ PΤΠΦΠΔΠΝΥ
MΖΥΥΒΘΖ ΡΒΥΥΚΟΘ ΤΠΧΦΚΟΖΥ
NΠΟ-ΤΖΖΟΦΤΒΟΦ ΔΠΕΖ
PΠΥΦ MΖΦΒΝ PΤΠΘΤΒΞΞΚΟΘ
RΖΘΚΥΦΖΤ TΤΒΟΥΗΖΤ LΖΨΖΝ, RTL
SΔΙΖΕΧΝΒΓΚΝΚΦy
UNI· ΡΚΡΖ UNI·
UΟΥyΟΦΙΖΥΚΥΒΓΝΖ
Ί..ΒΤΕΧΚΟΠ..] ΥΙΚΖΝΕ Ί..ΒΤΕΧΚΟΠ..]
Β ΡΤΚΠΤy
ΒΓΥΦΤΒΔΦ ΝΖΨΖΝ
ΒΓΧΡΦ ΛΧΟΔΦΚΠΟ
ΒΔΔΖΡΦΠΤ
ΒΔΔΧΞΧΝΒΦΚΠΟ
ΒΕΕΤΖΥΥ ΤΖΘΚΥΦΖΤ
ΒΕΕΤΖΥΥΒΓΝΖ
ΒΝΝΠΔΒΦΚΟΘ ΒΟΕ ΕΖΒΝΝΠΔΒΦΚΟΘ
ΒΝΧΞΚΟΧΞ
ΒΟΚΞΒΦΚΠΟ
ΒΟΟΚΙΚΝΒΦΚΠΟ ΘΒΦΖ
ΒΟΟΠΦΒΦΚΠΟ ΞΖΦΙΠΕ
ΒΡΡΖΟΕΚΪ
ΒΡΡΝΚΔΒΦΚΠΟ-ΥΡΖΔΚiΔ
ΒΤΓΚΦΖΤ
ΒΤΓΚΦΤΒΦΚΠΟ
ΒΤΖΒ
ΒΤΘΧΞΖΟΦ Ί ]
ΒΤΚΦΙΞΖΦΚΔ ΡΤΠΕΧΔΦ
ΒΤΤΒy
ΒΥΥΖΞΓΝΖ ⁸ ΔΠΞΡΚΝΖ⁹
ΒΥΥΖΞΓΝΖΤ
ΒΥΥΖΞΓΝy
ΒΥΥΖΤΦ
ΒΥyΟΔΙΤΠΟΠΧΥ ΤΖΥΖtΒΓΝΖ ΝΒΦΔΙ
ΒΦΠΞΚΔΥ, ΒΦΠΞΚΔ ΠΡΖΤΒΦΚΠΟΥ
ΒΧΘΞΖΟΦΖΕ
ΒΧΦΠΞΒΦΚΔ ΦΖΥΦ ΡΒtΖΤΟ ΘΖΟΖΤΒΦΚΠΟ
ΒΨΒΝΒΟΔΙΖ ΓΤΖΒΜΕΠΩΟ
ΓΒΔΜ ΒΟΟΠΦΒΦΚΠΟ
ΓΒΔΜ-ΖΟΕ

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ΠΤΦ -

ΕyΟΒΞΚΔ ΡΝΒΟΟΚΟΘ ΓΒΥΖΕ ΒΡΡΤΠΒΔΙ


ΖΒΤΝΚΖΥΦ DΖΒΕΝΚΟΖ 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 ʹ.

ΥΙΖΝΝ ΕΖΨΚΔΖ ΕΤΚΨΖΤ


ΥΙΚtΖΤ
ΥΚΘΟΒΝ lΠΩ ΘΤΒΡΙ
ΥΚΘΟΒΝΝΚΟΘ
ΥΚΝΚΔΚΕΖ
ΥΚΝΚΔΠΟ ΡΝΒΟΒΤ ΡΤΠΔΖΥΥ
ΥΚΝΚΔΠΟ
ΥΚΞΡΝΖ/ΓΧΤΥΦ/ΥΡΝΚΦ ΦΤΒΟΥΒΔΦΚΠΟ / /
ΥΚΟΘΝΖ ΡΠΝΒΤΚΦy
ΥΚΟΘΝΖ-ΔΠΤΖ
ΥΚΟΜ
ΥΜΖΩ , ,
ΥΝΒΨΖ
ΥΝΚΕΖΤ ΥΩΚΦΔΙ
ΥΞΒΝΝ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ
ΥΟΖΒΜ
ΥΠΔΜΖΦ ΒΩΒΤΖ ΥΔΙΖΕΧΝΚΟΘ ⁸ -

ΥΠtΩΒΤΖ ΖΨΖΟΦΥ
ΥΠtΩΒΤΖ ΚΟΦΖΤΤΧΡΦ
ΥΠtΩΒΤΖ
ΥΠΧΤΔΖ iΝΖ
ΥΠΧΤΔΖ ΗΠΝΝΠΩΖΤ ΡΧΝΝ-ΧΡ ΝΠΘΚΔ μ ό
ΥΠΧΤΔΖ
ΥΠΧΤΔΖ
ΥΡΒΩΟ
ΥΡΖΔΚiΔ
ΥΡΚΜΖ
ΥΥΙ ΜΖyΥ ΥΥΙ
ΥΦΒΝΝ
ΥΦΒΟΕΒΤΕ ΔΖΝΝ
ΥΦΒΦΖ Ί ]
ΥΦΒΦΧΥ-ΚΟΦΖΤΨΒΝ
ΥΦΚΞΧΝΚ
ΥΦΠΡ ΓΚΦ ΓΚΦ
ΥΦΤΒy ΔΒΡΒΔΚΦΒΟΔΖ
ΥΦΤΖΒΞ
ΥΦΤΚΟΘ ΞΒΔΤΠΥ
ΥΦΤΚΡΖ
ΥΦΤΧΔΦΧΤΒΝ ΝΖΨΖΝ
ΥΧΓΥΦΤΒΦΖ-ΓΚΒΥ ΖfΖΔΦ

522
E ʹ.

ΥΧΓΥΦΤΒΦΖ
ΥΧΓΥyΥΦΖΞ
ΥΧΓΦΙΤΖΥΙΠΝΕ ΤΖΘΚΠΟ -
ΥΧΡΖΤΚΞΡΠΥΖ
ΥΧΡΖΤΧΥΖΤ
ΥΧΤΗΒΔΖ ΞΠΧΟΦ
ΥΩΚΟΘ
ΥΩΚΦΔΙΖΕ ΚΟΡΧΦ
ΥΩΚΦΔΙΚΟΘ ΟΠΚΥΖ
ΥΩΚΦΔΙΚΟΘ
ΥyΟΦΙΖΥΚΥΒΓΝΖ
ΥyΟΦΙΖΥΚάΖΕ /
ΥyΥΦΖΞ-ΚΟΔΝΧΕΖ iΝΖΥ
ΥyΥΦΖΞ-ΝΖΨΖΝ ΙΠΧΥΖΥ
ΦΒΘ
ΦΒΤΘΖΦ
ΦΒΥΜ
ΦΒΪΠΟΠΟΠΞy
ΦΖΥΦ
ΦΖΥΦΒΓΝΖ
ΦΖΥΦΒΓΝΚΦy
ΦΖΥΦΚΟΘ
ΦΖΪΦΧΤΖ ΞΖΞΠΤy
ΦΙΖ ΓΒΤΖ ΞΚΟΚΞΧΞ
ΦΙΤΖΒΕ
ΦΙΤΖΥΙΠΝΕ
ΦΙΤΠΧΘΙ ΙΠΝΖ ΕΖΨΚΔΖΥ
ΦΙΤΠΧΘΙ-ΙΠΝΖ ⁸ ⁹
ΦΚΝΖΕ ⁸ , -

ΦΚΞΖ ΓΠΤΤΠΩΚΟΘ
ΦΚΞΖ ΥΝΚΔΖ
ΦΚΞΖ ΦΠ ΞΒΤΜΖΦ ΔΠΥΦ

ΦΚΞΖΠΧΦΥ ΦΚΔΜΚΟΘ ΒΩΒy


ΦΚΞΚΟΘ
ΦΠ ΔΠΞΡΚΝΖ-ΦΚΞΖ
ΦΠ ΥΙΚΡ
ΦΠΘΘΝΖ
ΦΠΜΖΟ
ΦΠΠΝΔΙΒΚΟ

523
E ʹ.

ΦΠΠΝΥ ΚΟΦΖΘΤΒΦΚΠΟ ΞΖΦΙΠΕ


ΦΠΡ-ΝΖΨΖΝ ΖΟΦΚΦy
ΦΤΒΕΖ Πf ,
ΦΤΒΟΥΒΔΦΚΠΟ /
ΦΤΒΟΥΔΠΟΕΧΔΦΒΟΔΖ
ΦΤΒΟΥΞΚΥΥΚΠΟ ΘΒΦΖ
ΦΤΒΡ SIGABRT SIGABRT
ΦΤΒΨΖΤΥΖΕ
ΦΤΚ-ΥΦΒΦΖ ΓΧfΖΤ
ΦΤΚΞΞΖΤ ΤΖΥΚΥΦΠΤ ⁸
ΦΤΚΡΝΖ ΞΠΕΧΝΒΤ ΤΖΕΧΕΒΟΔy
ΦΤΚΥΦΒΦΖ
ΦΤΠΧΘΙΡΧΦ ΧΦΚΝΚάΒΦΚΠΟ ΠΗ ΦΙΖ ΓΧΥ
ΦΧΟΟΖΝΚΟΘ
ΦΧΦΠΤΚΒΝ
ΦΩΚΟ-ΦΧΓ
ΧΝΦΤΒΨΚΠΝΖΦ ΝΚΘΙΦ
ΧΟΕΖΤΥΙΠΠΦ -
ΧΟΚiΖΕ ΔΒΔΙΖ
ΧΟΚΡΤΠΔΖΥΥΠΤ
ΧΟΚΦ ΚΟΨΖΤΦΖΤ
ΧΟΥΒΦΧΤΒΦΖΕ ΝΠΒΕ ΚΟΨΖΤΦΖΤ -
ΧΡΡΖΤ ΒΟΕ ΝΠΩΖΤ ΙΒΝΨΖΥ ΠΗ ΦΙΖ
ΕΖΨΚΔΖ ΕΤΚΨΖΤ
ΧΡΦΚΞΖ
ΧΦΚΝΚΦΚΖΥ
ΨΒΤΚΒΓΝΖΥ ΒΤΖ ΒΔΔΖΥΥΖΕ
ΨΖΔΦΠΤ ΨΒΤΚΒΓΝΖ
ΨΖΝΠΔΚΦy ΥΒΦΧΤΒΦΚΠΟ
ΨΖΝΠΔΚΦy ΥΒΦΧΤΒΦΚΠΟ
ΨΖΟΕΠΤ
ΨΖΤy ΝΒΤΘΖ ΥΔΒΝΖ ΚΟΦΖΘΤΒΦΖΕ
ΨΚΒ
ΨΠΝΒΦΚΝΖ
ΨΠΦΚΟΘ ΥyΥΦΖΞΥ
ΩΒΗΖΤ
ΩΒΦΔΙΕΠΘ ΦΚΞΖΤΥ ⁸ ⁹
ΩΒΨΖ ΡΚΡΖΝΚΟΖ
ΩΒΨΖΗΠΤΞ
ΩΖΒΜ ,
ΩΖΝΝ

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.

Ί2] HΠΟΘ JΚΒΟΘ ΒΟΕ SΤΚΟΚΨΒΥ CΙΖΟΟΧΡΒΦy. AΤΔΥ001 - ΚΟΦΖΝ’Υ 14ΟΞ


ΞΚΔΤΠΒΤΔΙΚΦΖΔΦΧΤΖ ⁸ΓΤΠΒΕΩΖΝΝ⁹. IΟ Iέγel Develήίeα Fήαuά - IDF, SΙΖΟάΙΖΟ,
CΙΚΟΒ, ΒΡΤ 2015.

Ί3] P. BΒΟΟΠΟ. AΝΡΙΒ EV7: A ΥΔΒΝΒΓΝΖ ΥΚΟΘΝΖ-ΔΙΚΡ ΥΞΡ. IΟ Micαήίαήceββήα Fήαuά,


OΔΦΠΓΖΤ 1998.

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

Ί6] D. KΧΥΙΟΖΤ. hΖ ΤΖΒΝ ΥΦΠΤy ΠΗ ΥΦΧΪΟΖΦ. Sίecγαuά, IEEE, 50⁸3⁹:48–53, MΒΤΔΙ


2013.

Ί7] CΙΒΤΝΚΖ MΚΝΝΖΤ ΒΟΕ CΙΤΚΥ VΒΝΒΥΖΜ. RΖΞΠΦΖ ΖΪΡΝΠΚΦΒΦΚΠΟ ΠΗ ΒΟ ΧΟΒΝΦΖΤΖΕ


ΡΒΥΥΖΟΘΖΤ ΨΖΙΚΔΝΖ. BΝΒΔΜHΒΦ 2015 CΠΟΗΖΤΖΟΔΖ, ΒΧΘ 2015.

Ί8] LΖΩΚΟ EΕΩΒΤΕΥ. Sή Yήu Waέέa Be aέ Eάbedded Eέgiέeeα: he Guide γή


Eάbedded Eέgiέeeαiέg, Fαήά Cήέβulγaέcy γή γhe Cήαίήαaγe Laddeα. EΝΥΖΨΚΖΤ,
SΒΟ DΚΖΘΠ, CA, 2006.

Ί9] TΠΞ FΤΒάΚΖΤ. SΠtΩΒΤΖ ΖΟΘΚΟΖΖΤΚΟΘ ΖΔΠΟΠΞΚΔΥ. GΖΠΤΘΖ MΒΥΠΟ UΟΚΨΖΤΥΚΦy


⁸http://classweb.gmu.edu/aloerch/Frazierlec.pdf⁹, MΒΤΔΙ 2002.

Ί10] PΙΚΝΚΡ KΠΠΡΞΒΟ. EΞΓΖΕΕΖΕ ΥyΥΦΖΞ ΖΟΘΚΟΖΖΤΚΟΘ ΖΔΠΟΠΞΚΔΥ. ECE


DΖΡΒΤΦΞΖΟΦ, CΒΤΟΖΘΚΖ MΖΝΝΠΟ UΟΚΨΖΤΥΚΦy, SΖΡΦΖΞΓΖΤ 2004.

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.

Ί12] CΙΤΚΥΦΚΟΒ SΚΝΨΒΟΠ. IΟΦΤΠΕΧΔΦΚΠΟ ΦΠ ΙΩ/ΥΩ ΔΠ-ΕΖΥΚΘΟ ΠΗ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ.


PΠΝΚΦΖΔΙΟΚΔΠ ΕΚ MΚΝΒΟΠ, 2004.

Ί13] DΖΡΒΤΦΞΖΟΦ ΠΗ TΤΒΕΖ ΒΟΕ IΟΕΧΥΦΤy/IDC BΖΟΖΝΧΪ BV. EΞΓΖΕΕΖΕ ΥΠtΩΒΤΖ


ΤΖΥΖΒΤΔΙ ΚΟ ΦΙΖ ΟΖΦΙΖΤΝΒΟΕΥ. AΟΒΝyΥΚΥ ΒΟΕ RΖΥΧΝΦΥ, 1997.

Ί14] P. GUPTA, V. AGARΆAL, ΒΟΕ M. VARSHNEΈ. DESIGN AND ANALYSIS OF


ALGORITHMS. PHI LΖΒΤΟΚΟΘ, 2012.

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

Ί17] ΆΚΜΚΡΖΕΚΒ. ΆΤΚΦΖ-ΠΟΝy ΞΖΞΠΤy ⁸ΛΠΜΖ⁹ — ΩΚΜΚΡΖΕΚΒ, ΦΙΖ ΗΤΖΖ ΖΟΔyΔΝΠΡΖΕΚΒ,


2015. ΊOΟΝΚΟΖ; ΒΔΔΖΥΥΖΕ 14-SΖΡΦΖΞΓΖΤ-2015].

Ί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].

Ί20] JΠΟΒΦΙΒΟ RΖΟΦάΥΔΙ. DΒΦΒ ΒΝΚΘΟΞΖΟΦ: SΦΤΒΚΘΙΦΖΟ ΧΡ ΒΟΕ ly ΤΚΘΙΦ. IBM


BΝΧΖΞΚΪ TΖΔΙΟΚΔΒΝ TΠΡΚΔΥ, FΖΓΤΧΒΤy 2005.

Ί21] M. DΒΥyΘΖΟΚΥ, E. BΤΠΔΜΞΖyΖΤ, D. SΠΧΕΤΚΥ, F. CΒtΙΠΠΤ, A. hΒΟΒΚΝΒΜΚΥ,


ΒΟΕ G. PΒΡΒΜΠΥΦΒΥ. PΖΤΗΠΤΞΒΟΔΖ ΒΟΕ ΖΟΖΤΘy ΠΡΦΚΞΚάΒΦΚΠΟ ΠΗ ΞΧΝΦΚΞΖΕΚΒ
ΒΡΡΝΚΔΒΦΚΠΟΥ ΧΥΚΟΘ DMA ΔΠΞΓΚΟΖΕ ΩΚΦΙ ΡΤΖΗΖΦΔΙ. Pαήceediέgβ ήf Wήαkβhήί
ήf Cήάίileαβ aέd Oίeαaγiέg Syβγeάβ fήα lήw ίήweα (COLP), OΔΦΠΓΖΤ 2003.

Ί22] ΆΚΜΚΡΖΕΚΒ. CΠΞΡΒΤΚΥΠΟ ΠΗ ΚΟΥΦΤΧΔΦΚΠΟ ΥΖΦ ΒΤΔΙΚΦΖΔΦΧΤΖΥ — ΩΚΜΚΡΖΕΚΒ, ΦΙΖ


ΗΤΖΖ ΖΟΔyΔΝΠΡΖΕΚΒ, 2015. ΊOΟΝΚΟΖ; ΒΔΔΖΥΥΖΕ 18-SΖΡΦΖΞΓΖΤ-2015].

528
Ί23] GΠΤΕΠΟ E. MΠΠΤΖ. CΤΒΞΞΚΟΘ ΞΠΤΖ ΔΠΞΡΠΟΖΟΦΥ ΠΟΦΠ ΚΟΦΖΘΤΒΦΖΕ ΔΚΤΔΧΚΦΥ.
Elecγαήέicβ, 38⁸8⁹:1–4, AΡΤΚΝ 19 1965.

Ί24] F. CΒtΙΠΠΤ, S. ΆΧyΦΒΔΜ, E. DΖ GΤΖΖΗ, F. BΒΝΒΥΒ, L. NΒΔΙΦΖΤΘΒΖΝΖ, ΒΟΕ


A. VΒΟΕΖΔΒΡΡΖΝΝΖ. Cuβγήά Meάήαy Maέageάeέγ Meγhήdήlήgy, Exίlήαaγiήέ
ήf άeάήαy ήαgaέiιaγiήέ fήα eάbedded άulγiάedia βyβγeά deβigέ. KΝΧΩΖΤ
AΔΒΕΖΞΚΔ PΧΓΝΚΥΙΖΤΥ, BΠΥΦΠΟ, MA, 1998.

Ί25] B. MΒΤΘΠΝΚΟ. EΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ ΦΠ ΓΖΟΖiΦ ΗΤΠΞ ΒΕΨΒΟΔΖΥ ΚΟ DRAM


ΦΖΔΙΟΠΝΠΘy. Cήάίuγeα Deβigέ, ΡΒΘΖΥ 76–86, 1997.

Ί26] R. ΆΚΝΥΠΟ. GΤΒΡΙΚΔΥ IC ΨΖΟΕΠΤΥ ΦΒΜΖ Β ΥΙΠΦ ΒΦ ΖΞΓΖΕΕΖΕ DRAM. Elecγαic


Eέgiέeeαiέg Tiάeβ, 1⁸938⁹:41–57, JΒΟΧΒΤy 1997.

Ί27] TΖΪΒΥ IΟΥΦΤΧΞΖΟΦ. TMS320C6201 Fixed Pήiέγ Digiγal Sigέal Pαήceββήα -


SPRS051H, JΒΟΧΒΤy 1997. ⁸ΤΖΨΚΥΖΕ MΒΤΔΙ 2004⁹.

Ί28] ARM LΚΞΚΦΖΕ. ARMTDMI Techέical Refeαeέce Maέual, 1999.

Ί29] ARM. ARM ΥΠtΩΒΤΖ ΕΖΨΖΝΠΡΞΖΟΦ ΦΠΠΝΜΚΦ Ψ2.11. http://www.arm.com,


1996.

Ί30] TI. Texaβ Iέβγαuάeέγ Cήde Cήάίήβeα Sγudiή Maέualβ, 1999.

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

Ί34] R. GyΠΤΠΕΚ, C. GyΠΤΠΕΚ, G. BΠΤΙΒ, M. BΧΤΦΚΔ, L. PΒΝ, ΒΟΕ J. FΖΤΖΟΔάΚ.


AΔΣΧΒΚΟΦΒΟΔΖ ΤΖΞΚΟΕΖΤ ΧΥΚΟΘ ΘΠΠΘΝΖ ΘΝΒΥΥ. IΟ Eέgiέeeαiέg ήf Mήdeαέ Elecγαic
Syβγeάβ (EMES), 2015 13γh Iέγeαέaγiήέal Cήέfeαeέce ήέ, ΡΒΘΖΥ 1–4, JΧΟΖ 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.

Ί36] ΆΚΜΚΡΖΕΚΒ. SΖΞΚΔΠΟΕΧΔΦΠΤ ΗΒΓΤΚΔΒΦΚΠΟ ΡΝΒΟΦ — ΩΚΜΚΡΖΕΚΒ, ΦΙΖ ΗΤΖΖ


ΖΟΔyΔΝΠΡΖΕΚΒ, 2015. ΊOΟΝΚΟΖ; ΒΔΔΖΥΥΖΕ 28-NΠΨΖΞΓΖΤ-2015].

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.

Ί38] C. PΠΧΔΖΦ, S. MΒΞΒΘΜΒΜΚΥ, D. AΦΚΖΟάΒ, ΒΟΕ F. CΒtΙΠΠΤ. SyΥΦΖΞΒΦΚΔ


ΚΟΦΖΤΞΖΕΚΒΦΖ ΥΖΣΧΖΟΔΖ ΤΖΞΠΨΒΝ ΗΠΤ ΤΖΕΧΔΖΕ ΞΖΞΠΤy ΒΔΔΖΥΥΖΥ. Iέ
Pαήceediέgβ ήf γhe10γh Iέγeαέaγiήέal Wήαkβhήί ήέ Sήtwaαe aέd Cήάίileαβ fήα
Eάbedded Syβγeάβ (SCOPES), 2007.

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

Ί40] MΚΔΤΠΥΠt MSDN. LΠΩ ΗΤΒΘΞΖΟΦΒΦΚΠΟ ΙΖΒΡ ΚΟ ·P ΦΖΔΙΟΠΝΠΘΚΖΥ.

Ί41] HΒΟΕΙΖΝΕ ΣΧΒΜΖ.

Ί42] MΠΓy ΘΒΞΖΥ. A ΘΒΞΖ ΕΠΔΧΞΖΟΦΒΦΚΠΟ ΒΟΕ ΤΖΨΚΖΩ ΡΤΠΛΖΔΦ.

Ί43] J. KΠάΧΓΚΜ. FΤΖΖΓΥΕ ΒΟΕ ΥΠΝΚΕ ΥΦΒΦΖ ΕΖΨΚΔΖΥ, 2001.

Ί44] G. MΖΞΚΜ, Ά. H. MΒΟΘΚΠΟΖ-SΞΚΦΙ, ΒΟΕ Ά. HΧ. NΖΦΓΖΟΔΙ: Β ΓΖΟΔΙΞΒΤΜΚΟΘ


ΥΧΚΦΖ ΗΠΤ ΟΖΦΩΠΤΜ ΡΤΠΔΖΥΥΠΤΥ. iέ ICCAD ’01: Pαήceediέgβ ήf γhe 2001
IEEE/ACM Iέγeαέaγiήέal Cήέfeαeέce ήέ Cήάίuγeα-Aided Deβigέ (IEEE Pαeββ,
Piβcaγaway, NJ, USA, 2001), ίί. 39-42., 2001.

Ί45] TΚ OMAP ΡΝΒΦΗΠΤΞ, 2004.

Ί46] N. JΠΧΡΡΚ. ΆΖΥΦΖΤΟ ΤΖΥΖΒΤΔΙ ΝΒΓΠΤΒΦΠΤy, CACTI, 2002.


ΙtΡ://ΤΖΥΖΒΤΔΙ.ΔΠΞΡΒΣ.ΔΠΞ/ΩΤΝ/ΡΖΠΡΝΖ/ΛΠΧΡΡΚ/CACTI.ΙΦΞΝ.

Ί47] P. MΒΤΔΙΒΝ, C. ΆΠΟΘ, A. PΤΒyΒΦΚ, N. CΠΥΥΖΞΖΟΦ, F. CΒtΙΠΠΤ, R. LΒΧΩΖΤΖΚΟΥ,


D. VΖΤΜΖΥΦ, ΒΟΕ H. DΖ MΒΟ. IΞΡΒΔΦ ΠΗ ΦΒΥΜ ΝΖΨΖΝ ΔΠΟΔΧΤΤΖΟΔy
ΦΤΒΟΥΗΠΤΞΒΦΚΠΟΥ ΠΟ ΦΙΖ ΞΡΖΘ4 ΚΞ1 ΡΝΒyΖΤ ΗΠΤ ΩΖΒΜΝy ΡΒΤΒΝΝΖΝ ΡΤΠΔΖΥΥΠΤ
ΡΝΒΦΗΠΤΞ. iέ Pαήceediέgβ ήf Paαallel Aαchiγecγuαeβ aέd Cήάίilaγiήέ Techέiqueβ
(PACT), 2003.

Ί48] M. LΖΖΞΒΟ, D. AΦΚΖΟάΒ, G. DΖΔΠΟΚΟΔΜ, V. FΝΠΤΚΠ, J.M. MΖΟΕΚΒΥ, C. ΈΜΞΒΟ-


CΠΧΨΤΖΧΤ, F. CΒtΙΠΠΤ, ΒΟΕ R. LΒΧΩΖΤΖΚΟΥ. MΖΦΙΠΕΠΝΠΘy ΗΠΤ ΤΖiΟΖΞΖΟΦ ΒΟΕ
ΠΡΦΚΞΚΥΒΦΚΠΟ ΠΗ ΕyΟΒΞΚΔ ΞΖΞΠΤy ΞΒΟΒΘΖΞΖΟΦ ΗΠΤ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ ΚΟ
ΞΧΝΦΚΞΖΕΚΒ ΒΡΡΝΚΔΒΦΚΠΟΥ. IΟ J. VLSI Sig. Pαήceββ. Syβγ. 40(3), ΡΒΘΖΥ 383–396,
2005.

Ί49] MΠΙΒΞΖΕ SΙΒΝΒΟ ΒΟΕ VΚΟΔΖΟΦ J. MΠΠΟΖy. A ΕyΟΒΞΚΔ ΞΖΞΠΤy ΞΒΟΒΘΖΞΖΟΦ


ΧΟΚΦ ΗΠΤ ΖΞΓΖΕΕΖΕ ΤΖΒΝ-ΦΚΞΖ ΥyΥΦΖΞ-ΠΟ-Β-ΔΙΚΡ. IΟ Pαήceediέgβ ήf γhe
2000 Iέγeαέaγiήέal Cήέfeαeέce ήέ Cήάίileαβ, Aαchiγecγuαe, aέd Syέγheβiβ fήα

530
Eάbedded Syβγeάβ, CASES ’00, ΡΒΘΖΥ 180–186, NΖΩ ΈΠΤΜ, NΈ, USA, 2000.
ACM.

Ί50] S. SΧΓΙΒ. AΟ ΖΪΔΝΧΥΚΨΖ ΔΒΔΙΖ ΞΠΕΖΝ. iέ IEEE ITNG, ΡΒΘΖΥ 1715–1716, 2009.

Ί51] IΥΠ/ΚΖΔ ΛΦΔ1/ΥΔ29/ΩΘ11 ΞΡΖΘ-4 ΥΦΒΟΕΒΤΕ ΗΖΒΦΧΤΖΥ ΠΨΖΤΨΚΖΩ.

Ί52] C. BΒΝΠΧΜΒΥ, J.L. RΚΥΔΠ-MΒΤΦΚΟ, D. AΦΚΖΟάΒ, C. PΠΧΔΖΦ, L. PΒΡΒΕΠΡΠΧΝΠΥ,


S. MΒΞΒΘΜΒΜΚΥ, D. SΠΧΕΤΚΥ, J. IΘΟΒΔΚΠ HΚΕΒΝΘΠ, F. CΒtΙΠΠΤ, ΒΟΕ J. LΒΟΔΙΒΤΖΥ.
OΡΦΚΞΚάΒΦΚΠΟ ΞΖΦΙΠΕΠΝΠΘy ΠΗ ΕyΟΒΞΚΔ ΕΒΦΒ ΥΦΤΧΔΦΧΤΖΥ ΓΒΥΖΕ ΠΟ ΘΖΟΖΦΚΔ
ΒΝΘΠΤΚΦΙΞΥ ΗΠΤ ΞΧΝΦΚΞΖΕΚΒ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ. IΟ J. Syβγ. Sήtw. 82(4), ΡΒΘΖΥ
590–602, 2008. SΡΖΔΚΒΝ IΥΥΧΖ: SΖΝΖΔΦΖΕ ΡΒΡΖΤΥ ΗΤΠΞ ΦΙΖ 2008 IEEE CΠΟΗΖΤΖΟΔΖ
ΠΟ SΠtΩΒΤΖ EΟΘΚΟΖΖΤΚΟΘ EΕΧΔΒΦΚΠΟ ΒΟΕ TΤΒΚΟΚΟΘ ⁸CSEET08⁹⁹ EΟΘΚΟΖΖΤΚΟΘ
EΕΧΔΒΦΚΠΟ ΒΟΕ TΤΒΚΟΚΟΘ ⁸CSEET08⁹.

Ί53] S. ΆΧyΦΒΔΜ, F. CΒtΙΠΠΤ, ΒΟΕ H. DΖ MΒΟ. TΤΒΟΥΗΠΤΞΚΟΘ ΥΖΦ ΕΒΦΒ ΦyΡΖΥ ΦΠ


ΡΠΩΖΤ ΠΡΦΚΞΒΝ ΕΒΦΒ ΥΦΤΧΔΦΧΤΖΥ. T IEEE Tαaέβ. Cήάίuγ. Aided Deβ 15(6), 619-
629, 1996. T IEEE TΤΒΟΥ. CΠΞΡΧΦ. AΚΕΖΕ DΖΥ 15⁸6⁹, 619-629 ⁸1996.

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

Ί55] ΓΠΠΥΦ.ΠΤΘ. BΠΠΥΦ C++ ΝΚΓΤΒΤΚΖΥ, 2009.

Ί56] M. ΆΠΠ ΒΟΕ J. NΖΚΕΖΤ. OΡΖΟGL ΡΤΠΘΤΒΞΞΚΟΘ ΘΧΚΕΖ. 2έd edέ. (Silicήέ
Gαaίhicβ Iέc), 1997.

Ί57] S. MΒΞΒΘΜΒΜΚΥ, D. AΦΚΖΟάΒ, C. PΠΧΔΖΦ, F. CΒtΙΠΠΤ, D. SΠΧΕΤΚΥ, ΒΟΕ J. M.


MΖΟΕΚΒΥ. CΧΥΦΠΞ ΕΖΥΚΘΟ ΠΗ ΞΧΝΦΚ-ΝΖΨΖΝ ΕyΟΒΞΚΔ ΞΖΞΠΤy ΞΒΟΒΘΖΞΖΟΦ
ΥΧΓΥyΥΦΖΞ ΗΠΤ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ. iέ Pαήceediέgβ ήf γhe IEEEWήαkβhήί ήέ
Sigέal Pαήceββiέg Syβγeάβ (SIPS) (IEEE Pαeββ), ΡΒΘΖΥ 170–175, 2004.

Ί58] A. BΒΤΦάΒΥ, M. PΖΠΟ-uΚΤΠΥ, S.MΒΞΒΘΜΒΜΚΥ, F. CΒtΙΠΠΤ, D. SΠΧΕΤΚΥ, ΒΟΕ


J.M.MΖΟΕΚΒΥ. EΟΒΓΝΚΟΘ ΤΧΟ-ΦΚΞΖ ΞΖΞΠΤy ΕΒΦΒ ΦΤΒΟΥΗΖΤ ΠΡΦΚΞΚάΒΦΚΠΟΥ ΒΦ
ΦΙΖ ΥyΥΦΖΞ ΝΖΨΖΝ ΩΚΦΙ ΒΧΦΠΞΒΦΖΕ ΖΪΦΤΒΔΦΚΠΟ ΠΗ ΖΞΓΖΕΕΖΕ ΥΠtΩΒΤΖ ΞΖΦΒΕΒΦΒ
ΚΟΗΠΤΞΒΦΚΠΟ. IΟ Iέ Pαήceediέgβ ήf ASP-DAC (IEEE Cήάίuγeα 73 Sήcieγy Pαeββ,
2008), ΡΒΘΖΥ 434–439, 2008.

Ί59] K. DΖΓ. Oίγiάiιaγiήέ fήα Eέgiέeeαiέg Deβigέ: Algήαiγhάβ aέd Exaάίleβ.


PΤΖΟΦΚΔΖ-HΒΝΝ ΠΗ IΟΕΚΒ, 2004.

Ί60] DΒΨΚΕ AΦΚΖΟάΒ, CΙΤΚΥΦΠΥ BΒΝΠΧΜΒΥ, LΒάΒΤΠΥ PΒΡΒΕΠΡΠΧΝΠΥ, CΙΤΚΥΦΠΡΙΖ


PΠΧΔΖΦ, SΦyΝΚΒΟΠΥ MΒΞΒΘΜΒΜΚΥ, JΠΥΖ I. HΚΕΒΝΘΠ, FΤΒΟΔΜy CΒtΙΠΠΤ, DΚΞΚΦΤΚΠΥ

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.

Ί61] C. PΠΧΔΖΦ, D. AΦΚΖΟάΒ, ΒΟΕ F. CΒtΙΠΠΤ. TΖΞΡΝΒΦΖ-ΓΒΥΖΕ ΥΖΞΚ-


ΒΧΦΠΞΒΦΚΔ ΡΤΠiΝΚΟΘ ΠΗ ΞΧΝΦΚΞΖΕΚΒ ΒΡΡΝΚΔΒΦΚΠΟΥ. IΟ Iέ Pαήceediέgβ ήf γhe
Iέγeαέaγiήέal Cήέfeαeέce ήέMulγiάedia aέd Exίή (ICME) (IEEE Cήάίuγeα,
Sigέal Pαήceββiέg, Syβγeά aέd Cήάάuέicaγiήέβ Sήcieγy, ΡΒΘΖΥ 1061–1064,
TΠΤΠΟΦΠ, CΒΟΒΕΒ, 2006.

Ί62] A. V. AΙΠ, R. SΖΦΙΚ, ΒΟΕ J. D. UΝΝΞΒΟ. Cήάίileαβ: Pαiέciίleβ (Techέiqueβ aέd


Tήήlβ). AΕΕΚΥΠΟ- 15 ΆΖΥΝΖy IΟΔ, ΆΠΜΚΟΘΙΒΞ, 1986.

Ί63] D. MΒyΙΖΩ D. BΧΝΜΒ. Eicieέγ C++. AΕΕΚΥΠΟ-ΆΖΥΝΖy, ΆΠΜΚΟΘΙΒΞ, 2001.

Ί64] M.N. JΠΥΧtΚΥ. he C++ Sγaέdaαd Libαaαy. AΕΕΚΥΠΟ ΆΖΥΝΖy, HΒΤΝΠΩ, 1999.

Ί65] A. AΝΖΪΒΟΕΤΖΥΔΧ. Mήdeαέ C++ Deβigέ: Geέeαic Pαήgαaάάiέg aέd Deβigέ


Pateαέβ Aίίlied. AΕΕΚΥΠΟ-ΆΖΥΝΖy PΧΓΝΚΥΙΚΟΘ CΠΞΡΒΟy IΟΔ, ΆΠΤΜΚΟΘΙΒΞ,
EΟΘΝΒΟΕ, 2001.

Ί66] A. BΒΤΦάΒΥ, S. MΒΞΒΘΜΒΜΚΥ, G. PΠΧΚΜΝΚΥ, D. AΦΚΖΟάΒ, F. CΒtΙΠΠΤ, D. SΠΧΕΤΚΥ,


ΒΟΕ A. hΒΟΒΚΝΒΜΚΥ. DyΟΒΞΚΔ ΕΒΦΒ ΦyΡΖ ΤΖiΟΖΞΖΟΦ ΞΖΦΙΠΕΠΝΠΘy
ΗΠΤ ΥyΥΦΖΞΒΦΚΔ ΡΖΤΗΠΤΞΒΟΔΖ-ΖΟΖΤΘy ΕΖΥΚΘΟ ΖΪ ΡΝΠΤΒΦΚΠΟ ΠΗ ΟΖΦΩΠΤΜ
ΒΡΡΝΚΔΒΦΚΠΟΥ. IΟ Pαήceediέgβ ήf γhe Cήέfeαeέce ήέ Deβigέ, ΡΒΘΖΥ 740–
745, 2006. AΧΦΠΞΒΦΚΠΟ ΒΟΕ ΦΖΥΦ ΚΟ EΧΤΠΡΖ ⁸EΧΤΠΡΖΒΟDΖΥΚΘΟ ΒΟΕ
AΧΦΠΞΒΦΚΠΟAΥΥΠΔΚΒΦΚΠΟ,LΖΧΨΖΟ, 2006⁹.

Ί67] E. G. DΒyΝΚΘΙΦ, D. AΦΚΖΟάΒ, A. VΒΟΕΖΔΒΡΡΖΝΝΖ, F. CΒtΙΠΠΤ, ΒΟΕ J.M.


MΖΟΕΚΒΥ. MΖΞΠΤy-ΒΔΔΖΥΥ ΒΩΒΤΖ ΕΒΦΒ ΥΦΤΧΔΦΧΤΖ ΦΤΒΟΥΗΠΤΞΒΦΚΠΟΥ ΗΠΤ
ΖΞΓΖΕΕΖΕ ΥΠtΩΒΤΖ ΩΚΦΙ ΕyΟΒΞΚΔ ΕΒΦΒ ΒΔΔΖΥΥΖΥ. IΟ IEEE Tαaέβaέcγiήέβ ήέ
VLSI Syβγeάβ, ΨΠΝΧΞΖ 12, ΡΒΘΖΥ 269–280, 2004.

Ί68] F. CΒtΙΠΠΤ, P. RΒΘΙΒΨΒΟ, A. LΒΞΓΤΖΔΙΦΥ, M. JΒyΒΡΒΝΒ, A. KΤΚΦΚΜΒΜΠΧ, ΒΟΕ


J. AΓΥΒΤ. Daγa Acceββ aέd Sγήαage Maέageάeέγ fήα Eάbedded Pαήgαaάάable
Pαήceββήαβ. SΡΤΚΟΘΖΤ, GΖΤΞΒΟy, 2010.

Ί69] S. V. GΙΖΠΤΘΙΚΦΒ, M. PΒΝΜΠΨΚΔ, J. HΒΞΖΤΥ, A. VΒΟΕΖΔΒΡΡΖΝΝΖ, S. MΒΞΒΘΜΒΜΚΥ,


T. BΒΥΦΖΟ, L. EΖΔΜΙΠΧΦ, H. CΠΤΡΠΤΒΒΝ, F. CΒtΙΠΠΤ, F. VΒΟΕΖΡΧtΖ, ΒΟΕ K. DΖ
BΠΥΥΔΙΖΤΖ. SyΥΦΖΞ-ΥΔΖΟΒΤΚΠ-ΓΒΥΖΕ ΕΖΥΚΘΟ ΠΗ ΕyΟΒΞΚΔ ΖΞΓΖΕΕΖΕ ΥyΥΦΖΞΥ.
IΟ ACMTαaέβ. Deβ. Auγήάa. Elecγαήέ. Syβγ. (TODAES) 14(1), 1-45 (2009), 2009.

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.

Ί71] N. P. NΘΠΔ, Ά. ΨΒΟ RΒΖΞΕΠΟΔΜ, G. LΒΗΤΧΚΦ, G. DΖΔΠΟΚΟΔΜ, ΒΟΕ R. LΒΧΩΖΤΖΚΟΥ.


QΠΥ ΗΤΒΞΖΩΠΤΜ ΗΠΤ ΚΟΦΖΤΒΔΦΚΨΖ 3Ε ΒΡΡΝΚΔΒΦΚΠΟΥ. iέ Pαήceediέgβ ήf
10γh Iέγeαέaγiήέal Cήέfeαeέce iέ Ceέγαal Euαήίe ήέ Cήάίuγeα Gαaίhicβ,
Viβualiιaγiήέ aέd Cήάίuγeα Viβiήέ, ΡΒΘΖΥ 17–325, 2002.

Ί72] A. SΞΒΚΝΒΘΚΔ, D.P. SΚΖΩΚΠΤΖΔ, D.AΟΕΖΤΥΠΟ, C.KΒΥΒΓΒΔΜ, T.MΒΤΦΚΟ, ΒΟΕ


J. SΦΚΨΠΤΚΔ. BΖΟΔΙΞΒΤΜΚΟΘ ΒΟ ΚΟΦΖΤΕΚΥΔΚΡΝΚΟΒΤy ΔΠΟΔΧΤΤΖΟΦ ΕΖΥΚΘΟ
ΞΖΦΙΠΕΠΝΠΘy ΗΠΤ ΖΝΖΔΦΤΠΟΚΔ/ΞΖΔΙΒΟΚΔΒΝ ΥyΥΦΖΞΥ. Iέ: Pαήceediέgβ ήf γhe 32έd
ACM/IEEE cήέfeαeέce ήέ Deβigέ Auγήάaγiήέ Cήέfeαeέce (DAC), ΡΒΘΖΥ 514–
519, 1995.

Ί73] T. HΖΟΕΖΤΥΠΟ, D. KΠΦά, ΒΟΕ I. AΓyάΠΨ. hΖ ΔΙΒΟΘΚΟΘ ΧΥΒΘΖ ΠΗ ΒΞΒΦΧΤΖ


ΔΒΞΡΧΥ-ΩΚΕΖ ΩΚΤΖΝΖΥΥ ΟΖΦΩΠΤΜ. IΟ iέ Pαήceediέgβ ήf γhe Iέγeαέaγiήέal
Cήέfeαeέce ήέ Mήbile Cήάίuγiέg aέd Neγwήαkiέg (MήbiCήά), ΡΒΘΖΥ 187–
201, 2004.

Ί74] S. MΒΞΒΘΜΒΜΚΥ, A. BΒΤΦάΒΥ, G. PΠΧΚΜΝΚΥ, D. AΦΚΖΟάΒ, F. CΒtΙΠΠΤ, D. SΠΧΕΤΚΥ,


ΒΟΕ AΟΦΠΟΚΠΥ hΒΟΒΚΝΒΜΚΥ. SyΥΦΖΞΒΦΚΔ ΞΖΦΙΠΕΠΝΠΘy ΗΠΤ ΖΪΡΝΠΤΒΦΚΠΟ ΠΗ
ΡΖΤΗΠΤΞΒΟΔΖ-ΖΟΖΤΘy ΦΤΒΕΖ-ΠfΥ ΚΟ ΟΖΦΩΠΤΜ ΒΡΡΝΚΔΒΦΚΠΟΥ ΧΥΚΟΘ ΕyΟΒΞΚΔ ΕΒΦΒ
ΦyΡΖ ΤΖiΟΖΞΖΟΦ. Jήuαέal ήf Syβγeά Aαchiγecγecγuαeβ, 53⁸7⁹:417–436, 2007.

Ί75] M. DΒΥyΘΖΟΚΥ, E. BΤΠΔΜΞΖyΖΤ, B. DΧΤΚΟΔΜ, F. CΒtΙΠΠΤ, D. SΠΧΕΤΚΥ, ΒΟΕ


A. hΒΟΒΚΝΒΜΚΥ. A ΔΠΞΓΚΟΖΕ ΕΞΒ ΒΟΕ ΒΡΡΝΚΔΒΦΚΠΟ-ΥΡΖΔΚiΔ ΡΤΖΗΖΦΔΙΚΟΘ
ΒΡΡΤΠΒΔΙ ΗΠΤ ΦΒΔΜΝΚΟΘ ΦΙΖ ΞΖΞΠΤy ΝΒΦΖΟΔy ΓΠtΝΖΟΖΔΜ. IΟ IEEE Tαaέβ. Veαy
Laαge Scale Iέγegα. Syβγ. (TVLSI) 14(3), ΡΒΘΖΥ 279–291, 2006.

Ί76] MΒΤΔ LΖΖΞΒΟ, DΒΨΚΕ AΦΚΖΟάΒ, FΤΒΟΔΜy CΒtΙΠΠΤ, V. DΖ FΝΠΤΚΠ, G. DΖΔΠΟΚΟΔΜ,


J.M. MΖΟΕΚΒΥ, ΒΟΕ R. LΒΧΩΖΤΖΚΟΥ. PΠΩΖΤ ΖΥΦΚΞΒΦΚΠΟ ΒΡΡΤΠΒΔΙ ΠΗ ΕyΟΒΞΚΔ
ΕΒΦΒ ΥΦΠΤΒΘΖ ΠΟ Β ΙΒΤΕΩΒΤΖ ΥΠtΩΒΤΖ ΓΠΧΟΕΒΤy ΝΖΨΖΝ. IΟ JΠΤΘΖJΧΒΟ CΙΚΔΠ
ΒΟΕ EΟΤΚΔΠ MΒΔΚΚ, ΖΕΚΦΠΤΥ, Iέγegαaγed Ciαcuiγ aέd Syβγeά Deβigέ. Pήweα aέd
Tiάiέg Mήdeliέg, Oίγiάiιaγiήέ aέd Siάulaγiήέ, ΨΠΝΧΞΖ 2799 ΠΗ Lecγuαe Nήγeβ
iέ Cήάίuγeα Scieέce, ΡΒΘΖΥ 289–298. SΡΤΚΟΘΖΤ BΖΤΝΚΟ HΖΚΕΖΝΓΖΤΘ, 2003.

Ί77] UΟΚΨΖΤΥΚΦy ΠΗ GΝΒΥΘΠΩ. GΝΒΥΘΠΩ ΙΒΥΜΖΝΝ ΔΠΞΡΚΝΖΤ.

Ί78] K. S. MΔKΚΟΝΖy E. D. BΖΤΘΖΤ, B. G. ΉΠΤΟ. CΠΞΡΠΥΚΟΘ ΙΚΘΙ-ΡΖΤΗΠΤΞΒΟΔΖ


ΞΖΞΠΤy ΒΝΝΠΔΒΦΠΤΥ. IΟ Iέ Pαήceediέgβ ACM SIGPLAN Cήέfeαeέce ήέ
Pαήgαaάάiέg Laέguage Deβigέ aέd Iάίleάeέγaγiήέ (PLDI), ΡΒΘΖΥ 114–124,
SΟΠΩΓΚΤΕ, UΦΒΙ, 2001.

533
Ί79] MΚΔΤΠΥΠt CΠΤΡΠΤΒΦΚΠΟ. HΖΒΡ:ΡΝΖΒΥΧΤΖΥ ΒΟΕ ΡΒΚΟΥ ⁸ΗΠΤ ΩΚΟΕΠΩΥ NT
ΦΖΔΙΟΠΝΠΘΚΖΥ⁹.

Ί80] MΚΔΤΠΥΠt CΠΤΡΠΤΒΦΚΠΟ. HΖΒΡΥ ΚΟ ΩΚΟΕΠΩΥ CE.

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

Ί82] P. ΆΒΕΝΖΤ. DΖΗΠΤΖΥΦΒΦΚΠΟ: TΤΒΟΥΗΠΤΞΚΟΘ ΡΤΠΘΤΒΞΥ ΦΠ ΖΝΚΞΚΟΒΦΖ ΦΤΖΖΥ. iέ


ESOP ’88. Euαήίeaέ Syάίήβiuά ήέ Pαήgαaάάiέg, Naέcy, Fαaέce. Lecγuαe
Nήγeβ iέ Cήάίuγeα Scieέce, 300:344–358, 1988.

Ί83] OΟ-ΝΚΟΖ ΒΡΡΝΚΔΒΦΚΠΟ ΤΖΥΖΒΤΔΙ ⁸OAR⁹, 2002.

Ί84] S. M. BΝΒΔΜΓΧΤ ΒΟΕ K. S. MΔKΚΟΝΖy. UΝΦΖΤΚΠΤ ΤΖΗΖΤΖΟΔΖ ΔΠΧΟΦΚΟΘ: FΒΥΦ ΘΒΤΓΒΘΖ


ΔΠΝΝΖΔΦΚΠΟ ΩΚΦΙΠΧΦ Β ΝΠΟΘ ΩΒΚΦ. IΟ SIGPLAN 2003 Cήέfeαeέce ήέ Objecγ-
Oαieέγed Pαήgαaάάiέg,Syβγeάβ,Laέguageβ aέd Aίίlicaγiήέβ, OOPSLA’03,
AΟΒΙΖΚΞ, CΒΝΚΗΠΤΟΚΒ, USA, ΠΔΦ 2003.

Ί85] P. CΙΖΟΘ, D. F. BΒΔΠΟ, ΒΟΕ V. T. RΒΛΒΟ. AΤΖΒΝ-ΦΚΞΖ ΘΒΤΓΒΘΖ ΔΠΝΝΖΔΦΠΤΩΚΦΙ


ΝΠΩΠΨΖΤΙΖΒΕ ΒΟΕ ΔΠΟΥΚΥΦΖΟΦ ΧΦΚΝΚάΒΦΚΠΟ. IΟ Iέ Pαήceediέgβ ήf SIGPLAN 2003
Syάίήβiuά ήέ Pαiέciίleβ ήf Pαήgαaάάiέg Laέguageβ, POPL’03, NΖΩ OΤΝΖΒΟΥ,
LΠΧΥΚΒΟΒ, USA, 2003. ⁸ACM SIGPLAN NΠΦΚΔΖΥ, ACM PΤΖΥΥ⁹.

Ί86] S. SΦΖΚΟΜΖ, N. GΤΧΟΩΒΝΕ, L.ΆΖΙΞΖyΖΤ, R. BΒΟΒΜΒΤ, M. BΒΝΒΜΤΚΥΙΟΒΟ,


ΒΟΕ P. MΒΤΩΖΕΖΝ. RΖΕΧΔΚΟΘ ΖΟΖΤΘy ΔΠΟΥΧΞΡΦΚΠΟ Γy ΕyΟΒΞΚΔ ΔΠΡyΚΟΘ
ΠΗ ΚΟΥΦΤΧΔΦΚΠΟΥ ΠΟΦΠ ΠΟΔΙΚΡΞΖΞΠΤy. Iέ: Pαήceediέgβ 388 IEEE/ACM
Iέγeαέaγiήέal Syάίήβiuά ήέ Syβγeά Syέγheβiβ (ISSS) (IEEE Pαeββ), 2002.

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

Ί89] F. CΒtΙΠΠΤ ΒΟΕ E. BΤΠΔΜΞΖyΖΤ. Uέiied Meγa-Flήw Suάάaαy fήα Lήw-Pήweα


Daγa-Dήάiέaγed Aίίlicaγiήέβ, ΔΙΒΡΦΖΤ UΟΚiΖΕ LΠΩ-PΠΩΖΤ DΖΥΚΘΟ FΝΠΩ ΗΠΤ
DΒΦΒ-DΠΞΚΟΒΦΖΕ MΧΝΦΚ-MΖΕΚΒ ΒΟΕ TΖΝΖΔΠΞ AΡΡΝΚΔΒΦΚΠΟΥ. KΝΧΩΖΤ AΔΒΕΖΞΚΔ
PΧΓΝΚΥΙΖΤΥ, BΠΥΦΠΟ, USA, 2000.

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ΖΚΕΖΝΓΖΤΘ.

Ί91] D. LΧΖΓΜΖ, M. RΖΕΕy, J. CΠΙΖΟ, A. VΒΤΥΙΟΖy, B. ΆΒΦΥΠΟ, ΒΟΕ R. HΧΖΓΟΖΤ.


Level ήf Deγail fήα 3D Gαaίhicβ. MΠΤΘΒΟ-KΒΧΗΞΒΟΟ PΧΓΝΚΥΙΖΤΥ, SΒΟ
FΤΒΟΔΚΥΔΠ, 2002.

Ί92] G. MΖΞΚΜ, B. MΒΟΘΚΠΟΖ-SΞΚΦΙ, ΒΟΕ Ά. HΧ. NΖΦΓΖΟΔΙ: Β ΓΖΟΔΙΞΒΤΜΚΟΘ ΥΧΚΦΖ


ΗΠΤ ΟΖΦΩΠΤΜ ΡΤΠΔΖΥΥΠΤΥ. Techέical αeίήαγ, CARES Techέical Reίήαγ 2001-2-01
(2001), 2001.

Ί93] DΖΤΚΔΜ ΆΠΠΕ. DΒΦΒ ΥΦΤΧΔΦΧΤΖΥ: AΝΘΠΤΚΦΙΞΥ ΒΟΕ ΡΖΤΗΠΤΞΒΟΔΖ, 1993.

Ί94] LΒΩΤΖΟΔΖ BΖΤΜΖΝΖy NΒΦΚΠΟΒΝ LΒΓΠΤΒΦΠΤy. hΖ ΚΟΦΖΤΟΖΦ ΦΤΒiΔ ΒΤΔΙΚΨΖ, 2000.

Ί95] D. LΖΒ. hΖ ΝΖΒ 2.7.2 ΕyΟΒΞΚΔ ΞΖΞΠΤy ΒΝΝΠΔΒΦΠΤ, 2002.

Ί96] M. LΠΘΙΚ, F. AΟΘΚΠΝΚΟΚ, D. BΖΤΦΠάάΚ, L. BΖΟΚΟΚ, ΒΟΕ R. ΉΒΗΒΝΠΟ. AΟΒΝyάΚΟΘ


ΠΟ-ΔΙΚΡ ΔΠΞΞΧΟΚΔΒΦΚΠΟ ΚΟ Β MPSΠC ΖΟΨΚΤΠΟΞΖΟΦ. IΟ Deβigέ, Auγήάaγiήέ
aέd Teβγ iέ Euαήίe Cήέfeαeέce aέd Exhibiγiήέ, 2004. Pαήceediέgβ, ΨΠΝΧΞΖ 2,
ΡΒΘΖΥ 752–757, FΖΓ 2004.

Ί97] MΒΥΥΚΞΠ BΒΟάΚ, DΒΨΚΕ CΧΒΤΦΚΖΝΝΖΥ, TΠΞ IΘΠΖ, GΚΒΟΝΧΔΒ MΒΤΦΚΟΠ, ΒΟΕ DΒΨΚΕ
MΖΝΝΚΥ. AΤΕΧΚΟΠ ΠiΔΚΒΝ ΩΖΓΥΚΦΖ. ⁸OΟ-ΝΚΟΖ⁹ http://www.arduino.cc/, 2015.

Ί98] AΤΕΧΚΟΠ CΠΞΞΧΟΚΦy. AΤΕΧΚΟΠ ΠiΔΚΒΝ IDE ΩΖΓΥΚΦΖ. ⁸OΟ-ΝΚΟΖ⁹ http://


arduino.cc/en/Guide/Environment/, 2015.

Ί99] HΖΤΟΒΟΕΠ BΒΤΤΒΘΒΟ. ΆΚΤΚΟΘ : ΠΡΖΟ-ΥΠΧΤΔΖ ΡΤΠΘΤΒΞΞΚΟΘ ΗΤΒΞΖΩΠΤΜ ΗΠΤ


ΞΚΔΤΠΔΠΟΦΤΠΝΝΖΤΥ. ⁸OΟ-ΝΚΟΖ⁹ http://wiring.org.co/, 2015.

535

You might also like