๋ณ๋ ฌ์ฒ๋ฆฌ(Parallel Processing) - ์ผ์ ๋ค์์ ํ๋ก์ธ์ ๋ถ๋ด, ๋์ ์ฒ๋ฆฌ ๊ธฐ๋ฒ
๋ง์ ์์ ํ๋ก์ธ์๋ค๋ก ํ๋์ ์์คํ
์ ๊ตฌ์ฑํ ์ ์๋๋ก ์๊ณ ์ ๋ ดํ๋ฉฐ ๊ณ ์์ธ ํ๋ก์ธ์ ์ฌ์ฉ
ํ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ์์ ๋ถ๋ถ๋ค๋ก ๋ถํ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ผ ํ๋ฉฐ, ๋ถํ ๋ ๋ถ๋ถ๋ค์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๊ฐ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ ๊ฒฝ์ฐ์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ด์ผ ํจ
๋ฉํฐ ์ฝ์ด (Multi core) : ๋ค์ด ํ๋์ 2๊ฐ ์ด์์ ์ฝ์ด๋ฅผ ์ง์ ํ ๊ฒ.
๋ฉํฐ ์ฐ๋ ๋ (Multi thread) : ๋ฉํฐ ํ๋ก์ธ์ค๋ณด๋ค ์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐจ์งํ๊ณ Context Switching์ด ๋น ๋ฅธ ์ฅ์ ์ด ์์ง๋ง, ๋๊ธฐํ ๋ฌธ์ ์ ํ๋์ ์ค๋ ๋ ์ฅ์ ๋ก ์ ์ฒด ์ค๋ ๋๊ฐ ์ข
๋ฃ ๋ ์ํ์ ๊ฐ๊ณ ์๋ค.
๋ฉํฐ ํ๋ก์ธ์ค (Multi process) : ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ฃฝ๋๋ผ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ์ฃผ์ง ์์ ์์ ์ฑ์ด ๋์ง๋ง, ๋ฉํฐ ์ค๋ ๋๋ณด๋ค ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ๊ณผ CPU ์๊ฐ์ ์ฐจ์งํ๋ ๋จ์ ์ด ์๋ค.
Context Switching : ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉ ์ค์ธ ์ํ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๋๋ก ํ๊ธฐ ์ํด, ์ด์ ํ๋ก์ธ์ค์ ์ํ(Context)๋ฅผ ๋ณด๊ดํ๊ณ ์๋ก์ด ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ ์ฌํ๋ ์์
ํ์ํ ๊ด๋ จ ๊ธฐ์ ๋ค
๋ฌธ์ ๋ถํ (problem partition) : ๋ณ๋ ฌ์ฒ๋ฆฌ๋ฅผ ์ํ์ฌ ๋ฌธ์ (ํน์ ํ๋ก๊ทธ๋จ)๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋๋๋ ๊ฒ
ํ๋ก์ธ์๊ฐ ํต์ (interprocessor communication) : ๋ถํ ๋ ๋ถ๋ถ์ ๋๋์ด ์ฒ๋ฆฌํ๋ ํ๋ก์ธ์๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๋ฉ์นด๋์ฆ ํ์
๋ณ๋ ฌ ํ๋ก๊ทธ๋จ ์ธ์ด์ ์ปดํ์ผ๋ฌ์ ๊ฐ๋ฐ
์ํธ ๋ฐฐํ ๋ฉ์ปค๋์ฆ(mutual exclusion mechanism) ์ง์
๊ณต์ ์์๋ค์ ๋ํ ๊ฒฝํฉ(contention)์ ์ค์ด๊ณ ์ด์ฉ๋ฅ ์ ๊ทน๋ํํ ์ ์๋ ์ด์์ฒด์ ์ ๊ฐ๋ฐ
๋ณ๋ ฌ์ปดํจํฐ์ ๋ถ๋ฅ Flynn์ ๋ถ๋ฅ(Flynnโs classification) ๊ตฌ์กฐ์ ํน์ง์ ๋ฐ๋ฅธ ๋ถ๋ฅ ๋ฐฉ์
๋ช
๋ น์ด ์คํธ๋ฆผ(instruction stream) : ํ๋ก์ธ์์ ์ํด ์คํ๋๊ธฐ ์ํ์ฌ ์์๋๋ก ๋์ด๋ ๋ช
๋ น์ด ์ฝ๋๋ค์ ์งํฉ
๋ฐ์ดํฐ ์คํธ๋ฆผ(data stream) : ๊ทธ ๋ช
๋ น์ด๋ค์ ์คํํ๋ ๋ฐ ํ์ํ ์์๋๋ก ๋์ด๋ ๋ฐ์ดํฐ๋ค์ ์งํฉ
ํ๋ก์ธ์๋ค์ด ์ฒ๋ฆฌํ๋ ๋ช
๋ น์ด์ ๋ฐ์ดํฐ์ ์คํธ๋ฆผ(stream; ํ๋ฆ)์ ์์ ๋ฐ๋ผ ๋ถ๋ฅ
(1) SISD(Single Instruction Single Data)
ํ๋ฒ์ ํ ๊ฐ์ฉ์ ๋ช
๋ น์ด์ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์ฒ๋ฆฌํ๋ ๋จ์ผํ๋ก์ธ์ ์์คํ
ํ์ดํ๋ผ์ด๋(pipelining), ์ํผ์ค์นผ๋ผ(superscalar)๊ตฌ์กฐ๋ฅผ ์ด์ฉ
(2) SIMD(Single Instruction Multiple Data)
๋ฐฐ์ด ํ๋ก์ธ์(Array Processor)
์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ฑ ์ ๋ํธ(PU)๋ค๋ก ๊ตฌ์ฑ๋๊ณ , PU๋ค์ ๋์์ ๋ชจ๋ ํ๋์ ์ ์ด ์ ๋ํธ์ ์ํด ํต์
๋ชจ๋ PU๋ค์ ํ๋์ ๋ช
๋ น์ด ์คํธ๋ฆผ์ ์คํ
๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฒ๋ฆฌ
(3) MISD(Multiple Instruction Single Data)
n๊ฐ์ ํ๋ก์ธ์๋ค์ด ์๋ก ๋ค๋ฅธ ๋ช
๋ น์ด๋ค์ ์คํํ์ง๋ง, ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ํ ๊ฐ. -> ๋งค์ฐ ๋จ์ํ ๋ช
๋ น์ด ์
์ด๋ฉด ๊ฐ๋ฅํ ์๋ ์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋ถ์ ํฉ.
(4) MIMD(Multiple Instruction Multiple Data)
ํ๋ก์ธ์๋ค๊ฐ์ ์ํธ์์ฉ ์ ๋์ ๋ฐ๋ผ ๋ ๊ฐ์ง๋ก ๋ถ๋ฅ
๋ฐ๊ฒฐํฉ ์์คํ
(tightly-coupled system)
๊ณต์ -๊ธฐ์ต์ฅ์น ๊ตฌ์กฐ(shared-memory architecture)
๋ค์คํ๋ก์ธ์ ์์คํ
(multiprocessor system)
์๊ฒฐํฉ ์์คํ
(loosely-coupled system)
์ง์ญ ๊ธฐ์ต์ฅ์น(local memory)๋ฅผ ๊ฐ์ง ๋
๋ฆฝ์ ์ธ ์ปดํจํฐ ๋ชจ๋๋ก ๊ตฌ์ฑ
ํ๋ก์ธ์๊ฐ ํต์ ์ ๋ฉ์ธ์ง ์ ์ก(message-passing) ๋ฐฉ์์ ์ด์ฉ
๋ค์ค์ปดํจํฐ ์์คํ
(multiple-computer system)
Computer Architecture
PE(Processing Element) : ๋ชจ๋ ํ๋ก์ธ์ฑ ์์๋ค์ด ํ๋์ ์ ์ด์ ๋ ์๋์ ๋๊ธฐ์ ์ผ๋ก ์๋ํ๋ ์์คํ
๊ตฌ์กฐ : ๊ฐ PE๋ ํ๋ก์ธ์(๋ง์คํฌ ๋ ์ง์คํฐ์ ALU๋ฅผ ํฌํจํ ์ปจํธ๋กค ๋ก์ง)์ ๊ธฐ์ต์ฅ์น(๋ฐ์ดํฐ ๋ ์ง์คํฐ, ์ฃผ์ ๋ ์ง์คํฐ, ์ธ๋ฑ์ค ๋ ์ง์คํฐ, ๋ฐ์ดํฐ ์ ์ก ๋ ์ง์คํฐ, ์ํ ํ๋๊ทธ ๋ ์ง์คํฐ ๋ฑ์ ํฌํจํ ๋ฉ๋ชจ๋ฆฌ)๋ฅผ ์ฐ๊ฒฐํ ๋ง์ผ๋ก ๊ตฌ์ฑ.
๋ฐฉ๋ฒ : ์ ์ด ์ ๋๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฝ์ด์, ์ผ์ ์ํํ PE์ ์ํ ํ๋๊ทธ ๋ ์ง์คํฐ์ enable์ฃผ๋ฉด, ๊ฐ PE๋ค์ ๊ฐ์ ์ฐ์ฐ์ ์ํํ๋ค.
์ฐ๊ฒฐ ๊ตฌ์กฐ๊ฐ ๊ณ ์ ๋ Static(์ ์ ) ์ํธ ์ฐ๊ฒฐ๋ง๊ณผ Dynamic(๋น์ ์ ) ์ํธ ์ฐ๊ฒฐ๋ง์ผ๋ก ๋๋๋ค.
1์ฐจ์ ํ ํด๋ก์ง : ์ ํ ๋ฐฐ์ด(linear array)
2์ฐจ์ ํ ํด๋ก์ง : ์ํ(ring), ๋ณํ(star), ๋๋ฌด(tree), ๋งค์ฌ (mesh), ์์คํ ๋ฆญ ๋ฐฐ์ด(systolic array)๊ตฌ์กฐ
3์ฐจ์ ํ ํด๋ก์ง : ์์ ์ฐ๊ฒฐ(completely connected) ๊ตฌ์กฐ, ์ฝ๋ฌ ์ํ(chordal ring) ๊ตฌ์กฐ, ํ๋ธ(Cube) ๊ตฌ์กฐ๋ก ๋๋๋ค.
๋ณต์กํ ๋ช ๋ น์ด๋ฅผ ๊ฐ PE์ ๋๋ ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ๋ฉด์ ์ ์ข ์ปค์ง๊ฒ ์ง๋ง..
๋ค์คํ๋ก์ธ์์์คํ
๊ตฌ์กฐ MIMD ์กฐ์ง์ผ๋ก์, ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์๋ค์ด ๋น๋๊ธฐ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์คํํ๋ ์์คํ
๊ธฐ์ต์ฅ์น ๋ชจ๋์ ์ฌ์ฉํ๋ (์์ ํ๋) ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ
๊ณต์ -๊ธฐ์ต์ฅ์น ์์คํ
(shared-memory system)
๋ถ์ฐ-๊ธฐ์ต์ฅ์น ์์คํ
(distributed-memory system)
๊ณต์ -๊ธฐ์ต์ฅ์น ์์คํ
๊ตฌ์กฐ ๋ฐ๊ฒฐํฉ ๊ตฌ์กฐ๋ก์, ์ฃผ๊ธฐ์ต์ฅ์น๊ฐ ์ด๋ ํ ํ๋ก์ธ์์ ์ํด ์์ง ์๊ณ ๋ชจ๋ ํ๋ก์ธ์๋ค์ ์ํด ๊ณต์
์ํธ์ฐ๊ฒฐ ๊ตฌ์กฐ
๊ณต์ -๋ฒ์ค(shared-bus) - ํ๋์จ์ด๊ฐ ๋งค์ฐ ๊ฐ๋จ ๋ฒ์ค ๊ฒฝํฉ์ผ๋ก ์ธํ ์ง์ฐ ์๊ฐ ์ฆ๊ฐ. ๋ฒ์ค์ ์ ์ก ์๋๋ฅผ ๋์ด๊ฑฐ๋ ์บ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ณด์
๋ค์ค-๋ฒ์ค(multiple-bus) - ๊ฒฝํฉ์ ์ค์ด๊ธฐ ์ํ์ฌ ๋ฒ์ค์ ์๋ฅผ ์ฆ์ค. ๊ณ์ธต๋ฒ์ค ๊ตฌ์กฐ(hierarchical bus structure) : ์ฉ๋๊ฐ ๋ค๋ฅธ ์ฌ๋ฌ ๊ณ์ธต์ ๋ฒ์ค๋ค์ ์ฌ์ฉ
ํฌ๋ก์ค๋ฐ ์ค์์น(Crossbar Switch) - ํ๋ก์ธ์๋ค๊ณผ ๊ธฐ์ต์ฅ์น๋ค ์ฌ์ด์ ์์ ์ฐ๊ฒฐ์ฑ(full connectivity). ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ํ๋์จ์ด๊ฐ ๋ณต์ก
๋ค๋จ๊ณ ์ํธ์ฐ๊ฒฐ๋ง(Multistage Interconnection Network: MIN) - ํฌ๋ก์ค๋ฐ ์ค์์น์ ๊ธฐ๋ณธ ๊ฐ๋
์ ์ด์ฉํ๋ฉด์๋ ํ๋์จ์ด ๋ณต์ก์ฑ์ ๊ฐ์์ํจ ์ํธ์ฐ๊ฒฐ๋ง. ์ - ์ค๋ฉ๊ฐ ๋คํธ์ํฌ(Omega network)
๊ณต์ -๊ธฐ์ต์ฅ์น ์์คํ
๊ตฌ์กฐ์ ์ฅ๋จ์ ์ฅ์ ๋จ์
์ฅ์
ํ๋ก์ธ์๋ค์ด ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ค์ด ๊ณต์ ๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋๋ฏ๋ก ๋ณ๋์ ํ๋ก์ธ์๊ฐ ๋ฐ์ดํฐ ๊ตํ ๋ฉ์ปค๋์ฆ์ด ํ์ํ์ง ์์
ํ๋ก๊ทธ๋จ ์คํ์๊ฐ ๋์์ ๊ฐ ํ๋ก์ธ์๋ค์ด ์ฒ๋ฆฌํ ์์
๋ค์ ๋์ ์ผ๋ก ๊ท ๋ฑํ๊ฒ ํ ๋นํ ์ ์์ผ๋ฏ๋ก ํ๋ก์ธ์ ์ด์ฉ๋ฅ ์ ๊ทน๋ํํ ์ ์์ด์ ์์คํ
ํจ์จ์ ๋์ผ ์ ์์
๋จ์
ํ๋ก์ธ์๋ค๊ณผ ๊ธฐ์ต์ฅ์น๋ค ๊ฐ์ ํต๋ก(๋ฒ์ค ๋๋ ์ํธ์ฐ๊ฒฐ๋ง)์์ ํต์ ๋์ด ๋ง์์ง๊ธฐ ๋๋ฌธ์ ๊ฒฝํฉ์ผ๋ก ์ธํ ์ง์ฐ ์๊ฐ์ด ๊ธธ์ด์ง ์ ์์
๋ ๊ฐ ์ด์์ ํ๋ก์ธ์๋ค์ด ๊ณต์ ์์(๊ธฐ์ต์ฅ์น ๋ชจ๋ ๋๋ ์
์ถ๋ ฅ์ฅ์น)์ ๋์์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ์ ํ ๊ฐ ์ด์ธ์ ํ๋ก์ธ์๋ค์ ๋๊ธฐํด์ผ ํจ ๏ ํ๋ก์ธ์ ์๊ฐ ์ฆ๊ฐํด๋ ์ ํ์ ์ฑ๋ฅ ํฅ์ ๋ถ๊ฐ๋ฅ (๊ณ ์ ์ํธ์ฐ๊ฒฐ๋ง๊ณผ ์บ์ฌ ๊ธฐ์ต์ฅ์น์ ์ฌ์ฉ์ผ๋ก ๋ณด์)
์ค๋ฉ๊ฐ ๋คํธ์ํฌ ์
๋ ฅ๋จ๊ณผ ์ถ๋ ฅ๋จ์ด ๊ฐ๊ฐ N ๊ฐ์ธ ๊ฒฝ์ฐ ์ค์์นญ ์์์ ์ ์ ๋ฐฉ์(connection mode)
ํ์ํ ๋จ๊ณ(stage)์ ์ s = log2N
๊ฐ ๋จ๊ณ์ ์ค์์นญ ์์(switching element)๋ค์ ์ m = N/2
์ค์์นญ ์์์ ์ ์ ๋ฐฉ์(connection mode)
์ง์ง(straight) : ๊ฐ์ ์์น์ ์
์ถ๋ ฅ ๋จ์๋ค์ด ์๋ก ์ ์
๊ต์ฐจ(swap) : ์๋ก ๋ค๋ฅธ ์์น์ ์
์ถ๋ ฅ ๋จ์๋ค์ด ์ ์
๋ฐฉ์ก ์ ์ (broadcast connection)
ํ๋์ ๊ทผ์์ง ๋
ธ๋๋ก๋ถํฐ ์ฌ๋ฌ ๊ฐ ๋๋ ๋ชจ๋ ๋
ธ๋๋ค๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํ์ฌ ์ฌ์ฉ
๋ฐฉ์ก ์ ์์ ํฌํจํ ์ ์ด ์ ํธ์ ์ค์์น์ ๊ตฌ์ฑ
Computer Architecture
ํ์ ๋ฐฉ์ก(lower broadcast) : ํ๋จ์ ์
๋ ฅ๋จ์๊ฐ ๋ชจ๋ ์ถ๋ ฅ๋จ์๋ค๋ก ์ ์
์์ ๋ฐฉ์ก(upper broadcast) : ์๋จ์ ์
๋ ฅ๋จ์๊ฐ ๋ชจ๋ ์ถ๋ ฅ๋จ์๋ค๋ก ์ ์
๋ถ์ฐ-๊ธฐ์ต์ฅ์น ์์คํ
๊ตฌ์กฐ ์๊ฒฐํฉ ๊ตฌ์กฐ(loosely-coupled structure)
๊ฐ ํ๋ก์ธ์๊ฐ ์์ ์ ์ง์ญ ๊ธฐ์ต์ฅ์น(local memory)๋ฅผ ์์
๋ค๋ฅธ ํ๋ก์ธ์๋ค๊ณผ์ ํต์ ์ ๋ฉ์ธ์ง ์ ์ก(message-passing) ์ด์ฉ
์ฅ์ - ๊ณต์ ์์์ ๋ํ ๊ฒฝํฉ ๊ฐ์
๋จ์ - ํต์ ํ๋กํ ์ฝ์ ์ํ ์ง์ฐ ์๊ฐ ์ฆ๊ฐ
๋คํธ์ํฌ ์ง๋ฆ(network diameter) : ๋คํธ์ํฌ ๋ด์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์๋ ๋
ธ๋๋ค ๊ฐ์ ๊ฑฐ๋ฆฌ(์ฆ, ๋งํฌ์ ์)
์ ํ ๋ฐฐ์ด(linear array) ๊ตฌ์กฐ ๋คํธ์ํฌ ์ง๋ฆ์ด N-1๋ก์, ๋ค๋ฅธ ๊ตฌ์กฐ๋ค์ ๋นํ์ฌ ๊ฐ์ฅ ๊ธธ๋ค
๋ฒ์ค ๊ตฌ์กฐ ๋ณด๋ค ๋์์ฑ์ด ๋ ๋๋ค
ํต์ ์๊ฐ์ด ๋
ธ๋๋ค ๊ฐ์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅด๋ฉฐ, ๋
ธ๋์ ์๊ฐ ๋ง์์ง๋ฉด(N์ด ์ปค์ง๋ฉด) ํต์ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง๋ค
Computer Architecture
์ํ(ring) ๊ตฌ์กฐ ๋คํธ์ํฌ ์ง๋ฆ ๊ฐ ๋งํฌ๊ฐ ์๋ฐฉํฅ์ฑ(bi-directional)์ด๋ฉด N/2
๋จ๋ฐฉํฅ์ฑ(uni-directional)์ด๋ฉด N-1
๋ณํ ๊ตฌ์กฐ: ์ฝ๋ฌ ์ํ(chordal ring)
๋งํฌ์ ์๊ฐ ์ฆ๊ฐ๋ ์๋ก ๋คํธ์ํฌ ์ง๋ฆ์ ๊ฐ์
d(degree) : ๊ฐ ๋
ธ๋๊ฐ ๊ฐ์ง๋ ๋งํฌ์ ์
2์ง ํธ๋ฆฌ(binary tree) ๊ตฌ์กฐ ์ธต(level)์ ์๋ฅผ k๋ผ๊ณ ํ ๋ N=(2k-1)๊ฐ์ ๋
ธ๋๋ค์ด ์ ์
37 2์ง ๋๋ฌด(binary tree) ๊ตฌ์กฐ ์ธต(level)์ ์๋ฅผ k๋ผ๊ณ ํ ๋ N=(2k-1)๊ฐ์ ๋
ธ๋๋ค์ด ์ ์
์์คํ
์์๋ค์ ์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์ ํ์ ์ผ๋ก ํฅ์
ํจํธ ํธ๋ฆฌ(fat tree) ๊ตฌ์กฐ ์์ ์ธต์ผ๋ก ์ฌ๋ผ๊ฐ์๋ก ๋
ธ๋๊ฐ์ ํต์ ์ฑ๋ ์๊ฐ ์ฆ๊ฐํ๋ ๊ตฌ์กฐ
ํธ๋ฆฌ ๊ตฌ์กฐ์์ ์์ ์ธต์ผ๋ก ์ฌ๋ผ๊ฐ์๋ก ํต์ ๋์ด ๋ง์์ ธ์ ์ฑ๋์ด ๋ณ๋ชฉ์ด ๋๋ ๋ฌธ์ ์ ์ ํด๊ฒฐ
Thinking Machine ์ฌ์ CM-5์์คํ
์์ ์ค์ ์ฌ์ฉ
๋งค์ฌ ๊ตฌ์กฐ(mesh network) Illiac IV, MPP, DAP, CM-2 ๋ฐ Intel Paragon์์ ์ฌ์ฉ
ํ ๋ฌ์ค ๋คํธ์ํฌ(torus network)
์ํ ๊ตฌ์กฐ์ ๋งค์ฌ ๊ตฌ์กฐ๊ฐ ํผํฉ๋ ๊ตฌ์กฐ๋ก ํ์ฅ์ด ์ฉ์ด
์ฒจ๋จ ํ๋ก์ธ์ ๊ตฌ์กฐ ์ํผ์ค์นผ๋ผ(superscalar) ๊ตฌ์กฐ
ํ๋ก์ธ์ ๋ด์ ํ์ดํ๋ผ์ธ๋ ๊ธฐ๋ฅ ์ ๋ํธ(functional unit; ALU ๋๋ ๋ช
๋ น์ด ์คํ ์ ๋ํธ)๋ฅผ ์ฌ๋ฌ ๊ฐ ํฌํจ์์ผ์, ๋งค ์ฌ์ดํด๋ง๋ค ํ ๊ฐ ์ด์์ ๋ช
๋ น์ด๋ค์ด ๋์์ ์ฒ๋ฆฌ๋ ์ ์๋๋ก ํ๋ ๊ตฌ์กฐ
4๋จ๊ณ ํ์ดํ๋ผ์ธ, ์ํผ์ค์นผ๋ผ ์ ๋๊ฐ 2์ธ๊ฒฝ์ฐ์ ์
๋จ๊ณ 1 : ๋ช
๋ น์ด ์ธ์ถ(instruction fetch: IF)
๋จ๊ณ 2 : ๋ช
๋ น์ด ํด๋
(instruction decode: ID)
๋จ๊ณ 3 : ์ฐ์ฐ ์ํ(EX)
๋จ๊ณ 4 : ์ฐ์ฐ ๊ฒฐ๊ณผ ์ ์ฅ(writeback: WB)
๋ ๋ช
๋ น์ด๋ค ์ฌ์ด์ ๋ฐ์ดํฐ ์์กด์ฑ์ด ์กด์ฌํ์ง ์์์ผ ๊ทธ๋ค์ ๋์์ ์คํ ๊ฐ๋ฅ
ํํฐ์ ํ๋ก์ธ์์ ๋ด๋ถ ๊ตฌ์กฐ
VLIW(Very Long Instruction Word) ๊ตฌ์กฐ
ํ๋ก์ธ์๋ ์ฌ๋ฌ ๊ฐ์ ๊ธฐ๋ฅ ์ ๋ํธ๋ค์ ํฌํจ
์ปดํ์ผ๋ฌ๊ฐ ๋์์ ์คํ๋ ์ ์๋ ์ฐ์ฐ์ ๊ฐ์ง ๋ช
๋ น์ด๋ค์ ์ฐพ์์ ํ๋์ ๋ช
๋ น์ด ์ฝ๋ ๋ด์ ์ฌ๋ฐฐ์ด
์ํผ์ค์นผ๋ผ์ ๋ค๋ฅธ ์ : ์ธ์ถ๊ณผ ํด๋
์ ํ ํ๋ก์ ์ํด ์ํ,
์คํ ์ฌ์ดํด๋ง ์ฌ๋ฌ ๊ฐ์ ๊ธฐ๋ฅ ์ ๋ํธ๋ค๋ก ๋๋์ด์ ธ ๋์์ ์ฒ๋ฆฌ
TRACE-7 ์์คํ
: ๊ธฐ๋ฅ ์ ๋ํธ์ ์ = 7, ๋ช
๋ น์ด ๊ธธ์ด = 256 ๋นํธ
TRACE-28 ์์คํ
: ๊ธฐ๋ฅ ์ ๋ํธ์ ์ = 28, ๋ช
๋ น์ด ๊ธธ์ด = 1024 ๋นํธ
์ํผํ์ดํ๋ผ์ธ(super-pipeline) ๊ตฌ์กฐ
์ํผํ์ดํ๋ผ์ธ๊ณผ ์ํผ์ค์นผ๋ผ๊ฐ ๊ฒฐํฉ๋ ๊ตฌ์กฐ
๊ฐ ๋จ๊ณ๋ฅผ ๋ ๊ฐ ํน์ ๊ทธ ์ด์์ผ๋ก ๋ถํ
์ํผํ์ดํ๋ผ์ด๋์ ์ ๋(degree of superpipelining) : n์ธ ๊ธฐ๋ฅ ์ ๋ํธ์ ํด๋ญ ์ฌ์ดํด ์๊ฐ์ ๊ธฐ๋ณธ ์ฌ์ดํด์ 1/n
์ต๊ทผ ๋๋ถ๋ถ์ ๊ณ ์ฑ๋ฅ ํ๋ก์ธ์๋ค์์ ์ฌ์ฉ
์์ฃผ ํท๊ฐ๋ฆฌ๋ ๊ฐ๋ ์ด๋ผ, ์ฐพ์๋ณผ ๋๋ง๋ค ์ฝ๊ฒ ๋ณด๋ ค๊ณ ํน์ง ์์ฃผ๋ก ์์ฝํ์ต๋๋ค.