์ปดํจํฐ ๊ตฌ์กฐ์ ํฐ 3๊ฐ์ง ์์๋ CPU, Memory, I/O์ด๋ค.
ํ๋ก๊ทธ๋จ์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋์ด ๋ณผ ์ ์๋ค.
- Application Software
- ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑ๋์ด ์๋ค.
- System Software
- Compiler(์ปดํ์ผ๋ฌ): HLL(High-level language)์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค.
- Operating System(์ด์์ฒด์ ): I/O๋ฅผ ๊ด๋ฆฌํ๊ณ , ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๊ณต๊ฐ์ ๊ด๋ฆฌํ๋ค. ์ผ๋ค์ ์ค์ผ์ค๋งํ๊ณ ์์์ ๊ณต์ ํ๋ค.
- Hardware
- Processor, Memory, I/O controllers๊ฐ ํฌํจ๋๋ค.
์์ ์ปดํ์ผ๋ฌ๊ฐ HLL์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค๊ณ ํ๋๋ฐ ํ๋ก๊ทธ๋จ ์ฝ๋๋ High-level language, Assembly language, Hardware representation 3๊ฐ์ง ๋จ๊ณ๋ก ๋๋ ์ ์๋ค.
์ปดํจํฐ์ ์ฑ๋ฅ
์ด์ ์ปดํจํฐ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ์์๋ค์ ๋ํด ์์๋ณด๋๋ก ํ์.
๋จผ์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค. ์๊ณ ๋ฆฌ์ฆ์ operation step์๋ฅผ ๊ฒฐ์ ํ๋ค.
Programming language, compiler, architecture๋ operation๋น ์คํ๋์ด์ผ ํ๋ machine instructions์ ์๋ฅผ ๊ฒฐ์ ํ๋ค.
Processor, Memory system์ ๋ช ๋ น์ด๋ค์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์คํ๋๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
I/O system(OSํฌํจ)์ I/O operation์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์คํ๋๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
์ปดํจํฐ ์ฑ๋ฅ์ ์ธก์ ํ๋ ์งํ๋ ํฌ๊ฒ Response time(์๋ต ์๊ฐ)๊ณผ Throughput(์ฒ๋ฆฌ๋)์ผ๋ก ๋๋๋ค. Response time์ ์ผ์ ์ฒ๋ฆฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ, Throughput์ ๋จ์์๊ฐ๋น ์ฒ๋ฆฌํ ์ ์๋ ์์ ์๋ฏธํ๋ค.
์ฑ๋ฅ ๋น๊ต
์ปดํจํฐ์ ์ฑ๋ฅ์ ์๋ ์์์ฒ๋ผ ํํํ๋ค.
์์๋ฅผ ๋ค์ด ์ดํดํ๋ฉด ํธํ๋ฐ ๋ง์ผ ๊ฐ์ ์ผ์ ํ๋๋ฐ A๋ 10์ด๊ฐ ๊ฑธ๋ฆฌ๊ณ B๋ 15์ด๊ฐ ๊ฑธ๋ ธ๋ค๊ณ ํ์. ์ง๊ด์ ์ผ๋ก A๊ฐ ๋ ๋น ๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์์ง๋ง ์์์ผ๋ก ๊ณ์ฐํ๋ฉด ์๋์ ๊ฐ๋ค.
์ฆ A๋ B๋ณด๋ค 1.5๋ฐฐ ๋น ๋ฅด๋ค.
Execution Time
๊ทธ๋ผ ์คํ ์๊ฐ์ ์ด๋ป๊ฒ ์ธก์ ํ ๊น? ์ด๋ฅผ ์ํด Elapsed Time๊ณผ CPU Time์ด๋ผ๋ ๊ฒ์ด ์๋ค. Elapsed Time๋ ์ด ์๋ต์๊ฐ์ด๋ค. ์ฆ Processing, I/O, OS overhead, idle time๋ฑ์ ๋ชจ๋ ํฌํจํ๋ฉฐ system performance๋ฅผ ๊ฒฐ์ ํ๋ค. CPU Time์ ํด๋น ์์ ์ ์ฒ๋ฆฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ, ์ฆ Processing์ ๊ฑธ๋ฆฌ๋ ์๊ฐ๋ง์ ์๋ฏธํ๋ค.
CPU Clocking
์ด๋ฐ ์๊ฐ์ ์ธก์ ํ๊ธฐ ์ํด Clock์ ์ฌ์ฉํ๋ค.
Clock Period(์ฃผ๊ธฐ)๋ 1์ฌ์ดํด๋น ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์๋ฏธํ๋ค.
Clock frequency(rate, ์ง๋์)๋ 1์ด์ ๋ช๋ฒ์ cycle์ ๋ ์ ์๋์ง๋ฅผ ์๋ฏธํ๋ค.
CPU Time์ ์๋ ์์์ผ๋ก ๋ํ๋ธ๋ค.
์ด ์ญ์ ๋น์ฐํ ์๊ธฐ์ธ๋ฐ ๋ง์ผ ํน์ ์์ ์ ์ฒ๋ฆฌํ๋๋ฐ 10๋ฒ์ ์ฌ์ดํด์ด ๋์๋ค๊ณ ์น์. ๊ทธ๋ฆฌ๊ณ 1์ด์ 5๋ฒ์ ์ฌ์ดํด์ด ๋ ์ ์๋ค๋ฉด ํด๋น ์์ ์ ์ฒ๋ฆฌํ๋๋ฐ ๊ฑธ๋ฆฐ ์๊ฐ์ 2์ด๋ผ๋ ๊ฒ์ ์ง๊ด์ ์ผ๋ก ์ ์ ์๋ค. Cpu Clock Cycle = 10, Clock Rate = 5์ธ ์ํฉ์ด๋ค.
์ ์์์ ๋ฐ๋ผ ์ฑ๋ฅ์ ์๋ ์กฐ๊ฑด๋ค์ ์ํด ํฅ์๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
- Clock Cycle์ ์ ๊ฐ์(๋ถ์)
- Clock Rate ์ฆ๊ฐ(๋ถ๋ชจ)
๋ ๊ฐ์ง๋ ์๋ก ์ข ์์ ์ด๊ธฐ ๋๋ฌธ์, ํ๋์จ์ด ๋์์ด๋๋ ์ข ์ข ํด๋ญ ์๋์ ํด๋ญ ์ฌ์ดํด ์ ์ฌ์ด์์ ๊ฒฐ๋จ์ ๋ด๋ฆฌ๊ฒ ๋๋ค.
โญ ์์
Computer A: 2GHz clock, 10s CPU time
Computer B๋ฅผ ๋์์ธ ํ๋ ค๊ณ ํ ๋ CPU time์ 6s์ด๊ณ , clock์ ๋น ๋ฅด๊ฒ ํ ์ ์์ง๋ง clock cycle์ด 1.2๋ฐฐ ์ฆ๊ฐํ๊ฒ ๋๋ค. ์ด ๊ฒฝ์ฐ Computer B์ clock์ ์ผ๋ง๋ ๋นจ๋ผ์ง ์ ์๋๊ฐ?
Instruction Count and CPI
Clock Cycle์ ๊ฒฝ์ฐ Instruction Count x Cycles per Instruction(CPI)๋ก ๊ตฌํ๋ค.
์ฌ๊ธฐ์ Instruction Count๋ program, ISA, compiler์ ์ํด ๊ฒฐ์ ๋๋ค. ๋ Average Cycles per instruction์ CPU ํ๋์จ์ด์ ์ํด ๊ฒฐ์ ๋๋ค. ๋ง์ผ ๋ค๋ฅธ CPI๊ฐ ๋ช ๋ น์ด๋ง๋ค ๋ค๋ฅด๋ค๋ฉด ํ๊ท CPI๋ ๋ช ๋ น์ด ๋ชจ์(instruction mix)์ ์ํฅ์ ๋ฐ์ ๊ฒ์ด๋ค.
์ด์ CPI๋ฅผ ์์ ๋ฅผ ํตํด ์ดํดํด๋ณด๋๋ก ํ์.
โญ ์์
Computer A: Cycle Time = 250ps, CPI = 2.0
Computer B: Cycle Time = 500ps, CPI = 1.2
ISA๊ฐ ๊ฐ๋ค๊ณ ๊ฐ์ ํ์ ๋ ์ด๋ค ์ปดํจํฐ๊ฐ ์ผ๋ง๋ ๋น ๋ฅธ๊ฐ?
Average CPI
๋ง์ผ ๋ช ๋ น์ด์ ์ข ๋ฅ๊ฐ ๋ค์ํ๋ค๋ฉด ๋ช ๋ น์ด๋น CPI๋ ๋ค๋ฅผ ๊ฒ์ด๋ค. ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฑ๋ฅ์ ๋น๊ตํ๊ธฐ ์ํด Average CPI๋ผ๋ ๊ฐ๋ ์ด ์๋ค. ์ง๊ด์ ์ผ๋ก ๊ฐ ๋ช ๋ น์ด๋น CPI๋ฅผ ์ ์ฉํด ์ ์ฒด clock cycle์ ๊ตฌํ ๋ค, ํ๊ท ์ ๋ด์ฃผ๋ฉด ๋๋ค. ์์์ ์๋์ ๊ฐ๋ค.
์์ ๋ฅผ ํตํด ์ดํดํด ๋ณด๋๋ก ํ์.
โญ ์์
๊ฐ Sequence์์์ Average CPI๋ฅผ ๊ตฌํด๋ณด๋๋ก ํ์.
class A B C CPI for class 1 2 3 IC in sequence 1 2 1 2 IC in sequence 2 4 1 1
Performance Summary
์์ฝํ์๋ฉด ์ฑ๋ฅ์ ์๋ ์์๋ค๊ณผ ์ฐ๊ด์ด ์๋ค.
- Algorithm: IC(Instruction Count)์ ์ํฅ์ ๋ฏธ์น๊ณ CPI์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค.
- Programming language: IC์ CPI์ ์ํฅ์ ๋ฏธ์น๋ค.
- Compiler: IC์ CPI์ ์ํฅ์ ๋ฏธ์น๋ค.
- ISA(Instruction Set Architecture: IC, CPI, Tc(Total Execution Time)์ ์ํฅ์ ๋ฏธ์น๋ค.
๋๊ธ