Search
๐Ÿ’ฟ

Lecture 01 : 1.1~1.5

course
last review
mastery
rookie
progress
not started
date
2023/03/08
4 more properties
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