Title: Computer Architecture
1?3?. ??? ??? ?? ??
2?? ??
- 3.1 ALU? ?? ??
- 3.2 ??? ??
- 3.3 ?? ??
- 3.4 ??? ??
- 3.5 ??? ?? ??
- 3.6 ????? ?? ??
- 3.7 ????? ?? ??
33.1 ALU? ?? ??
- ?? ???? ?? ???(, -, , )? ??
- ?? ???? ?? ???(AND, OR, XOR, NOT ?)? ??
- ??? ????(shift register) ???? ?? ?? ???? ?????
??? ?? ???? - ???(complementer) 2? ???? 2? ??? ??(???)
- ?? ????(status register) ?? ??? ??? ????
???(flag)?? ???? ????
4ALU? ?? ?? ???
53.2 ??? ??
- 2?? 0, 1, ?? ? ????? ??
- -13.62510 -1101.1012
- ??? ????? ?? ?? ????? ?(Fixed-point Number)
- ??? ?? ???? ???? 2?? ??? ??
- ??? ???? ???? ???
- ? ??? ?? ??? ???? ??? ??
- n-?? 2??? ?? ?? ? A? ???? ??
- ??? ??? a0? ??? ???? ?? ??? 10?? ????
- A an-1 2n-1 an-2 2n-2 ... a1 21
a0 20 - ??? ??? an-1? ??? ???? ?? ??? 10?? ????
- A an-1 2-1 an-2 2-2 ... a1 2-(n-1)
a0 2-n - ? 23 22 21 20 2-1 2-2 2-3
- 1 1 0 1 . 1 0 1
- 123 122 021 120 12-1 02-2
12-3 - 8 4 1 0.5 0.125 13.625
6??? ??
- ?? ?? ??
- ???-?? ??(signed-magnitude representation)
- 1? ?? ??(1's complement representation)
- 2? ?? ??(2's complement representation)
- ??? ??? ??? ??(leftmost bit)? ?? ??(sign bit)?
?? - an-1 0 ?? ??
- an-1 1 ?? ??
73.2.1 ???-?? ?? (1)
- ? ?? ??? ?? ??, ??? n-1 ?? ???? ??
??(???magnitude)? ???? ?? ?? - ? 9 0 0001001 35 0 0100011
- - 9 1 0001001 - 35 1 0100011
- ???-??? ??? 2??(an-1 an-2 ... a1 a0)? 10??? ??
- A (-1)an-1 (an-2 2n-2 an-3 2n-3 ...
a1 21 a0 20) - 0 0100011 (-1)0(0261250240230221211
20) - (32 2 1) 35
- 1 0001001 (-1)1(0260250241230220211
20) - - (8 1) - 9
8???-?? ?? (2)
- ??
- ??? ??? ???? ???? ????? ?? ??? ??? ??
- ? ? ?? ??
- (1) ? ?? ??? ????
- (2) ??? ?? ???? ?? ??? ???, ?? ???? ??? ???
- (3) ?? ??? ???? ? ? ?? ??? ???? ??? ??
- 0 ??? ? ? ??
- n-?? ??? ??? ? ?? ??? 2n ?? ??, (2n - 1)?? ??
- 0 0000000 0
- 1 0000000 - 0
93.2.2 ?? ??
- 1? ??(1's complement) ??
- ?? ???? ?? (0 ? 1, 1? 0)
- 2? ??(2's complement) ??
- ?? ???? ????(1? ??), ???? 1? ???
- ?
- 9 0 0001001 35 0
0100011 - - 9 1 1110110 (1? ??) - 35 1 1011100 (1?
??) - 9 1 1110111 (2? ??) - 35 1 1011101 (2?
??) - ??? ????? ?? ??? 2? ??? ??
- ?? ??? ??? ? ??? ???? ?? ??
- 1? ?? ??? 0? ?? ??? ? ?? ? ??? ? ?? ?? ??? ??
108-?? ??? ??? ???
- 8-?? 2??? ??? ? ?? 10??? ??
- 1? ?? - (27 - 1) (27 - 1)
- 2? ?? - 27 (27 - 1)
112? ?? ? 10?? ??
- 2? ??? ??? ??(an-1 0)? 10??? ???? ??
- A an-2 2n-2 an-3 2n-3 ... a1 21 a0
20 - 2? ??? ??? ??(an-1 1)? 10??? ???? ??
- A - 2n-1 (an-22n-2 an-32n-3 a121
a020 ) - ? 10101110 - 128 (1 25 1 23 1 22
1 21) - - 128 (32 8 4 2)
- 82 - ?? ?? 10101110 ? 01010010 ?? ?? ??? ?,
- 01010010 - (1 26 1 24 1 21)
- - (64 16 2) - 82
123.2.3 ?? ?? (Bit Extension) (1)
- ???? ??(?? ?)? ??? ??
- ?? ???? ? ?? ??? ????? ????? ? ? ????? ?? ??
- ? 8-?? ???? 16-?? ???? ??
- ???-?? ??? ?? ?? ??? ??? ??? ?????, ? ?? ????
0?? ??? - 21 00010101 (???-??, 8 ??)
- 21 0000000000010101 (???-??, 16 ??)
- -21 10010101 (???-??, 8 ??)
- -21 1000000000010101 (???-??, 16 ??)
13?? ?? (Bit Extension) (2)
- ? 8-?? ???? 16-?? ???? ??
- 2? ?? ??? ?? ???? ?? ???? ?? ??? ?? ??? ??
?? ?? ??(sign-bit extension) - 21 00010101 (2? ??, 8 ??)
- 21 0000000000010101 (2? ??, 16 ??)
- -21 11101011 (2? ??, 8 ??)
- -21 1111111111101011 (2? ??, 16 ??)
143.3 ?? ??
- ???? ?? ???
- ?? ???? ?? ?? ? ?? ??? ??? ??
- ?? ??? ?? ??? ??
15?? ??? ?? ???? ??
- ????? ??
- ?? ???? ?? ?? ????? ??
- ?? ?? ???? ??? ?????? ? ??? ?? ??? ??
16N-?? ?? ????
- N-?? ????? ?? ?? ????
- ?? ?? ???? ??? ??
- 4-?? ?? ????
17AND ?? / OR ??
- AND ?? ? ??? ???? ???? ??? ?? AND ??? ??
- A 1 0 1 1 0 1 0 1
- B 0 0 1 1 1 0 1 1
- -------------------
- 0 0 1 1 0 0 0 1 (?? ??)
- OR ?? ? ??? ???? ???? ??? ?? OR ??? ??
- A 1 0 0 1 0 1 0 1
- B 0 0 1 1 1 0 1 1
- -------------------
- 1 0 1 1 1 1 1 1 (?? ??)
18XOR ?? / NOT ??
- XOR ?? ? ??? ???? ???? ??? ?? exclusive-OR ???
?? - A 1 0 0 1 0 1 0 1
- B 0 0 1 1 1 0 1 1
- -------------------
- 1 0 1 0 1 1 1 0 (?? ??)
- NOT ?? ??? ??? ?? ???? ??(invert)
- A 1 0 0 1 0 1 0 1 (?? ?)
- -------------------------------
- 0 1 1 0 1 0 1 0 (?? ?)
19???-?? ?? / ???-?? ??
- ???-??(selective-set) ?? B ????? ??? ??? 1? ???
???? ?? ??? ?? A ????? ???? 1? ?? ltOR ?? ??gt - A 1 0 0 1 0 0 1 0 (?? ?)
- B 0 0 0 0 1 1 1 1
- -------------------
- A 1 0 0 1 1 1 1 1 (?? ?)
- ???-??(selective-complement) ?? B ????? ??? ???
1? ??? ???? ???? A ????? ???? ??? ?? ltXOR ?? ??gt - A 1 0 0 1 0 1 0 1 (?? ?)
- B 0 0 0 0 1 1 1 1
- -------------------
- A 1 0 0 1 1 0 1 0 (?? ?)
20??? ??
- ???(mask) ?? B ????? ??? ??? ?? 0? ???? ?? ???
?? A ????? ???? 0?? ???(clear??) ?? ltAND ?? ??gt - ?? ???? ??? ???? ????? clear?? ? ??
- ?
- A 1 1 0 1 0 1 0 1 (?? ?)
- B 0 0 0 0 1 1 1 1
- -------------------
- A 0 0 0 0 0 1 0 1 (?? ?)
21?? ??
- ??(insert) ?? ??? ?? ??? ??? ???? ?? ??? ??
- ?? ? ??? ?? ???? ??? ???(AND) ?? ??
? ??? ??? ???? OR ??? ?? - A 1 0 0 1 0 1 0 1
- B 0 0 0 0 1 1 1 1 ??? (AND ??)
- -------------------
- A 0 0 0 0 0 1 0 1 ? ?? ??
- B 1 1 1 0 0 0 0 0 ?? (OR ??)
- -------------------
- A 1 1 1 0 0 1 0 1 ??(??) ??
22?? ??
- ??(compare) ??
- A? B ????? ??? ?? ? exclusive-OR ??
- ?? ???? ???? ?? ???, A ????? ?? ??? 0 ??
- ?? ?? ???, A ????? ?? ??? 1 ??
- ?? ???? ???, Z ???? 1 ??
- A 1 1 0 1 0 1 0 1
- B 1 0 0 1 0 1 1 0
- -------------------
- A 0 1 0 0 0 0 1 1 (?? ??)
233.4 ???(shift) ??
- ??? ??? (logical shift)
- ?????? ??? ???? ?? ?? ????? ? ?? ??
- ?? ???(left shift)
- ?? ???? ???? ? ?? ??
- ??? ??(A1)?? 0 ? ????, ??? ??(A4)? ??
- ?? ???(right shift)
- ?? ???? ???? ? ?? ??
- ??? ??(A4)? 0? ????, ??? ??(A0)? ??
24??? ???? (shift register)
25?? ???(circular shift)
- ?? ???(circular shift)
- ??(rotate)???? ???, ??? ?? ???? ?? ??? ??? ?? ???
?? ?? ?? ??? ?? - ?? ??-???(circular shift-left)
- ??? ??? A4? ??? ?? ??? A1?? ??
- ?? ??-???(circular shift-right)
- A4 ? A3, A3 ? A2, A2 ? A1, A1 ? A4
26??? ???? ?? (1)
- ?? ??? ??(Serial Data Transfer)
- ??? ??? ??? ?? ??? ????? ?????? ? ????? ??? ? ??
?? ??? ?? ???? ???? ??
27??? ???? ?? (2)
28??? ??? (arithmetic shift)
- ?(number)? ???? ???? ?? ???
- ?? ??? ???? ?? ??? ??? ?????, ?? ??? ???? ????
??? - (1) ??? ??-???(arithmetic shift-left)
- A4 (??), A3 ? A2, A2 ? A1, A1 ? 0
- (2) ??? ??-???(arithmetic shift-right)
- A4 (??), A4 ? A3, A3 ? A2, A2 ? A1
- ? A 1 1 1 0 (-2) ?? ??
- 1 1 0 0 (-4) ??? ??-??? ??
- 1 1 1 0 (-2) ??? ??-??? ??
- 1 1 1 1 (-1) ??? ??-??? ??
293.5 ??? ?? ??
- ??? ?? ??? ?? ???? ???? ???
- A ? A' 1 ???(2? ?? ??)
- A ? A B ??
- A ? A - B ??
- A ? A x B ??
- A ? A / B ???
- A ? A 1 ??(increment)
- A ? A - 1 ??(decrement)
303.5.1 ??
- 2? ??? ??? ??? ?? ??
- ? ?? ???, ?? ???? ???? ??
31?? ???(Parallel Adder) (1)
- ??? ???? ???? ??
- ?? ???? ????(full-adder)?? ??
- ?? ?? ??? ?? ?? ?? ????(condition flags)? ??
- C ??? ???(carry)
- S ??? ??(sign)
- Z ??? 0(zero)
- V ??? ?????(overflow)
32?? ???(Parallel Adder) (2)
33?? ?????
- ?? ??? ? ??? ???? ???? ??? ?? ??
- ?? ??
- ? ???(carry)? ?? exclusive-OR? ??
- V C4 ? C5
- ???? ?????? ???? ?
343.5.2 ??
- ??? ???? ??
- A - (B) A (-B)
- A - (-B) A (B)
- ?, A ???(minuend), B ??(subtrahend)
35??? ?? ?? ????? ?? ???
36?? ?????
- ?? ??? ? ??? ???? ???? ??? ?? ??
- ?? ?? ??? ?? (V C4 ? C5 )
373.5.3 ??
- ?? ?? ??? ??
- ? ??? ??? ?? ?(partial product) ??
- ????? ?? ??? ?? ??? ??
- ? ?? n-?? 2? ??? ??? ???? ?? 2n ??? ??
38?? ?? ?? ??? (1)
- ?? ???? ???? ??
- M ???? ???(multiplicand) ??
- Q ???? ??(multiplier) ??
- ? ? ??? ???? A ????? Q ????? ??
39?? ?? ?? ??? (2)
402? ??? ?? ??
- Booth ????(Booth's algorithm) ??
- ???? ??
- ?? ?? ?? ???? ????? ?? ??? ??
- M ????? ?? ??? ??? ???(complementer) ??
- Q ????? ??? Q-1 ??? ??? 1-?? ????? ????, ??? Q0?
?? ?? ??? ??
41Booth ????? ???
42Booth ????? ??? ??? ? (-7x3)
433.5.4 ???
- ???? ?? ??
- D V Q --- R
- ?, D ???(dividend), V ??(divisor), Q
?(quotient) - V ??(divisor), R ??? ?(remainder)
- ?? ?? 2? ???
44?? ?? 2? ??? ????? ???
452? ?? ??? ??
- ?? ?? ??? M ?????, ???? A? Q ????? ??
? ????? n ??? ?, ???? 2n ?? ??? 2? ??? ?? - ??? 1 A? Q ????? ???? ? ??? ???
- ??? 2 ?? M? A? ??? ??? A ? A - M,
??? A ? A M? ????. - ??? 3 ?? ?? ?? A? ??? ??? ?? ??? ??
- ??? ????? A 0 ??, Q0 ? 1? ??
- ??? ???? A ? 0 ??, Q0 ? 0?? ?? A? ??? ??? ??
- ??? 4 Q? ?? ?? ?? ?????, ?? 2?? 4??? ??
- ??? 5 ??? ?? A. ?? ??? ???? ??? ??? ?? Q? ???,
??? ??? Q? 2? ??? ?
462? ?? ???? ? (7 (-3))
473.6 ????? ?? ??
- ????? ??(floating-point representation) ????
??? ???? ? ?? ?? ?? - ????? ?(floating-point number)? ???? ??
- N (-1)S M BE
- ?, S ??(sign), M ??(mantissa), B ??(base),
E ??(exponent) - 2? ????? ?(binary floating-point number)
- ?? B 2
- ??-???(single-precision) ????? ? 32 ??
- ??-???(double-precision) ????? ? 64 ??
48??-??? ????? ? ??? ?
- S 1 ??, E 8 ??, M 23 ??
- ??(E) ??? ?? ?? ????, ?? ??? ?? ?? ??
- ??(M) ??? ?? ?? ????, ???(precision) ??
49?? ?? ?? ????? ??
- ?? ?? ?? ????? ??? ?? ??? ??
- 0.1101 25
- 110.1 22
- 0.01101 26
- ???? ??(normalized representation)
- ?? ?? ??? ? ??? ???? ?? ??
- 0.1bbb...b 2E
- ?? ??? ???? ??? 0.1101 25
50?? ??? ? (0.1101 25)
- ??(S) ?? 0
- ??(E) 00000101
- ??(M) 1101 0000 0000 0000 0000 000
- ??? ?? ? ?? ??? ?? 1???, ??? ??? ??? ?? 23???
???? ??? ?? 24 ?? ??? ?? ??
51????? ?? (biased exponent)
- ??? ????? ?(biased number)? ??
- ?? ??
- 0? ?? ???? ?? ???? 0? ?? ??, 0-??(zero-test)?
???? ?? ??? 0-??? ????? ?? ???? ??
528-?? ????? ????
53????? ??? ??? ????? ??? ?
- ????? 128? ?, N - 13.625? ?? ????? ??
- 13.62510 1101.1012 0.1101101 24
- ??(S) ?? 1 (-)
- ??(E) 00000100 10000000 10000100
- (???? 128? ???)
- ??(M) 10110100000000000000000
- (??? ??? ? ?? 1? ??)
54????? ?? ?? ??
- ????? ?? ?? ??
- 0.5 2-128?? (1 - 2-24) 2127 ??? ???(?? 1.47
x 10-39 1.7 x 1038) - -(1 - 2-24) 2127 ?? -0.5 2-128 ??? ???
- ???? ??
- (1 - 2-24) 2127?? ?? ?? ? ?? ?????(negative
overflow) - 0.5 2-128 ?? ? ?? ? ?? ?????(negative
underflow) - 0
- 0.5 2-128 ?? ?? ?? ? ?? ?????(positive
underflow) - (1 - 2-24) 2127 ?? ? ??? ?? ?????(positive
overflow)
5532-?? ??? ??? ?? ??? ?? ??
56IEEE 754 ?? ????? ?? ??
- ????? ?? ?? ??? ??? ??? ?????????(IEEE)?? ??? ??
- ?? ??
- N (-1)S 2E-127 (1.M)
- ?? ???-?? ?? ??
- ?? ?? ???? 127 ??
- 1.M 2E? ??? ???, ??? ??? M ??? ?? ??? ??(???
??? ???? ?? 1? hidden bit?? ??) - 64-?? ??-??? ????? ??? ???? ??
- N (-1)S 2E-1023 (1.M)
57IEEE 754 ?? ????? ?? ??
58IEEE 754 ?? ? (N - 13.625 )
- 13.62510 1101.1012 1.101101 23
- ??(S) ?? 1 (-)
- ?? E 00000011 01111111 10000010
- (???? 127? ???)
- ?? M 10110100000000000000000
- (??? ??? 1? ????)
59?? ??? ??? IEEE 754 ??
- ?? ??? ??? ?? (32-?? ??)
- ?? E 255?? M ? 0??, N NaN
- ?? E 255?? M 0??, N (-1)S 8
- ?? 0 lt E lt 255 ??, N (-1)S 2E-127 (1.M)
- ?? E 0?? M ? 0??, N (-1)S 2-126 (0.M)
- ?? E 0?? M 0??, N (-1)S 0
- ?? ??? ??? ?? (64-?? ??)
- ?? E 2047?? M ? 0??, N NaN
- ?? E 2047?? M 0??, N (-1)S 8
- ?? 0 lt E lt 2047 ??, N (-1)S 2E-1023 (1.M)
- ?? E 0?? M ? 0??, N (-1)S 2-1022 (0.M)
- ?? E 0?? M 0??, N (-1)S 0
60????? ?? / ??
- ??? ??
- ???? ????? ?? (alignment)
- ??? ?? ??(??? ?? ??) ??
- ??? ??? (normalization)
61????? ??? ??????
- ?? ???? ?? ??
- ???? ????? ??? ???? ?? ?? ???????? ??
62????? ?? / ???
- 2?? ????? ?? ??
- ???? ???
- ???? ???
- ???? ???
- 2?? ????? ??? ??
- ???? ???
- ???? ???? ??? ??? ??
- ???? ???
????? ??? ? (0.1011 23) (0.1001 25) lt??
???gt 1011 1001 01100011 lt?? ???gt 3
5 8 lt???gt 0.01100011 28 0.1100011
27 (???)
63????? ?? ???? ?? ??? ???
- ?? ?????(exponent overflow)
- ?? ???? ?? ???? ??
- ?? ?? ?? ??? ? ?? ?????, 8 ?? -8? ??
- ?? ?????(exponent underflow)
- ?? ???? ?? ???? ??
- ?? ?? ??? ??? ? ?? ?????, 0?? ??
64????? ?? ???? ?? ??? ???
- ?? ?????(mantissa underflow)
- ??? ??? ?? ?? ???? ???? ??? ?? ??? ??? ??
- ? ???(rounding) ??
- ?? ?????(mantissa overflow)
- ?? ??? ?? ? ???? ????? ? ???? ???? ??
- ? ???(realignment) ??? ??? ???