Computer Concept & Practice(์ปดํจํฐ ๊ฐ๋ ๋ฐ ์ค์ต)
์ปดํจํฐ์ ๋ํด์ ๋ฐฐ์ฐ๊ธฐ์ ์ ๊ฐ๋ก ์ ์ญํ ์ ํ๋ "Computer Concept & Practice(์ปดํจํฐ ๊ฐ๋
๋ฐ ์ค์ต)" ์์
.
์ปดํจํฐ๋ฅผ ์ฒ์ ์ ํ๋ ํ์๋ค์ ๋์์ผ๋ก ์ปดํจํฐ์ ๋ํ ์ผ๋ฐ์ ์ธ ๊ธฐ์ด๊ฐ๋
๋ฑ์ ์ค๋ช
ํ๊ณ , ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ ๊ณผ์ ๊ณผ ํ๋ก๊ทธ๋จ ์์ฑ์ ์ํ ๋
ผ๋ฆฌ์ ์ธ ์ฌ๊ณ ์ ๋ํ์ฌ ๊ฐ์ํ๋ค.
์ค๋ ๊ฐ์์์๋ ์ปดํจํฐ๊ฐ ์ ๋ณด๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฃผ์๊ฐ๋ ์ ์์๋ณด์.
์ปดํจํฐ์์์๋ ๋ชจ๋ ์ ๋ณด๊ฐ 0,1๋ก ํ์๋๋ค. (binary๋ก)
์ด๊ฑธ ์ด์ฉํด ์ปดํจํฐ๊ฐ ์ด๋ป๊ฒ ๋ค์ํ data๋ฅผ ํํํ๋๊ฐ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค.
Computer is a "binary" "digital" system.
Digital system: ํํํ๋ symbol(์ ๋ณด)์ด finite(์ ํ)ํ ๊ฐฏ์๊ฐ ์๋ system
Binary(base two) system: ํํํ๋ symbol์ด 0๊ณผ 1 ๋ง ์๋ system
์ปดํจํฐ๋ binary digital system์ด๋ฏ๋ก,
0๊ณผ1๋ก ์ ํํ ์์ ์ ๋ณด๋ฅผ ํํํด๋ด๋ ์์คํ
์ด๋ผ๊ณ ์๊ฐํด๋ ๋ ๊ฒ ๊ฐ๋ค.
์ค์ ์ปดํจํฐ์์์๋ ๋๋ถ๋ถ voltage(์ ์)์ผ๋ก 0๊ณผ1์ ํํํ๊ฒ ๋๋ค.

์๋ฅผ ๋ค๋ฉด, ์์ ๊ทธ๋ฆผ ์ฒ๋ผ 0~0.5 volt ์ฌ์ด๋ฅผ "0"์ผ๋ก ํํํ๊ณ , 2.4~2.9 volt ์ฌ์ด๋ฅผ "1"๋ก ํํํ๋ค.
(์ค์ ์ ํํ volt๋ ๋ค ๋ค๋ฅด๊ฒ ์ง๋ง, 0๊ณผ 1์ ํํ ์ฌ์ด์ illegalํ ๊ณต๊ฐ(๋น๊ณต๊ฐ)์ ๋์ด์ ์์ ์ฑ์ ํ๋ณดํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.)
์ปดํจํฐ์์ ์ ๋ณด๋ฅผ ํํํ๋ ๊ธฐ๋ณธ ์ ๋์ binary digit ๋๋ bit ๋ผ๊ณ ํ๋ค.
1bit๋ก๋ 0๊ณผ 1์ ํํ ํ ์ ์์ง๋ง, ๊ทธ ์ด์์ ํํ ํ๊ณ ์ถ๋ค๋ฉด ๋ ๋ง์ bit๊ฐ ํ์ํ ๊ฒ์ด๋ค.
ex) 2๊ฐ์ bit๋ก๋ 4๊ฐ์ ์ํ๋ฅผ ํํํ ์ ์๋ค.
00, 01, 10, 11
ex2) 3๊ฐ์ bit๋ก๋ 8๊ฐ์ ์ํ๋ฅผ ํํํ ์ ์๋ค.
000, 001, 010, 011, 100, 101, 110, 111
2๊ฐ์ bit๋ก๋ 2์ 2์น์ธ 4๊ฐ
3๊ฐ์ bit๋ก๋ 2์ 3์น์ธ 8๊ฐ์ ์ํ๋ฅผ ํํ ํ ์ ์๋ค.
ํ ๋ง๋๋ก 'n'๊ฐ์ bit๊ฐ ํํ ํ ์ ์๋ ์ํ๋ '2์ n์น'๊ฐ์ด๋ค.
๊ทธ๋ผ ์ด๊ฒ๋ค์ ํตํด ์ฐ๋ฆฌ๋ ์ด๋ค ์ข ๋ฅ์ data๋ฅผ ๋ค๋ฃฐ ์ ์์๊น?
ํฌ๊ฒ๋ instruction๊ณผ data๋ก ๋๋ ์ ์๋ค.
instruction - ์ค์ ์ปดํจํฐ์์ ์์
์ด ์ผ์ด๋๋ ์ ๋, ์ด instruction ๋ค์ํ data๋ฅผ ์ฒ๋ฆฌํ๋ค.
data์ ์ข
๋ฅ
Numbers- integers(์ ์), floating point(๋ถ๋์์์ ).
[complex๋ณต์์, rational์ ๋ฆฌ์, irrational๋ฌด๋ฆฌ์ ๋ฑ๋ฑ๋ ํํ ๊ฐ๋ฅํ์ง๋ง, ๊ทธ๊ฒ์ ์์ 2๊ฐ์ง built in data๋ด์ฅ๋ฐ์ดํฐ(integers, floationg point)๋ฅผ ์ด์ฉํ์ฌ ํํํ๋ ๋ถ์์ ์ธ ๊ฒ๋ค์ด๋ค.]
Logical - ture, false
Text - characters, strings, ...
Images - pixels, colors, shapes, ...
Sound
๋ฑ๋ฑ
(ํ์์ผ๋ก ์ฒ๋ฆฌ ๋ ๊ฒ๋ค์, built in data๋ฅผ ์ด์ฉํ์ฌ ํํํ๋ data๋ค์ด๋ค.)
Unsigned Integers
๊ทธ๋ผ ์ด์ ์ด๋ฐ data๋ค์ ์ด๋ป๊ฒ ํํํ๋์ง ์์๋ณด์.
์ฐ์ Unsigned Integers(์์ ์ ์๋ฅผ ์ ์ธํ, ์์ ์ ์)๋ฅผ ํํํด๋ณด์.
์ฐ๋ฆฌ๊ฐ ์์ turing machine์์ ๋ดค๋ Non-positional notation์ผ๋ก ํํํ๋ ๊ฒฝ์ฐ
ex) "5" -> "11111"
"3" -> "111"
ํ์ง๋ง ์ด๋ฐ ๋จ์ํ ๋์ด์ธ non-positional notation์ผ๋ก ํฐ ์๋ฅผ ํํํ๋ ค๋ฉด, ์์ฒญ๋๊ฒ ๋ง์ ์์ 1์ด ํ์ํ๊ฒ ๋๋ค.
๊ทธ๋์ ์ด ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ ์๋๊ทธ๋ฆผ์ฒ๋ผ,
์์นํ ์๋ฆฌ๋ก ์ซ์์ ํฌ๊ธฐ๋ฅผ ํํํ๋ ํ๊ธฐ๋ฒ์ธ weighted positional notation์ ์ฌ์ฉํ๋ค.

์ด๋ ๊ฒ position์ ๋ฐ๋ผ ์ซ์๊ฐ ๋ค๋ฅด๊ฒ ํด์๋๋ ํ๊ธฐ๋ฒ์ weighted positional notation์ด๋ผ๊ณ ํ๋ค.
๊ทธ๋ผ ๊ณ์ํด์ Unsigned Integers๋ฅผ bit๋ก ํํ ํ๋ค๋ฉด 2์ n ์น ๋งํผ์ ๊ฐ์ ํํํ ์ ์์ ๊ฒ์ด๋ค.
(์๋ ๊ทธ๋ฆผ์ฒ๋ผ, '0'๋ถํฐ '2์ n์น - 1' ๊น์ง!)
๋ํ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๊ธฐ๋ ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
10010 + 1001 = 11011
10111 + 111 = ? ์ ๊ฐ๋ ํ๋ฒ ๊ตฌํด๋ณด์!


Signed Intergers
๊ทธ๋ ๋ค๋ฉด ์ด์ ์์๋ ํํํด๋ณด์!
์ด๋ ๊ฒ ์์๊น์ง ๊ณ ๋ คํ integer data type์ Signed Intergers๋ผ๊ณ ํ๋ค.
์ปดํจํฐ์์๋ ์์๋ฅผ ํํํ๊ธฐ ์ํด ํํ ๊ฐ๋ฅํ ๊ฐ์ ๋๋๋ค.
ํ๋ง๋๋ก, n bits์ ๊ฒฝ์ฐ์๋ 2์ n์น ๋งํผ์ ํํ์ด ๊ฐ๋ฅํ ํ
๋,
์ ๋ฐ์ ๋๋ฅผ ๋ฐฐ์ ํด์ ์์ ์ ์ '1' ๋ถํฐ '2์ (n-1)์น' ๋งํผ ํํํ๊ณ ,
๋ค๋ฅธ ์ ๋ฐ์ ๋๋ก ์์ ์ ์ '-2์ (n-1)์น' ๋ถํฐ '-1' ๊น์ง ํํํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋จ๊ฒจ๋ 2๊ฐ์ ํํ ๊ฐ์, 1๊ฐ๋ '0'์ ๋ฐฐ์ ํ๊ณ , 1๊ฐ์ extra๋ฅผ ๊ฐ์ง๋ค.
(*extra์ ๋ํ ๊ถ๊ธ์ฆ์ ๋ฐ์์ ํด๊ฒฐ๋๋ค)
ํ์ง๋ง ์ฌ๊ธฐ์ 0์ด๋ผ๋ uniqueํ ํํ ๋๋ฌธ์ ๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
๋ฐ๋ก +-๋ฅผ ํํํ๋ฉด์ 0์ ํํํ๋ค๋ณด๋ '-0์ด 0'์ด๋ผ๋ ์ฌ์ค์ ํํํ๋๋ฐ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒ์ด๋ค.
*์ฌ๋ ์
์ฅ์์์ผ '-0์ด๋ฉด 0์ด์ง'๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๋ฌธ์ ์ด๋, ์ ํํ ๊ณ์ฐ๊ณผ ๋์๊ฐ์ด ํ์ํ ์ปดํจํฐ ์
์ฅ์์๋ -0๋, +0๋ 0์ด๋ผ๊ณ ํํํ๋ ๊ฒ์ ์ค๋ฅ๊ฐ ์๊ธฐ๋ ๊ฒ์ด๋ค.
(*๊ทธ๋ฅ +0๊ณผ -0์ผ๋ก ํํํ๋ฉด ๋๋๊ฑฐ ์๋๋? ๋ผ๊ณ ์๊ฐํ ์ ์๋๋ฐ, ์ปดํจํฐ ์
์ฅ์์๋ ๋ฌด์กฐ๊ฑด (+n) + (-n) = 0 ์ด๋ผ๊ณ ๋์์ผํ๋๋ฐ ์ด๋ ์ด ๊ฐ์ -0์ผ๋ก ํํํ ์ง, +0์ผ๋ก ํํํ ์ง๋ ๋ฌธ์ ์ด๋ฉฐ, ๋ง์ฝ (+0) + (-0) = ? ์ ํด๋ฒ๋ฆฌ๋ฉด ํํํ ์ ์๋ ๊ฐ์ด ์๊ฒ ๋๋ค.)
๊ทธ๋์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๋ํด๋ณธ๋ค.
sign-magnitude ๋ฐฉ์, ์ ์ผ ์์ ๋จ์(most significant,MS)๋ก +-๋ฅผ ํํํด๋ณด๊ธฐ๋ ํ๊ณ ,(0์ธ ๊ฒฝ์ฐ +, 1์ธ ๊ฒฝ์ฐ -)
ex) 00101= 5, 10101= -5
one's complement ๋ฐฉ์, -๋ฅผ ํํ ํ ๋ ๊ฐ์ ์ ๋ถ ๋ค์ง๊ธฐ๋ ํ๋ค.
ex) 00101 = 5, 11010= -5
(๋ ๋ฐฉ๋ฒ ๋ค, ๊ฒฐ๊ตญ MS์ ๊ฐ์ด '0 ์ด๋ฉด +', '1 ์ด๋ฉด -' ์ด๊ธด ํ๋ค.)
ํ์ง๋ง ๋ ๋ฐฉ๋ฒ ๋ชจ๋ 0์ uniqueํ๊ฒ ํํํ์ง ๋ชปํ๋ค.
ex) sign-magnitude -> 10000, 00000 ๋ ๋ค 0์ด ๋์ด๋ฒ๋ฆผ.
one's complement -> 11111, 00000 ๋ ๋ค 0์ด ๋์ด๋ฒ๋ฆผ.
*์ด ๋๋ฌธ์ ์์์ extra๊ฐ 1๊ฐ ๋จ์ ๋ฒ๋ฆฐ ๊ฒ์ด๊ธฐ๋ ํ๋ค. 0์ 1๊ฐ๋ก ํํํ๊ณ ์ถ์๋ฐ ์์ ์์์ฒ๋ผ ์๊พธ 2๊ฐ์ง๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์. ๊ทธ๋ ๋ค๊ณ ๋ ๋ค 0์ผ๋ก ์ฃผ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค!
Two's Complement. (2's C)
๊ทธ๋์ ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ Two's Complement ๋ฐฉ์์ด ๋์จ๋ค.
์ด์ ์ฒ๋ผ ๋จ์ํ MS์ ๊ฐ์ผ๋ก +-๋ฅผ ํํํ๊ฑฐ๋,
๊ฐ์ ์ ๋ถ ๋ค์ง์ด ๋ฒ๋ฆฌ๊ฑฐ๋ ํ๋ ์์ผ๋ก ์์๋ฅผ ํํํ๋ ๊ฒ์ด ์๋๋ผ,
ํด๋น ์์์ ๋ํ์ ๋, 00000์ ๊ฐ์ด ๋์ค๋ ์๋ฅผ ์์๋ก ์ฑํํ ๊ฒ์ด๋ค.
(์ด๋ MS๊ฐ์ ์ฌ์ ํ ๊ณ์ฐ์ ์ฐ์ด์ง ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ ๋ํ ์์ ์์๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ๊ฐ์ด ๋๊ธฐ๋ ํ๋ค.)
์ฌ๊ธฐ์ binary๋ก ํํํ์ ๋ ๋์น๋ ๊ฐ์ ๋ฌด์ํด๋ฒ๋ฆฐ๋ค.
ex) 00101 + 11011 ์ ์ค์ ๋ก binary๋ก ๊ณ์ฐํ๋ฉด 100000์ด ๋์ค๋, ์ปดํจํฐ ๋ด์์ bit๋ก ํํ ๊ฐ๋ฅํ ์๋ฆฟ์๋ฅผ ๋๊ฒผ๊ธฐ ๋๋ฌธ์ ์ ์ผ ์์ 1์ ๋ฌด์ํด๋ฒ๋ฆฌ๊ณ , 00000 ์ผ๋ก ๊ณ์ฐํ๋ค.
*ํ ๋ง๋๋ก bit๋ก ํํ๊ฐ๋ฅํ ์๋ฆฟ์๋ฅผ ๋๋ 1์ ๋
ผ์ธ๋ก ์น๊ณ , ๋ชจ๋ ์๋ฆฌ๊ฐ 0์ด ๋์ค๊ฒ ํ๋ ๋ํ๊ธฐ ๊ฐ์ ์์๋ก ๋ณธ๋ค!


์์ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ๋ฉด ์กฐ๊ธ ๋ ์ฝ๊ฒ ์ดํด๊ฐ ๊ฐ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ญ๊ฐ ๋์ผ๋ก ๋ณด๊ธฐ์๋ two's complement์ ์์๋ฅผ ๋ง๋๋ ๋ฐฉ์์ด ์์ฒญ ๋ณต์กํด๋ณด์ด์ง๋ง,
๋ง์ ์์ ๊ฐ์ ์ป๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ฐ๋จํ๋ค. one's complement ์ฒ๋ผ ์ ๋ถ ๋ค์ง๊ณ , 1์ ๋ํ๋ฉด ๋๋ค!
(์์ ๊ทธ๋ฆผ ์ค 2๋ฒ์งธ ๊ทธ๋ฆผ ์ฐธ๊ณ )
์ด๋ ๊ฒ '0'์ uniqueํ ํํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ two's complement๋
extra๊น์ง ํ์ฉํ์ฌ n bit์ ๊ฒฝ์ฐ, "-2์ (n-1)์น" ๋ถํฐ "2์ (n-1)์น -1" ๊น์ง ํํ ๊ฐ๋ฅํ๋ค.

์์ ๊ทธ๋ฆผ์ฒ๋ผ, 4๊ฐ์ bit๋ฅผ ๊ฐ์ง ๊ฒฝ์ฐ -8 ๋ถํฐ 7๊น์ง ํํ์ด ๊ฐ๋ฅํด์ก์ผ๋ฉฐ, '0'์ ๋ํด์๋ 1๊ฐ์ ๊ฐ๋ง ๋์ฌ ์ ์๋ค.
์ด์ ์ด 2's C (two's complement)๋ฅผ ์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ decimal(์ญ์ง์)๋ก ํํํ ์ ๋ ์๋ค.
์์์ ๊ฒฝ์ฐ๋ ๋จ์ํ binary์ ๊ณ์ฐ๊ณผ ๊ฐ์ง๋ง,
์์์ ๊ฒฝ์ฐ์๋ ๋จผ์ 2's C์ ๋ฒ์น์ผ๋ก ์์๋ก ๋ง๋ค์ด์ค์ ๊ณ์ฐํ, ๋ง์ง๋ง์ -๋ฅผ ๋ถ์ธ๋ค.
๊ทธ ๊ณผ์ ์ ์๋๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.


์ด๋ ๊ฒ ๋จ์ํ ์ซ์๋ฅผ ์ปดํจํฐ๋ก ํํํ๋ ๊ฒ ์ด์ธ์๋ ์ปดํจํฐ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ํ ์ ์๋ค.
์ด์ Addition(๋ํ๊ธฐ), Subtraction(๋นผ๊ธฐ), Sign Extension('๊ณง ๋ฐฐ์ธ ๋ด์ฉ์
๋๋ค.) ๊ฐ์ ๊ฒ ๋ถํฐ,
๋
ผ๋ฆฌ์ ์ธ ๋ถ๋ถ์ธ AND, OR, NOT ๊น์ง ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ๋ํด์ ์์๋ณด์.
์ฐ์ Addition๊ณผ Subtraction ๊ฐ์ ๊ฒฝ์ฐ๋ ์์์๋ ์ถฉ๋ถํ ์ด์ผ๊ธฐ ํ์ผ๋ฏ๋ก, ์์๋ค๋ง ๋ณด๊ณ ๋์ด ๊ฐ๋๋ก ํ๊ฒ ๋ค.


Sign Extension
์ฐ๋ฆฌ๊ฐ "4-bit๋ก ํํ๋ ์ซ์๊ฐ ์๋๋ฐ, 8-bit๋ก ํํํ๊ณ ์ถ๋ค."๋ผ๊ณ ํ ๋,
์ด 4-bit์ ํํ์ 8-bit๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ Sign Extension์ด๋ผ๊ณ ํ๋ค.
ํ ๋ง๋๋ก, ์์ bit๋ก ํํ๋ ๊ฐ์ ํฐ bit ํํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค.

์ด๋ ์์์ ๊ฒฝ์ฐ๋ ๊ทธ๋ฅ 0์ ์ฑ์์ฃผ๋ฉด ๋๋,
์์์ ๊ฒฝ์ฐ์๋ 0์ ์ฑ์ธ ์ ๋ค๋ฅธ ์ซ์๊ฐ ๋์๋ฒ๋ฆฐ๋ค.
ํ์ง๋ง ์ ๊ธฐํ๊ฒ๋ ์ฐ๋ฆฌ๋ 2's C๋ฅผ ์ด์ฉํ์ฌ n์ add ํ ์, 0์ด ๋์ค๋ ๊ฐ์ -n์ผ๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์,
๊ทธ๋ฅ ์์์ธ ๊ฒฝ์ฐ์๋ 1์ ์ฑ์์ฃผ๋ฉด ๋๋ค. (์์ ๊ทธ๋ฆผ ์ฐธ์กฐ)
ํ๋ง๋๋ก, ์์์ ๊ฒฝ์ฐ์๋ 0, ์์์ ๊ฒฝ์ฐ์๋ 1 ์ ์ฑ์์ฃผ๋ฉด ๋๋ค.
(์ด ์ฑ์์ฃผ๋ ๊ฐ์ sign bit๋ผ๊ณ ํ๋ค.)
Overflow
๋ฐ๋ฉด ๋ง์
์ ๊ฐ์ด ๋๋ฌด ํฌ๊ฑฐ๋ ๋๋ฌด ์์์ ๋ด๊ฐ ๊ฐ์ง bit ์๋ก๋ ํํ๋ถ๊ฐํ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๋ฐ๋ก ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ Overflow๋ผ๊ณ ํ๋ค.



๋ฐ๋ก 1๋ฒ์งธ์ 2๋ฒ์งธ ์์ ๊ฒฝ์ฐ์ฒ๋ผ ๊ฒฐ๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋๋ฒ๋ฆฐ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ค ๊ณ์ฐ์ด overflow๊ฐ ๋ฌ๋ค๋ ์ฌ์ค๋ง์ด๋ผ๋ ์์์ผ ํ๋๋ฐ,
์ด๋ฐ ๊ฒฝ์ฐ์๋ MS๊ฐ(์ ์ผ ์์๋ฆฌ ๊ฐ)์ ์ด์ฉํ ์ ์๋ค.
1๋ฒ์งธ ์์ ๊ฒฝ์ฐ์ฒ๋ผ MS๊ฐ์ +๋ฅผ ์๋ฏธํ๋ 0์ ๊ฐ์ง 2๊ฐ์ ์์ ๊ณ์ฐํ๋๋ฐ,
๊ฒฐ๊ณผ๊ฐ์ MS๊ฐ์ด -๋ฅผ ์๋ฏธํ๋ 0์ด ๋์ค๊ฑฐ๋.
2๋ฒ์งธ ์์ ๊ฒฝ์ฐ์ฒ๋ผ MS๊ฐ์ -๋ฅผ ์๋ฏธํ๋ 1์ ๊ฐ์ง 2๊ฐ์ ์์ ๊ณ์ฐํ๋๋ฐ,
๊ฒฐ๊ณผ๊ฐ์ MS๊ฐ์ด +๋ฅผ ์๋ฏธํ๋ 1์ด ๋์ค๊ฑฐ๋ ํ๋ ๊ฒฝ์ฐ.
overflow๊ฐ ๋ฌ๋ค๋ ์ฌ์ค์ ์ ์ ์๋ค.
์ฆ, ๊ณ์ฐ์์ MS๊ฐ์ด ๊ฐ๋ค๋ฉด ๊ฒฐ๊ณผ๊ฐ์ MS๊ฐ๋ ๊ฐ์์ผ ํ๋ฉฐ,
๊ฐ์ง ์๋ค๋ฉด overflow๊ฐ ๋์ ํ๋ฆฐ ๊ณ์ฐ์ ํ ๊ฒ์ด๋ค.
(์ ์์ ์ธ addition๊ณผ subtraction์ ์์์ธ 3๋ฒ์งธ, 4๋ฒ์งธ ์์ ๊ฒฝ์ฐ์๋ ์์ ๊ฐ์ ํ์์ด ๋ฐ์ํ ์ ์๋ค.)
Logical Operations
์ด์ ์ดํด๋ณผ ๊ฒ์ Logical Operations(๋
ผ๋ฆฌ ์ฐ์ฐ)์ด๋ค.
logical operations์์ 1= True, 0= False ๋ฅผ ์๋ฏธํ๋ฉฐ,
์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ๋
ผ๋ฆฌ ํํ์ ํ ์ ์๋ค.


AND์ ๊ฒฝ์ฐ๋,
A์ B๊ฐ True๋ผ๋ ๋ป์ด๋ฏ๋ก,
A์ B๊ฐ ๋ ๋ค True์ ํด๋นํ๋ 1์ด์ฌ์ผ ํ๋ค.
๋์ค ํ๋๋ผ๋ 0์ด๋ฉด False๊ฐ ๋๋ค.
๊ทธ๋์,
AND๋ ์ฐ์ฐ์์ ํด๋น ์๋ฆฌ์ 1๊ฐ๋ผ๋ 0์ด๋ฉด 0์ ๊ฐ์ด ๋์จ๋ค.(์์ ๊ทธ๋ฆผ ์ฐธ์กฐ)
OR์ ๊ฒฝ์ฐ๋,
A ๋๋ B๊ฐ True๋ผ๋ ๋ป์ด๋ฏ๋ก,
A ๋ B ์ค 1๊ฐ๊ฐ True์ ํด๋นํ๋ 1์ด๋ฉด ๋๋ค.
๋์ค ํ๋๋ผ๋ 1์ด๋ฉด True๊ฐ ๋๋ค.
๊ทธ๋์,
OR์ ์ฐ์ฐ์์ ํด๋น ์๋ฆฌ์ 1๊ฐ๋ผ๋ 1์ด๋ฉด 1์ ๊ฐ์ด ๋์จ๋ค.(์์ ๊ทธ๋ฆผ ์ฐธ์กฐ)
NOT์ ๊ฒฝ์ฐ๋,
True๋ False๋ก, False๋ True๋ก ๋ผ๋ ๋ป์ด๋ฏ๋ก,
๊ทธ๋ฅ True์ ํด๋นํ๋ 1์ ๊ฐ์ False์ ํด๋นํ๋ 0์ผ๋ก, ๋ฐ๋์ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋ฉด ๋๋ค.
๊ทธ๋์,
NOT์ 1์ 0์ผ๋ก, 0์ 1๋ก ๋ฐ๊ฟ์ค ๊ฐ์ด ๋์จ๋ค.(์์ ๊ทธ๋ฆผ ์ฐธ์กฐ)
Hexadecimal Notation
๊ทธ๋ฆฌ๊ณ binary notation์ ์กฐ๊ธ ๋ ๊ฐ๋จํ๊ฒ ํํํ๊ธฐ ์ํด Hexadecimal Notation16์ง๋ฒ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
์ด ๊ฒฝ์ฐ 16์ด 2์ 4์น์ด๋ฏ๋ก, 4bit์ ํด๋นํ๋ค.
๊ณ ๋ก 4๊ฐ์ bit๋ฅผ ํ๋๋ก ๋ฌถ์ด์ Hexadecimal์ digital ํํ์ ํ๋ ๊ฒ์ด๋ค.

์ฌ๊ธฐ์ hexadecimal์ ํน์ดํ ์ ์ 9 ์ดํ ๋ถํฐ๋ A,B,C,D,E,F๋ฅผ ํํํ๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋์ binary๋ฅผ hexadecimal๋ก ํํํ ์์๋ฅผ ๋ณด์๋ฉด ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.

Fractions(๋ถ์)์ ํํ๊ณผ Floating-Point
์ด์ Computer์ ํํ์ ๋ํด์ ์ด๋์ ๋ ๊ฐ๋ฌด๋ฆฌ๊ฐ ๋ ๊ฒ ๊ฐ์ง๋ง,
์์ง ํ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋จ์๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ก Fractions๋ถ์์ ๋ํ ๋ฌธ์ ์ด๋ค.
์ซ์๊ฐ ํฐ ๊ฒ๋ ๋ฌธ์ ์ด์ง๋ง, ์์ ๊ฒ๋ ๊ณ์ฐ์ ํ ๋ bit๋ฅผ ๋ง์ด ์ก์๋จน๊ฒ ๋๋ค.

๊ทธ๋์ ์ด๋ฐ ๋ถ์์ ๋ํ ํํ์ ๋ํ ๋ฐฉ๋ฒ์ผ๋ก,
์ ๊ธฐ์ ์๋ถ์ผ์์ ๊ณต์ธ๋ ํํ์ธ IEEE์์ ์ด๋ฐ ๋ถ์๋ฅผ ํํํ๋ Floating-Point์ ์คํ ๋ค๋ํ ๊ธฐ์ค์ ์ ํด๋์๋ค.
32-bit์ ๊ธฐ์ค์ผ๋ก Floating-point์ ๋ํด ์์๋ณด์.


์์์ ์ ์ ์๋ฏ์ด Sign, Exponent, Fraction์ ๊ฐ๊ฐ 1-bit, 8-bit, 23-bit๋ก 32-bit๋ฅผ ๋๋์๋ค.
์ฌ๊ธฐ์ ์ฃผ์ ํ ๊ฒ์ '1 โค exponent โค 254'์ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์๋ ์ผ๋ฐ์ ์ธ ๊ณต์์ ๋ฐ๋ฅด์ง๋ง,(๊ทธ๋ฆผ ์ฐธ์กฐ)
exponent๊ฐ์ด 0์ธ ๊ฒฝ์ฐ์๋ ํน์ํ ๊ณต์(๋ ์์ ์๋ฅผ ํํํ๊ธฐ์ํ์ฌ)์ ์ฌ์ฉํ๊ณ ,
exponent๊ฐ์ด 255์ธ ๊ฒฝ์ฐ์๋ ์์ ๋ค๋ฅธ ๊ฐ(positive/negative, infinity ๋ฑ๋ฑ)์ ํํํ๋ค.
*๊ฐ์๊ธฐ ๋ณต์กํด๋ณด์ด์ง๋ง, ์ฒ์ฒํ ์ดํด๋ณด๋ฉด ๋ณ๊ฑฐ์๋ค!
์์ ๊ทธ๋ฆผ ์ค, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๋ณด๋ฉฐ ์ฒ์ฒํ ์ดํด๋ณด์.
sign ๊ตฌ์ญ์ ์ด์ ์ ๊ฒฝ์ฐ์ ๊ฐ์ด +-๋ฅผ ๊ฒฐ์ ํ ๋ฟ์ด๋ค.
exponent ๊ตฌ์ญ์ ๊ทธ๋ฅ 2์ ๋ช์น์ธ์ง๋ฅผ ๊ฒฐ์ ํ ๋ฟ์ด๋ค.
fraction ๊ตฌ์ญ์ 0.๋ช ์ด๋ผ๋ ์์์ ์ดํ ๋ถ๋ถ์ ๊ฒฐ์ ํ ๋ฟ์ด๋ค.
์ซ์๊ฐ ๊ดด๋ํด์ ๊ทธ๋ ์ง ๋ง์ ํ๋ํ๋ ๋์
ํด๋ณด๋ฉด ์ด๋ ต์ง ์์ ๊ณ์ฐ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฐ Floating-Point๋ก ํํ๋ ๋ถ์Fractions๋ ๊ทธ๋ฅ 2's C์ addition, subtraction ์ฒ๋ผ ๊ทธ๋ฅ ๊ณ์ฐํ๋ฉด ๋ ๊น?
์๋๋ค. ์ผ๋ จ์ ๊ณผ์ ์ด ํ์ํ๋ค!
์ด์ ๋ํด์ , ๋
ผ๋ฆฌํ๋ก ๊ณผ๋ชฉ์์ ๋ฐฐ์ฐ๋๋ก ํ์!
Text: ASCII Characters
์ ์ด์ ์ปดํจํฐ๊ฐ instruction, numbers, logical ๋ฑ์ ์ด๋ป๊ฒ ๋ค๋ฃจ๋์ง ์์๋ณด์๋ค.
์ด๋ฒ์๋ Text์ ํํ์ ๋ํ์ฌ ์์๋ณด์.์์ floating-point์ ๊ฒฝ์ฐ์ standardํ ํ์ค์ด ์์๋ ๊ฒ์ฒ๋ผ, ASCII ๊ธฐ์ค์ด ์๋ค.
ASCII๋ 7-bit๋ฅผ ์ด์ฉํ์ฌ, 128๊ฐ์ character๋ฅผ ํํํ๋ค.

์ฐ๋ฆฌ๊ฐ ์์์ ์ ๊น ์์๋ณด์๋, hexadecimal์ ์ด์ฉํ๋ฉด ์์ ํ๋ฅผ ์ฝ๊ฒ ์์๋ณผ ์ ์์ ๊ฒ์ด๋ค.
(๊ผญ character๋ฟ ์๋๋ผ, ๊ทธ ํํ์ ์ํ ๋ค์ํ ๊ธฐ๋ฅ๋ค๋ ๋ณผ ์ ์๋ค.
ex: sp=์คํ์ด์ค๋ฐ, nl =new line ํ๋ฉด์์์ ๋ค์ ๋ผ์ธ์ผ๋ก ๋์ด๊ฐ๋ค ๋ฑ๋ฑ)
์์ ํ์์ ๋ณด์ด๋ฏ์ด,
์ซ์์ ๊ฒฝ์ฐ, ์๋์ซ์์ +30์ ํ๋ฉด ํํํ ์ ์๊ณ ,
์์ด ์๋ฌธ์์ ๊ฒฝ์ฐ, ๋๋ฌธ์์์ +20์ ํ๋ฉด ํํ ํ ์ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด 128๊ฐ์ ํํ์ผ๋ก ์ถฉ๋ถํ ๊น?
์๋๋ค. ์๋ฌธ๋ง ์ด๋ค๋ฉด ๊ทธ๋ ๊ฒ ์ง๋ง, ์ธ๊ณ์๋ ๋ค์ํ ์ธ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ 128๊ฐ์ ํํ์ผ๋ก๋ ๋ถ์กฑํ๋ค.
๊ทธ๋์ ๊ฐ ๋๋ผ๋ณ ์ธ์ด๋ฅผ ๋ชจ๋ ํ๊ธฐํ๊ธฐ ์ํ ์ฝ๋์ฒด๊ณ์ธ Unicode์์ 16bit (2์ 16์น ๋งํผ์ ํํ ๊ฐ์ผ)๋ก,
๋ค์ํ ์ธ์ด๋ฅผ ํํํ๋ฉฐ, ๊ทธ์ค์ ํ๊ธ์ ๊ฝค ๋ง์ 11,172๊ฐ์ ํํ์ ์ฐจ์งํ๊ณ ์๋ค.
Other Data Types
์ด์ธ์ data type์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์๋ค.(์๋๊ทธ๋ฆผ ์ฐธ์กฐ)
์์ง์ ์์ธํ ํ๊ณ ๋ค ๋ด์ฉ์ ์๋๋,
์ปดํจํฐ๊ฐ ํด๋น type์ ๋๋ต ์ด๋ป๊ฒ ํํํ๋์ง ์ ๋๋ง ์์๋๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค!

์ค๋์ ์ค์ํ ๊ฐ๋
- data๋ computer์์์ ๋จ์ํ 0๊ณผ 1์ pattern์ด๋ค.
- Program Counter(๋ค์์ ์คํํ ๋ช
๋ น์ด์ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๊ณ ์๋ ๊ฒ, ๊ฐ๋ตํ๋ ๋ค์์ ์คํ ๋ ๋ช
๋ น์ด์ ๋ํ ํฌ์ธํฐ)
๊ฐ instructions์ ๊ฐ๋ฅดํค๋ฉด instructions์ผ๋ก ํด์์ด๋๋ฉฐ,
์ด instructions์ ๋ค๋ฅธ memory์ data๋ฅผ ์ฐธ์กฐํ๋๋ฐ,
์ด ๋ instructions์ด integers๋ก ๊ฐ์ฃผํ๋ฉด integers๋ก ํด์์ด๋๊ณ ,
floating point๋ก ํด์ํ๋ฉด floating point๋ก ํด์์ด ๋๋ ์์ด๋ค.
-๊ธฐ๋ณธ์ ์ผ๋ก instruction์์ ์ฒ๋ฆฌํ๋ data type์,
integers, bit vectors, floating point numbers, characters ์ ๋๊ฐ ์๋ค.
-๋๋จธ์ง data type(strings, images, sounds, etc..)์ ํ๋์จ์ด์์ ์ง์ํด์ฃผ๋ data type์ ์กฐํฉ์ผ๋ก ํํ์ ํ๊ฑฐ๋,
์
์ถ๋ ฅ ์ฅ์น์ ๋์์ผ๋ก ํํ์ ํ๋ค.
ex) ๊ฒ์์ ๋๋ฆฌ๊ธฐ ์ํด ๊ทธ๋ํฝ์นด๋๋ฅผ ๊ฐ์ถ๊ฑฐ๋, ๋ ๋์ ์์ง์ ์ํด dac๋ฅผ ์ด์ฉํ๋ ๊ฒ ๋ฑ.
*๋์ ์๊ฐ
๊ฐ๋จํ๋ ๋จ์ํ 0๊ณผ 1 ๋ฐ์ ํํํ์ง ๋ชปํ๋ bit๋ผ๋ ๋จ์๋ก ์ด๋ป๊ฒ ๋ค์ํ ์ซ์๋ฅผ ํํํ ์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ instruction์ ๋ฐ๋ผ ํจ์จ์ ์ผ๋ก ์์ ์์๋ถํฐ, ๋ถ์๊น์ง ํํํ๊ธฐ ์ํด ์ด๋ ํ ๊ณผ์ ์ ๊ฑฐ์น๋์ง์ ๋ํด์ ์ ์ ์๋ ์ฅ์ด์๋ค.
๋ํ ์ซ์๋ฅผ ๋์ด ASCII์ฝ๋ ๊น์ง, ์ฐ๋ฆฌ์๊ฒ ๋น์ฐํ ์ปดํจํฐ์ ๋ฌธ์๋ ์๋ฆฌ ๋ฑ์ด ์ด๋ค ๋ฐฉ์์ ์ด์ฉํ๋์ง ์ ์ ์์๋ค.
ํ์ฌ๋ ๋ง๋ฅ ์ด๋ ค์๋ณด์ด์ง๋ง ์ดํ ์ฝ๋ฉ์ ์์ด์ ์กฐ๊ธ ๋ ๊ธฐ๊ณ์นํ์ ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋ ํด๋น ๋ฐฉ์๋ค์ ๋ํ ์ฌ๊ณ ๋ฐฉ์์ด ๋์์ด ๋ ๊ฒ ๊ฐ๋ค.
+์ค๋์ ์๋จ์ด
manipulate ์กฐ์ข ํ๋ค, ๋ค๋ฃจ๋ค
integer ์ ์
floating point ๋ถ๋์์์
character ๋ถํธ
finite ์ ํํ, ํ์ ๋
voltage ์ ์
notation ํ๊ธฐ๋ฒ
decimal ์ญ์ง๋ฒ์
worth ~์ ๊ฐ์น๊ฐ ์๋
propagate ์ ํํ๋ค, ์ ์ ํ๋ค
distinct ๋๋ ทํ, ๋ถ๋ช ํ, ๋ณ๊ฐ์
assign ๋ฐฐ์นํ๋ค, ๋งก๊ธฐ๋ค, ๋ฐฐ์ ํ๋ค
complement ๋ณด์ํ๋ค, ๋ง๋ถ์ด๋ค
flip ๋ค์ง๋ค, ์ ํ๋ค
represent ๋ํํ๋ค, ๋์ ํ๋ค, ํด๋นํ๋ค
indicate ๋ํ๋ด๋ค, ๋ด๋น์น๋ค
arithmetic ์ฐ์, ์ฐ์ฐ, ๊ณ์ฐ
circuit ์ํ, ํ๋ก, ์ํ
corresponding ~์ ํด๋นํ๋, ์์ํ๋
remainder ๋๋จธ์ง, (๋บ์ ๋๋์ ๋ฑ์) ๋๋จธ์ง
division ๋ถํ , ๋ถ๋ฐฐ, ๋๋์
magnitude (์์ฒญ๋)๊ท๋ชจ[์ค์๋], ๊ด๋, ์ง์ง๊ท๋ชจ
subtracting ๋บ์
multiplication ๊ณฑ์
operand ํผ์ฐ์ฐํจ์
properties ์ฑ์ง, ํน์ง
amuse ์ฆ๊ฒ๊ฒํ๋ค, ์ฆ๊ฑฐ์ด ์๊ฐ์ ๊ฐ๊ฒ ํด์ฃผ๋ค
'๐ปComputer > Computer concept&practice' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4. The Von Neumann Model (0) | 2022.05.09 |
---|---|
3. Digital Logic Structures (0) | 2022.04.30 |
1. Welcome Aboard (1) | 2022.04.19 |
0. Introduction (0) | 2022.04.19 |