Previous chapter
Understanding Performance
์ฑ๋ฅ์ ๋ํ ๊ฐ๋ตํ ์ดํด
๊ฐ์ฅ ํฐ ์ํฅ์ ์ฃผ๋ ๊ฑด ์๊ณ ๋ฆฌ์ฆ
Number of operation executed๋ฅผ ๊ฒฐ์ ํ๋ฉฐ, ํฌ๋ฆฌํฐ์ปฌํจ.
์ด๋ค
โข
์๊ณ ๋ฆฌ์ฆ
โฆ
์คํ๋๋ Operations์ ์๋ฅผ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ ์ผ ํฌ๋ฆฌํฐ์ปฌํ ์ํฅ์ ์ค๋ค.
โข
์ธ์ด, ์ปดํ์ผ๋ฌ, ์ํคํ
์ณ
โฆ
์คํผ๋ ์ด์
๋น ์คํ๋๋ machine instructions์ ์๋ฅผ ๊ฒฐ์ ํ๋ค
โข
ํ๋ก์ธ์์ ๋ฉ๋ชจ๋ฆฌ ์์คํ
โฆ
instruction์ด ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ์คํ๋๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
โข
I/O ์์คํ
(OS ํฌํจ)
์ด๋ฒ ๊ฐ์์์ ์ค์ ์ ์ผ๋ก ๋ณผ ์์๋ ํ๋ก์ธ์์ ๋ฉ๋ชจ๋ฆฌ ์์คํ
, ์ํคํ
์ณ์ด๋ค.
Seven Great Ideas in Computer Architecture
Abstraction to simplify Design
์ถ์ํ(abstraction)๋, ํ์ ์์ค์ ์์ธํ ์ฌํญ์ ์ ๋ณด์ด๊ฒ ํจ์ผ๋ก์จ ์์ ์์ค์ ๋ชจ๋ธ์ ๋จ์ํํ๋ ๊ฐ๋
์ด๋ค.
์ ์ด๋ฐ ๊ธฐ์ ์ ์ผ๋๊ฐ?
Make the common Case Fast
์์ฃผ ์๊ธฐ๋ ์ผ์ ๋น ๋ฅด๊ฒ(common case fast) ๋ง๋๋ ๊ฒ์ด ๋๋ฌผ๊ฒ ์๊ธฐ๋ ์ผ์ ์ต์ ํ ํ๋ ๊ฒ ๋ณด๋ค ์ฑ๋ฅ ๊ฐ์ ์ ๋์์ด ๋๋ค.
์์ฃผ ์๊ธฐ๋ ์ผ์ ๋๋ฌผ๊ฒ ์๊ธฐ๋ ์ผ๋ณด๋ค ๋๋ถ๋ถ ๋จ์ํ ์ฑ๊ฒฉ์ ์ผ์ด๋ฏ๋ก, ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ฝ๋ค.
์ผ๋ฐ์ธ ํ๋ช
์ด ํ๊ณ ๊ฐ๋ ์ฐจ๋ฅผ ์ํด ํฑํฌ๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋๋ ๊ฒ ๋ณด๋ค ๋น ๋ฅธ ์คํฌ์ธ ์นด ํ๋๋ฅผ ๋ง๋๋ ๊ฒ ํจ์ฌ ์ฝ๋ค.
Parallelism
๋ณ๋ ฌ์ฑ(Parallelism)์ ์์
์ ๋ณ๋ ฌ์ ์ผ๋ก ์ํํ์ฌ ์ฑ๋ฅ์ ๋์ด๋ ์ค๊ณ๋ฅผ ๋ปํ๋ค.
Pipelining
ํ์ดํ๋ผ์ด๋(piplelining)์ ๋ณ๋ ฌ์ฑ์ ํน๋ณํ ์ํ์ด๋ค.
์ฌ๋ ํ๋ช
์ด ์๋์์น ํ๊ฐ๋ฅผ ๋ชจ๋ ๋ง๋๋ ๊ฒ ๋ณด๋ค ์๋ธ์จ์ด์ฒ๋ผ ๊ฐ ๋จ๊ณ๋ฅผ ๋ค๋ฅธ ์ฌ๋์ด ๋ถ๋ดํ๋ ๊ฒ์ด ํจ์ฌ ํจ์จ์ ์ด๋ค.
Prediction
์์ธก์ด ํ๋ ธ์ ๋ ์ด๋ฅผ ๋ณต๊ตฌํ๋ ๋น์ฉ์ด ๋น์ธ์ง ์๊ณ ์์ธก ์ ์คํ๋ฅ ์ด ๋์ ๊ฒฝ์ฐ, ์ถ์ธกํด์ ์ผ๋จ ์์ํ๋๊ฒ ํ๊ท ์ ์ผ๋ก ๋น ๋ฅผ ๊ฒ์ด๋ค.
Memories
๋น ๋ฅด์ง๋ง ์ผ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ค. ์ธ์ง๋ง ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ค. ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ๋ก ํด๊ฒฐํ๋ค.
Dependabilitiy via Reducdancy
์ฅ์ ๋ฅผ ๊ฐ์งํ๊ณ ์ฅ์ ๊ฐ ๋ ์์๋ฅผ ๋์นํ ์ ์๋๋ก ์ฌ์ ๋ถ์ ์ค๋นํ๋ฉด ์ปดํจํฐ์ ์ ์ฉ๋๋ฅผ ๊ฐ์ ํ ์ ์๋ค.
Below Your Program
์ปดํจํฐ ํ๋์จ์ด๋ ์์ฃผ ๋จ์ํ ์ ์์ค์ ๋ช
๋ น์ ๋ด๋ฆด ์ ์๋ค.
๋ณต์กํ ์์ฉ์์ ์ถ๋ฐํด์ ๋จ์ํ ๋ช
๋ น์ด๊น์ง ๋ด๋ ค๊ฐ๋ ค๋ฉด ๋์ ์์ค์ ์์
์ ๋จ์ํ ๋ช
๋ น์ด๋ก ๋ฎ์ถฐ์ฃผ๋ ์์
, ๋๋ ์ํํธ์จ์ด๊ฐ ํ์ํ๋ค.
ํํ ์์ฉํ๋ก๊ทธ๋จ๊ณผ ํ๋์จ์ด ์ฌ์ด๋ฅผ ์ด์ด์ฃผ๋ ์ญํ ์ ์ํํธ์จ์ด๋ฅผ ์์คํ
์ํํธ์จ์ด๋ผ๊ณ ํ๋ค.
โข
์ด์์ฒด์
โฆ
์์ฉํ๋ก๊ทธ๋จ๊ณผ ํ๋์จ์ด๊ฐ์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ฉด์ ๊ฐ์ข
์๋น์ค์ ๊ฐ๋
๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
โช
๊ธฐ๋ณธ์ IO ์์
์ ์ฒ๋ฆฌ
โช
๋ณด์กฐ๊ธฐ์ต์ฅ์น ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
โช
์ปดํจํฐ๋ฅผ ๋์์ ์ฌ์ฉํ๋ ์ฌ๋ฌ ์์ฉ๋ค ๊ฐ์ ์ปดํจํฐ ๊ณต์ ๋ฐฉ๋ฒ ์ ๊ณต
โข
์ปดํ์ผ๋ฌ
โฆ
์์ ์์ค์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ํ๋์จ์ด๊ฐ ์คํํ ์ ์๋ ๋ช
๋ น์ด๋ก ๋ฒ์ญํ๋ ์ผ์ ํ๋ค
Levels of Program Code
โข
High-level language
โฆ
ํ๋ก๊ทธ๋จ ๋๋ฉ์ธ์ ๊ฐ๊น๊ฒ ์ถ์ํ๊ฐ ์งํ๋์๋ค
โฆ
์์ฐ์ฑ๊ณผ ํธํ์ฑ(์ฌ์ฌ์ฉ)์ ๊ฐ์ถ๊ฒ ๋๋ค.
โข
Assembly language
โฆ
instruction์ ํ
์คํธ ๋ ๋ฒจ ํํ
โข
Binary Machin Language
โฆ
Advantages of Higher-Level Languages
ํ์ด๋ ๋ฒจ ์ธ์ด์
โข
ํ๋ก๊ทธ๋๋จธ๊ฐ ์กฐ๊ธ ๋ Natural Language์ ๊ฐ๊น๊ฒ ์๊ฐํ๊ณ ๋ชฉ์ ์ ๋ง๊ฒ ์ฌ์ฉํ ์ ์๋ค.
โฆ
ํฌํธ๋ : ๊ณผํ ๊ณ์ฐ ์ํ
โฆ
์ฝ๋ณผ : ๋น์ฆ๋์ค ํ๋ก๊ทธ๋๋ฐ
โฆ
LISP : ์ฌ๋ณผ ์ฐ์ฐ
โฆ
JAVA : ์น ํ๋ก๊ทธ๋๋ฐ ๋ฑ๋ฑ
โข
ํ๋ก๊ทธ๋๋จธ์ ์์ฐ์ฑ์ ํฅ์์ํจ๋ค.
โฆ
๋๋ฒํนํ๊ณ ์ฒดํฌํ๋๋ฐ ๋ ์ดํดํ๊ธฐ ์ฌ์
โข
ํ๋ก๊ทธ๋จ์ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํจ๋ค.
โข
ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๊ธฐ์ข
๊ณผ ์๊ด์์ด ์ด๋ ์ปดํจํฐ์์๋ ์คํ๊ฐ๋ฅํ๋ค๋ ์ ์ด๋ค.
โฆ
์ปดํ์ผ๋ฌ๋ ์ด์
๋ธ๋ฌ๊ฐ ์์ ์์ค ์ธ์ด ํ๋ก๊ทธ๋จ์ ์ด๋ค ์ปดํจํฐ์ ๊ธฐ๊ณ์ด๋ก๋ ๋ฒ์ญํ ์ ์๊ธฐ ๋๋ฌธ.
โข
Components of a Computer
โข
Next chapter