์ปดํจํฐ ๊ตฌ์กฐ #4 (ํ๋ก์ธ์์ ๋ช ๋ น์ด์ ๊ตฌ์กฐ)
by JiwonDevComputer
์ปดํจํฐ๋ ํ๋ก์ธ์(์ฐ์ฐ์ฅ์น)์ ๋ฉ๋ชจ๋ฆฌ(์ ์ฅ์ฅ์น)๋ก ๊ตฌ์ฑ๋ ์ฅ์น์ด๋ค.
๋ ผ๋ฆฌํ๋ก๋ก ๋ง๋ค์ด์ง ํ๋ก์ธ์์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ณธ ์ง์์ด ํ์ํ๋ค.
# ๋ ผ๋ฆฌํ๋ก๋ ์ด๋ป๊ฒ ๋ง๋๋์?
@1. ๋ ผ๋ฆฌ๊ฐ๊ณผ ์ง๋ฆฌํ
์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ฐ์ผ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค. ๊ฐ๋จํ ์๋ฅผ ๋ค์ด๋ณด์.
ํ์ค: ์ฒ ์๋ ๋ฐฐ๊ฐ ๊ณ ํ๋ฉด ๋ฐฅ์ ๋จน๋๋ค. ํ์ง๋ง ๋ฐฐ๊ฐ ๊ณ ํ์ง์์ผ๋ฉด ๋ฐฅ์ ๋จน์ง์๋๋ค.
> ์ ๋ ฅ : ์ฒ ์๊ฐ ๋ฐฐ๊ฐ ๊ณ ํ๊ฐ? (์ฐธ/๊ฑฐ์ง)
> ์ถ๋ ฅ : ๋ฐฅ์ ๋จน๋๊ฐ? (์ฐธ/๊ฑฐ์ง)
์ด๋ ๊ฒ ๊ตฌ์ฑํ ๋ ผ๋ฆฌ๊ฐ ์ ๋ ฅ(๋ฐฐ๊ณ ํ)๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ์ถ๋ ฅ(๋ฐฅ๋จน์)์ '์ง๋ฆฌ ํ'๋ก ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
@2. ๋ถ์ธ ๋์
์์ ํ๋ฅผ ์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค. ์ด๋ ๊ฒ ๋ง๋ ์์ Bool Algebra (๋ถ์ธ ๋์)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ ผ๋ฆฌ ๊ฐ์ ์ฑ์ง์ ์ด์ฉํ์ฌ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ ๋ค๋ฅธ ๋ถ์ธ๋์๋ก ๋ณํํ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด ๋ฐฐ๊ณ ํ์ A, ๋ฐฅ ์๋จน์์ Y๋ผ๊ณ ํ๊ธฐํ๋ค๋ฉด ๋ถ์ธ๋์์ ์ฑ์ง์ ์๋์ ๊ฐ๋ค.
A (๋ฐฐ๊ณ ํ), Y(๋ฐฅ ์๋จน์)
A = Y :: ๋ฐฐ๊ฐ ๊ณ ํ๊ฒ ์ฐธ์ด๋ฉด ๋ฐฅ์ ๋จน๋ ๊ฒ๋ ์ฐธ์ด๋ค.
A` = Y` :: ๋ฐฐ๊ฐ ๊ณ ํ๊ฒ ๊ฑฐ์ง์ด๋ฉด ๋ฐฅ์ ๋จน๋ ๊ฒ๋ ๊ฑฐ์ง์ด๋ค.
์ด๋ ๊ฒ ๋ถ์ธ๋์์ ์ํ์ ์ฑ์ง์ ์ด์ฉํ์ฌ ์ํ๋ ๋ชจ์์ ๋ ผ๋ฆฌ์์ผ๋ก ๋ณํํ๋ค.
@3. ๋ ผ๋ฆฌํ๋ก
์์์ ๋ง๋ ๋ ผ๋ฆฌ์์ ํ๋ก๋ก ๊ตฌ์ฑํ๊ฒ์ด๋ค. ๋์ผํ ๋ ผ๋ฆฌ์์ด๋ผ๋ ์ฌ๋ฌ๊ฐ์ง ํ๋ก ๊ตฌ์ฑ์ ๋ง๋ค ์ ์๋๋ฐ, ๋ถ์ธ ๋์์ ์ํ์ ์ฑ์ง์ ์ด์ฉํ์ฌ ์ต์ ํ๋ ํ๋ก๋ฅผ ์ค๊ณํ๋ค. ์ฐธ๊ณ ๋ก ์ต์ ํ๋ ํ๋ก๋ฅผ ์ค๊ณํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ, ๋ฐฉ๋ฒ์ ๋ํด์๋ ์ค๋ช ํ๋ฉด ๋ด์ฉ์ด ๋๋ ์์ผ๋ ์ผ๋จ ๋์ด๊ฐ๋๋ก ํ์.
@4. ๋ ผ๋ฆฌํ๋ก ์ค๊ณ
์์ ๊ฐ์ 3๊ฐ์ง ๊ณผ์ ์ ๊ฑฐ์ณ ์ ๋ ฅ์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ์ง ์ถ๋ ฅ์ ๋ง๋๋ ํ๋ก๋ฅผ ๋ง๋ค ์ ์๋ค. ์๋ฅผ ๋ค์ด 2์ง์ ์ ๋ ฅ๊ฐ์ ๋ฐ๋ผ 10์ง์ ๋ชจ์์ LED๋ฅผ ์ถ๋ ฅํ๋ 7 Segment ํ๋ก๋ ์๋์ ๊ฐ์ด ์ค๊ณ ํ ์ ์๋ค. ๋ด์ฉ๋ง ๋ณต์กํด์ก์ ๋ฟ, ์์ ์์์ ๋ค๋ฅธ ๊ฑด ์๋ค.
@5. ์ค๊ณ๋๋ฅผ ์ด์ฉํ ์ค์ ํ๋ก ์ ์
์ฐธ๊ณ ๋ก OR, AND ์ ๊ฐ์ ๋ ผ๋ฆฌํ๋ก๋ ํธ๋ ์ง์คํฐ๋ก ๋ง๋ ๋ค.
# ๊ธฐ๊ณ์ด์ ์ดํด
์ปดํจํฐ๊ฐ ์ฐ๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ธ์ด์ด๋ค. (00010101010001010)
๋
ผ๋ฆฌํ๋ก๋ฅผ ๊ตฌ์ฑํ์ฌ ๊ณ์ฐ์ ํ๊ณ , ๋ช
๋ น์ ์คํํ๋ฉฐ ํ์ํ๋ฉด ๊ฒฐ๊ณผ๊ฐ๋ ๋๋ ค์ค๋ค. ํ์ง๋ง ์์ ๋์ค๋๊ฒ์ฒ๋ผ ๊ฐ๋จํ ํ๋ก๋ฉด ๋ชจ๋ฅผ๊น, ์์ฃผ ์์ ์ปดํจํฐ๋ผ๊ณ ํด๋ ํ๋ก๋๋ ๋ง๋์๋๊ฒ ํฌ๊ณ ๊ณ์ฐํ๋ ์๊ฐ์ด ๋น ๋ฅด๊ธฐ์ ์ฌ๋์ด ๊ธฐ๊ณ์ด๋ฅผ ์ง์ ์ธ์ ๋ช
๋ น์ ์
๋ ฅํ๋ค๋๊ฑด ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น๋ค. ๊ทธ๋์ ๊ธฐ๊ณ์ด๋ฅผ ์ง์ ์ฐ์ง์๊ณ , ์ฌ๋์ด ์์ฑ ๊ฐ๋ฅํ๋๋ก 1:1๋ก ์นํ์ํจ '์ด์
๋ธ๋ฆฌ์ด'๋ฅผ ์ฌ์ฉํ๋ค.
# ์ด์ ๋ธ๋ฆฌ์ด
Assemble. ๋ชจ์ผ๋ค, ์กฐ๋ฆฝํ๋ค
๋ง ๊ทธ๋๋ก ํน์ ๋ถ๋ถ ๊ธฐ๊ณ์ด๋ฅผ ๋ชจ์ 1:1๋ก '๋์นญ' ์ํจ ์ธ์ด๋ก ๋ง๋ ๊ฒ์ด๋ค.
[๋ง์ , ๊ฐ1, ๊ฐ2]
[ 0011 0011 0010 ] ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ๊ธฐ๊ณ์ด ๋ช ๋ น์
[ add 3 2 ] ์ด๋ ๊ฒ 1:1๋ก ์นํํ ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ฐ๊พผ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด [ 0011 0011 0010 ] (๋ง์
๋ช
๋ น 0011, 0010) ์ด๋ฐ ์ปดํจํฐ์ ๋ช
๋ น์ด๊ฐ ์๋ค๋ฉด
์ด๋ฅผ [ add 3 2 ] ์ด๋ฐ ์์ผ๋ก ๊ธฐ๊ณ์ด์ 1:1 ์นํ์์ผ ๋ฐ๊พผ ๊ฒ์ด๋ค. ๋ฌผ๋ก ์ปดํจํฐ์ ์
๋ ฅํ ๋์๋ ๋ฒ์ญ๊ธฐ(์ด์
๋ธ๋ฌ)๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ์ฌ ์ฌ์ฉํด์ผ ํ๋ค.
์ค์ ๋ก 1970๋ ๋ IBM ์ปดํจํฐ์์๋ ์ด์ ๋ธ๋ฆฌ์ด๋ก ์ฝ๋ฉํ์ฌ ๊ธฐ๊ณ์ด๋ก ๋ณํํ ๊ฐ์ ์ฒ๊ณต์นด๋์ ๊ธฐ๋กํ์ฌ ํ๋ก๊ทธ๋จ์ ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค.
# ๊ณ ๊ธ์ธ์ด
์๋ฌด๋ฆฌ ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ์ฌ์ฉํ๋ค ํ๋ค, CPU๋ฅผ ์ง์ ๋ค๋ฃฐ๋ฌ๋ฉด ํ๋์จ์ด์ ์ธ ๊น์ ์ดํด๋ ๋ฌผ๋ก ์ด๊ณ ํ๋ก๊ทธ๋๋ฐ๋ ์๋นํ ์ด๋ ต๊ณ ๋ฒ๊ฑฐ๋ก์ ๋ค.
๊ทธ๋ฌ๋ค๋ณด๋ ์ด์
๋ธ๋ฆฌ์ด๋ณด๋ค ์ดํดํ๊ธฐ ์ฝ๊ณ ํจ์ถ์ ์ธ C์ธ์ด๋ฑ ์ข ๋ ์ถ์์ ์ด๊ณ ์ฌ์ฉํ๊ธฐ ํธํ ์ธ์ด๋ค์ด ๋์ค๊ฒ ๋์๋ค. ๊ทธ ๋น์์ ํด๋น ์ธ์ด๋ฅผ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด, ํจ์ถ์ ์ธ ์ธ์ด๋ผ๋ ์๋ฏธ๋ก '๊ณ ๊ธ์ธ์ด'๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋๋ค. (๊ธฐ๊ณ์ ๊ฐ๊น์ด ์ด์
๋ธ๋ฆฌ์ด -> ์ ๊ธ์ธ์ด) * ํ๊ธ๋ก ๋ฒ์ญํ๋ ๋๋์ด ์ด์ํ๋ฐ, ์์ด๋ก๋ High-Level, Low-Level์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ณ ๊ธ์ ธ์ ๊ณ ๊ธ์ธ์ด๊ฐ ์๋๋ค. ๊ธฐ๊ณ์ด์ ๊ฐ๊น์ด๊ฐ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด๊ฐ์ ์ฐจ์ด์ด๋ค.
๊ณ ๊ธ์ธ์ด๋ ์ปดํจํฐ์ ์๋ ๋
ผ๋ฆฌํ๋ก์์ ์ฌ์ฉ ํ ์ ์๋ ์ธ์ด๊ฐ ์๋๋ค. ๊ทธ๋์ [ ์ฝ๋์์ฑ -> ์ปดํ์ผ(์ด์
๋ธ๋ฆฌ์ด๋ก ๋ฒ์ญ) -> ์ด์
๋ธ(๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ) ] ๊ณผ์ ์ ๊ฑฐ์ณ ๊ธฐ๊ณ์ด๋ก ๋ณํํ์ฌ ์ฌ์ฉํ๋ค.
# (๋๋์ด) ํ๋ก์ธ์์ ๊ตฌ์กฐ
์ปดํจํฐ์ ์ค์ฌ์ด ๋๋ ํ๋ก์ธ์, ๋ค๋ฅธ๋ง๋ก CPU(Central Processing Unit)์ ์ด๋ฆ ๊ทธ๋๋ก ์-์ฒญ ๋ง์ ๋ ผ๋ฆฌํ๋ก๋ค์ ์งํฉ์ด๋ผ๊ณ ๋ณผ ์์๋ค. CPU์ ๋์์๋ ํ๋ค์ ์ฝ์๋ ์ ๋ ฅ์ ํธ๋ฅผ ์ฃผ๊ฒ๋๋ฉด, CPU ์์ ๊ตฌ์ฑ๋ ํ๋ก๋ค์ด ์๋ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝ์ด๋ค์ฌ ํด๋นํ๋ ์์ ์ ์ํํ๊ณ ํ์ํ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐํํ๋ค.
32๋นํธ CPU? 64๋นํธ ์ด์์ฒด์ ? (๊ธด๊ธ ์ฃผ์)
- ์๋ (word)
- ํด๋น CPU๊ฐ ์ฌ์ฉํ๋ 1ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋จ์, ์ฆ ๋ฉ๋ชจ๋ฆฌ์์ ๋ ์ง์คํฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๊ฑฐ๋, ALU์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ฑฐ๋ ํ ๋, ํ๋์ ๋ช ๋ น์ด๋ก ์คํ๋ ์ ์๋ ๋นํธ ํฌ๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด ์๋ ํฌ๊ธฐ๋ฅผ 32๋นํธ๋ก ์ฌ์ฉํ๋ CPU๋ 1๋ฒ์ ์ฐ์ฐ ๋ช ๋ น์ผ๋ก 32๋นํธ ์ ์(4๋ฐ์ดํธ)๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค. ์ด๋ณด๋ค ๋ ํฐ ์๋ ์ฌ๋ฌ๋ฒ์ ๋๋ ์ฐ์ฐ์ ์ฒ๋ฆฌ ํด์ผ ํ๋ค.
- ์ฆ 32๋นํธ ์๋๋ฅผ ์ฌ์ฉํ๋ CPU๋ 32๋นํธ Address Bus์ Data Bus๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ค. (= ํฌ์ธํฐ์ ํฌ๊ธฐ ๋ํ 4๋ฐ์ดํธ์ด๋ค.) - ์๋ ์ฌ์ด์ฆ
- CPU์์ ์ฌ์ฉํ๋ ์๋์ ํฌ๊ธฐ๋ฅผ '์๋ ์ฌ์ด์ฆ'๋ผ๊ณ ํ๋ค.
- ์ด์์ฒด์ ๋ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ ์์๋ค์ ๊ด๋ฆฌํ๊ณ CPU์ ๋ช ๋ น์ ์ ๋ฌํ๋ค. ์ฆ 32๋นํธ ์ด์์ฒด์ ๋ 32๋นํธ ์๋ ์ฌ์ด์ฆ๋ฅผ ์ฌ์ฉํ๋ CPU์ ๋ง์ถฐ ๋ช ๋ น๊ณผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค๋ฃฌ๋ค๊ณ ์ดํดํ๋ฉด ๋๋ค. - Memory Alignment(๋ฉ๋ชจ๋ฆฌ ์ต์ ํ)
- 32๋นํธ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ ๋, ์ค์ ๋ก 32๋นํธ๋ณด๋ค ์์ ๋ฐ์ดํฐํ์ ์ ์ฒ๋ฆฌํ๋๋ผ๋ ์ด์์ฒด์ ๋ ์ปดํ์ผ๋ฌ ๋จ์์ ์๋ฃํ์ 32๋นํธ๋ก ์กฐ์ (Alignment)ํ๋ค. ์ฆ 8๋นํธ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ค์ ๋ฉ๋ชจ๋ฆฌ์๋ 32๋นํธ๋ฅผ ์ฐจ์งํ๋ค๋ ๋ง์ด๋ค.
- ์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ์์คํ ์ ๋นํธ ์์ ๋ง์ถฐ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์์ ํฐ ์ด์ ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ฝ 8๋นํธ์ง๋ฆฌ ๊ณต๊ฐ์ 32๋นํธ๋ฅผ 4์นธ์ผ๋ก ๋๋ ์ ์ฅํ๋ค๊ณ ์๊ฐํด๋ณด์. CPU๋ 32๋นํธ ๋จ์๋ก ์ฐ์ฐ์ ํ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ๊บผ๋ด๊ธฐ ์ํด์ 32๋นํธ๋ฅผ 4๊ฐ๋ก ์ชผ๊ฐ๊ณ ๊ฐ๊ฐ์ ๊ฐ์ ๋ถ๋ฆฌํ๋ ๋ณต์กํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผํ๋ค. ํ์ง๋ง ์์คํ ๋นํธ ์์ ๋ง์ถฐ 8๋นํธ -> 32๋นํธ๋ก ํฌ๊ธฐ๋ฅผ ์น๊ธ, ์ ๋ ฌ์ํค๋ฉด ํ๋ฒ์ ์ฐ์ฐ์ผ๋ก ํ๋์ ๊ฐ์ ์ฝ๊ฒ ์ฒ๋ฆฌ ํ ์ ์๋ค
- ๋ง์ฝ ๋คํธ์ํฌ ์ ์ก๋ฑ์ ๋ชฉ์ ์ผ๋ก ํฌ๊ธฐ๋ฅผ ์น๊ธ์ํค์ง ์๊ณ 32๋นํธ ์์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ฒฝ์ฐ๋ ์๋๋ฐ, ์ด๋ฌํ ์์ ์ ํจํน(packing)์ด๋ผ๊ณ ํํํ๋ค. ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ์ ๊ทน๋ํํ๊ธฐ์ํด์ 32๋นํธ์์ ์ฌ๋ฌ ๊ฐ๋ค์ ๋ฃ์ด๋๊ณ ๋นํธ๋ง์คํน, ๋นํธ ์ฌํํธ๋ฅผ ์ด์ฉํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๊ธดํ๋ค.
- ์ฌ๋ด์ผ๋ก ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ CPU์์ ์ฌ์ฉํ๋ ์๋์ฌ์ด์ฆ์ ๋ฐฐ์๋ก ๊ฐ์ง๋ฉด ์ฐ์ฐ์ฑ๋ฅ์ด ์ข์์ง๋ค. ๊ทธ๋์ ๊ณ ๊ธ์ธ์ด์ ์๋ฃํ๋ค์ด char(8), short(16), int(32), double(64) ์ฒ๋ผ ์๋ฃํ์ ํฌ๊ธฐ๋ฅผ ์๋์ฌ์ด์ฆ์ ๋ฐฐ์๋ก ์ง์ ํด๋ ผ ๊ฒ์ด๋ค.
- ๊ทผ๋ฐ 64๋นํธ CPU์ 32๋นํธ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์์์์?
- ์ด๋ ์ต๊ทผ์ ๋์จ 64๋นํธ CPU๊ฐ ์ง์ํ๋ ํ์ ํธํ๊ธฐ๋ฅ์ด๋ค. ๋ฌผ๋ก 64๋นํธ๋ก ์ค๊ณ๋ CPU์ 32๋นํธ ์ด์์ฒด์ ๋ฅผ ์ค์นํ๊ฒ๋๋ฉด ํ๋ก์ธ์์ ์ฑ๋ฅ์ ์๋นํ ๋จ์ด์ง๊ฒ ๋๋ค.
- ๋ฐ๋๋ก 64๋นํธ ์ด์์ฒด์ ์์ ํ์ ํธํ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ 32๋นํธ๋ก ๊ตฌํ๋ ํ๋ก๊ทธ๋จ๋ค์ ์คํ์ํฌ์๋ ์๋ค. ์๋์ฐ์์๋ 32๋นํธ ์ด์์ฒด์ ๋ก ์ค๊ณ๋ ํ๋ก๊ทธ๋จ์ ์ํด Program Files(X86)๋ฅผ ๋ฐ๋ก ์ ๊ณตํ๋ค.
CPU ์ด์์ฒด์ ํธํ ๊ฐ๋ฅ์ฌ๋ถ ๋์ ์๋ ํฌ๊ธฐ 32bit CPU 32bit OS O 32bit 64bit OS X (์ฌ์ฉ ๋ถ๊ฐ๋ฅ) 64bit CPU 32bit OS O 32bit (ํ์ํธ์, ์ฑ๋ฅํ๋ฝ) 64biy OS O 64bit
- ์ฐธ๊ณ ๋ก ๊ธฐ์กด์ 32๋นํธ๋ฅผ ์ฌ์ฉํ๋ Intell ์ ํ์ 386, 586 ์ปดํจํฐ๋ผ๊ณ ๋ถ๋ ธ๋ค. ๊ทธ๋์ ์ง๊ธ๋ 32๋นํธ, 64๋นํธ๋ผ๊ณ ํํํ์ง ์๊ณ x86, x64 ๋ผ๊ณ ์ ๊ธฐ๋ ํ๋ค.
# ํ๋ก์ธ์(CPU)์ ๋ด๋ถ ๊ตฌ์กฐ
ํ๋์ CPU์ ๋ด๋ถ๋ ์๋นํ ๋ณต์กํ์ง๋ง, ํฐ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ฉด 3๊ฐ์ง ์ฅ์น๋ก ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ๋งํ ์ ์๋ค.
- ALU (Arithmetic logic unit, ์ฐ์ ์ฐ์ฐ ์ ๋) : ์ด๋ฆ ๊ทธ๋๋ก '๊ณ์ฐ'์ ํ๋ ๊ฐ๋จํ ๋ ผ๋ฆฌํ๋ก์ด๋ค.
- CU (Control Unit, ์ ์ด ์ ๋) : ๋ค๋ฅธ ์ฅ์น์๊ฒ ๋์/์ ์ด ๋ช ๋ น์ ๋ฐ์์ํค๋ ์ฅ์น์ด๋ค.
- Register(๋ ์ง์คํฐ) : CPU ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ข
์ ๋ณด๋ ์ฐ์ฐ๊ฒฐ๊ณผ๋ฅผ ์์๋ก ์ ์ฅ ํ ์ ์๋ '์์ฃผ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ' ์ด๋ค. CPU๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ๋๋์ ๋ฐ๋ผ ๋ ์ง์คํฐ์ ๊ฐ์ด ๊ตฌ์ฑ๋ ๋ฌ๋ผ์ง๋ค.
* ๋ ์ง์คํฐ๋ ์ ๋ง ๋น ๋ฅด๊ณ ์์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ํฌ๊ธฐ๊ฐ ์์ ์ด์ ๋ ๋จ์ํ ๊ฐ๊ฒฉ์ด ๋ฐ์ธ์ ๊ทธ๋ ๋ค๊ธฐ๋ณด๋ค๋, CPU์ ์ฒ๋ฆฌ์๋์ ๋ง๊ฒ ์ ์๋๊ธฐ ๋๋ฌธ์ผ ๊ฒ์ด๋ค.(๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ตณ์ด ์ธ๋ ์์ด ํด ํ์๊ฐ ์์ด์, ๊ทธ ์ธ ์ฌ์ฉ์ ๋ณต์กํจ ๋ฑ๋ฑ)
# CPU์ ๋์์๋ฆฌ
์๊ฐ๋ณด๋ค CPU์ ๊ธฐ๋ณธ ์๋ฆฌ๋ ๊ฐ๋จํ๋ค.
Sum = a+b ๋ผ๋ ์ฐ์ฐ์ ํ๊ณ ์ถ๋ค๊ณ ์น์.
1. CPU ๋ด์ ๋ฉ๋ชจ๋ฆฌ(๋ ์ง์คํฐ)์ a์ b์ ๊ฐ์ ์ ๋ ฅ ํ๋ค.
2. CPU์๊ฒ a,b[R0, R1] ์ ์ ์ฅํ ๊ณณ[R2] ์ ์์น๊ฐ๊ณผ ๋ง์ ๋ช ๋ น์ ํธ[ADD] ๋ฅผ ํฉ์ณ ์ ๋ ฅ์ ๋ง๋ ๋ค.
$1100_{๋ง์ ๋ช ๋ น}$ $0000_{R0}$ $0001_{R1}$ $0010_{R2}$ โ [1100000000010010]
3. CPU๋ ํด๋น ์ ๋ ฅ์ ์ ๊ธฐ์ ํธ๋ก ๋ฐ์ ๋ด๋ถ์ ๊ตฌ์ฑ๋์ด์๋ ๋ ผ๋ฆฌํ๋ก๋ฅผ ์ด์ฉํด ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
4. ๋ฐํ๋ ๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ค.
CPU๋ ์๋นํ ๋ณต์กํ๊ณ ๋น ๋ฅธ ์ฅ์น์ด๊ธฐ์ ๋ช
๋ น์ ํธ๋ ์ง์ ์
๋ ฅํ์ง์๊ณ ํฐ๋
ธ์ด๋ง ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ๋ฏธ๋ฆฌ ๊ธฐ๋ก๋์ด์๋ '์ธ๋ถ ๋ฉ๋ชจ๋ฆฌ'์์ ์ฝ์ด์จ๋ค. ์ฌ๊ธฐ์ ์ธ๋ถ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ฅ๋์ด์๋ ๋ช
๋ น ์ ํธ๋ค์ ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋จ ๋๋ ์ํํธ์จ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ฌ๊ธฐ์์ ๋ง์
์ ํ๋๊ฑด ALU(Arithmetic-Logic Unit)๋ผ๋ ์ฐ์ ๊ณ์ฐ์ฉ ๋
ผ๋ฆฌํ๋ก๋ฅผ ์ด์ฉํ๋๋ฐ, ALU๋ ์ด๋ ต์ง ์๊ฒ ๋ง๋ค ์ ์๋ค. ํ์ง๋ง CU(control unit) ํ๋ก๋ ๋ช
๋ น์ด [๋ง์
]์ธ์ง, [๋๋์
]์ธ์ง ํน์ [๋ค๋ฅธ ํน์ํ ๋ช
๋ น]์ธ์ง๋ ๊ฐ๋จํ๊ฒ ๊ตฌ๋ถ ํ ์๋ ์๋ค. ๋ํ ๋ช
๋ น์ ๊ตฌ๋ถํ์ฌ CPU๋ฅผ ๋ค๋ฅด๊ฒ ๋์์ํค๋๊ฑด ๋๋์ฑ ์ด๋ ต๋ค.
* CU๋ ๋ณต์กํ ์ง ๋ชฐ๋ผ๋, ALU๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ๋ง๋ค ์๋ ์๋ค. ๋ง ๊ทธ๋๋ก ๊ณ์ฐ์ ํ๋ ํ๋ก์ด๊ธฐ ๋๋ฌธ์ด๋ค.
* ๋ ์ง์คํฐ๋ ์ ๋ง ๋น ๋ฅด๊ณ ์์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ํฌ๊ธฐ๊ฐ ์์ ์ด์ ๋ ๋จ์ํ ๊ฐ๊ฒฉ์ด ๋ฐ์ธ์ ๊ทธ๋ ๋ค๊ธฐ๋ณด๋ค๋, CPU์ ์ฒ๋ฆฌ์๋์ ๋ง๊ฒ ์ ์๋๊ธฐ ๋๋ฌธ์ผ ๊ฒ์ด๋ค.(๋ช
๋ น์ ํธ, ์ ๋ณด๋ค์ ์งง์๋ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ตณ์ด ์ธ๋ ์์ด ํด ํ์๊ฐ ์์ด์, ๊ทธ ์ธ ์ฌ์ฉ์ ๋ณต์กํจ ๋ฑ๋ฑ)
CU๋ฅผ ์ค๊ณํ๋๊ฑด ํ๋ก์ธ์์์ ์ฌ์ฉํ ๋ช
๋ น์ด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ๋ํ์ ์ผ๋ก 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
๋ฐฉ๋ฒ1. CPU ๋ด๋ถ์ ์์ ๋ช
๋ น๋ค์ ROM์ ์ ์ฅํด๋๋ค๊ฐ ์ฐพ์์ ์คํํ๋ (๋ง์ดํฌ๋ก ํ๋ก๊ทธ๋๋ฐ) ๋ฐฉ์
๋ฐฉ๋ฒ2. ์๋ํฅ์์ ์ํด ์์ ๋ช
๋ น์ฒด๊ณ๊น์ง ๋
ผ๋ฆฌํ๋ก๋ก ๊ตฌ์ฑํ๋ ๋ฐฉ์ ( ์
๋ ฅ : 0011 -> ๊ฒฐ๊ณผ : ๋ง์
์คํ)
์ฌ๊ธฐ์์ ๋ฐฉ๋ฒ1์ CISC (Complex Instruction Set Computer), ๋ฐฉ๋ฒ2๋ฅผ RISC(Reduced Instruction Set Computer) ๊ตฌ์กฐ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
# ์ปดํจํฐ์ ๋ช ๋ น์ด (Instruction)
- ํด๋น ๋ด์ฉ์ ๋๋ฌด ๊น์ ๋ด์ฉ์ด๋ผ, ๋์ค์ ๋ฐ๋ก ๋ค๋ฃจ๋๋ก ํ๊ฒ ๋ค. ํค์๋๋ ์๋์ ๊ฐ๋ค.
์ด์
๋ธ๋ฆฌ์ด์ ๋์
์ฐ์ฐ์ ๋ ์ง์คํฐ์์๋ง! Load/Store ๋ช
๋ น์ด ๊ตฌ์กฐ์ ํ์์ฑ
- ARM CPU์ RISC ๋ฐฉ์
- ์ธํ
์ ์ ์ด ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด์ง ์์๊น? (์ฌ์ค ๋ด๋ถ์ ์ผ๋ก๋ ๋ค ์ฌ์ฉํ๊ณ ์์ง๋กฑ)
N-Address ๊ตฌ์กฐ์ ํ๋์จ์ด ๋
๋ฆฝ์ฑ
๋ฉ๋ชจ๋ฆฌ์ ์๋ธ๋ฃจํด(ํจ์)
# ํ๋ก์ธ์ ๊ตฌ์กฐ์ ์ข ๋ฅ, CISC์ RISC ๋น๊ต
ํ๋ก์ธ์์ ์ข ๋ฅ๋ ๋ช ๋ น์ด์ ๊ตฌ์กฐ (Instruction Set)์ ์ด๋ป๊ฒ ๋ง๋๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ๋ํ์ ์ธ ๋ช ๋ น์ด ๊ตฌ์กฐ๋ CISC์ RISC ๋ฐฉ๋ฒ์ด ์๋ค.
@1. CISC ๊ตฌ์กฐ (Complex Instruction Set Computer)
ํ๊ธ๋ก ์ง์ญํ๋ฉด '๋ณต์กํ๊ณ ๋ค์ํ ๋ช ๋ น์ด ๊ตฌ์ฑ์ ์ปดํจํฐ' ๋ผ๊ณ ํ ์ ์๊ฒ ๋ค.
CPU์ ์ฌ์ฉํ ๋ช
๋ น์ด๋ฅผ ๋ด๋ถ์ '๋ฉ๋ชจ๋ฆฌ'์ ๊ตฌํํด๋๋ค๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ๋ช
๋ น์ ๋ง๋๋๋ฐ ํฐ ์ ์ฝ์ด ์์ด ๊ธธ์ด, ๋ฐฉ์์ ์๊ด์์ด ๋ณต์กํ ๋ช
๋ น์ ํ๋๋ก ์ค์ผ ์ ์๋ค. ๊ทธ๋์ '๋ง์ดํฌ๋ก ํ๋ก๊ทธ๋จ ๋ฐฉ์' ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
C์ธ์ด์ฒ๋ผ ์ผ์ข
์ CPU ์ ์ฉ ๊ณ ๊ธ์ธ์ด๋ฅผ ๋ง๋ ๊ฒ๊ณผ ๋น์ทํ๋ค. ์ค์ ์ฌ์ฉํ ๋์๋ ํด๋น ๋ช
๋ น์ด๋ฅผ ์ ์ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฝ์ด๋ค์ฌ ์ค์ CPU ์
๋ ฅํ๋ ๋ช
๋ น์ด์ผ๋ก ๋ฐ๊พผ๋ค.
ํ๋ก๊ทธ๋๋จธ(ํน์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํด์ฃผ๋ ์ปดํ์ผ๋ฌ)์ ์ฅ์์๋ ์ด ๋ฐฉ์์ด ํจ์ฌ ์ฝ๋ค. ํ์ง๋ง ํ๋์จ์ด์ ์ธ ์ธก๋ฉด, ์ฆ ์ค์ ๋์์ ํ ๋์๋ ์ฌ๋ฌ ๋ช ๋ น์ ํ๋๋ก ์ค์ฌ๋ ผ๊ฑฐ๋ผ ๊ธฐ๊ณ์ด์ ์ค์ ๋์์ ๋ ๋ณต์กํด์ ธ CPU์ ์๋๊ฐ ๋๋ ค์ง๊ณ ์ ๋ ฅ์๋ชจ๊ฐ ์ฆ๊ฐํ๋ค.
- 1. ๋ช
๋ น์ด๋ฅผ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ๋ก ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ค.
( = ๋ณต์กํ ๋ช ๋ น์ ๊ตฌํํ๊ธฐ ์ฝ๋ค. ์ฆ ์ ์ ๋ ์ง์คํฐ๋ก ์ํ๋ ๋ช ๋ น์ ๊ตฌํ ํ ์ ์๋ค.) - 2. ๋ช
๋ น์ด์ ๊ตฌ์ฑ์ด ์์ ๋ก์ ์ฌ๋ฌ ์์
์ ์ฝ๊ฒ ์ฒ๋ฆฌํ๋ ๋ณตํฉ ๋ช
๋ น์ด๊ฐ ๋ง๋ค. ( ๊ธธ์ด, ๊ฐฏ์ ๋ค์)
( = ํ์ง๋ง ๊ธฐ๊ณ์ด, ์ฆ ํ๋์จ์ด ์์ ์ ๋ณต์กํด์ง๋ค.) - 3. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ๊ด๋ฆฌํ์ง ์๋๋ค.
( = Load/Store ๋ช ๋ น์ ๋ค๋ฅธ ๋ช ๋ น์ด ์์ ๋ด์ฅ๋์ด์๋ค.)
@ 2. RISC ๊ตฌ์กฐ ( Reduced Instruction Set Computer)
์ถ์ฝ๋ ๋ช ๋ น์ด ๊ตฌ์ฑ์ ์ปดํจํฐ.
CISC๋ ๋ด๋ถ์ ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ด ๋ช
๋ น์ด๋ฅผ ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ ๋ฐ๋ฉด, RISC๋ ๋ช
๋ น์ด ์ฒด๊ณ ์ ๋ถ๋ฅผ ๋
ผ๋ฆฌํ๋ก ์
์ถ๋ ฅ์ผ๋ก ์ง์ ๊ตฌํํ๋ค. ๊ทธ๋ ๊ธฐ์ ์ ์ฅ๋ ๋ช
๋ น์ด๋ฅผ ์ฝ์ด ์ฌ์ฉํ๋ CISC๋ณด๋ค ์๋์ ์ผ๋ก ์คํ์๋๊ฐ ํจ์ฌ ๋น ๋ฅด๋ค.
ํ์ง๋ง ๋ช
๋ น๋ค์ ๋
ผ๋ฆฌํ๋ก๋ก ์ค๊ณํ๋ ์์
์ ์ ๋ง ์ด๋ ต๊ณ , ์ค๊ณ๋ฅผ ๊ฒจ์ฐ ํ๋ค๊ณ ํ๋๋ผ๋ ๋ช
๋ น์ด๋ฅผ ์ถ๊ฐ ํ๊ฒ ๋๋ค๋ฉด ๋
ผ๋ฆฌ ํ๋ก๋ฅผ ์์ ์๋กญ๊ฒ ๊ตฌ์ฑํด์ผํ๊ณ ๋ช
๋ น์ด์ ๊ฐ์๊ฐ ๋ง์ ์๋ก ํ๋ก๊ฐ ๋ ๋ณต์กํด์ ธ ํ๋ก์ธ์์ ์ฑ๋ฅ์ด ํ๋ฝํ๋ค. ๊ทธ๋ ๊ธฐ์ RISC๋ ๋ช
๋ น์ด๋ฅผ ์ต๋ํ ๊ฐ๋จํ๊ฒ ๋ง๋ค๊ณ ๋ช
๋ น์ด ๊ฐฏ์๋ฅผ ์ค์ฌ์ ์ฌ์ฉํ๋ค.
CISC์ ๊ฒฝ์ฐ ๋ช ๋ น์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ฉด ๋๊ธฐ์ ๋ ์ง์คํฐ๋ฅผ ๊ตณ์ด ๋ง์ด ์ฌ์ฉํ ํ์๋ ์๊ณ , ๊ฐ๋ณ๊ธธ์ด์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง, ๋ ผ๋ฆฌํ๋ก์ ์์กดํ๋ RISC์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ๋ฒ์ฉ ๋ ์ง์คํฐ์ ๊ฐ์๊ฐ ๋ง๊ณ , ์ฑ๋ฅ์ ์ํด ๊ณ ์ ๋ ๊ธธ์ด(ex 32๋นํธ)์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ค.
- 1. ํ ๋ช
๋ น๋น ํ ์์
์ ์คํํ๋ค.
(= ๊ธฐ๊ณ์ด, ์ฆ ํ๋์จ์ด ์์ ์ด ๊ฐ๋จํด์ง๋ค. ) - 2. ๋ช
๋ น์ด์ ๊ธธ์ด๊ฐ ์ผ์ ํ๊ณ ๊ฐฏ์๊ฐ ์ ๋ค.
( = ์์ ๋ช ๋ น์ผ๋ก ๋ง์ ์์ ์ ํด์ผ๋๋ค. ์ฝ๋๊ฐ ๊ธธ๊ณ ๋ณต์กํด์ ์ปดํ์ผ๋ฌ๊ฐ ๋ฒ์ญํ๊ธฐ ๋ณต์กํ๋ค.) - 3. ๋ฉ๋ชจ๋ฆฌ ๋ช
๋ น(Load/Store)์ ์ง์ ๊ตฌ์ฑํ์ฌ์ผ ํ๋ค.
( = ๋ณต์กํ ๋ช ๋ น์ ๊ตฌํํ ๋ ค๋ฉด ๋ ์ง์คํฐ๊ฐ ๋ง์ด ํ์ํ๋ค. )
์ด๊ธฐ์ ์ปดํจํฐ๋ ๋ช ๋ น์ด ๊ฐฏ์๊ฐ ๋ง์ง ์์์ ๊ทธ๋ฅ ๋จ์ํ๊ฒ ํ๋ก๋ก ๊ตฌํํ RISC์๋ค. ํ์ง๋ง ๋ช ๋ น์ด๊ฐ ์ ์ฐจ ๋์ด๋๊ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง์ CISC ๋ฐฉ์์ผ๋ก ๋ฐ๊พธ์ด์ ๊ฐ๋ฐํ๊ธฐ ์์ํ์๋ค. (๋น์ Intel CPU)
ํ์ง๋ง ์ต๊ทผ(2010๋
์ดํ)์ CPU์ ์ฑ๋ฅ์ ๊ทน๋ํ ์ํฌ ํ์๊ฐ ์๊ธฐ๊ณ ์ปดํจํฐ์ ๋๋ถ๋ถ์ ์์ฃผ์ฐ๋ ๋ช
๋ น์ ์ ์ฒด์ค ์ผ๋ถ๋ฐ์ ์๋๋ค๋ ์ฐ๊ตฌ๊ฒฐ๊ณผ์ ๋ณ๋ ฌ์ฒ๋ฆฌ(ํ์ดํ๋ผ์ด๋)์ ๊ตฌํํ๊ธฐ์ RISC๊ฐ ์ ํฉํ์ฌ ๋ค์ RISC๋ก ๋ฐ๋๊ณ ์๋ค. Intel CPU์ ๊ฒฝ์ฐ ํธํ์ฑ์ ์ํด ์ธ๋ถ์ ์ผ๋ก๋ CISC ๋ฐฉ์์ด์ง๋ง, ๋ด๋ถ ๊ตฌํ์ ๊ฑฐ์ RISC์ ์ ์ฌํ๊ฒ ์ต์ ํ ํ๋ค๊ณ ํ๋ค.
* ์ฌ์ค, ํ๋์ ํ๋ก์ธ์์ ๊ตฌ์กฐ๋ ์๋นํ ๋ณต์กํ๊ณ , ๋ด๋ถ์ ์ผ๋ก CISC, RISC ๋๊ฐ์ ์ฅ์ ์ ํฉ์ณ์ ๋ง๋ค์๊ธฐ์ ์ด๋ค ํ์ฌ์ ๋ช
๋ น์ด ๋ฐฉ์์ด ๋ ์ข๋๊ณ ๋น๊ตํ๋๊ฑด ์๋ฏธ๊ฐ ์์ ์๋ ์๋ค.
* intel, HP์์ ๊ฐ๋ฐํ EPIC๋ผ๋ ๊ตฌ์กฐ๋ ์๋ค. (RISC์ ์กฐ๊ธ ์ ์ฌํ์ง๋ง ๋ค๋ฅด๋ค, ๋ณ๋ ฌ์ฒ๋ฆฌ ํจ์จ์ ๊ทน๋ํ๋ผ๋๊ฐ?)
* ์ฐธ๊ณ ๋ก AMD๋ RISC ๋ฐฉ์์ผ๋ก ์ค๊ณ๋ CPU์ด๋ค.
@3. CISC์ RISC์ ๋น๊ต
์๋ฅผ ๋ค์ด ๊ณฑ์ ์ ์ปดํจํฐ์๊ฒ ๋ช ๋ นํ๋ค๊ณ ์น์.
CISC๋ ๋ด์ฅ๋ ๋ช
๋ น์ ์ฐพ์์ ์คํํ๊ธฐ ๋๋ฌธ์ ๋จ์ํ ๋ช
๋ น ํ๋๋ฉด ์น๋ฉด ๋๋ค. (* ๋ฌผ๋ก ์ค๋ช
์ฉ์ด์ง ์ค์ ๋ช
๋ น์ ์ด๋ ๊ฒ ์์๊ฒผ์ต๋๋ค.)
MULT A, B (A, B์์ ์๋ ์๋ฅผ ๊ณฑํด A์ ๋ฃ๋๋ค.)
์ด๋ฐ ๋ช ๋ น์ ๋ณตํฉ ๋ช ๋ น์ด(Complex Instruction)์ด๋ผ ๋ถ๋ฅด๋๋ฐ, ์ด๋ ํ๋์จ์ด์ ๋ด์ฅ๋ ๋ช ๋ น์ ์ฐพ์ ์คํํ๊ธฐ ๋๋ฌธ์, ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ๊ด๋ฆฌ (load/store)ํ ํ์๊ฐ ์๋ค. ๊ทธ๋ ๊ธฐ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ง๋๋ ์ฝ๋๋ ์๋์ ์ผ๋ก ์งง์์ง๊ณ , ๊ฐํธํด์ง์ง๋ง, ํ๋์จ์ด(CPU) ์ ์ฅ์์ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ฅ๋ ์ฌ๋ฌ ๋ช ๋ น๋ค์ด ์คํ๋๊ธฐ์ ๋ ๋ณต์กํด์ง๋ค.
RISC๋ ๋ช
๋ น์ ๋
ผ๋ฆฌํ๋ก๋ก ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๋ช
๋ น์ ๋ง์ด ๊ฐ์ง ์ ๊ฐ์๋ค. ๊ทธ๋์ ์ต์ํ์ ๊ฐ๋จํ ๋ช
๋ น๋ค๋ง ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํด์ ๋ด๋ถ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ์ง์ ๊ด๋ฆฌํด์ผํ๋ค. ๊ณฑ์
์ ์๋ฅผ ๋ค์ด๋ณด์.
LOAD p0 , A ( ๋ฉ๋ชจ๋ฆฌA ์ ์๋ ๋ด์ฉ์ p0 ๋ ์ง์คํฐ๋ก ์ฎ๊ธด๋ค. )
LOAD p1, B ( ๋ฉ๋ชจ๋ฆฌB ์ ์๋ ๋ด์ฉ์ p1 ๋ ์ง์คํฐ๋ก ์ฎ๊ธด๋ค. )
PROD p0, p1 ( p0๊ณผ p1์ ๊ณฑํ๋ด์ฉ์ p0์ ๋ฃ๋๋ค. )
STORE A , p0 ( p0์ ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ A๋ก ์ฎ๊ธด๋ค. )
์ด์ ๊ฐ์ด RISC๋ ์ง์ ๋ฉ๋ชจ๋ฆฌ์์ ๊บผ๋ด์ค๊ณ , ๋ค์ ๋ฃ๋ ์์ ๊น์ง ๋ค ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ด๋ฆฌ ํ์ฌ์ผ ํ๋ค. ๊ทธ๋์ ๋ช ๋ น์ด ๋ณต์กํด ์ง ์๋ก ์ฌ์ฉํ๋ ๋ ์ง์คํฐ ๋๋ ๋์ด๋์ง๋ง, ํ๋์จ์ด(CPU)์ ์ ์ฅ์์๋ ์์ ์ด ๋ ๋จ์ํ๊ณ ๋ช ๋ฃํด์ง๋ค.
์ข ๋ ์์ธํ RISC, CISC ๋น๊ต
# ์๊ณ ํ์ จ์ต๋๋ค.
์ปดํจํฐ ์ํคํ ์ณ๋ ์ด์ ๋๋ง ์๊ณ ๋์ด๊ฐ๋ฉด ๋๋ค. ์ดํ ์ ๊ณต๊ณผ ๊ด๋ จ๋ ์ง์๋ค์ ์ด์์ฒด์ ๋ฅผ ๊ณต๋ถํด์ ๋ ์์๋ณด๋๋ก ํ์. ์ฐธ๊ณ ๋ก ์ด์์ฒด์ ์์ ์ถ๊ฐ๋ก ๋ฐฐ์ธ ์ปดํจํฐ ์ํคํ ์ณ์ ๊ดํ ์ง์์ ๋ค์๊ณผ ๊ฐ์๋ฐ, ๊ตณ์ด ์ฐพ์์ ๊ณต๋ถํ ํ์๋ ์๋ค. ์ด์์ฒด์ ๋ฅผ ๋ฐฐ์ฐ๋ค ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์๊ฒ๋๋๊ฒ ๋๋ถ๋ถ์ด๋ค.
1. ํ๋ก์ธ์ค ๊ตฌ์กฐ
fetch ์ execute, ํ๋ก์ธ์ค์ ๋์ ๊ตฌ์กฐ
ํ๋ก์ธ์ค์ ๋์ ๊ตฌ์กฐ(๊ทธ๋ฆผ)
์๋๋ฅผ ๋๋ฆฌ๋ ๋ฐฉ๋ฒ
- clock ์๋ฅผ ๋๋ฆฐ๋ค?. ํจ๊ณผ์์
ํ์ดํ๋ผ์ด๋
- ์ค๊ณ
- ๋ฌธ์ ์
2. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
๋ฉ๋ชจ๋ฆฌ์ ๋ด๋ถ๊ตฌ์กฐ
๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ธต๊ตฌ์กฐ
- ์บ์๋ฉ๋ชจ๋ฆฌ
- ์ง์ญ์ฑ์ ์๋ฆฌ, ์๊ฐ(Temporal)
์บ์๋ฉ๋ชจ๋ฆฌ
- ์บ์ ๋ฉ๋ชจ๋ฆฌ ๋ด๋ถ์์์ ๊ฐ์ฑ๋น (๋ค๋ฅธ๋ฐฉ๋ฒ)
- ๋ฉํฐ ์บ์(๋ด๋ถ์ ์ผ๋ก ํ๋ฒ๋๊ตฌ์กฐ)
- cpu์ ์บ์๋ฉ๋ชจ๋ฆฌ ๊ทธ๋ฆผ
3. ์ธํฐํ์ด์ค ๊ตฌ์กฐ
์ง๋ ฌ๊ณผ ๋ณ๋ ฌ
ํ์ฌ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ค
์ค๋ฅ์ฒดํฌ
์ ์ก๋ฐฉ์(๋๊ธฐ,๋น๋๊ธฐ)
strobe์ handshaking
์ฐ๊ฒฐ๋ง์ ๊ตฌ์กฐ(interconnection , ํ ํด๋ก์ง)
- ์ bus๋ฅผ ์ฌ์ฉํ ๊น?
4. I/O์ ์ฌ์ฉ
์
์ถ๋ ฅ์ฅ์น์ ์ฃผ์์ง์ ๋ฐฉ์(Port)
CPU์ I/O ์
์ถ๋ ฅ
5. ๋ณด์กฐ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์ฑ
CD์ ํ๋. ์๋ฒ์ ํ๋๊ตฌ์ฑ
๋ณด์กฐ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐฑ์
ํ๋ RAID ๋ฐฉ์
'๐ฑโ๐ป์ ๊ณต ๊ณต๋ถ > ์ปดํจํฐ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ปดํจํฐ ๊ตฌ์กฐ #3 (์ค์ ์ปดํจํฐ์ ๊ตฌ์ฑ) (0) | 2021.07.26 |
---|---|
์ปดํจํฐ ๊ตฌ์กฐ #2 (์ปดํจํฐ์ ํ์, ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ) (1) | 2021.07.26 |
์ปดํจํฐ ๊ตฌ์กฐ #1 (์ปดํจํฐ์ ์์, ์ ์์ฅ์น) (0) | 2021.05.25 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev