Bibi's DevLog ๐Ÿค“๐ŸŽ

[TIL 211004 - Codesquad] ๋””์ง€ํ„ธ ๋…ผ๋ฆฌํšŒ๋กœ, ์ด์ง„๋ง์…ˆ๊ธฐ, ์ง„๋ฒ•๋ณ€ํ™˜๊ธฐ ๋ณธ๋ฌธ

TIL

[TIL 211004 - Codesquad] ๋””์ง€ํ„ธ ๋…ผ๋ฆฌํšŒ๋กœ, ์ด์ง„๋ง์…ˆ๊ธฐ, ์ง„๋ฒ•๋ณ€ํ™˜๊ธฐ

๋น„๋น„ bibi 2021. 1. 4. 23:49

Done 

- OT์ฐธ์„, ๋ฐฑ์—”๋“œ ํŒ€์› ๋ฐ ๊ทธ๋ฃน์›๋“ค๊ณผ ์ฒซ ๋งŒ๋‚จ
- ์ฃผ์–ด์ง„ ๋ฏธ์…˜ (์ด์ง„๋ง์…ˆ๊ธฐ, ์ง„๋ฒ•๋ณ€ํ™˜๊ธฐ) 1์ฐจ์™„์„ฑ
- ๋ฐฐ๊ฒฝ์ง€์‹๊ณผ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ๋””์ง€ํ„ธ ๋…ผ๋ฆฌํšŒ๋กœ, ์ด์ง„๋ง์…ˆ๊ณผ carry์˜ ๊ฐœ๋…, ์ง„๋ฒ•๋ณ€ํ™˜ ๊ณต๋ถ€

 

TIL

์˜ค๋Š˜ ์ƒˆ๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์š”์•ฝ์ •๋ฆฌ

 

๋””์ง€ํ„ธ ๋…ผ๋ฆฌํšŒ๋กœ Digital Logic Gate

(์ „์ž๊ณตํ•™) boolean์„ ๋ฌผ๋ฆฌ์  ์žฅ์น˜์— ๊ตฌํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, ๋…ผ๋ฆฌ์  ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ์ถœ๋ ฅ๊ฐ’์„ ์–ป๋Š” ์ „์žํšŒ๋กœ. ์ž…๋ ฅ ์‹ ํ˜ธ๋กœ ์ถœ๋ ฅ์ด ๊ฒฐ์ •๋œ๋‹ค. (์œ„ํ‚ค๋ฐฑ๊ณผ)

๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ

: ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ. ๋…ผ๋ฆฌ์‹ ๋˜๋Š” ํšŒ๋กœ๊ธฐํ˜ธ(MIL ๊ธฐํ˜ธ)๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
: ์ „์••์ด ํ๋ฅด๋Š”(์ „๊ตฌ์— ๋ถˆ์ด ๋“ค์–ด์˜ค๋Š”) ์ƒํƒœ๋ฅผ 1 - true - ์ฐธ, ๋ฐ˜๋Œ€๋Š” 0 - false - ๊ฑฐ์ง“ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

- ๊ธฐ๋ณธ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ

1. AND ๊ฒŒ์ดํŠธ : ๋‘ ์ž…๋ ฅ์ด ๋ชจ๋‘ 1 - true์ผ ๋•Œ๋งŒ 1 - true ์ถœ๋ ฅ.
2. OR ๊ฒŒ์ดํŠธ : ๋‘ ์ž…๋ ฅ ์ค‘ ํ•˜๋‚˜๊ฐ€ 1 - true ์ด๋ฉด 1 - true ์ถœ๋ ฅ.
3. NOT(INVERTOR) ๊ฒŒ์ดํŠธ : ์ž…๋ ฅ์ด true์ด๋ฉด false๋ฅผ, ์ž…๋ ฅ์ด false์ด๋ฉด true๋ฅผ ์ถœ๋ ฅ. (์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ๋ฐ˜๋Œ€)

- ํ™•์žฅ ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ

1. NAND ๊ฒŒ์ดํŠธ : (Not + AND) AND๊ฒŒ์ดํŠธ์™€ ๋ฐ˜๋Œ€๋กœ ๋™์ž‘. ๋‘ ์ž…๋ ฅ์ด ๋ชจ๋‘ true์ผ ๋•Œ๋งŒ false์ถœ๋ ฅ.
2. NOR ๊ฒŒ์ดํŠธ : (Not + OR) OR๊ฒŒ์ดํŠธ์™€ ๋ฐ˜๋Œ€๋กœ ๋™์ž‘. ๋‘ ์ž…๋ ฅ์ด ๋ชจ๋‘ false์ผ ๋•Œ๋งŒ true์ถœ๋ ฅ.
3. XOR ๊ฒŒ์ดํŠธ : (exculsive OR) ๋‘ ์ž…๋ ฅ์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์ผ ๋•Œ๋Š” true, ๊ฐ™์€ ๊ฐ’์ผ ๋•Œ๋Š” false ์ถœ๋ ฅ.

 

์ด์ง„์ˆ˜ Binary

๋ชจ๋“  ์ „์ž๋ถ€ํ’ˆ์€ ์ „๊ธฐ๊ฐ€ ํ๋ฅด๋ƒ/ํ๋ฅด์ง€ ์•Š๋Š๋ƒ(์ „์› ์ผœ์ง / ๊บผ์ง) ๋กœ booleanํƒ€์ž…์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ „์›์ด ์ผœ์ง„ ์ƒํƒœ - true, ๊บผ์ง„ ์ƒํƒœ - false๋กœ ํ‘œํ˜„.
*Boolean : ๋…ผ๋ฆฌ๋Œ€์ˆ˜ (Boolean Algebra)์˜ ๊ธฐ๋ณธ ํƒ€์ž…์ด๋ฉด์„œ ํ•˜๋“œ์›จ์–ด/์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋ณธ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜.

- boolean ๊ฐœ๋…์„ ํ™•์žฅํ•ด ์ด์ง„์ˆ˜๋กœ ๋ชจ๋“  ์ˆซ์ž๋ฅผ ๋Œ€์‹  ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. (10์ง„์ˆ˜ Decimal -> ์ด์ง„์ˆ˜ Binary)

1bit : ์ด์ง„์ˆ˜ 1์ž๋ฆฌ.
1byte : 8bit ์™€ ๊ฐ™๋‹ค.
carry : ์ด์ง„์ˆ˜์˜ ์—ฐ์‚ฐ์—์„œ ์ž๋ฆฌ์˜ฌ๋ฆผ(๋ฐ›์•„์˜ฌ๋ฆผ)์˜ ๊ฐœ๋…์ด๋‹ค. ์ž๋ฆฌ์˜ฌ๋ฆผ์ด ์žˆ์œผ๋ฉด 1-true, ์—†์œผ๋ฉด 0-false.

 

๋ฐ˜๊ฐ€์‚ฐ๊ธฐ half-adder

- ๋‘ ๋น„ํŠธ๋ฅผ ๋”ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์ง„๋ง์…ˆ๊ธฐ
- ์ด์ง„์ˆ˜ ๋ง์…ˆ์˜ ์ผ์˜ ์ž๋ฆฌ(2^0)๋งŒ ์—ฐ์‚ฐ ๊ฐ€๋Šฅํ•˜๋‹ค - carry๋ฅผ ํ•จ๊ป˜ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ

์ „๊ฐ€์‚ฐ๊ธฐ full-adder

- ๋‘ ๋น„ํŠธ์™€ carry๋ฅผ ๋”ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์ง„๋ง์…ˆ๊ธฐ 
- ์ด์ง„์ˆ˜ ๋ง์…ˆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋„์›€๋ฐ›์€ ๋งํฌ : gusdnd852.tistory.com/62 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!