Bibi's DevLog ๐ค๐
[TIL 211004 - Codesquad] ๋์งํธ ๋ ผ๋ฆฌํ๋ก, ์ด์ง๋ง์ ๊ธฐ, ์ง๋ฒ๋ณํ๊ธฐ ๋ณธ๋ฌธ
[TIL 211004 - Codesquad] ๋์งํธ ๋ ผ๋ฆฌํ๋ก, ์ด์ง๋ง์ ๊ธฐ, ์ง๋ฒ๋ณํ๊ธฐ
๋น๋น bibi 2021. 1. 4. 23:49Done
- 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 ๊ฐ์ฌํฉ๋๋ค!