๋ฐ์ํ
CPU (Central Processing Unit)
CPU๋ ์ปดํจํฐ์ ๋๋๋ก, ๋ช ๋ น์ด๋ฅผ ํด์ํ๊ณ ์ฐ์ฐ์ ์ํํ์ฌ ์ปดํจํฐ์ ๋ค๋ฅธ ํ๋์จ์ด(HW)๋ค์ ์ ์ดํ๋ ํต์ฌ ์ญํ ์ ํ๋ค. ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋, CPU๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด ๋ค์ด๊ณ ๋ช ๋ น์ด๋ฅผ ํด์ ํ์ฌ ํ์ํ ์ฐ์ฐ์ ์ํํ๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋กํ๊ฑฐ๋ ๋ค์ ์์ ์ ์ํด ๋ค๋ฅธ ํ๋์จ์ด ์ฅ์น๋ก ์ ์กํ๋ค.
Control Unit
- CPU์ ์ด์ ์ ์ด ์ญํ ์ ํ๋ฉฐ, ํ๋์จ์ด ์ปดํฌ๋ํธ ๊ฐ์ ํจ์จ์ ์ธ ํ์ ์ ๋ณด์ฅ
- CPU์๊ฒ ์ ๋ฌ๋๋ ๋ฐ์ด๋๋ฆฌ ๋ช ๋ น์ด๋ฅผ ํด์
- ๋ค๋ฅธ ๊ตฌ์ฑ ์์๋ค์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋๋ก ์ ์ด
- ํ๋ก๊ทธ๋จ ์นด์ดํฐ๋ฅผ ํตํด ๋ค์์ ์คํํ ๋ช ๋ น์ด์ ์์น๋ฅผ ์ถ์
- ๋ช ๋ น์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ ธ์ Fetching, Decoding, Execution ์งํ
ALU (Arithmetic Logic Unit, ์ฐ์ ๋ ผ๋ฆฌ ์ฅ์น)
- CPU์ ์ฐ์ฐ ๊ธฐ๋ฅ์ ๋ด๋น
- ์ฐ์ ์ฐ์ฐ, ๋ ผ๋ฆฌ ์ฐ์ฐ, ๋น๊ต ์ฐ์ฐ, ์ํํธ ์ฐ์ฐ ๋ฑ ์ํ
Register
- ALU์์ ์ฐ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํ๋ ๊ณ ์ ์ ์ฅ ์ฅ์น
- CPU ๋ด๋ถ์ ์์นํ์ฌ ๋น ๋ฅธ ์๋๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์
- ์ผ๋ฐ ๋ชฉ์ ๋ ์ง์คํฐ (General Purpose Register): ๋ค์ํ ๋ฐ์ดํฐ ๊ฐ์ ์์๋ก ์ ์ฅํ๊ณ , ์ฐ์ฐ ๊ณผ์ ์์ ์ฌ์ฉ ex) AX, BX, CX, DX ๋ฑ.
- ์ ์ฉ ๋ ์ง์คํฐ (Special Purpose Register): ํน์ ํ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ ์ง์คํฐ ํ๋ก๊ทธ๋จ ex) ์นด์ดํฐ(PC), ์คํ ํฌ์ธํฐ(SP), ํ๋๊ทธ ๋ ์ง์คํฐ(FLAGS) ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
Bus Interface (๋ฒ์ค ์ธํฐํ์ด์ค)
- CPU์ ๋ฉ๋ชจ๋ฆฌ, ๋ค๋ฅธ ํ๋์จ์ด ์ฅ์น๋ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋ ํต์ ๊ฒฝ๋ก.
- Address Bus (์ฃผ์ ๋ฒ์ค): CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ I/O ์ฅ์น์ ์ ๊ทผํ ๋ ์ฌ์ฉํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ก
- Data Bus (๋ฐ์ดํฐ ๋ฒ์ค): CPU์ ๋ฉ๋ชจ๋ฆฌ, ๋๋ ๋ค๋ฅธ ์ฅ์น ๊ฐ์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ก
- Control Bus (์ ์ด ๋ฒ์ค): CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ I/O ์ฅ์น์ ๋ช ๋ น์ ๋ณด๋ด๊ณ , ์ํ๋ฅผ ํ์ธํ๋ ์ ํธ๋ฅผ ์ ์ก. ์ ์ด ๋ฒ์ค๋ ์์คํ ์ ์ฌ๋ฐ๋ฅธ ๋์์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฐ ๊ตฌ์ฑ ์์ ๊ฐ์ ํต์ ์ ์กฐ์จ.
- Bus System (๋ฒ์ค ์์คํ ): ์์ ์ธ ๊ฐ์ง ๋ฒ์ค๋ฅผ ํตํฉํ์ฌ ๊ด๋ฆฌํ๋ ์์คํ ์ผ๋ก, CPU์ ๋ฉ๋ชจ๋ฆฌ, ์ฃผ๋ณ ์ฅ์น ๊ฐ์ ์ํํ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ณด์ฅ.
๋ฐ์ํ
'๐ฆพ ๋ณด์ ๐ฆพ > ๋ฆฌ๋ฒ์ฑ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Practical Malware Analysis] Lab01-01.exe, Lab01-01.dll ๋ถ์ (0) | 2024.09.30 |
---|---|
x86-64 ์ด์ ๋ธ๋ฆฌ์ด (0) | 2024.08.28 |
x86-64 CPU ๋ ์ง์คํฐ (0) | 2024.08.28 |
PE ํ์ผ ๊ตฌ์กฐ (0) | 2024.08.26 |
[๋ฆฌ๋ฒ์ฑ] kali - pwndbg ์ธํ & ๊ธฐ๋ณธ ๋ช ๋ น์ด (0) | 2024.08.22 |