๋ฉ์ธ๋ณด๋ ๋ด ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ๋ณ์ฅ์น๋ ์์คํ
๋ฒ์ค(FSB)๋ก ์ฐ๊ฒฐ๋์ด ์๊ณ ,
CPU ๋ด ALU, ์ ์ด์ฅ์น, ๋ ์ง์คํฐ๋ CPU ๋ด๋ถ ๋ฒ์ค(BSB)๋ก ์ฐ๊ฒฐ๋์ด ์๋ค.
๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋๋ ์์คํ
๋ฒ์ค์ ์๋์ ๊ฐ๊ณ , CPU์ ์๋๋ CPU ๋ด๋ถ ๋ฒ์ค์ ์๋์ ๊ฐ๋ค.
CPU ๋ด๋ถ ๋ฒ์ค์ ์๋๊ฐ ์์คํ
๋ฒ์ค์ ์๋ ๋ณด๋ค ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋น๋กฏํ ์ฃผ๋ณ์ฅ์น์ ์๋๊ฐ CPU์ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๋ค.
์ฑ๋ฅ ํฅ์ ๊ธฐ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์์
์๋๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๊ธฐ์ ์ค ์ด์์ฒด์ ์ ๊ด๋ จ๋ ๊ธฐ์ ์ ์ดํด๋ณด์.
๋ฒํผ
๋ฒํผ๋ ์๋์ ์ฐจ์ด๊ฐ ์๋ ๋ ์ฅ์น ์ฌ์ด์์ ๊ทธ ์ฐจ์ด๋ฅผ ์ํํ๋ ์ญํ ์ ํ๋ค. ๋ณด๊ด ์ฐฝ๊ณ ์์ ๊ทค 5๊ฐ๋ฅผ ๋๋ง๋ก ์ฎ๊ธธ ๋ ํ๋์ฉ ์ฎ๊ธฐ๋ ๊ฒ๋ณด๋ค ๋ฐ๊ตฌ๋๋ก 5๊ฐ๋ฅผ ์ฎ๊ธธ ์ ์๋๋ฐ, ์ฌ๊ธฐ์ ๋ฐ๊ตฌ๋๊ฐ ๋ฒํผ์ ํด๋นํ๋ค.
์ผ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ์ฎ๊น์ผ๋ก์จ ์๋ ์ฐจ์ด๋ฅผ ์ํํ ์ ์๋ค. ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฒํผ๊ฐ ๋ค ์ฑใ
์์ง ๋๊น์ง ์ ์ฅ์ฅ์น ๊ฐ์ ๋ฐ์ดํฐ ์ ์ก์ด ์ง์ฐ๋๋ค.
์คํ
๋ฒํผ์ ์ ์ฌํ ์ฉ์ด๋ก ํ๋ฆฐํฐ์ ์คํ๋ฌ๋ฅผ ๋ ์ฌ๋ ค๋ณด์. ์คํ๋ฌ๋ ์ถ๋ ฅ ๋ช
๋ น์ ๋ด๋ฆฐ ํ๋ก๊ทธ๋จ๊ณผ ๋
๋ฆฝ์ ์ผ๋ก ๋์ํ๋๋ฐ, CPU์ ์
์ถ๋ ฅ์ฅ์น๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ๋์ํ๋๋ก ๊ณ ์๋ ์ํํธ์จ์ด ๋ฒํผ์ด๋ค.
๋ฒํผ์ ์คํ์ ์ฐจ์ด๋ ํ๋ก๊ทธ๋จ๋ค์ด ๋ฒํผ๋ฅผ ๊ณต์ ํ ์ ์์ง๋ง, ์คํ์ ๊ณต์ ํ ์ ์๋ค.
์บ์
์บ์์ผ๋ง๋ก ๋ฉ๋ชจ๋ฆฌ์ CPU๊ฐ์ ์๋ ์ฐจ์ด๋ฅผ ์ํํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์ ์ ์ฅํด๋๋ ์์ ์ฅ์์ด๋ค. ์บ์๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ ํ๊บผ๋ฒ์ ์ ๋ฌํ๋ ๋ฒํผ์ ์ผ์ข
์ผ๋ก CPU๊ฐ ์์ผ๋ก ์ฌ์ฉํ ๊ฒ์ผ๋ก ์์๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ ธ๋ค ๋๋๋ค.
์บ์๋ CPU์์ ์์ผ๋ฉฐ CPU ๋ด๋ถ ๋ฒ์ค์ ์๋๋ก ์๋ํ๋ค.
CPU๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํด์ผ ํ ๋ ์บ์๋ฅผ ๋จผ์ ๋ฐฉ๋ฌธํ์ฌ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๋์ง ์ฐพ์๋ณธ๋ค.(์บ์๊ฐ ์์ผ๋ฉด ์บ์ ํํธ, ์์ผ๋ฉด ์บ์ ๋ฏธ์ค)
์ผ๋ฐ์ ์ธ ์ปดํจํฐ์ ์บ์ ์ ์ค๋ฅ ์ 90%์ด๋ฉฐ, ์ปดํจํฐ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ค๋ฉด ์บ์ ์ ์ค๋ฅ ์ด ๋์์ผ ํ๋๋ฐ, ๊ทธ ๋ฐฉ๋ฒ ์ค ํ๋๋ ์บ์์ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด๋ค.
์บ์์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์ฌ ์ ์์ด ์บ์ ์ ์ค๋ฅ ์ด ์ฌ๋ผ๊ฐ๋ค.
์บ์์ ์ฆ์ ์ฐ๊ธฐ์ ์ง์ฐ ์ฐ๊ธฐ
์บ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ ์ด๋ฅผ ๋ฐ์ํด์ผ ํ๋๋ฐ ์ฆ์ ์ฐ๊ธฐ ๋ฐฉ์๊ณผ ์ง์ฐ ์ฐ๊ธฐ ๋ฐฉ์์ด ์๋ค.
-
์ฆ์ ์ฐ๊ธฐ
-
์บ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ด๋ฅผ ์ฆ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์
-
๋ฉ๋ชจ๋ฆฌ์์ ๋น๋ฒํ ๋ฐ์ดํฐ ์ ์ก์ผ๋ก ์ฑ๋ฅ์ด ๋๋ ค์ง
-
๋ฉ๋ชจ๋ฆฌ์ ์ต์ ๊ฐ์ด ํญ์ ์ ์ง๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์์ด๋ฒ๋ฆฌ์ง ์์
-
์ง์ฐ ์ฐ๊ธฐ
-
์บ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋ชจ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์(์นดํผ ๋ฐฑ์ด๋ผ๊ณ ๋ ํจ)
-
๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ ์ ์ก ํ์๊ฐ ์ค์ด๋ค์ด ์ฑ๋ฅ ํฅ์ ๊ธฐ๋
-
๋ฉ๋ชจ๋ฆฌ์ ์บ์๋ ๋ฐ์ดํฐ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๋จ์
L1์บ์์ L2์บ์
์บ์๋ ๋ช
๋ น์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํ์ฌ ๊ฐ์ ธ์ค๋ ํน์ ์บ์์ ๋ช
๋ น์ด์ ๋ฐ์ดํฐ ๊ตฌ๋ถ ์์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ฒฐ๋์ด ์๋ ์ผ๋ฐ ์บ์๋ก ๋๋จ
-
L1 ์บ์
-
ํน์ ์บ์๋ L1์บ์(Level1 ์บ์)๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ๋ช ๋ น์ด ์บ์์ ๋ฐ์ดํฐ ์บ์๋ฅผ ๊ตฌ๋ถํด์ CPU์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ธํด์ค
-
L2 ์บ์
-
์ผ๋ฐ ์บ์๋ L2์บ์๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ ธ์จ ์บ์ ๋ฐ์ดํฐ๋ฅผ ๋ปํจ(L2์บ์์์ L1์บ์๋ก ๋๋ ์ง)
์ ์ฅ์ฅ์น์ ๊ณ์ธต ๊ตฌ์กฐ
์ข์ ์ฑ๋ฅ์ ๋ด๋ ์ปดํจํฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ถ๋ค๋ฉด ์ ์ฅ์ฅ์น๋ก ํ๋๋์คํฌ๋ณด๋ค SSD๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋๋์คํฌ ํฌ๊ธฐ๋งํผ ํ์ฅํ๋ฉฐ, ์บ์๋ฅผ ํฌ๊ฒ ๋๋ ค ์บ์ ์ ์ค๋ฅ ์ ๋์ด๋ ๋ฐฉ๋ฒ์ด ์๋ค.
์ ์ฅ์ฅ์น๋ ๋น ๋ฅด๊ฒ ๋์ํ ์๋ก ๋น์ธ๊ธฐ ๋๋ฌธ์ ์ฉ๋์ด ์๊ณ ๋น ๋ฅธ ์ ์ฅ์ฅ์น๋ฅผ CPU์ ๊ฐ๊น๊ฒ ๋๊ณ ์ฉ๋์ด ํฌ๊ณ ๋๋ฆฐ ์ ์ฅ์ฅ์น๋ฅผ CPU์์ ๋จผ๊ณณ์ ๋ฐฐ์นํจ์ผ๋ก์ ์๋์ ์ฉ๋์ ํจ์จ์ฑ์ ์ป์ ์ ์๋ค.
์ธํฐ๋ฝํธ
์ธํฐ๋ฝํธ ๋ฐฉ์์ CPU๊ฐ ์ง์ ์
์ถ๋ ฅ์ฅ์น์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ด๋ณด๋ด์ง ์๊ณ , CPU์ ์์
๊ณผ ์ ์ฅ์ฅ์น์ ๋ฐ์ดํฐ ์ด๋์ ๋
๋ฆฝ์ ์ผ๋ก ์ด์ํจ์ผ๋ก์จ ์์คํ
์ ํจ์จ์ ๋์ด๋ ๋ฐฉ์์ด๋ค.
์ฆ, ๋ฐ์ดํฐ์ ์
์ถ๋ ฅ์ด ์ด๋ค์ง๋ ๋์ CPU๊ฐ ๋ค๋ฅธ ์์
์ ํ ์ ์๋ค. ์ฌ๊ธฐ์ ์ ์ฅ์ฅ์น์ ๋ฐ์ดํฐ ์ด๋์ ๋น๋นํ๋ ๋ถ๋ถ์ ์
์ถ๋ ฅ ๊ด๋ฆฌ์ ๋๋ ์ฅ์น ๊ด๋ฆฌ์๋ผ๊ณ ํ๋ค.
์ธํฐ๋ฝํธ ๋ฐฉ์ ๋์ ๊ณผ์
-
CPU๊ฐ ์ ์ถ๋ ฅ ๊ด๋ฆฌ์์๊ฒ ์ ์ถ๋ ฅ ๋ช ๋ น์ ๋ณด๋ธ๋ค.
-
์ ์ถ๋ ฅ ๊ด๋ฆฌ์๋ ๋ช ๋ น๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ๋ค ๋๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์ฅ์น๋ก ์ฎ๊ธด๋ค
-
๋ฐ์ดํฐ ์ ์ก์ด ์๋ฃ๋๋ฉด ์ ์ถ๋ ฅ ๊ด๋ฆฌ์๋ ์๋ฃ ์ ํธ(์ธํฐ๋ฝํธ)๋ฅผ CPU์ ๋ณด๋ธ๋ค.
CPU๋ ์
์ถ๋ ฅ ๊ด๋ฆฌ์์๊ฒ ์์
์ง์๋ฅผ ๋ด๋ฆฌ๊ณ ๋ค๋ฅธ ์ผ์ ํ๋ค๊ฐ ์๋ฃ ์ ํธ(์ธํฐ๋ฝํธ)๋ฅผ ๋ฐ์ผ๋ฉด ํ๋ ์ผ์ ์ค๋จํ๊ณ ์ฎ๊ฒจ์ง ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค.
์ธํฐ๋ฝํธ ๋ฐฉ์์์๋ ๋ง์ ์ฃผ๋ณ์ฅ์น ์ค ์ด๋ค ๊ฒ์ ์์
์ด ๋๋ฌ๋์ง๋ฅผ CPU์ ์๋ ค์ฃผ๊ธฐ ์ํด ์ธํฐ๋ฝํธ ๋ฒํธ(IRQ: Interrupt ReQuest)๋ฅผ ์ฌ์ฉํ๋ค. CPU๋ ์ธํฐ๋ฝํธ ๋ฒํธ๋ก ์ด๋ค ์ฃผ๋ณ์ฅ์น์๊ฒ ์ ํธ๋ฅผ ๋ฐ์๋์ง ์ ์ ์๊ณ , ์ด ๋ฒํธ๋ ์ด์์ฒด์ ๋ง๋ค ๋ค๋ฅด๋ค.
๋ํ ๋์์ ์ธํฐ๋ฝํธ ์ ํธ๋ฅผ ๋ฐ์ ์ ์๋๋ฐ ๊ทธ๋๋ง๋ค ์ธํฐ๋ฝํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ ๋ฆฌ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ ์ธํฐ๋ฝํธ๋ฅผ ํ๋์ ๋ฐฐ์ด๋ก ๋ง๋ ์ธํฐ๋ฝํธ ๋ฒกํฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ ๊ทธ๋ฆผ์์๋ 0๋ฒ๊ณผ 3๋ฒ์ ์์
์ด ๋์์ ์๋ฃ๋์ด ์ธํฐ๋ฝํธ 0๋ฒ๊ณผ 3๋ฒ์ด ๋์์ ๋ฐ์ํ๋ค. CPU๋ 0๋ฒ๊ณผ 3๋ฒ์ ์์
์ ๋์์ ์ฒ๋ฆฌํ๋ค.
์ง์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ(Direct Memory Access)
CPU์๊ฒ ๋ช
๋ น์ ๋ฐ์ ์
์ถ๋ ฅ ๊ด๋ฆฌ์๋ CPU๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ๋ค ๋์์ผ ํ๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ๋ CPU๋ง ์ ๊ทผ ๊ถํ์ ๊ฐ์ง ์์
๊ณต๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์
์ถ๋ ฅ ๊ด๋ฆฌ์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ์
์ถ๋ ฅ ๊ด๋ฆฌ์์๊ฒ๋ CPU์ ํ๋ฝ ์์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ด ํ์ํ๋ฐ ์ด ๊ถํ์ ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด๋ผ๊ณ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ ๋งคํ ์
์ถ๋ ฅ(Memory Mapped I/O, MMIO)
์ง์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์๋ CPU๊ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ ์
์ถ๋ ฅ ์ฅ์น๊ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๊ฐ ์์ฌ์๋ค. ๋ฐ๋ผ์ CPU๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ํตํด ๋ค์ด์ค๊ฑฐ๋ ๋๊ฐ๋ ๋ฐ์ดํฐ ๊ณต๊ฐ์ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๋ค. ์ด๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ผ์ ๊ณต๊ฐ์ ์
์ถ๋ ฅ์ ํ ๋นํ๋ ๊ธฐ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ๋งคํ ์
์ถ๋ ฅ์ด๋ผ๊ณ ํ๋ค.
'์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ์๋ฉ๋ชจ๋ฆฌ(Virtual Memory)๋ ๋ฌด์์ผ๊น? (0) | 2023.08.23 |
---|---|
Vim์์ Auto Indent ์ฌ์ฉ (0) | 2023.05.30 |
[Linux] deamon๊ณผ fork ์ด์ผ๊ธฐ (0) | 2023.04.13 |
๊ต์ฐฉ์ํ(DeadLock) (0) | 2023.01.03 |
Context Switching(๋ฌธ๋งฅ ๊ตํ) (0) | 2023.01.02 |
๋๊ธ