๐ ์์ธ ์ ๋ฆฌ#
- 4.2.0
- ํ๋์จ์ด ์์์ ์ ์ ํ๋ก๋ ๋นํธ๋ค ์์ ํจ์๋ฅผ ๊ณ์ฐํ๊ณ / ์์ดํ ์ข
๋ฅ์ ๋ฉ๋ชจ๋ฆฌ ์์๋ค์ ๋นํธ๋ค์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
- ๋ ผ๋ฆฌ๊ฐ 1์ 1๋ณผํธ ๋ด์ธ์ ๊ณ ์ ์, 0์ 0๋ณผํธ ๋ด์ธ์ ์ ์ ์์ผ๋ก ํํํ๋ค.
- ๋์งํธ ์์คํ
์ ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ธ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๊ฐ ํ์ํ๋ค.
- ๋นํธ์ ๋ํ ํจ์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํ ์กฐํฉ ๋ก์ง
- ๋นํธ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ์์
- ๋ฉ๋ชจ๋ฆฌ ์์์ ์ ๋ฐ์ดํธ๋ฅผ ์ํ ํด๋ก ์ ํธ
- ํ๋์จ์ด ์์์ ์ ์ ํ๋ก๋ ๋นํธ๋ค ์์ ํจ์๋ฅผ ๊ณ์ฐํ๊ณ / ์์ดํ ์ข
๋ฅ์ ๋ฉ๋ชจ๋ฆฌ ์์๋ค์ ๋นํธ๋ค์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
- 4.2.1 Logic Gates
- ๋
ผ๋ฆฌ ๊ฒ์ดํธ๋ ๋์งํธ ํ๋ก์ ๊ธฐ๋ณธ ์ปดํจํ
์์์ด๋ค.
- bool๊ฐ์ ๋ํ and, or, not ์ฐ์ฐ
- && & / || | ์ฐจ์ด
- && || ๋ ๋ ผ๋ฆฌ์ฐ์ฐ์ -> ๊ฒฐ๊ณผ๋ 0 or 1
- & |๋ ๋นํธ์ฐ์ฐ์ -> ๊ฒฐ๊ณผ๋ ๊ฐ ๋นํธ์ ๋ํด ์ํํ ๊ฐ
- ๋
ผ๋ฆฌ๊ฒ์ดํธ๋ ํญ์ ํ์ฑํ ๋์ด์๋ค.
- ์ ๋ ฅ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ์ ์ํ์ ๊ทธ์๋ฐ๋ผ ์ถ๋ ฅ์ด ์์ ๋ ๊ฒ
- ๋
ผ๋ฆฌ ๊ฒ์ดํธ๋ ๋์งํธ ํ๋ก์ ๊ธฐ๋ณธ ์ปดํจํ
์์์ด๋ค.
- 4.2.2 Combinational circuits and HCL Boolean Ecpressions
- ๋ค์์ ๋ ผ๋ฆฌ ๊ฒ์ดํธ๋ฅผ ๋คํธ์ํฌ๋ก ์กฐ๋ฆฝํ๋ฉด์ ์ฐ๋ฆฌ๋ ์กฐํฉ ํ๋ก๋ก ์๋ ค์ง ๊ณ์ฐ ๋ธ๋ก์ ๊ตฌ์ฑํ ์ ์๋ค.
- ์ด๋ ๋ช๊ฐ์ง ์ ํ์ด ์๋๋ฐ
- ๋ชจ๋ ๋
ผ๋ฆฌ ๊ฒ์ดํธ์ ์
๋ ฅ์ ๋ค์ ์ธ๊ฐ์ง์ค ์ ํํ ํ๋์ ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค.
- ์์คํ ์ ๋ ฅ(1์ฐจ ์ ๋ ฅ)
- ์ผ๋ถ ๋ฉ๋ชจ๋ฆฌ์์์ ์ถ๋ ฅ
- ์ผ๋ถ ๋ ผ๋ฆฌ๊ฒ์ดํธ์ ์ถ๋ ฅ
- ๋ ์ด์์ ๋
ผ๋ฆฌ ๊ฒ์ดํธ์ ์ถ๋ ฅ์ ํจ๊ป ์ฐ๊ฒฐ๋ ์ ์๋ค.
- (?wire ๋ฅผ ์์ดํ ์ ์์ ํฅํด ๊ตฌ๋์์ผ์ ํ๋ก ์ค๋์์ ์ผ๊ธฐํ ์ ์๋ค.)
- ์ํ, ์ด๊ฒ ๋ฌด์จ์๋ฆฐ๊ฐ ํ๋๋ฐ ๋ ์ถ๋ ฅ๋ถ๋ฅผ ์ฐ๊ฒฐํ๋ฉด ํ๋๊ฐ 1, ํ๋๊ฐ 0์ด์๋ค๋ฉด ์ฐ๊ฒฐ๋ ๋ ์ข ๊ณค๋ํด์ง๋ค! ์ ์๊ณผ ์ ์ง๊ฐ ๋ง๋๋๊ฒ๋ ์ด์๊ณ .
- (?wire ๋ฅผ ์์ดํ ์ ์์ ํฅํด ๊ตฌ๋์์ผ์ ํ๋ก ์ค๋์์ ์ผ๊ธฐํ ์ ์๋ค.)
- ๋คํธ์ํฌ๋ ๋น์ํ์ ์ด์ด์ผ ํ๋ค.
- ๋ฃจํ๋ ๋คํธ์ํฌ์ ์ํด ๊ณ์ฐ๋ ํจ์์ ๋ชจํธ์ฑ์ ์ผ๊ธฐํ ์ ์๋ค.
- ๋ชจ๋ ๋
ผ๋ฆฌ ๊ฒ์ดํธ์ ์
๋ ฅ์ ๋ค์ ์ธ๊ฐ์ง์ค ์ ํํ ํ๋์ ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค.
- 4.2.3 Word-Level Combinational Circuits and HCL Integer Expressions
- ํฐ ๋
ผ๋ฆฌ ๊ฒ์ดํธ ๋คํธ์ํฌ๋ฅผ ์กฐ๋ฆฝํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ ํจ์ฌ ๋ ๋ณต์กํ ํจ์๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
- word ๋จ์๋ก ์ฐ์ฐํด์ผ์ง!
- ์ ์, ์ฃผ์, instuction ์ฝ๋, ๋ ์ง์คํฐ ์๋ณ์ ๋ฑ 4~64๋นํธ ๋ฒ์์ ์๋ง์ word๊ฐ ์์ ๊ฒ
- ์์ผ๋ก ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ผ๋ ์ ์ ์ ๋นํธ๋จ์, ์ค๊ฐํฌ๊ธฐ ์ค์ ์ word๋จ์
- ํฐ ๋
ผ๋ฆฌ ๊ฒ์ดํธ ๋คํธ์ํฌ๋ฅผ ์กฐ๋ฆฝํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ ํจ์ฌ ๋ ๋ณต์กํ ํจ์๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
- 4.2.4 Set MemberShip
- HCL์์ or์ฐ์ฐ์ด ๋ถ์ด์๋ ์ฝ๋๋ in ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- 4.2.5 Memory and Clocking
- ์กฐํฉํ๋ก๋ ๋ณธ์ง์ ์ผ๋ก ์ด๋ค ์ ๋ณด๋ ์ ์ฅํ์ง ์๋๋ค.
- ํ์ง๋ง ์์ฐจํ๋ก๊ฐ ํ์ํด์ง๋ฉด, ์ฐ๋ฆฌ๋ ๋นํธ๋ก ํํ๋๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์ฅ์น๋ฅผ ๋์
ํด์ผ ํ๋ค.
- ์ด๋ ์๋ก์ด ๊ฐ์ด ์ฅ์น์ ๋ก๋๋ ๋๋ฅผ ๊ฒฐ์ ํ๋ ์ฃผ๊ธฐ์ ์ธ ์ ํธ์ธ ๋จ์ผ ํด๋ญ์ ์ํด ์ ์ด๋๋ค.
- ํด๋ก ๋ ์ง์คํฐ๋ ๊ฐ๋ณ ๋นํธ / ์๋๋ฅผ ์ ์ฅํจ
- ๋๋ค ์ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์๋ฅผ ์ฌ์ฉํด์ ์ฝ๊ฑฐ๋ ์ธ ๋จ์ด๋ฅผ ์ ํํ๋ฉด์ ์ฌ๋ฌ ์๋๋ฅผ ์ ์ฅํจ
- ๋ํ์ ์ผ๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ , ๋ ์ง์คํฐ ํ์ผ ๋ฑ
- ์๋ฌดํผ ์ด ๋๊ฐ์ง ๋ ์ง์คํฐ๋ฅผ ๊ฐ๊ฐ ํ๋์จ์ด ๋ ์ง์คํฐ / ํ๋ก๊ทธ๋จ ๋ ์ง์คํฐ๋ผ๊ณ ํ์.
- ๋ ์ง์คํฐ ํ์ผ์ ๋ด๋ถ ์ ์ฅ์ฅ์น๋ฅผ ๊ฐ๊ธฐ์ ์กฐํฉํ๋ก๊ฐ ์๋๋ค.
- ์ํ, ์ด๊ฒ ์ข
ํฉ์ ์ผ๋ก ๋ฌด์จ๋ง์ธ์ง ์ฒ์ฒํ ์ฝ์ผ๋ฉด์ ์ดํดํด๋ณด์.
- ๊ฒฐ๊ตญ ๊ฐ์ ์ ์ฅํ ์ผ์ ๋ถ๋ช ํ ์๊ธด๋ค. ์ ์ ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ ํ์ฉํ๋๊ฐ ํด์ผํ ์ ์์ผ๋๊น.
- ์ ์๋ฏ์ด ๊ทธ๊ฑธ ์ ์ฅํ๋ ๋ถ๋ถ์ CPU์ ๋ ์ง์คํฐ๋ค. CPU์ ๋ฌ๋ ค์๋ ๊ทธ ์น๊ตฌ๋ฅผ ํ๋์จ์ด ๋ ์ง์คํฐ๋ผ๊ณ ๋ถ๋ฅด์.
- ๊ทธ๋ฌ๋ฉด ์ ์ฅ์ ์ด๋ป๊ฒ ๊ตฌํํ๋๊ฐ? CPU์์๋ ์์์ D-ํ๋ฆฝํ๋์ด๋ผ๋๊ฑธ ์ด์ฉํด์, ์์ ์ ๋ฅ๋ฅผ ๊ฐ๋๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ๊ฐ๋๋ ํ์ด๋ฐ์ ํด๋ก ์ ํธ (0-1 ์ง๋์ ํธ)๊ฐ ์ผ์ง๋ ๊ทธ ํ์ด๋ฐ์ด๋ค.
- X86-64์๋ ์ด 16๊ฐ์ ๋ ์ง์คํฐ๊ฐ ์์ผ๋๊น, ํ๋์จ์ด ๋ ์ง์คํฐ๋ ์ด 16๊ฐ๊ฐ ํ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ค์ ๋ํ ๋ฌถ์์ ๋ ์ง์คํฐ ํ์ผ์ด๋ผ๊ณ ํ๋ค.
- ์ ๋ฌถ์ด์ ๋ณด๊ดํ๋๊ฐ? ๊ทธ๊ฑด 16๊ฐ์ ๋ํด ๋ชจ๋ ALU์ ๋ค๋๊ฒ ์๋ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ์์ MUX, ์ ํ๊ธฐ๋ง๋ฅ ์ด ๋ ์ง์คํฐ์์๋ ๋นํธ๋ง์คํน ๊ฒฐ๊ณผ์ฒ๋ผ ์ฐ์ฐํด์ ๊ฐ์ ์ป์ด๋ด๋๊ฒ ํ๋ก๋ก ๊ตฌํํ๊ธฐ ํจ์ฌ ๋ ์ฝ๋ค.
- ๋ฐ๋ผ์ ๊ทธ ๋ณด๋ ์์ ๋ ์ง์คํฐ๋ฅผ ํ๋์จ์ด ๋ ์ง์คํฐ, ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ %rax๊ฐ์๊ฑธ ํ๋ก๊ทธ๋จ ๋ ์ง์คํฐ๋ผ๊ณ ํ๋ค.
โ์ง๋ฌธ ์ฌํญ#
๋ฃจํ๋ ๋คํธ์ํฌ์ ์ํด ๊ณ์ฐ๋ ํจ์์ ๋ชจํธ์ฑ์ ์ผ๊ธฐํ ์ ์๋ค. ์?
AND / OR ๊ฐ์ ํ๋ก๋ค๋ก ๋ฃจํ๋ฅผ ๋ง๋ค๋ฉด ์ ์์ด ์ง๋ํ๋๊ฒ ์๋๋ผ ์ค๊ฐ์์ ๋ฉ์ถฐ๋ฒ๋ฆฐ๋ค!
