Suhee Coding Archive
[์ปดํจํฐ ๊ตฌ์กฐ] ๋ณ๋ ฌ์ฒ๋ฆฌ & ํ์ดํ๋ผ์ธ ๋ณธ๋ฌธ
๐ ๋ณ๋ ฌ ์ฒ๋ฆฌ
๋ณ๋ ฌ ์ฒ๋ฆฌ๋ ๋์์ ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ ์ฒ๋ฆฌํ์ฌ ์์ ์ ๋ฅ๋ฅ ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์์ ๋งํ๋ค.
๐ ๋ณ๋ ฌ์ฒ๋ฆฌ ์ข ๋ฅ
- SISD(Single Instruction Single Datastream) : ๋ช ๋ น์ด 1๊ฐ ๋ฐ์ดํฐ 1๊ฐ
- ์ ์ด์ฅ์น์ ํ๋ก์ธ์๋ฅผ ๊ฐ๊ฐ ํ๋์ฉ ๊ฐ๋ ๊ตฌ์กฐ
- ํ ๋ฒ์ ํ ๊ฐ์ฉ์ ๋ช ๋ น์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋จ์ผ ํ๋ก์ธ์ ์์คํ
- ๋ช ๋ น์ด๊ฐ ์์๋๋ก ์คํ๋์ง๋ง ์คํ ๊ณผ์ ์ ์ฌ๋ฌ ๊ฐ์ ๋จ๊ณ๋ค๋ก ๋๋์ด ์ค์ฒฉ์์ผ ์คํ ์๋๋ฅผ ๋์ด๋๋ก ํ์ดํ๋ผ์ธ์ผ๋ก ๋์ด์๋ ๊ฒ์ด ๋ณดํต
- SIMD(Single Instruction Multiple Datastream)
- ๋ฐฐ์ด ํ๋ก์ธ์์ ํ์ดํ๋ผ์ธ์ด ์ด ๋ถ๋ฅ์ ์ํจ
- ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์๋ค๋ก ๊ตฌ์ฑ๋๊ณ , ํ๋ก์ธ์๋ค์ ๋์์ ๋ชจ๋ ํ๋์ ์ ์ด์ฅ์น์ ์ํด ์ ์ด
- ๋ชจ๋ ํ๋ก์ธ์๋ค์ ์ ์ด์ฅ์น๋ก๋ถํฐ ๋์ผํ ๋ช ๋ น์ด๋ฅผ ๋ฐ์ง๋ง ๋ช ๋ น์ด ์คํ ๊ณผ์ ์์ ์๋ก๋ค๋ฅธ ๋ฐ์ดํฐ๋ค์ ์ฌ์ฉ
- MISD(Multiple Instruction Single Datastream)
- ์ฌ๋ฌ ๊ฐ์ ์ ์ด์ฅ์น์ ํ๋ก์ธ์๋ฅผ ๊ฐ๋ ๊ตฌ์กฐ
- ๊ฐ ํ๋ก์ธ์๋ค์ ์๋ก ๋ค๋ฅธ ๋ช ๋ น์ด๋ค์ ์คํํ์ง๋ง ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ํ๋์ ์คํธ๋ฆผ
- MISD๋ ์ค์ ๋ก๋ ์ฌ์ฉ๋์ง ์๋ ๊ตฌ์กฐ
- MIMD(Multiple Instruction Multiple DataStream)
- ๋๋ถ๋ถ์ ๋ค์ค ํ๋ก์ธ์ ์์คํ ๊ณผ ๋ค์ค ์ปดํจํฐ ์์คํ ์ด ์ด ๋ถ๋ฅ์ ์ํจ
- ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์๋ค์ด ์๋ก ๋ค๋ฅธ ๋ช ๋ น์ด์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ
๋๋ถ๋ถ SIMD ๊ฑฐ๋ MIMD
๐ CPU์์ ๋ช ๋ น์ด ์คํ๋๋ ๊ณผ์
CPU ๋ด์์ ๋ช ๋ น์ด๋ ์ ์ด์ฅ์น๊ฐ ์ฒ๋ฆฌํ๋ค. ์ ์ด์ฅ์น๋ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ ํด์ ํ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํ๋ค. ์ด๋ฌํ ์ฌ์ดํด์ ์ค๋ ๋๋ผ๊ณ ํ๋ค.
IF -> ID -> EX -> WB ์์ผ๋ก ์คํ๋๋ฉฐ ์ด ๊ณผ์ ์ ์ฒด๋ฅผ ํ๋์ ์ค๋ ๋๋ผ๊ณ ํ๋ค.
- IF(Instruction Fetch) : ๋ค์์ ์คํํ ๋ช ๋ น์ด๋ฅผ ๋ ์ง์คํฐ์ ์ ์ฅ
- ID(Instruction Decode) : ๋ช ๋ น์ด๋ฅผ ํด์
- EX(Execution) : ํด์ํ ๊ฒฐ๊ณผ๋ก ๋ช ๋ น์ด๋ฅผ ์คํ
- WB(Write Back) : ์คํ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
๐ ๋ณ๋ ฌ์ฒ๋ฆฌ ๊ธฐ๋ฒ 1) ํ์ดํ๋ผ์ธ ๊ธฐ๋ฒ
- CPU์ ์ฌ์ฉ์ ๊ทน๋ํํ๊ธฐ ์ํด ๋ช ๋ น์ ๊ฒน์ณ์ ์คํํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ํ๋์ CPU ์ฝ์ด์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
- ์ผ๋ฐ์ ์ผ๋ก๋ ํ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ์ฒ๋ฆฌ 4๋จ๊ณ๋ฅผ ๋ชจ๋ ๋ง์น๊ณ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ง๋ง, ํ์ดํ๋ผ์ธ ๊ธฐ๋ฒ์์๋ ๋ช ๋ น์ด ์ฒ๋ฆฌ ๋จ๊ณ๋ง๋ค ๋ ๋ฆฝ์ ๊ตฌ์ฑ์ ํตํด ๊ฐ ๋จ๊ณ๊ฐ ์ฌ์ง ์๊ณ ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋ค.
ํ์ดํ๋ผ์ธ ๊ธฐ๋ฒ์ ๋ฌธ์ ์
- ๋ฐ์ดํฐ ์ํ: ๋ฐ์ดํฐ ์์กด์ฑ์ผ๋ก ์ธํด ๋ฐ์๋๋ ๋ฌธ์ . A๋ฐ์ดํฐ๋ฅผ ์์กดํ๋ 2๋ฒ์งธ ๋ช
๋ น์ด๋ ์์ ๋ช
๋ น์ด๊ฐ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ ํ์ ์คํ๋์ด์ผ ํ๋ค.
- ํด๊ฒฐ ๋ฐฉ๋ฒ: ํ์ดํ๋ผ์ธ์ ๋ช ๋ น์ด ๋จ๊ณ ์ง์ฐ - ์ ์ด ์ํ: if๋ฌธ ํน์ goto๋ฌธ ๋ฑ์ผ๋ก ๋ถ๊ธฐ๊ฐ ๋ฐ์ํ ๋ ํ์ฌ ๋์์ ์งํ์ค์ด๋ ๋ช
๋ น์ด๋ค์ด ํ์๊ฐ ์์ด์ง๋ฉด์ ์๊ธฐ๋ ๋ฌธ์
- ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ถ๊ธฐ ์์ธก ํน์ ์ง์ฐ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ - ๊ตฌ์กฐ ์ํ: ์๋ก ๋ค๋ฅธ ๋ช
๋ น์ด๊ฐ ๊ฐ์ ์์์ ์ ๊ทผํ๋ฉด์ ํ๋ก๊ทธ๋จ์ด ๋น์ ์์ ์ผ๋ก ์๋ํ๊ฑฐ๋ ์ข
๋ฃ๋๋ ๋ฌธ์ ์ดํด๋ฅผ ๋์๋ฉด ์ธํ๊ณผ์ ๊ณผ ํ์๊ณผ์ ์ ํ์ดํ๋ผ์ด๋์ ํตํด ๋์์ ์ํํ๋๋ฐ ๊ฐ์ ์ธํ๊ธฐ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ํด์ ๋๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ํด๊ฒฐ ๋ฐฉ๋ฒ: ํด๊ฒฐํ๊ธฐ ๊น๋ค๋ก์
๐ ๋ณ๋ ฌ์ฒ๋ฆฌ ๊ธฐ๋ฒ 1) ์ํผ์ค์นผ๋ผ ๊ธฐ๋ฒ
- ํ์ดํ๋ผ์ธ๊ณผ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ฅ์ ์ ๋ชจ์ ๊ฒ
- ์ฌ๋ฌ ๊ฐ์ ํ์ดํ๋ผ์ธ์์ ๋ช ๋ น๋ค์ด ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌ๋๋๋ก ํ ์ํคํ ์ฒ๋ก ๋๊ธฐ ์ํ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋์์ ์คํ๋ ์ ์์ด ์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฅด๋ค.
- ํ์ดํ๋ผ์ธ๊ณผ ๋น์ทํ์ง๋ง ํ ํด๋ก๋ง๋ค ๋ช ๋ น์ด ํ ๊ฐ๊ฐ ์คํ๋๋ ๊ฒ์ด ์๋ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฒ๋ฆฌํ๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค.
๐ ์์ ๋ฉด์ ์ง๋ฌธ
- CPU์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋ฐฉ์์ ์ค๋ช
- ๋ณ๋ ฌ์ฒ๋ฆฌ์ ๊ธฐ๋ฒ์ธ ํ์ดํ๋ผ์ธ๊ณผ ์ํผ์ค์นผ๋ผ์ ํน์ง ์ค๋ช
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ 3, 4 (0) | 2023.02.28 |
---|---|
[์ด์ ์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ 1 (0) | 2023.02.07 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๊ธฐํ ์ด์ง ์ฝ๋ & ์๋ฌ ๊ฒ์ถ ์ฝ๋ (0) | 2023.01.16 |
[์ปดํจํฐ ๊ตฌ์กฐ] ๋์งํธ ๋ ผ๋ฆฌ ํ๋ก (0) | 2023.01.10 |
[๋คํธ์ํฌ] ๋ก๋๋ฐธ๋ฐ์ฑ (0) | 2023.01.03 |
Comments