pentium1
๋ณ‘๋ ฌ์ฒ˜๋ฆฌ(Parallel Processing) - ์ผ์˜ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์„œ ๋ถ„๋‹ด, ๋™์‹œ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•
๋งŽ์€ ์ˆ˜์˜ ํ”„๋กœ์„ธ์„œ๋“ค๋กœ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘๊ณ  ์ €๋ ดํ•˜๋ฉฐ ๊ณ ์†์ธ ํ”„๋กœ์„ธ์„œ ์‚ฌ์šฉ ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ๋ถ€๋ถ„๋“ค๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ๋ถ„ํ• ๋œ ๋ถ€๋ถ„๋“ค์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ๊ฒฝ์šฐ์™€ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ pentium1
๋ฉ€ํ‹ฐ ์ฝ”์–ด (Multi core) : ๋‹ค์ด ํ•˜๋‚˜์— 2๊ฐœ ์ด์ƒ์˜ ์ฝ”์–ด๋ฅผ ์ง‘์ ํ•œ ๊ฒƒ.
๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ (Multi thread) : ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  Context Switching์ด ๋น ๋ฅธ ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋™๊ธฐํ™” ๋ฌธ์ œ์™€ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ์žฅ์• ๋กœ ์ „์ฒด ์Šค๋ ˆ๋“œ๊ฐ€ ์ข…๋ฃŒ ๋  ์œ„ํ—˜์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.
๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค (Multi process) : ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ๋”๋ผ๋„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์•„ ์•ˆ์ •์„ฑ์ด ๋†’์ง€๋งŒ, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ณต๊ฐ„๊ณผ CPU ์‹œ๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
Context Switching : ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉ ์ค‘์ธ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด, ์ด์ „ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ(Context)๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์ ์žฌํ•˜๋Š” ์ž‘์—…
pentium1

ํ•„์š”ํ•œ ๊ด€๋ จ ๊ธฐ์ˆ ๋“ค
๋ฌธ์ œ ๋ถ„ํ• (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

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์— ๋‚˜๋ˆ ์„œ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๋ฉด์ ์€ ์ข€ ์ปค์ง€๊ฒ ์ง€๋งŒ..

pentium1
๋‹ค์ค‘ํ”„๋กœ์„ธ์„œ์‹œ์Šคํ…œ ๊ตฌ์กฐ 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)
๋‘ ๋ช…๋ น์–ด๋“ค ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ์ด ์กด์žฌํ•˜์ง€ ์•Š์•„์•ผ ๊ทธ๋“ค์„ ๋™์‹œ์— ์‹คํ–‰ ๊ฐ€๋Šฅ

supersclar

ํŽœํ‹ฐ์—„ ํ”„๋กœ์„ธ์„œ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ
pentium1

VLIW(Very Long Instruction Word) ๊ตฌ์กฐ
ํ”„๋กœ์„ธ์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ธฐ๋Šฅ ์œ ๋‹ˆํŠธ๋“ค์„ ํฌํ•จ
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์„ ๊ฐ€์ง„ ๋ช…๋ น์–ด๋“ค์„ ์ฐพ์•„์„œ ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด ์ฝ”๋“œ ๋‚ด์— ์žฌ๋ฐฐ์—ด
์Šˆํผ์Šค์นผ๋ผ์™€ ๋‹ค๋ฅธ ์  : ์ธ์ถœ๊ณผ ํ•ด๋…์€ ํ•œ ํšŒ๋กœ์— ์˜ํ•ด ์ˆ˜ํ–‰,
์‹คํ–‰ ์‚ฌ์ดํด๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ธฐ๋Šฅ ์œ ๋‹ˆํŠธ๋“ค๋กœ ๋‚˜๋ˆ„์–ด์ ธ ๋™์‹œ์— ์ฒ˜๋ฆฌ
TRACE-7 ์‹œ์Šคํ…œ : ๊ธฐ๋Šฅ ์œ ๋‹ˆํŠธ์˜ ์ˆ˜ = 7, ๋ช…๋ น์–ด ๊ธธ์ด = 256 ๋น„ํŠธ
TRACE-28 ์‹œ์Šคํ…œ : ๊ธฐ๋Šฅ ์œ ๋‹ˆํŠธ์˜ ์ˆ˜ = 28, ๋ช…๋ น์–ด ๊ธธ์ด = 1024 ๋น„ํŠธ

์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ(super-pipeline) ๊ตฌ์กฐ
์ŠˆํผํŒŒ์ดํ”„๋ผ์ธ๊ณผ ์Šˆํผ์Šค์นผ๋ผ๊ฐ€ ๊ฒฐํ•ฉ๋œ ๊ตฌ์กฐ
๊ฐ ๋‹จ๊ณ„๋ฅผ ๋‘ ๊ฐœ ํ˜น์€ ๊ทธ ์ด์ƒ์œผ๋กœ ๋ถ„ํ• 
์ŠˆํผํŒŒ์ดํ”„๋ผ์ด๋‹์˜ ์ •๋„(degree of superpipelining) : n์ธ ๊ธฐ๋Šฅ ์œ ๋‹ˆํŠธ์˜ ํด๋Ÿญ ์‚ฌ์ดํด ์‹œ๊ฐ„์€ ๊ธฐ๋ณธ ์‚ฌ์ดํด์˜ 1/n
์ตœ๊ทผ ๋Œ€๋ถ€๋ถ„์˜ ๊ณ ์„ฑ๋Šฅ ํ”„๋กœ์„ธ์„œ๋“ค์—์„œ ์‚ฌ์šฉ

์ž์ฃผ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ด๋ผ, ์ฐพ์•„๋ณผ ๋•Œ๋งˆ๋‹ค ์‰ฝ๊ฒŒ ๋ณด๋ ค๊ณ  ํŠน์ง• ์œ„์ฃผ๋กœ ์š”์•ฝํ–ˆ์Šต๋‹ˆ๋‹ค.