You are on page 1of 176

.

/ &
&
3.1
2006


.
, ,
..

. ,
,
, , ,
, , .
/ &
.
/ &
, ,
.
" "
.
,
.

2001 ,
(
), . 3.0
,
.
.

. ,
.
.
.
.

1 ______________________________________________________ 7
_______________________________________________________________7
1.1 von Neumann _________________________________________________8
1.2 _____________________________________________10
1.3 _________________________________________11

2 _____________________________________________________ 15
A ________________________________________________15
2.1 _________________________________15
2.2 - - ___________________17
2.3 ____________________________________________________21
2.3.1. (signed magnitude / sign and magnitude) ____________________22
2.3.2. - (excess / biased code)__________________________22
2.3.3. 1 _________________________________________________23
2.3.4. 2 _________________________________________________26
2.4 __________________________________________28
2.4.1 ___________________________________________________30
2.4.2 ____________________________________________________31
2.5 __________________________34
2.5.1. ________________________________34
2.5.2. _________________________________________________36
2.5.3. _________________38

3 _____________________________________________________ 41
_____________________________________________________41
3.1 / 1_________________________________42
3.2 / 2_________________________________43
3.3 / _____________________________45
3.4 _____________________________________________46
3.5 __________________________________47
3.6 __________________________________________50
3.7 _____________________________________50
3.8 Booth _____________________51
3.9 ______________________________________53
3.10 _________________________________________________________55

4 _____________________________________________________ 57
____________________________________________57
4.1 ___________________________________________________________57
4.1.1 ____________________________________________62
4.1.2 _______________________________________________________63
4.2 ______________________________________________67
4.3 ____________________________________________________69
5_______________________________________________________73
_____________________________________________________ 73
5.1 __________________________________________________________ 75
5.2 _______________________________________________________ 76
5.3 ______________________________________________ 80
5.4 ___________________________________________ 81
5.4 ________________________________________________ 84
5.5 Assembly_________________________________ 86

6______________________________________________________89
- _______________________________________________________ 89
6.1 (masters) (slaves) _____________________________ 89
6.2 (Single master Many slaves) _____________________ 90
6.3 (Multiple master arbitration) ___________________ 93
6.4 __________________________________ 96
6.5 (Secondary Storage / Mass Storage)____________________________ 99
6.5.1. ____________________________________________________________ 99
6.5.2. (Hard Disks) ___________________________________________ 103
6.5.3. (Magnetic Tapes) ____________________________________ 105
6.5.4. O (ptical Disks)__________________________________________ 106
6.6 ________________________________________________________ 107
6.6.1. (Keyboard) _____________________________________________ 107
6.6.2. ______________________________________________ 108
6.7 _________________________________________________________ 109
6.7.1 ____________________________________________________________ 109
6.7.2 O _________________________________________________________ 113

7______________________________________________________117
___________________________________________________ 117
7.1. ______________________________________________________ 120
7.2. _____________________________________________________ 121
7.3. _______________________________________________________ 122
7.4. _________________________________________________ 122
7.4.1. CSMA / CD (Carrier Sense Multiple Access with Collision Detection)___________ 123
7.4.2. Token Based ________________________________________________________ 123

8______________________________________________________125
& _______________________________ 125

9______________________________________________________139
E __________________________________________________ 139
1

() f(x) () x,
x.
.
,
,
,

, .
( ).



(versatility).

(primitives)

.

,
,
.
f1(A, B) = + ,
f2(, ) = A B 0, f3(A) = 0 0 1 .
f4(A, B, C) = A + B C f5(, ) = A *

- 7 -
1 -

B. f4(A, B, C) = f2(f1(A, B) , C) f5(, ) = f1(, f5(, -1))


f3(f2(B, 1)) = 1 f1(, 0) .
.

.

1.1 von Neumann




. .

,
.
,
( ).
-,
.

:

(..
).
,
.
,
,
.

.

.

, .

John Louis von Neumann (1903
1957). (

Princeton von Neumann, J. Prespert Eckert

- 8 -
1 -

John Mauchly. Alan Turing




Charles Babbage (1792 1871)). von
Neumann
, , .
von Neumann
5 (
,
) :


0000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000

0000000000000000000000000 0000000000000000000000000

0000000000000000000000000
0000000000000000000000000 & 0000000000000000000000000
0000000000000000000000000

A
.
(Input Unit),
(data) .
(instructions)
.
(Memory Unit).
,
.

(Arithmetic Logic Unit ALU) E
(Control Unit).
(Output Unit). ALU

- 9 -
1 -

- KME (Central
Processing Unit CPU).

To von Neumann
.

. ,
.

, . von Neumann


.

1.2
von
Neumann
.
3 : CPU
ALU , / (Input / Output Unit
I/O Unit) . (
) 3
: (Address Bus),
(Data Bus) (Control Bus).


CPU /




( .
"" .
).

- 10 -
1 -



.

, ( )
.
.

.
3

.

1.3

.
( )

.
:
, ,
.
, ,
.

.
.
,
, .
.
.
,

.
(Machine Code) / (Assembly
Language).
.
.

- 11 -
1 -


0 1
( assembler-
0 1) .

. ,
,

.
.

.
CPU Intel (
Personal Computers / PCs)
,
( Apple
CPU Motorola).
.
.


.
(high level languages) C, Java, Pascal
Fortran.

.

(compiler) (interpreter)
. (o assembler
) (source code)

.
. ,
,

.
.
(debugging).

- 12 -
1 -

To / .

, , .

.
.


( ,
)

- 13 -
1 -

- 14 -
2


,
. (
)

(data encoding / data representation).

(, /
).
,
.

2.1 :
( 2001)
.

0V 5V.

0 1
.


.
0

- 15 -
2

1 5V 0V.
0V 5V

.
( )

(Bnary digiT BIT) .
0 1
0, 1, 2, 3, 4, 5, 6, 7, 8 9.


.

: , , , , .


( ) :


0
1
2
3
4
5
6
7
8
9
.

.

20 1 .
.
:
1 2 .
2 22 .
3 23 .

2 .

2 6 log26.

- 16 -
2

= log2
. (M x,
y, y x). = 3

.


210
000
100
010
001
110
101
011
111


.
:
(nibble) = (22)
Byte () = (23)
Kilobyte - Byte (KB) = 1024 (210) Bytes
Megabyte - MByte (MB) = 1024 (210) Bytes = 220 Bytes
Gigabyte - GByte (GB) = 1024 (210) ytes = 230 Bytes
Terabyte - TByte (TB) = 1024 (210) GByte = 240 Bytes
1GB ( )
233 .

2.2 - -

.


,
.
.
-
[0, -1]. (radix)
. =10
0 9. =8
0 7. >10

- 17 -
2


10. =16,
0 15 , , C, D, E
F 10, 11, 12, 13, 14 15 ,
.

.

.
-1-23210, i, 0 i -1, -

w-1w-2 w2w1w0. -1
w-1, -2 w-2 .
,
:
(w )
1
= i i
i =0

,
2 3 6 1 6 4 3 1.
6*2+4*3+3*6+1*1 = 43.
, ,
6 1 1 0 ( 6*6+4*1+3*1+1*0 = 43).
. ,
.
i i.
- .

-1-23210 . .

827.
82710 102*8 +
101*2+100*7. 10001102
26*1+25*0+24*0+23*0+22*1+21*1+20*0 = 7010.



. =10
.

- 18 -
2

=10 10. 10
.

10 - .
-110 =
+-1-1+11+00 = 10.
,-1,, 1,0.
1. :
-1+-2-1+0 1+ (0/) = (10 / )
0
.
-1 .
2. = (10 / )
,-1,, 1.
3. = 0 , 1.
(
,
).

11458
. .
11458 = 83*1 + 82*1 + 81*4 + 80*5 = 61310.
61310 :

613 / 2 306 1 (=0)
306 / 2 153 0 (=1)
153 / 2 76 1 (=2)
76 / 2 38 0 (=3)
38 / 2 19 0 (=4)
19 / 2 9 1 (=5)
9/2 4 1 (=6)
4/2 2 0 (=7)
2/2 1 0 (=8)
1/2 0 1 (=9)
11458 = 10011001012.

() ()
=
,
.
.
= 8

- 19 -
2

= 2. =3
3 . 528 =
81*5 + 80*2 = 2 * 5 + 2 * 2 = 2 * (2 *1 + 2 * 0 + 2 *1) + 2 * (2 * 0 + 2 *1 + 2 * 0) =
31 30 3 2 1 0 0 2 1 0

2 *1 + 2 * 0 + 2 *1 + 2 * 0 + 2 *1 + 2 * 0 = 1010102,
5 4 3 2 1 0

3

(
3
) :

A 32D16

.

:
11010
23 10011
23 10010
23 11101
23
A 3 2 D

0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 1000
9 1001
1010
1011
C 1100
D 1101
E 1110
F 1111

,

0
.

{{{{{{
:
001 010 001 100 101 101

1 2 1 4 5 5

32D16 = 10100011001011012 = 1214558.

- 20 -
2


.

.
()
.

2.3
,
.

2.
.

.



.

,
.

. ,

, .. :
7+(4-3) = 8
(7+4) 3 = ?
,

.
.

.

- 21 -
2

2.3.1. (signed magnitude / sign and magnitude)


- ,

(+/-). 324510

.



( 0 1
)
. -1
-210 :
2
2
( 1)
1
(
i
i
)
i =0


-.

.
.
,
[(2-1-1),
2-1-1]. 0.
+0 00000 0 10000.
.

2.3.2. - (excess / biased code)


.
( )
0
.
,
. .
[-4,
3]. 4 000
0. 4.

- 22 -
2

4
. .
4
+3 111 (=+3+4)
+2 110 (=+2+4)
+1 101 (=+1+4)
0 100 (= 0+4)
-1 011 (=-1+4)
-2 010 (=-2+4)
-3 001 (=-3+4)
-4 000 (=-4+4)


= 2-1.
-1-210 :
2
1
(
i
i )
i =0

,
,
,
.

2.3.3. 1

1
,
()
.
(inverters)

.
:
+1210 000011002. 1
000011001s.
1210 000011002. 1
111100111s.


1.
-1-2 10.

- 23 -
2

1. -1. 0

. 1
.

... ,
1 2 1 0 i

i.
2.
-1 -(2-1-1).

11100010 1. 1,
.
: 000111012 2910.
-2910. 2 :
-(27-1)*1 + 26*1 + 25*1 + 21*1 = -2910.


.
,
[(2-1-1), 2-1-1],
10000 011..11
.
0 : 00000 11111.


1 (
2 ),

.
. -1-2 10 1s.

2 2
2 2
[-(2-1-1)]*-1 + (
i
i ) = [-(2-1)] *-1 +2-1*-1 + (
i
i ) ,
i =0 i =0

-1-2 10 1s = -1-1-2 10 1s = -1 -1 -1-2 10 1s = ,



1
. ,

- 24 -
2

.
11101011s = 111101011s = 1101011s = 101011s

,
1
.
, .
0
.



.
.

.
:
2910
4510 +
7410
9 5.
(10) (4)
, .
2 4 .
(7)
.

.


.
1
(2)
.

- 25 -
2



1 2
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
,
.
. 0 0
0 (
)
0 0
. ,
3
.
.
76543210
011111002
010110102 +
110101102

12410, 9010 21410.

2.3.4. 2
1
2 . ,
2

,
()
.
2
(inverters) (incrementer)

.

- 26 -
2

,
,

.
:
4310 2 : 00101011
43 001010112.
11010100 (
1). 1 11010101
2.
32 00100000. 2
11100000,
1.

2.
-1-2 10.
1. -1. 0

. 1
.


( ... +1),
1 2 1 0 i

i.
2.
-1 -2-1.

11100010 2. 1,
.
: 000111102
3010. -3010.
2 : -27*1 + 26*1 + 25*1 + 21*1 = -3010.

0, 00000.

.

[2-1, 2-1-1], 10000

- 27 -
2

01111. ,
.

2.4

.

. ,

. .
"" (
) 101,01102,
.
,
:
22*1+20*1+2-2*1+2-3*1 = 5,37510
- : -1-210,-1-2-(-1)-
.
1
: i
i
i =



- (

) : 0,10
- ,
0,-1-2-+1- = -1-1 + -2-2 + -+1-+1 + --
= 0,10. -1, -2, ,
-+1, -.
1. :
(0,10 * ) = 0-1+-1-2+ -+2-+1 + -+1- = -1,-2-+1-
-1
0,10 .

-1 .
2. ' = (0,10 * ) - 0-1
-2,-3,, -.

- 28 -
2

3. ' = 0 , 1.
.
0,158
.
0,158 = 8-1*1 + 8-2 *5 = 0,20312510.
:


0,203125 * 2 0 (= -1 ) 0,40625 10
0,40625 * 2 0 (= -2 ) 0,8125 10
0,8125 * 2 1 (= -3 ) 0,625 10
0,625 * 2 1 (= -4 ) 0,25
10
0,25 * 2 0 (= -5 ) 0,5
10
0,5 * 2 1 (= -6 ) 0
10

0,158 = 0,20312510 = 0,0011012.




8=23
.
0
. 0,0101112
: 123 123 . 0,0101112 = 0,5C16.
0, 0101 1100

5 C 2


. .
. 0,210
. :


0,2 * 2 0 (= -1 ) 0,4
0,4 * 2 0 (= -2 ) 0,8
0,8 * 2 1 (= -3 ) 0,6
0,6 * 2 1 (= -4 ) 0,2


, 0,2.
0,210
.
.
0,33333310
, .. 0,13.

- 29 -
2

2.4.1

.
16
.
15 .

. 11
. , 0,210
0000000000000011 0,187510.
6%.
7 ( 15
), 0000000000110011
0,1992187510 1%.
211
27.
.

,
(fixed-point representations)
. ,
.
(..
Avogadro 6,023 * 1023) (.. ,
) .
40 .
.

.


.

(floating point) .

- 30 -
2

2.4.2

(scientific notation).

*, (
significant mantissa) , B
(exponent) .
Avogadro 6,023*1023 = 6,023, = 10 = 23.

. ,
.


.
3,76*101, 0,376 *102 376*10-2 .
-
(normalized)

.
.

,

, ,
.
:
. 3
.

4.
16.
.
:
- --- . ---- ---- ----
3


- 31 -
2

.
14310 .
14310=8F16.
. 8F16
= 8F*160 = 0,8F*162.
. 0
. (2) excess 4 6 1102.
8, F 0
: 0110100011110000.

.
,


.
/
,
,

.
754 IEEE (Institute of Electrical and
Electronic Engineers).
.


32 ( - single precision) 64 (
- double precision) ,
. 2,

.
:



Single Precision 32 8 127 1 + 23 (+1)
Double Precision 64 11 1023 1 + 52 (+1)

- 32 -
2

:
, .
.


.
1,2 0,12 .
2 :

1,

(hidden bit), (
(+1) ).
0
0 .
+ - 1
.

.
0/0 1

.

0 00000 00000 +0
1 00000 00000 -0
0 00000 11111 +
1 00000 11111 -
0/1 00000 11111 NaN (Not a Number)
754
: (-1) * (1+) * 2(-) .
.
18,7510 single precision .
1810
1810 = 100102.
0,7510 = 0,112. 18,7510 = 10010,112 = 10010,11 * 20 =
1,001011 * 24. :
0.
= 4, excess 127 10000011.
= 1,001011, 23
(hidden) 00101100000000000000000.

- 33 -
2

:
0 10000011 00101100000000000000000

0 10000100 10100000000000000000000
132-
127=5 (1).101. 1,101*25 =
110100 * 20 = 5210.

2.5
,
, .
,
. (

0 1.
,
).
2.5.1.
,
ASCII (American Standard Code for Information
Interchange), .

- 34 -
2

7
128 .
00H 1FH 7FH
.


. "a" "" .

. -,
48 (30).

32 (20).

ASCII
. 128

.

EBCDIC
(Extended Binary Coded Decimal Interchange Code),
8 256
. ASCII ,

.

.

EBCDIC
.

, Unicode. Unicode
. 2,0 38.885

. Unicode 16
. . ,
Unicode,
32 32-bit ISO
10646 Universal Character Set (UCS-4).

- 35 -
2

2.5.2.

. ,
(duotone) .
( ).

(continuous tone)
, .
.

(gray scale) (color).

(, picture elements, pixels),
. () ()
.
.
,
(
).

() () ()
A
. (
) ,
. ,
() .

- 36 -
2


,

. , 256 8
.

16 256
1 4 8
pixel pixel pixel

, ,
.
.
,
, ,
.
.

- 37 -
2

, 256 ,
24 .
16 (2563).

(image depth - ).

2.5.3.

(sampling) (quantification)
.


.


; O Nyquist f,
2*f. H
:

.
20Hz
20KHz. ,

- 38 -
2


40KHz.



.

2 +6 V. A
8 1V,
000 [-2, -1] 111
(5, 6]. 1.2V 100.
""
.
0,5V .
256 0,015625V
8 .

- 39 -
2

- 40 -
3


.

.
.


,
, .
,
.


.

2. ,
1 '
.
8 .
,
- +(-)

.

- 41 -
3

3.1 / 1
1
(end-around-carry). ,
1
( ),
,
.


0. =-10010
=10110. 1 :
= -10010 = 100110112
=+10110 =011001012
000000002 1 .

. ,
. 1
+ 1 = 100111001's = -9910.
9910 111111101's,
1 1. 10010
111111111's 0.
.
10110 0,
000000001's. 0 ,
.
(111111111's)
8

.

.

.
01001011 (+75) 11000101 (- 58)
10001001 (-118) + 01110010 (+114)+
0 11010100 (-43) 1 00110111
1
00111000 (+56)

- 42 -
3


.
.
:

01001011 (+75) 11000101 (- 58)


01000000 (+64) + 10001101 (-114)+
0 10001011 (-116) 1 01010010
1
01010011 (+83)

([127, +127], )
.
2 .

0

1
2.
1 .

.

3.2 / 2
2
. ,
.
.
( ) .

00001010 (+10) 00000101 (+5) 11111111 (-1)


01010000 (+80) + 11111110 (-2) + 11111100 (-4)+
0 01011010 (+90) 1 00000011 (+3) 1 11111011 (-5)




2.

- 43 -
3

.

,

(operands).

. .

00110010 (+50) 11010001 (-47)


01010000 (+80) + 10100110 (-90) +
0 10000010 (-126) !!! 1 01110111 (+119)!!!
,
8
2
[-128, +127]. (+130, -137)
, .



. ,
.

.
= 76543210
= 76543210. 76543210 ,
76543210
. 7 = 7 = 1 7 = 0 7
= 7 = 0 7 =1. 7 = 0
= 1,
7 = 1 = 0.
7 ,
.

/
2.

(ripple carry).
0,

- 44 -
3

. 1


1 2 (
- +2's).

.

7 6 5 4 3 2 1 0 /

7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0

7 6 5 4 3 2 1 0

3.3 /

,
(
) :
,
.
.
,
.
.


.

.
00110010 (+50) 10101111 (-47)
00010000 (+16) + 00100000 (+32) +
01000010 (+66) 10001111 (-15)

:

- 45 -
3




0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
/
:

,

,

.

,

.
.



.

3.4

. ,

(shifts)
.
:

(logic shift) , .

.
0. 011101.

- 46 -
3


000111
111010.

,
2,
2.

(arithmetic shift) .


0 .
2 111000
111110.
2,

2 .

(rotation) , .


. 100101
. 1

110010.


(shifter)
.

3.5


.
11 9
.

- 47 -
3

1 0 1 1 (1110)
x 1 0 0 1 (910)
1 0 1 1
0 0 0 0
0 0 0 0
1 0 1 1 +
1 1 0 0 0 1 1 (9910)

.
0 1,
0
.
.
1,

.
1011000,
3 .

+ 1 .



.
= -1-2
0 = -1-2 0.
.

1. =0 = = 0.
2. .
3. 0 5.
4. .
5. = .
6. 1 .
7. = ; .
2.


=4=100 =5=101 .

- 48 -
3

/
1 =0, =4, = 0
2 0
3 4
4 = 0 + 4 = 4
5 =8
6 = +1 = 1
7 2
2 1
3 5
5 = 16
6 = +1 = 2
7 2
2 2
3 4
4 = 4 + 16 = 20
5 = 32
6 = +1 = 3
7

.
(flow charts).
:




() .
:

=0,
= ,
= 0

=0 ? = +

= ()
= +1

= ?

- 49 -
3

3.6
,


. +
,
.

=
= 0

< =
?

= +1
= -



/ ,
.

.

3.7


.
.

= +5 =-3
2. :

- 50 -
3

1 1 0 1 (-32's)
x 0 1 0 1 (+52's)
1 1 0 1
0 0 0 0
1 1 0 1
0 0 0 0 +
1 0 0 0 0 0 1 (-632's) !!!

1 3
.


.

.
4 ,
8 . ,
8 :

1 1 1 1 1 1 0 1 (-32's)
x 0 1 0 1 (+52's)
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0
1 1 1 1 0 1
0 0 0 0 0 +
1 1 1 1 0 0 0 1 (-152's)

8
.

0,

.

3.8 Booth

. -1 -2
1.
* * 2, * -1 * 2-1, , * * 2,

- 51 -
3

* 2 * (2- + 2-1- + + 20).


2-+1 1.
- ,
.
2

-
- 2.


Booth,
0, (+1)
(1). Booth recoded .
Booth =5
= 55. = 0110111,
5 4
. Booth
= 55 = 64 16 + 8 1 = (1000002) (00100002) + (0001000)
(0000001) = (+1) 0 (-1) (+1) 0 0 (-1).

4 3 ,
25% .

1.

Booth
.
1 0 (1),
0 1 (+1).
0. 0
.

Booth . H
recoded 2110 = 0101012 (+1)(-1)(+1)(-1)(+1)(-1)

. ,
Booth
0, (+1), (+2), (-1) (-2).

- 52 -
3

recoded

.
, (+1)(-1) (-1)(+1) recoded
(+1) (-1) .
(+1)(+1)(+1)
22
. Booth
.
recoded
. recoded

,
,
.



0 0 0 000 111
0 (+1) +1 001
0 (1) -1 110
(+1) 0 +2 011
(+1) (1) +1 010
(-1) 0 -2 100
(-1) (+1) -1 101
= 010101111102 =70210.
:
(+1)(-1)(+1)(-1)(+1)0000(-1)0

(+1)(-1)(-1)00(-2)
22
702 1024-256-64-2.

3.9


.
/ ,

- 53 -
3

.
.

0.11100 * 25
0.01000 * 22, 6
.
; .
0.11100 * 25 1.11000 * 24, 1.10000 * 23, 1.00000 * 22.
1.01000 * 22. ,
,
0.01000 * 22 = 0.00100 * 23 = 0.00010 * 24 = 0.00001 * 25
0.11101 * 25.
,
,
25
.

.


/ .

.

.

.
.
,
- 2.
.


754
IEEE.
.

.

- 54 -
3


.
,
.
:

.

,
.

.

.

3.10

.

.

,

. 25 :
25 1 = 24, 24 3 = 21, 21 5 = 16, 16 7 = 9, 9 9 = 0
16 :
16 1 = 15, 15 3 = 12, 12 5 = 7, 7 7 = 0
5 25 4 16.


.

.

. 43623

- 55 -
3

208. 208
,
208. 208
.

.

- 56 -
4



, .

.
/ .

4.1
2, ,
, , ,
.

.
(memory cell)
.
.

.


. ,
,
.

(semiconductors), .

- 57 -
4


bytes
. ,

.
/
.
.


.

.
8 , 8
.

byte ( 4 8 byte
2001).
(word). H

.
32 byte
:

1
2
3
4
(+) * (C-D) =5, =3, C=2
D=1. 8,
.

.
3 .

1
2
3 0 0 0 0 1 0 0 0
4

- 58 -
4

(C D = 1)
,
. ,

.
(address). 4
4 .
4 .
:

00

01
0 0 0 0 1 0 0 0
10

11

.
:
(Memory Write).

.
(Memory Read).

.
(memory
accesses).

.

, .
,
.
1
:

- 59 -
4


00
0 0 0 0 0 0 0 1
01
0 0 0 0 1 0 0 0
10

11

, 1
2.
.
. ,
.

. 0
3. 3,
:


00
0 0 0 0 0 0 0 1
01
0 0 0 0 1 0 0 0
10
0 0 0 0 1 0 0 0
11

.
.
,
.

.
.
, :

;
.

- 60 -
4

big-endian
.

. 32
bit F2341088H byte.
33FH
big-endian :


33FH 11110010 (F2H)
33FFH 00110100 (34H)
3400H 00010000 (10H)
3401H 10001000 (88H)
little-endian


.
little endian
:


33FH 10001000 (88H)
33FFH 00010000 (10H)
3400H 00110100 (34H)
3401H 11110010 (F2H)


(alignment) ;
8

8 .
16
little-endian byte
.
alignment
.

- 61 -
4

4.1.1

,
, ,
, .
.


. ,

.
.

.
,
0 -1.
(

) ns.
,

.


(Read Only Memories
ROMs) / (RAMs).
:
PROMs (Programmable ROMs) :
ROM .
PROMs (Erasable Ps) :
UV
.
PROMs (Electrically Erasable Ps) :
.
Flash :
.
.

- 62 -
4



(non volatile memories). '

(bootstrap code).
RAMs (volatile
memories). RAMs (SRAM)
(DRAM).
.
.
.


(memory refresh). (2001) 200%
, .


,
.
(Content Addressable Memories CAMs).
.

4.1.2
,
.
,
.
;

:

.
, 3 5
.

.
.

- 63 -
4

. (


.
VLSI).

, ,
.



.

:
.

+ .

.
.
.

+ .

.


.

:

- 64 -
4

M = 1 M = 1

= 100 ns = 200 ns
/ Bit = 10-6 / Bit = 10-7

M = 8 Bytes

= 10 ns
/ Bit = 10-4


.
2 ,
.
.
.
.
10 ns
.
, 200 ns.


.
40 ns
80% .
1000 ,
100 ns *1000 = 100 s.
(10 ns * 800) + (240 ns * 200) = 56 s.
44%
. (
,
).


2.
. ,
,

- 65 -
4



.
:


64 16384 bits 0.25 1 ns Static RAM
1 1KB 1MB 2 10 ns Static RAM
(L1 Cache)
2 512 KB 2 MB 5 20 ns Static RAM
(L2 Cache)
64 MB - 1GB 6 40 ns Dynamic RAM
4 60 GB > 10 s
Backup > 1.2 GB > 1 ms /


,
. 1
2,
, .
.
.


,

. cache 1
2
1 ,

. , .
2 ,
.

- 66 -
4

4.2
,

. ,
, 1 .

.


.
AND, OR, XOR
.

.

,
:
.

,
.


.

. ..
,
. .
,
.
"" .
, .
.
:


/

- 67 -
4

/


2
IEEE.



. .
.
8 256
.
.
:
(program counter).

.
(status register).

.
/
, ,
.
(Memory Address Register MAR).
,
.
(Memory Data Register MDR).


.

.

.

- 68 -
4

.

60 ( " "
). 60 32.


32
.
.

.
.

.
( )
.
.

4.3

.
,
,
.
(operation code opcode).


.
,
.
,
.

.
opcodes
.

- 69 -
4

opcodes ,

. - opcode
bytes 00010101 4 18,
:
00010101 00000100 00010010
0 1
(machine code programming).
,
. .
0 1
.
Assembly
.



.
,
.

(
) :
1. . (
R,
).
2. ( MDR

).

H :
1. . (

MAR,
MDR
).
2. ( / /
/ )

- 70 -
4

3. , (
MDR
MAR,
).



opcode.
,
+1, +1+2, +1+2+3, 1, 2 3

(
).
.
(jump) (branch)
.

- 71 -
4

- 72 -
5



. (Assembly)
.
,

. Assembly
.


KME
.

(Instruction Set
Architecture ISA).

.
,
, Assembler (
),
. assembler
, (loader),

- 73 -
5

.

.


,
.
,
.
LAB196
. .


/ MCS-96 Intel.
MCS-96 . H
16
. (on-chip RAM)
230 bytes. .

80C196KB 16
. 216
. ' 8
byte.
64 Kbytes.
.
00 - FFH 256
. 80196 2 bytes
16 bits, ,
(double-word).
aligned
aligned 4.
,
8 16
.
, , CX 16-bits
AL byte AX, AH byte.
BL byte BX.
CL byte CX.

- 74 -
5

5.1
80196
.
.

. "BYTE"
8 , "byte" 8
. :
BYTES: BYTES 8
0 255.

modulo-255 .

8 .
BYTE ,
.
WORDS: WORD 16
0 65535.

modulo-
65535 .
16 .
WORD
byte.
SHORT-INTEGERS: SHORT-INTEGERS 8-bit
-128 +127.

SHORT-INTEGER 1
.
INTEGERS: INTEGERS 16
-32768 +32767.

INTEGER 1
.
BITS: BITS
.

- 75 -
5

DOUBLE-WORDS: DOUBLE-WORDS
32 0
4294967295. '
' ,
32 16
16 16 .
byte.
DOUBLE-WORD '
WORD .
LONG-INTEGERS: LONG-INTEGERS
32 -2147483648
+2147483647. '
' ,
32 16
16 16 .
byte.
LONG-INTEGER '
INTEGER .


C. char
C
BYTE, short C
SHORT-INTEGER,
long C
LONG-INTEGER.

5.2


.
ADD
SHL (Shift Left).
opcodes
. ,

. BYTES

- 76 -
5

WORDS
( ADDB DD).

Assembly
:






(
) :
(DD)
(SUB)
(MUL)
(DIV)
(CLR)
(CMP)
(INC)
(DEC)
(NEG)

:
1 ()
(D)
(OR)
(XOR)
(SH)

:
(LD)
(ST)
(BMOV
Block Move)

- 77 -
5



.
.


.
,

.

:
(BR Branch)
(Jump)
/ (CALL)
/ (RET)
, .
,
.
/ / ,
.

.
,
.
.
.
.

:
SHORT / INTEGER INTEGER /
LONG INTEGER ()

:
(PUSH)
(POP)
()
LIFO (Last In First - Out).

- 78 -
5

.

.

(stack pointer).
FFFFH FF00H.
FFFFH (
). PUSH

. POP

.

:
(NOP No operation)
(RST Reset)
( Enable Interrupts)
(DI Disable Interrupts)
(IDLPD)

.



.
:
# EQU 80
80.

.
assembler
.


(label). START
:
[START] ADD AX, BX

- 79 -
5


/ / .
,
.
,
.
.

5.3
Assembly
( )
.

.
.

, .
C=A+B,
C, A, B .


.
accumulator ().
:
LD A
ADD B
ST C

, .

.
v C.


( 2 ) :
ADD A, B
ST A, C

- 80 -
5


. ADD
, 3 5 ,
!!!
8 5.
,
ADD B, A !!!
C.
,
D
:
LD D, A
ADD D, B
ST D, C

T, 3 :
ADD C, A, B


.

(sources)
(destination). source
.

2 3 ( )

(opcodes).

5.4


.

.

- 81 -
5

.
.

( )
.

.

( :
# EQU 80
# B EQU 82
# C EQU 84
# L EQU 80
# BL EQU 82
# CL EQU 84
MEM_ () _WORD ()
WORD
, +1 .
MEM_ (80) = 2
_ (81) = 03
MEM_ (82) = 42
_ (83) = F2
MEM_ (84) = 08
_ (85) = 0A ):

.
,
..
INCB CL
_ (84) = _ (84) + 1

.

.

, , . ..

LD AL,[AX]

- 82 -
5


MEM_(80) = MEM_(MEM_WORD(80))
MEM_(80) = MEM_(032)

.


.
. , BYTES SHORT-
INTEGERS ,
WORDS INTEGERS . ..
LD AX,[BX]+

MEM_WORD(80) = MEM_WORD(F242)
MEM_WORD(82) = MEM_WORD(82) + 2
BYTES
ADDB AL,BL,[CX]+

MEM_(80) = MEM_(82) + _ (008)
MEM_(84) = MEM_(84) + 1

.
.
,
.
..
ADD AX,#340

MEM_WORD(80) = MEM_WORD(80) + 340




. ..
LDB AL,12[BX]

_BYTE (80) = MEM_BYTE(12+MEM_WORD(82)),
_BYTE (80) = MEM_BYTE(F254),

- 83 -
5


2.
61
90. 6110
00111101 2
3D
3D[90].
.
37
90, DB[90], -3710
2 : 11011011. T,

.

.
SP
.

:
LD AX,2[SP]

.
MCS-96 0000
0001 0.
,
. ..
ADD AX,1234[0]
EM_WORD(80) = MEM_WORD(1234).

5.4
(PSW)
.
Boolean
.
,
:

- 84 -
5

7 6 5 4 3 2 1 0
Z N V VT C X I ST

Z: Z (Zero) 1
.
N: N (egative) 1
.
N
.
V: V (oVerflow) 1

.
VT: VT (oVerflow Trap) 1 V
1, .
VT
.
V
.
C: C (Carry) 1

bit
bit
.
C (
C=0).
I: /
. .
ST: ST (STicky bit) 1
(1)
C . ST
C

PSW
.

- 85 -
5

5.5 Assembly


.
byte 5F21 -
5F2A 5F20.


.
:

= 0
= _ (5F21)

E > = _ (5F22 + )
_ (5F22 + ) ?

= +1

= 9 ?

_ (5F20) =

, ,
.
5F22 5F2A.

.
byte .
5F21
5F22 5F2A.
, .

- 86 -
5



. X BL
, AX BL
.
.
:


# AX EQU 80
81 80
# L EQU 80 byte
80 L
# BL EQU 82 byte
82 BL
LD A, #0000 = 0
LDB BL, 5F21[00] = _(5F21)
[LABEL 1] CMPB BL, 5F22[AX] - _(5F22 + )
JH [LABEL 2]

LDB BL, 5F22[AX] = _(5F22 + )
[LABEL 2] INCB AL = + 1
CMPB AL, #09 9
JNE [LABEL 1]
0 [LABEL
1]
STB BL, 5F20[00] _ (5F20) =

- 87 -
5

- 88 -
6
-



.
.

.
( )
.


.
.

6.1 (masters) (slaves)


.

,
.
16

.
0000 0001.

.
0,

- 89 -
6 -

0.
1

1. 0
0V 1 5V, :
+5 V

0 V


.
,
"" .


(master) (slaves).
, ,
, .

6.2 (Single master Many slaves)


M

.
:


CPU / / /
1 2 k

- 90 -
6 -

.
-
256 bytes. ,
256

.
.

-

.
. ,
,
.
,
, .
,

.
- (programmed
I/O). :
)
.
,
-1 .
) ,

.
)
.
:
.

,
)

- 91 -
6 -

.
.


.
(interrupt signals).
(interrupt driven I/O).
,
. ,

( , .) ,
.


. , ,

.
(interrupt masking)
.

) )

.
, .

.

.


(OR)
.
.


.
-,
.

- 92 -
6 -


.
,
,
.
(interrupt
controller). ,
,

.


(interrupt vector table).
. ,
.


.

6.3 (Multiple master arbitration)





, .
,
.
: (arbitration)
.


( ) , (bus
arbiter)
, .
,

. ,
,

- 93 -
6 -

(high impendance),

.
,

,
.

.
(real-time systems).

(cycle stealing)



. ,
:
ADD R1, R2
R1 R2
R1.
,
.

. ,

,
.

(bus grant)


.
.

- 94 -
6 -


KME

1 2 -

/ / /



(Direct Memory Access DMA-
controller),
.

1byte .
(
).
:
1)
.
2) .
3) ,
.
4) ,
( device
driver).
5) To
.

(
).
6)
.
7)

,

.
8)
, ,

- 95 -
6 -


.
,
,


.
,

.

6.4



.
(serial) (parallel)
.

,
.

(ports) .
" "
.


:

,
. 30
ns (, 33,33... MHz)
33,33 bps
(Megabits / sec), 8
266,64 bps.

. (
. ,

- 96 -
6 -

,

. 2002-
100 Gbps ).
.


, .

.


.
, :
)
( ).
(simplex) .
)
( ).
- (half-duplex) .
)
. (full-duplex)
.

E
.
,
.

10011001.

.

.

(phase shift) .

- 97 -
6 -

(..
2) ( 1) .

1 1 1 1

0 0 0 0



. 2
.

.
Manchester.
.

1
0. 0110010

- 98 -
6 -


.

.
.
( preambles)
.

.

6.5 (Secondary Storage / Mass Storage)


To
, , .
,

.

,
,
(non volatile memory). E
.
, ,
.
6.5.1.
(flexible disk)

( ).

, .
.
(diskette). H

, (Floppy Disk

- 99 -
6 -

Drive FDD). 8 .
1981 5,25 ,
3,5
.

,

. ,
, .
, tracks. track
,
sectors. sector ,
512, 1024 2048 bytes.
sectors
sectors. ,
sectors tracks,
.

Sectors
Sectors

Sector


sector. sector
512 bytes , 1243 bytes,
3 sectors, .
1.2 bytes
.

- 100 -
6 -

.
,
.


. /
sector
.
tracks, sector.


/


sector

, track 12, ( tracks


) sector 8
track 3.
track 3 .
sector 0
track, o sector 8
. sector
(
) .


, (file).
sectors,
tracks.
.
, sectors (

- 101 -
6 -

track
),
sectors .
, ,
, sectors ,
.
sectors .
(fragmentation).

(defragmentation)
,
.


,
. , ,
: ,
sectors,
sector .
:
Gray.
, sectors
,

. Gray ,
:
1. bn-1bn-2 b0 ,
Gray gn-
1gn-2 g0, : gn-1 = bn-1 gk = bk+1 bk =0,1, ..., n-2 (

).
2. gn-1gn-2 g0 Gray,
bn-1bn-2 b0,
: bn-1 = gn-1 bk = bk+1 gk =0,1, ..., n-2.
Gray
,
. .. Gray
0 1.
2

- 102 -
6 -

0 1 1 0. 0
1, 00 01 11 10,
Gray 2 . 00 01
11 10 10 11 01 00
: 000 001 011 010 110 111 101 100,
.
H ,
sectors, interleaving factor. ,
sector, ,
, interleaving factor 2.

sector sector 0
track 0. sector
sector. < track, sector
track>. O sector sector (boot sector)
,
.
sector sector ,
sector ,
sector.

( )


( ,
).
.

6.5.2. (Hard Disks)



(
).
()
.
.
7200 (revolutions
per minute rpm). -

- 103 -
6 -

,
(moving head disk).
,
track .
.
sectors
tracks ,
bits
.


sector , :
track (
head seek time).
sector
( rotational delay)
sector.
H .
tracks,
.
.
2 1024 tracks
. tracks 0
511 ,
.

- 104 -
6 -

tracks .
(fixed heads disks) .
.

.

6.5.3. (Magnetic Tapes)


,
( )
.
,
. ,
.
.
GB.
.
,

.


. ,
(tracks). 9 , byte
(parity 8). 9
(frame) .
(record) .

- 105 -
6 -

.

(inter-record gap).

6.5.4. (Optical Disks)



CDs (compact disks) DVDs (Digital Video Disks).

CD. T CD 1980
,

.
, CD ROMs.

CD ROMs
. CD,
. H
CD ,

, .

,
.

o WORM
(write once read many) CD-R (read / write CDs).
, laser
.
.

- 106 -
6 -

6.6
6.6.1. (Keyboard)

.
.
.
.
8
(scan code). AT
.

,
.

2 bytes : F016 .

( KBD Data) (KBD
Clock), .
20 30 Hz. 5 Pin DIN PS/2
:

1. KBD Clock 1. KBD Clock

2. KBD Data 2. GND

3. N/C 3. KBD Data

4. GND 4. N/C

5. +5V (VCC) 5. +5V (VCC)

6. N/C

- 107 -
6 -


:
(Data)
( 1).
11 bits
.


(start bit), 8 ,
( 8)
(stop bit).

( , F016).
O
Clock.

6.6.2.
,
trackballs, (digitizing tablet bit pad),
(lightpens) (touch screens)
(joystics).

.
. ,
.
,
:
.
.

- 108 -
6 -

.
(light emitting diode LED)
. ,
. trackballs
,
, .



.
.


.
.

,
.
30 60 .
,

. ,

.
.
,
.
.

6.7
6.7.1


. .
:
(cathode ray tube CRT)

- 109 -
6 -

(liquid crystal display LCD)



(light-emitting diode LED)
O (neon and xenon gas plasma)
(Thin Film Transistor - TFT),
.


,
(pixels).
.
,

. (
resolution) ,
:
1981, IBM CGA (Colour Graphics Adapter),
320x200 (
) 4
.
1984 IBM EGA (Enhanced Graphics Adapter),
640x350 16 .
1987 1990 IBM VGA (Video
Graphics Adapter) SVGA (Super Video Graphics Adapter) XGA (EXtended
Graphics Array) 800x600
(16,8
) 1024x768 216
.
, Ultra Extended
Graphics Array (UXGA), 1600x1200
16,8 .

CRT,
.
CRT
.
,
:

- 110 -
6 -

CRT
,

. ,
,
.
, 3
,
.
, (dot
pitch), .

,
(two-port memory)
(Video RAM VRAM).

- 111 -
6 -

.

.
640 x 480 ,
:

640
modulo 640 modulo 480


pixel

0 479

. ,
0 639

. ,
.

.


, :

- 112 -
6 -

,
25 . ,

,
,
. 50

(interlaced).
,
(non-interlaced)

.
,


( horizontal blanking).
(
vertical blanking).

6.7.2 O

(printers).
.
.

,
,
, ,
.
,
.
(daisy chain / daisy wheel printers).
.
,
,
. , ,
(dot matrix).

- 113 -
6 -

7 24 .
.
.

(
).
.

.
.


.
.
:
)
)
.
)
.

(dots per
inch dpi).
(2400 dpi)
.

.


.

.
:
1.
.

- 114 -
6 -

2.
( )
.
3. .

.
4.
.
5.
.
6.
.
(
1200 dpi) .
,
(
10 )
.

- 115 -
6 -

- 116 -
7

/
.

.

(
) .


, ,
. ,
. .


. ,
,
.


,
.
(International Standards Organization ISO)

- 117 -
7


OSI (Open System Interconnect).
/
, SI ,
. OSI
(7) (
) : physical, data link, network, transport, session, presentation
application. H .

Application Application
Presentation Presentation
Session Session
Transport Transport
Network Network
Data Link Data Link
Physical Physical

SI
. ,


. OSI


( ).


.

.

.

A .

- 118 -
7

(Applications Layer)
. ,
, (ftp file transfer protocol).
(Presentation Layer)

.. little endian big endian
.
(Session Layer)
.


.
(Transport Layer)
.
.


. ,


.


.
(Network Layer)
.
,
.

, .
(Data Link)
.
(frames)
, ,
.
(Physical Layer) 0 1
(, , ).

- 119 -
7


, ,
,
, .
.

.


:
(Local Area Networks LANs)
.
(Wide Area Networks / Long Haul Networks),
.


(bandwidth) ,
,
.

bits/sec
(bps) , Kbps, Mbps. ,
103 106 210 220.

(, ),
bandwidth .
(segments)
.
(
- asymmetric connection).

7.1.
.

- 120 -
7



.

.

.

.

.

Ethernet.

7.2.
.


.


.
.

- 121 -
7

,

.
Token Ring
IBM.

7.3.
.

00000000
00000000
00000000
00000000
00000000
00000000
00000000


(hub).
.


.
.


.
(single point of failure).

7.4.
(

)
:

- 122 -
7

7.4.1. CSMA / CD (Carrier Sense Multiple Access with Collision Detection)


.
, .
, .
.

.
. .


.
35% .
.

.

7.4.2. Token Based


IBM
token. token
. ,
token. ,

.
, token.
,
token
. token
token
.

- 123 -
7

- 124 -
8
&


.
,
, .

.
,
TL.

0
0 0,7 V 1
2,7 5 V.
0,7 2,7 V.

,
.

.
0 0,3 V.
.

.

- 125 -
8 &


0,3 V
.
0,7 V
. 2,7 V

.


(single bit error).

, .
(multiple bit error).
.

/ (error
detection / correction codes).


/
.

.



,
, , ,
.
n
2n ,
/ .
,
' . (
2n,
).

- 126 -
8 &


/ ,
,
( set of
codewords) (non-codewords).

,

.

( check bits)
2n+k .
n
n+k .
/
.


.

n=8
2 Mbit/s. k=3, 1 sec 2Mbit,
8/11 3/11
.
(8/11) * 2 bit = 1,45 bit
27%.

:
)
/ ;
) k
, /
, /
. ;


Richard Wesley Hamming (1915 1998),

- 127 -
8 &

.
Hamming.
(Hamming distance),
.
01001 11101 Hamming
2, 1 3 .
111 011 1.
2n+k .
Hamming (code distance)
.
: 1111, 0011, 0000,
1101. Hamming 2
.
, 1.


1 2 2
1 3 4
1 4 1
2 3 2
2 4 3
3 4 3


.
1
. ,
.
1111 1 ,
0111,
. 3
, 1101,
.

1111, 0011, 0000,


2.
.

- 128 -
8 &

2 .
d+1
d .


2.

.
:
)
) .

.
.

. ,

.
;

2
.
1111 1011.

1011 ""
1111 0011.
1111 0000

. 4
3.
3 1
2 .

.
2c+1 c .

- 129 -
8 &


.
/ .



2. (parity bit)

.
100111011


. : 0 |
100111011.

H n
2n .
n+1 . 2n+1
,
.
n+1 .
/ 2
0 1 1 0
/ 1, .

EX-OR (EX-NOR) .
n=4,
d3, d2, d1 d0,
P .

.

- 130 -
8 &

d2 d0 P
d3 d1






. 3
4 ,
:
1010
0111
1101
(
) ,
(
):

1 0 1 0 0
0 1 1 1 1
1 1 0 1 1
0 0 0 0 0

1 0 1 0 0
0 1 10 1 1
1 1 0 1 1
0 0 0 0 0

- 131 -
8 &


.
.
:
1 0 1 0 0
0 1 10 1 1
1 1 0 1 1
0 0 0 0 0

,
n+k (+1
) n k .
,
.

Hamming
.
. n
2n .
k
, , . .
.
n+k .
:
) .
) n

) k
.

b3 b2 b1 b0
ck-1 c0. H
b3 b2 b1 b0 ck-1 c0.
:

- 132 -
8 &

b3 b2 b1 b0 ck-1 c0

b3 b2 b1 b0 ck-1 c0
b3 b2 b1 b0 ck-1 c0 4 ,
b3 b2 b1 b0 ck-1 c0
b3 b2 b1 b0 ck-1 c0

b3 b2 b1 b0 ck-1 c0 ,
b3 b2 b1 b0 ck-1 c0

,
(1+n+k).

,
.. b3b2b1b0ck-1c0
b3b2b1b0ck-1c0.
.
2n, 2n
* (1+n+k). n+k 2n+k
. :
2n * (1+n+k) 2n+k (1+n+k) 2k.


n
. n=12.
5. =5
.
7 ( 8)

Hamming.

,
.
. ,
, .

.

- 133 -
8 &

. .
4 b3b2b1b0 3
c3c2c1. : (b3, b1, b0, c1), (b3, b2, b0, c2) (b3, b2, b1,
c3).
. b0.
c1 c2.
c1 c2
b0 b3. b3 ,
c3, .
b0 .

.
,
, .

()
b0 c1, c2
b1 c1, c3
b2 c2, c3
b3 c1, c2, c3
c1 c1
c2 c2
c3 c3


.
=
9876543210 = 1000111011. n = 10,
4 ,
C8C4C2C1. ,
2, .
:

14 13 12 11 10 9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 C8 3 2 1 C4 0 C2 C1
1 0 0 0 1 1 1 0 1 1

- 134 -
8 &

( )
:
C1 : 1, 3, 5, 7, 9, 11, 13,
C2 : 2, 3, 6, 7, 10, 11, 14, 15
C4 : 4, 5, 6, 7, 12, 13, 14, 15,
C8 : 8, 9, 10, 11, 12, 13, 14, 15,
(,
2.

2. .. 6, 11.
11 = 8 + 2 + 1,
8, 2 1, C8, C2, C1).
:
C1 : 0
C2 : 0
C4 : 1
C8 : 1
:

14 13 12 11 10 9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 C8 3 2 1 C4 0 C2 C1
1 0 0 0 1 1 1 1 0 1 1 1 0 0


4.
:

14 13 12 11 10 9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 C8 3 2 1 C4 0 C2 C1
1 0 0 0 1 10 1 1 0 1 1 1 0 0


C1 C8.
C1 C8 9, 11 13.

- 135 -
8 &

11 C2. ,
13 C4. C2 C4
, 9
.


XOR ,

1
1 R
.

Hamming
. ,
,
.
.
Hamming
.

:

14 13 12 11 10 9 8 7 6 5 4 3 2 1 Parity
9 8 7 6 5 4 C8 3 2 1 C4 0 C2 C1 P
1 0 0 0 1 1 1 1 0 1 1 1 0 0 0


:
) .
.
) .
.
)
. .

- 136 -
8 &

.


.
(Cyclic Redundancy CRC Codes).


x. 100111
:
1*x5 + 0*x4 + 0*x3 + 1*x2 + 1*x1 + 1*x0 = x5 + x2 + x + 1
Lin Costello


.
""
.

.

.

- 137 -
8 &

- 138 -
9

1

;

0
10-1, 10 . , o
10.
log2 10 , 3,32* .

2
2
AND -1 0.

: 2 0...010...0,
, 0 , . -1
0...001...1, 0 1 1
0. D
0.
: -1
X>0. b...b10...0 b{0,1}
0 , 0. -1 b...b01...1. AND 0,
b...b = 0...0 0...010...0. 2.

- 139 -
9
3
1 : 10002, 10008, 100010, 100016 ?
0116 ?
5 11101100 .

23, 83, 103 163.
*163 + 1*161 + *160 = 10 * 4096 + 16 + 11 = 4098710.
516 = (1010)(0101)2 = 101001012.
111011002 = (1110)(1100)2=C16.

4

, r. , r,
.
1234 + 5432 = 6666
41/3 = 13
33/3 = 11
23 + 44 + 14 + 32 = 223

(1+5)r3 + (2+4)r2 + (3+3)r1 + (4+2)r0 = 6r3 + 6r2 + 6r1 + 6r0 = 6666r. A r7.
(4r+1) = 3(r+3) r=8.
3r+3 = 3(r+1). H r4.
2r + 3 + 4r + 4 + r + 4 + 3r + 2 = 2r2 + 2r + 3 2r2 8r 10 = 0. H
r = 6 r= -1. H .

5
) ,
: 12345 123,1875 0,125
)
, 1
2 : = -23, =45, = -64

- 140 -
9

) 12345 = 110000001110012, 123 =
11110112. 0,1875 = 0,00112
0,125 = 0,0012.

:

12345 11000000111001 30071 3039
123,1875 1111011,0011 173,14 7,3
0,125 0,001 0,1 0,2
) .
8 ,
.
= -2310. 2310 = 000101112, 23 10010111,
1 11101000 2 11101001.
4510 = 001011012 .
O 6410 = 010000002. 64 - 11000000,
1 10111111 2 11000000.

6
) : = 11001000, = 10000000, = 01111111,
2. 8-bit +, -
, +. .
) , ,
1.

= 11001000 = -128+64+8 = -5610, =-12810 =12710. = -12710 =
10000001 2. + = 11001000 + 10000000 = 01001000
. -5610 -12810 = -18410
7210 . ,

.
- = +(-) = 11001000 + 10000001 = 01001001 .
. - = -18310
- = 7310.
+ = 10000000 + 01111111 = 11111111 .
, 2 11111111 =

- 141 -
9
-128+64+32+16+8+4+2+1 = -110 -128+127 =
-1.
.
1
(2-1-1) 2-1-1.
18410.
2-1-1 184 2-1 185 2 370 log2370 8,53. A
=9.

7
=-4210, =4005 =5216.
) 1, 64
2 8
.
) + 1 -
2, 8 9 .
.
) ,

,
1 0 1 1 0
1 0 1 0 1
0 0 1 1 0
0 1 1 1 1+


) 4210 = 001010102, -4210 = 110101011's. B=4005 = 4*52 = 10010 = 011001002.
64 16410
101001002. = 5216 = 010100102. ,
2.
) = 011001001's = 010100101's. K +
101101101's = -127 + 32 + 16 +4 +2 = -7310.

. + 9
: +=0011001001's + 0010100101's = 0101101101's = 128 + 32 + 16 + 4 + 2 =
18210, .

- 142 -
9
- +(-). A=-4210 = 110101102's = -10010 = 100111002's.
- = 110101102's + 100111002's = 011100102's = 11410.

. (
1
0). 9 - =
1110101102's + 1100111002's = 1011100102's = -256 + 64 + 32 + 16 + 2 = -14210,
.
n
1 2
(-2n-1,2n-1) [-2n-1,2n-1) .
) , .
,
, .
.
1 0 1 1 0
1 0 1 0 1
0 0 1 1 0
0 1 1 1 1+
1 2 2 3 2 1
1 0 0 0 0 0 0

8
:
= -5610
= -11410
= 3F16
2 8
+, -, +.
1. .
2.
?

=-5610. 8 5610 001110002
-5610 2 110001112 + 1 =

- 143 -
9
110010002s.
= 100011102s.
= 3F16 = 001111112 = 001111112s = 6310. = 110000012s
+ : 11001000 + 10001110 = 01010110
.
( 1)
( 0).
+ = -5610 - 11410 = -17010, 010101102 = 8610.
. , (6) 0
(7) 1.

. n
2 [-2n-1, 2n-1),
-17010 9 .
= 110010002s + 110000012s = 100010012s = -11910 7 =1. T
= -5610 - 6310 = - 11910. 6 7=1 1 = 0
.
+ = 100011102s + 001111112s = 110011012s = -5110 7=0.
+ = -11410 + 6310 = -5110. 6 7=0 0 = 0
.
.

9
string :
Lucky 52
ASCII .

.
. 52
, 5 2. 5
2 .
ASCII :
4C 75 63 6B 79 20 35 32

- 144 -
9
10
= -1110 = 2310. , 2,
6 . o *.
?
Booth.
M ,
* recoded, .
, ?

= -1110. 1110 6 001011, =
1101012's. = 0101112's. ,
,
11 . :
1 1 0 1 0 1
0 1 0 1 1 1 x
1 1 1 1 1 1 1 0 1 0 1
1 1 1 1 1 1 0 1 0 1
1 1 1 1 1 0 1 0 1
1 1 1 0 1 0 1 +
1 1 1 0 0 0 0 0 0 1 1
T 4 3.
Booth (+1)(-1)(+1)00(-1).
(+1)(+2)(-1), 22i
=(+1)(+2)(-1) = (+1)24+(+2)*22+(-1)20 = 24+23-20.
* = * (24+23-20)= *24+*23-, :
1 1 1 0 1 0 1 0 0 0 0 *24
1 1 1 1 0 1 0 1 0 0 0 *23
0 0 0 0 0 0 0 1 0 1 1+ -
1 1 1 0 0 0 0 0 0 1 1
T 3. 2
33% .

- 145 -
9
11
1316.
) .
*B ?
) Booth. ?
% ?
) () Booth.

) 1316 = 1*36 + 3*6 + 1 = 5510 = 01101112.
1, .
5 . 4
.
) 0
. 0 1
(-1), 1 0 (+1)
0. :
0 1 1 0 1 1 1 0
{ { { { { { {

(+1) 0 (-1) (+1) 0 0 (-1)


(+1)*26 + (-1)*24+ (+1)*23+ (-1)*20 = 64 16 + 8 1 = 5510.
4 3 .
25%.
( : 2
. (-1)*24
4
2 ).
)
Booth,
. ,
0
.
, .
Booth

- 146 -
9
.
:

(+1) (-1) (+2) (-1)

0 1 1 0 1 1 1 0
{ { { { { { {

(+1) 0 (-1) (+1) 0 0 (-1)


{ { {

(+1) (-1) (+2) (-1)

:
(+1)*22*3 + (-1)*22*2 + (+2)*22*1 + (-1)*22*0 = 64 16 + 8 1 = 5510.
4
3 .

12

.
.
.

= 0 A = 0 ,1 10

=+A


=10 ? 10


,
A=0,110 .
0,1.
2.
0,1
.

- 147 -
9
1. -1 = 2x0,1 = 0 =0,2
2. -2 = 2x0,2 = 0 =0,4
3. -3 = 2x0,4 = 0 =0,8
4. -4 = 2x0,8 = 1 =0,6
5. -5 = 2x0,6 = 1 =0,2
6. -6 = 2x0,2 = 0 =0,4
7. -7 = 2x0,4 = 0 =0,8
: 0,2, 0,4,
0,8, 0,6 0,2, 0,4, 0,8 .
, 0,1
.

1010. 1010,
.


.

13
compiler, interpreter, assembler.


. compilers
interpreters ,
assembler Assembly,
. compilers
() interpreters ()
,
- .
.
, -
.
. assembler
() ,
,
opcodes,

.

- 148 -
9
14
.

:
1. .
2. .
3. .
:
4. .
5. .

.

15
8192 .
;
( , GB) :
byte ;
K 32 ;

8192 , log2 8192 .
13 .
byte 8192 bytes = 8 *1024 bytes = 8 *210 bytes = 8 Kbytes. O
32 4 =22 bytes,
22 * 23 * 210 bytes = 32Kbytes.

16
(.. ADD,
SUB, ...), 2 3 operands, perand
.
(opcodes)
.


opcode.

- 149 -
9
. 2 3 operands
,
.
.
:
LDB 80, [90]
LDB 80, #90

, .
opcodes.
operand
.
2 2
.
3 .
opcodes (2 + 3)
:
z = log2 (2 + 3)

17
32 .
16 ,
?
(.. DD, LOAD, STORE, ).
, .
1.
?
2.
.

16 2 bytes.

232.
2 x 232 bytes = 23 x 230 bytes = 8 GB.

1.

- 150 -
9
x = log2 y = log2
. = x + y = log2 + log2.
, =25 =5, 5+3=8
.
2. 2x 2y, 2x+y
log2 () x+y log2 () log2 + log2 .

,
.
'
= log2(). = 7.

18
;
) :
PUSH A
PUSH D ) -:
ADD LOAD R1, A
PUSH B ADD R1, D
PUSH D LOAD R2, B
MUL ADD R2, C
POP E STORE R2, E
PUSH A ADD R1, E
MUL MUL R1, A
PUSH C STORE R1, E
ADD ) - :
PUSH E LOAD R1, C
ADD LOAD R2, A
POP E ADD R2, R2, R1
) : LOAD R1, B
LOAD A ADD R1, R2, R1
MUL C LOAD R2, D
ADD B MUL R2, R2, R1
STORE E ADD R1, R2, R1
LOAD D STORE R1, E
ADD E
STORE E

- 151 -
9
:
) )

( ) LOAD R1, A R1 = A
PUSH A A ADD R1, D R1 = A + D
PUSH D D, A LOAD R2, B R2 = B
ADD D+ ADD R2, C R2 = B + C
PUSH B B, D+ STORE R2, E E = B + C
PUSH D D, B, D+ ADD R1, E R1 = A+D+B+C
MUL D*B, D+A MUL R1, A R1 = A*(A+D+B+C)
POP E D+A STORE R1, E E = A*(A+D+B+C)
: E=D*B E = A * (A + D + B + C)
PUSH A A, D+
MUL A*(D+A)
PUSH C C, A*(D+A)
ADD C+A*(D+A) ) - :
PUSH E D*B, C+A*(D+A)
ADD D*B+C+A*(D+A) LOAD R1, C R1 = C
POP E KENO LOAD R2, A R2 = A
E = D*B+C+A*(A+D) ADD R2, R2, R1 R2 = A+C
LOAD R1, B R1 = B
) ADD R1, R2, R1 R1 = A+C+B
LOAD R2, D R2 = D
( = ) MUL R2, R2, R1 R2 = D*(A+C+B)
LOAD A =
ADD ADD R1, R2, R1 R1= D*(A+C+B)+
MUL C = A*C (A+C+B)
ADD B = B+A*C STORE R1, E E= D*(A+C+B)+
STORE E E = B+A*C (A+C+B)
LOAD D =D E = D * (A + C + B) + (A + C + B)
ADD E = D+B+A*C
STORE E E = D+B+A*C
E = D+B+A*C

19
/ Assembly.

:
.
.
.
, .
:
.
assembly.
=>
.
assembly
.

- 152 -
9
20
H LDB AL, [80] ( byte L
) ;
: [AL] = F3, [80] = F3A2, [F3A0] = AA, [F3A1] = AB,
[F3A2]=BA, [F3A3]=77 ( [] ) ;

H 80 81,
16 .
16 8 .
AL.
80 81
F3A2. F3A2,
. H L,
F3. [F3]=BA.

21
(labels) Assembly.

K
/ / .
,
. .
,
.
.
ssembly
,
Assembler
Assembly , .
:

.
(relocability).
,
.

- 153 -
9
22
Assembly byte
5F4016 5F8016.

LDB 80, 5F40[00]
STB 80, 5F80[00]

23
Assembly 16
.
5F2016 5F2116, 5F4016
5F4116,
5F8016 5F8116,

LDB 80, 5F20[00]
LDB 81, 5F40[00]
ADDB 80, 81
STB 80, 5F80[00]
LDB 80, 5F21[00]
LDB 81, 5F41[00]
ADDCB 80, 81
STB 80, 5F81[00]
2 .

bytes.
bytes
.
.
.
? manual
, LDB
.

- 154 -
9
24
Assembly byte 5F2016
0 5F2116. 1.

.
Assembly
.
0. 1.
carry
flag.
LDB 80, 5F20[00]
LDB 81, #01
SHRB 80, 81
JC ODD
LDB 90, #00
STB 90, 5F21[00]
SJMP END
[ODD] LDB 90, #01
STB 90, 5F21[00]
[END] BRK
O .
90 #01, 81 !
.
.
:
LDB 80, 5F20[00]
LDB 81, #01
SHRB 80, 81
JC ODD
LDB 81, #00
[ODD] STB 81, 5F21[00]
H
.

.
,
.
.

- 155 -
9

( spaghetti). O
, ,
.
LDB 80, 5F20[00]
NDB 80, #01
JNE ODD
LDB 80, #00
STB 80, 5F21[00]
SJMP END
[ODD] LDB 80, #01
STB 80, 5F21[00]
[END] BRK
O .
.
. AND
80 0 1 !

80 5F2116 :
LDB 80, 5F20[00]
NDB 80, #01
STB 80, 5F21[00]
BRK

25
Assembly byte
5F21 5F2A16
5F2016.

CLR 80
LDB 82, 5F21[80]
[LOOP] CMPB 82, 5F22[80]
JH SKIP
LDB 82, 5F22[80]
[SKIP] INC 80
CMP 80, #0009
JNE LOOP
STB 82, 5F20[00]
BRK

26
Assembly
LOAD
STORE.

- 156 -
9

.

80 90. :
PUSH 80
PUSH 90
POP 80
POP 90

27
Assembly 4

.

:
1. 4 .
2 1 ,
2 .
2. . 4
byte,
byte .
.
4 6000 6003H
80.
LDBSE 80, 6000[00]
LDBSE 82, 6001[00]
LDBSE 84, 6002[00]
LDBSE 86, 6003[00]
ADD 80, 82
ADD 84, 86
ADD 80, 84
LDB 82, #02
SHR 80, 82

- 157 -
9
28
byte 5F20. Assembly

5F21.

To
.
, 81
82 :
LDB 81, #01
LDB 80, 5F20[00]
CLRB 82
[AGAIN] CMPB 80, 81
JLT DONE
SUBB 80, 81
INCB 82
ADDB 81, #02
SJMP AGAIN
[DONE] STB 82, 5F21[00]

29

. Assembly.


. 1 .
.
1 byte
5F20 5F21 . To
82, 80.
LDB 80, 5F20[00]
LDB 81, 5F21[00]
CLRB 82
[LOOP] CMPB 80, 81
JLT END
INCB 82
SUBB 80, 81
SJMP LOOP
[END] BRK

- 158 -
9
30
Assembly
520 529.
5C00.

.
.
byte 0.
byte.
.
byte
, .
CLR 90
CLRB 86
LD 80, #520
[LOOP] LDB 82, [80]
DB 83, 82, #01
JE
LDBSE 84, 82
ADD 90, 84
INCB 86
[] INC 80
CMP 80, #5B2A
JNE LOOP
DIV 90, 86
STB 90, 5C00[00]
O .
90 . O 86
. 80
, 82. 83
82
. 84.
,
( ) .

31
5F20 byte b7b6b5b4b3b2b1b0. Z
Assembly nibbles byte,
, 5F20 byte b3b2b1b0b7b6b5b4.

- 159 -
9

.

.
LDB 80, 5F20[00]
LDB 81, 80
LDB 83, #04
SHRB 81, 83
SHLB 80, 83
ORB 80, 81
STB 80, 5F20[00]

( SHR)
.
LDB 80, 5F20[00]
LDB 81, 80
LDB 82, #04
SHR 80, 82
STB 80, 5F20[00]

32
Assembly (short
integers) bit 0, :
16-bit 82,
8-bit 85, ( bytes).

LDBZE 90, 85
ADD 90, 82
DEC 90
[LOOP] CMP 90, 82
JLT END
LDB 84, [82]
ANDB 84, #7F
STB 84, [82]+
SJMP LOOP
[END] BRK

- 160 -
9
33
5F2016 byte.
ssembly "110"
byte 5F2116.

LDB 91, #01
LDB 90, #00
LDB 80, 5F20[00]
LDB 81, #07
[LOOP] ANDB 82, 80, 81
CMPB 82, #06
JNE SKIP
INCB 90
[SKIP] SHRB 80, 91
CMPB 80, #06
JLT END
SJMP LOOP
[END] BRK

34
,
, . :
16-bit 82,
8-bit 85, ( bytes).

LDBZE 90, 85
ADD 90, 82
DEC 90
[LOOP] CMP 90, 82
JL END
PUSH [82]
PUSH [90]
POP [82]+
POP [90]
DEC 90
SJMP LOOP
[END] BRK

- 161 -
9
35

. 11001011, 3, 5
6 .
:
5F0016 16 bytes.
H (16-bit) 5F4016.

LD 7A, #0001
LD 80, 5F40[00]
CLR 90
[LOOP] SHR 80, 7A
JC SKIP
STB 7B, 5F00[90]
[SKIP] INC 90
CMPB 90, #10
JNE LOOP
BRK

36
ssembly bytes,
5F2016 5F2116.
5F2416.


.
82. zero extended
84.
LD 80, 5F20[00]
CMPB 80, 5F21[00]
JLT SWITCH
LDB 82, 5F21[00]
LDBZE 90, 82
LDBZE 84, 80
SJMP LOOP
[SWITCH] LDB 82, 80
LDBZE 84, 5F21[00]
LDBZE 90, 80

- 162 -
9
,
82 .

86 88.
[LOOP] LD 86, 84
DIVUB 86, 82
CMPB 87, #00
JNE NEXT
LD 88, 90
DIVUB 88, 82
CMPB 89, #00
JE FOUND
[NEXT] DECB 82
JE STOP
SJMP LOOP
[FOUND] STB 82, 5F24[00]
[STOP] BRK

37
Assembly
byte 5F2016 3910.
5F2216.

LDB 80, 5F20[00]
CMPB 80, #00
JE EXIT
LDB 81, #00
LDB 82, #27 (3910=001001112=2716)
LDB 83, #01
[LOOP] CMPB 80, 82
JGT DONE
SHLB 80, 83
INCB 81
SJMP LOOP
[DONE] STB 81, 5F22[00]
[EXIT] BRK

- 163 -
9
38
Assembly
5F2016 5F2916.
5F216 5F216.

LD 80, #5F20
[LOOP] LDB 82, [80]
ANDB 82, #01
JE FOUND
INC 80
CMP 80, #5F2A
JNE LOOP
SJMP SKIP
[FOUND] ST 80, 5F2A[00]
[SKIP] BRK

39
ssembly
C :
if then { code segment A} else {code segment B}
: !=, ==, >, <, <=, >=
for {i=0; i<MAXVALUE; i++} {code segment C}

80 82 .
if, ssembly :
CMP 80, 82
JXX SEGMENTA
[SEGMENTB] ...
Assembly code segment B
...
SJMP NEXT
[SEGMENTA] ...
Assembly code segment B
...
[NEXT]

- 164 -
9
JXX .
if statement,
:
!= JNE
a==b JE
a>b JGT
a<b JLT
a>=b JGE
a<=b JLE
o 80 i loop.
82 VALUE. VALUE 25510.
ssembly :
LDB 80, #00
[LOOP] ...
Assembly code segment C
...
INCB 80
CMPB 80, 82
JNE LOOP

40
.

Y :
1.
.
, .
,


.
.
,
.

- 165 -
9
2. .
,
.

41
: " DMA
byte - 1 ,
100 bytes 100 ".

.
DMA 100 .
1 byte /
100 , .

42

1h 21a
2h a 2 1b
1g 2g b

f1 f2 c2 c1
e2 d2
e1 d1

) 2 tracks 8 sectors .
sector 512 bytes sectors,
, :
2123 bytes ?
2848 bytes ?
640 bytes ?
) sectors ,
, . (..
"1 1c", sector
sector 1c ).

) 2123/(512) = 5 sectors, 2848/(512) = 6
sectors 640/(512) = 2 sectors.

- 166 -
9
sector , sectors
.
) ,
.
sectors.
sectors : 1, 2, 3, 4, 5 sectors
1a, 1b, 1c, 1d, 1e .
1, 2 3 sectors 1f, 1g 1h .
track 2. 1h
track.
4, 5 6, 1 2 sectors 2a, 2b, 2c
2d 2e .
( :
1h. 2 track
2b).

43
:

, +1.
2 n ,
.

.
:
0000
1111
4.

00000
11110
4.
. 2 n
[-2n-1, 2n-1), ,
-2n-1, .

- 167 -
9
44
ssembly 5F21
byte 5F20.

byte
. 80 byte
. 81
. 82 ,
1 .
.
81.
LDB 80, 5F20[00]
LDB 81, #01
LDB 82, #01
[LOOP] CMPB 80, #00
JE END
SHRB 80, 82
JNC LOOP
XORB 81, #01
SJMP LOOP
[END] STB 81, 5F21[00]

45

.
n 0 1.
)
? ( : .
: n ).
) (),
.

- 168 -
9

/ n, /
0 1.

n
0
1
0
1
0
1
0
1

n , n
.

.
,
.

46

? 5
? .

d ,
d+1.
5. 5
amming 5, 5
. 5 ,
, :
4 3 2 1 0
!4 !3 !2 !1 !0

- 169 -
9
( : 4, 3, 2, 1 0
, .
16 ).

47
) ?
) ?
) () ()
? .
) -7810 1, 8 .

(), .

) d ,
d+1.
3.
) c , 2c+1.

3.
) :
amming ,
/ . 3.
Hamming .
3.
modified
Hamming
.

modified amming . 4.
amming A . 4
modified
Hamming , 4.
3, x, y
z .
modified Hamming

(P PB).

- 170 -
9
1 x, y z 1 x, y z P PB
0 3 0 1
1 2 1 0
2 1 0 1
3 0 1 0
0 3 1 0
1 2 0 1
2 1 1 0
3 0 0 1
A 4 modified amming.
( :
,
1).
) -7810 1
7810,
010011102. -7810 = 101100011s. H
:

13 12 11 10 9 8 7 6 5 4 3 2 1
P M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
1 0 1 1 0 0 0 1

C1=M0 M1 M3 M4 M6 = 0
C2=M0 M2 M3 M5 M6 = 0
C4=M1 M2 M3 M7 = 1
C8=M4 M5 M6 M7 = 1
P=M0 M1 M2 M3 M4 M5 M6 M7 C1 C2 C4 C8 = 0
:
13 12 11 10 9 8 7 6 5 4 3 2 1
P M7 M6 M 5 M 4 C8 M3 M 2 M1 C4 M0 C2 C1
0 1 0 1 1 1 0 0 0 1 1 0 0

48
) :
-> 0 0 0 1 1 0 1 0 1 1 0 1 <-
Hamming
.
, .

- 171 -
9
)
( ) :
-> 0 1 1 1 0 1 1 <-
) 1bit/ns
? ?

?


) amming
2 .
:
12 11 10 9 8 7 6 5 4 3 2 1
M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
0 0 0 1 1 0 1 0 1 1 0 1
:
P1 = M 6 M 4 M 3 M 1 M 0 C 1 = 1
P2 = M 6 M 5 M 3 M 2 M 0 C 2 = 0
P4 = M 7 M 3 M 2 M 1 C4 = 0
P8 = M 7 M 6 M 5 M 4 C8 = 0
P8P4P2P1 = 0001 = 1 ,
:
12 11 10 9 8 7 6 5 4 3 2 1
M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
0 0 0 1 1 0 1 0 1 1 0 0
,
M7M6M5M4M3M2M1M0=00010101.

- 172 -
9
) .
:
0 1 1
1 1 0
0 1 1
1 0 1
0 1 1
To ,
.
.
) 12 () 13 (14) ().
25 (26) 25 (26) ns. H 8
() 7 ().
15 / 25 = 60% (15/26 = 57,7%). () 8/12 = 75%
() 7/13 = 53,8% (7/14 = 50%).
.

49

11 .
: 0 1 1 1 1 0 0 1 0 1 0.
,
3 .

/ . ?

2c c+d+1, d=11,
c=4 4
.
:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
M10 M9 M8 M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
0 1 1 1 1 0 0 1 0 1 0

- 173 -
9
C1=M0 M1 M3 M4 M6 M8 M10 = 0
C2=M0 M2 M5 M6 M9 M10 = 1
C4=M1 M2 M3 M7 M8 M9 M10 = 1
C8=M4 M5 M6 M7 M8 M9 M10 = 0
:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
M10 M9 M8 M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
0 1 1 1 1 0 0 0 1 0 1 1 0 1 0

8
:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
M10 M9 M8 M7 M6 M5 M4 C8 M3 M2 M1 C4 M0 C2 C1
0 1 0 1 1 0 0 0 1 0 1 1 0 1 0
:
P1 = C1 M0 M1 M3 M4 M6 M8 M10 = 1
P2 = C2 M0 M2 M5 M6 M9 M10 = 0
P4 = C4 M1 M2 M3 M7 M8 M9 M10 = 1
P8 = C8 M4 M5 M6 M7 M8 M9 M10 = 1
P8P4P2P1 = 1101 = 1310 M8.
4
:
0 1 1 1 1
1 0 0 1 0
0 1 0 0 1
1 0 1 0 0
0. M8,
:
0 1 0 1 1
1 0 0 1 0
0 1 0 0 1
1 0 1 0 0
.
.
Hamming,
.

- 174 -
9
50
modified Hamming.
,
. .
( ) 0 0 1 1 1 1 0 1 1 0 ( )

,
0 0 1 1 1 1 0 1 1 = 0,
.
. :
9 8 7 6 5 4 3 2 1
M 4 C8 M3 M2 M1 C4 M0 C2 C1
0 0 1 1 1 1 0 1 1
C1, C1 0 1 3 4
.
.
51
half-duplex ,
. , 64
Hamming . ,
16
. 60%
40% , ,

.

64 c
2c64+c+1. A 7 .
, 64+7=71
64.
16 4x4 8 (9)
(4 4 ) ( 1
). , 16+8(9)=24(25)
16.
60%
0,6*64/71 + 0,4*16/24(25) = 0,8075 (0,7968) 80,75%(79,68%).

- 175 -
9

- 176 -

You might also like