
Linux Kernel โ 2 Kernel vendor, architecture ๐ง
CPU, SoC, ๋ณด๋ ๋ฒค๋๋ณ ํ๋์จ์ด ๊ตฌ์กฐ ์ฐจ์ด๋ฅผ ์ปค๋ ๊ด์ ์์ ์ค๋ช
๊ฐ ์ํคํ ์ฒ์ ๋นํธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ฆ์ ์ค์ฌ์ผ๋ก ์ ๋ฆฌ
Vendor๋ณ ์ปค๋ ๊ด์
CPU Vendor
์ค์์ฒ๋ฆฌ์ฅ์น(CPU)๋ฅผ ์ค๊ณ ๋ฐ ์ ์กฐํ๋ ์ ์ฒด, ๋ช ๋ น์ด ์งํฉ(ISA), ์ํคํ ์ฒ ์ค๊ณ ๋ฐ ์ฑ๋ฅ ์ต์ ํ ์ญํ
๋ํ ๊ธฐ์ : Intel, AMD, ARM, Apple ๊ฐ ์๋ค.
์ปค๋์ ํด๋น CPU์ ๋ช ๋ น์ด ์งํฉ(์: x86, ARM64 ๋ฑ)์ ๋ง์ถฐ ๋น๋
System on Chip Vendor
ํ๋์ ์นฉ ์์ CPU, GPU, ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ, I/O ๋ฑ์ ํตํฉ ์ค๊ณ ๋ฐ ์ ์กฐ ์ ์ฒด
๋ชจ๋ฐ์ผ ๋ฐ ์๋ฒ ๋๋ ์ฅ์น์ฉ ๊ณ ์ง์ ํ๋ก์ธ์ ์ ๊ณต
๋ํ ๊ธฐ์ : Qualcomm, MediaTek, Samsung, Apple, NXP
SoC ๋ฒค๋๋ ๊ฐ SoC์ ๋ง๋ ๋๋ฐ์ด์ค ํธ๋ฆฌ(Device Tree), ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํจ
Board Vendor
SoC๊ฐ ํ์ฌ๋ ์ค์ ํ๋์จ์ด ๋ณด๋๋ฅผ ์ค๊ณ ๋ฐ ์์ฐํ๋ ์ ์ฒด
์ ์ ์ค๊ณ, ์ธํฐํ์ด์ค ํ๋ก, I/O ํฌํธ ๋ฐฐ์น ๋ฑ ํ๋์จ์ด ๊ตฌํ
๋ํ ๊ธฐ์ : Raspberry Pi Foundation, Hardkernel (Odroid), NVIDIA (Jetson), FriendlyARM
๋ณด๋๋ณ ๋ถํธ๋ก๋ ์ค์ , ๋๋ฐ์ด์ค ํธ๋ฆฌ ํ์ผ, ๋ณด๋ ์ด๊ธฐํ ์ฝ๋๊ฐ ํฌํจ๋์ด์ผ ์ ์ ๋ถํ ๊ฐ๋ฅ
CPU ํต์ฌ ๊ตฌ์ฑ ์์๋ณ ์ญํ
๊ตฌ์ฑ ์์ | ์ญํ |
---|---|
ALU (์ฐ์ ๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น) | ๋ง์ , ๋บ์ , ๋ ผ๋ฆฌ ์ฐ์ฐ ๋ฑ ์ํ |
๋ ์ง์คํฐ | CPU ๋ด๋ถ์ ๊ณ ์ ์์ ์ ์ฅ์ |
๋ฉ๋ชจ๋ฆฌ (RAM) | ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ์ |
๋ฐ์ดํฐ ์ ์ก ํ๋ฆ (๋นํธ ๋จ์)
1. ๋ฉ๋ชจ๋ฆฌ โ ๋ ์ง์คํฐ
ํ๋ก๊ทธ๋จ ์คํ ์, **๋ฉ๋ชจ๋ฆฌ(RAM)**์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ CPU๊ฐ ์ฝ์ด์ฌ ๋,
๋ฉ๋ชจ๋ฆฌ ๋ฒ์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๊ฐ ๋ ์ง์คํฐ๋ก ์ ์ก๋จ
์: LOAD R1, [0x1000]
โ ์ฃผ์ 0x1000์ ๊ฐ์ ๋ ์ง์คํฐ R1์ 32๋นํธ ๋๋ 64๋นํธ ๋จ์๋ก ๋ก๋
2. ๋ ์ง์คํฐ โ ALU
์ฐ์ฐ ์ํ ์, ๋ ์ง์คํฐ์ ์ ์ฅ๋ ๊ฐ๋ค์ด ALU๋ก ์ ๋ฌ๋์ด ๊ณ์ฐ๋จ
๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ ๋ค์ ๋ ์ง์คํฐ์ ์ ์ฅ
์ : R1 = 5 R2 = 3 ALU: R1 + R2 โ R3 = 8
3. ๋ ์ง์คํฐ โ ๋ฉ๋ชจ๋ฆฌ
๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ๋ ์ฌ์ฉ
์: STORE R3, [0x2000]
โ R3์ ๊ฐ์ ์ฃผ์ 0x2000์ ์ ์ฅ
* ์ ์ก๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ CPU์ ๋นํธ ์๋งํผ ๋๋์ด ์ฒ๋ฆฌ๋จ
* (์: 64๋นํธ CPU์์๋ ํ ๋ฒ์ 64๋นํธ = 8๋ฐ์ดํธ ์ ์ก ๊ฐ๋ฅ)
CPU ๋ฒ์ค
๋ฒ์ค ์ข ๋ฅ | ์ค๋ช |
---|---|
๋ฐ์ดํฐ ๋ฒ์ค | ์ค์ ๋ฐ์ดํฐ ์ ๋ฌ (32๋นํธ ๋๋ 64๋นํธ ๋จ์) |
์ฃผ์ ๋ฒ์ค | ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ์ง์ |
์ ์ด ๋ฒ์ค | ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ฑ ์ ์ด ์ ํธ ์ ๋ฌ |
๋ฐ์ดํฐ ์ ์ก ๊ณผ์ ์ ๋ฆฌ
๋ฉ๋ชจ๋ฆฌ โ (LOAD) [0x1000] โโโโโโโโบ R1 (๋ ์ง์คํฐ) ๋ ์ง์คํฐ ๊ฐ ์ฐ์ฐ R1 + R2 โโโโโบ ALU โโโโโบ R3 R3 ๊ฒฐ๊ณผ ์ ์ฅ R3 โโโโโโโโบ [0x2000] (๋ฉ๋ชจ๋ฆฌ) (STORE)
์ฃผ์ ์ํคํ ์ฒ๋ณ ๋นํธ ๊ตฌ์กฐ ๋น๊ต
์์์ ์ค๋ช ํ ๋ด์ฉ์ ๊ธฐ์ค์ผ๋ก ์ฃผ์ ์ํคํ ์ฒ๋ณ ๋นํธ ๊ตฌ์กฐ๋ฅผ ๋น๊ตํ์๋ฉด ์๋์ ๊ฐ๋ค.
์ํคํ ์ฒ | ๋นํธ ๊ตฌ์กฐ | ํน์ง |
ARMv7 | 32๋นํธ | ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ 4GB ์ ํ, ์ ์ ๋ ฅ ์ค์ฌ |
ARMv8 | 64๋นํธ | AArch64 ๋ชจ๋์์ 64๋นํธ ์ฐ์ฐ ๋ฐ ์ฃผ์ ์ง์ ๊ฐ๋ฅ |
x86 | 32๋นํธ | ์ ํต์ ์ธ PC ๊ตฌ์กฐ, ๋ฉ๋ชจ๋ฆฌ ์ต๋ 4GB ์ ํ |
x86-64 (AMD64) | 64๋นํธ | AMD๊ฐ ์ ์, 64๋นํธ ์ฐ์ฐ๊ณผ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ์ง์ |
PowerPC | 32๋นํธ โ 64๋นํธ ํ์ฅ | IBM์ ๊ณ ์ฑ๋ฅ ์๋ฒ ๋ฐ ์ฝ์์ฉ |
Athlon | ์ด๊ธฐ 32๋นํธ โ Athlon 64์์ 64๋นํธ | x86 ํธํ, AMD64 ๊ตฌ์กฐ์ ์์์ |