JiwonDev

์ปดํ“จํ„ฐ ๊ตฌ์กฐ #4 (ํ”„๋กœ์„ธ์„œ์™€ ๋ช…๋ น์–ด์˜ ๊ตฌ์กฐ)

by JiwonDev

Computer

์ปดํ“จํ„ฐ๋Š” ํ”„๋กœ์„ธ์„œ(์—ฐ์‚ฐ์žฅ์น˜)์™€ ๋ฉ”๋ชจ๋ฆฌ(์ €์žฅ์žฅ์น˜)๋กœ ๊ตฌ์„ฑ๋œ ์žฅ์น˜์ด๋‹ค.

๋…ผ๋ฆฌํšŒ๋กœ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ์„ธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋ณธ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค.

C์–ธ์–ด๊ฐ€ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ๋˜์–ด ๋ช…๋ น์ด ์‹คํ–‰๋˜๋Š” ๊ณผ์ •.

 

# ๋…ผ๋ฆฌํšŒ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋‚˜์š”?

@1. ๋…ผ๋ฆฌ๊ฐ’๊ณผ ์ง„๋ฆฌํ‘œ

์ฐธ๊ณผ ๊ฑฐ์ง“์„ ๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž.

ํ˜„์‹ค: ์ฒ ์ˆ˜๋Š” ๋ฐฐ๊ฐ€ ๊ณ ํ”„๋ฉด ๋ฐฅ์„ ๋จน๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ๊ฐ€ ๊ณ ํ”„์ง€์•Š์œผ๋ฉด ๋ฐฅ์„ ๋จน์ง€์•Š๋Š”๋‹ค.
> ์ž…๋ ฅ : ์ฒ ์ˆ˜๊ฐ€ ๋ฐฐ๊ฐ€ ๊ณ ํ”ˆ๊ฐ€? (์ฐธ/๊ฑฐ์ง“)
> ์ถœ๋ ฅ : ๋ฐฅ์„ ๋จน๋Š”๊ฐ€? (์ฐธ/๊ฑฐ์ง“)

์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•œ ๋…ผ๋ฆฌ๊ฐ’ ์ž…๋ ฅ(๋ฐฐ๊ณ ํ””)๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ์ถœ๋ ฅ(๋ฐฅ๋จน์Œ)์„ '์ง„๋ฆฌ ํ‘œ'๋กœ ์ •๋ฆฌํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ด ์˜ˆ์ œ์—์„œ๋Š” ์ถœ๋ ฅ์ด [๋ฐฅ ๋จน๊ธฐ] ํ•˜๋‚˜๋ฐ–์— ์—†์ง€๋งŒ, ๋‹ค๋ฅธ ์ถœ๋ ฅ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑธ ์ธ์ง€ํ•˜์ž.

 


@2. ๋ถ€์šธ ๋Œ€์ˆ˜

์œ„์˜ ํ‘œ๋ฅผ ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ์‹์„ Bool Algebra (๋ถ€์šธ ๋Œ€์ˆ˜)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋…ผ๋ฆฌ ๊ฐ’์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ๋‹ค๋ฅธ ๋ถ€์šธ๋Œ€์ˆ˜๋กœ ๋ณ€ํ˜•ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ๊ณ ํ””์„ A, ๋ฐฅ ์•ˆ๋จน์Œ์„ Y๋ผ๊ณ  ํ‘œ๊ธฐํ•œ๋‹ค๋ฉด ๋ถ€์šธ๋Œ€์ˆ˜์˜ ์„ฑ์งˆ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

A (๋ฐฐ๊ณ ํ””), Y(๋ฐฅ ์•ˆ๋จน์Œ)
A = Y :: ๋ฐฐ๊ฐ€ ๊ณ ํ”ˆ๊ฒŒ ์ฐธ์ด๋ฉด ๋ฐฅ์„ ๋จน๋Š” ๊ฒƒ๋„ ์ฐธ์ด๋‹ค.
A` = Y` :: ๋ฐฐ๊ฐ€ ๊ณ ํ”ˆ๊ฒŒ ๊ฑฐ์ง“์ด๋ฉด ๋ฐฅ์„ ๋จน๋Š” ๊ฒƒ๋„ ๊ฑฐ์ง“์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ถ€์šธ๋Œ€์ˆ˜์˜ ์ˆ˜ํ•™์  ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋ชจ์–‘์˜ ๋…ผ๋ฆฌ์‹์œผ๋กœ ๋ณ€ํ˜•ํ•œ๋‹ค.

 


@3. ๋…ผ๋ฆฌํšŒ๋กœ

์œ„์—์„œ ๋งŒ๋“  ๋…ผ๋ฆฌ์‹์„ ํšŒ๋กœ๋กœ ๊ตฌ์„ฑํ•œ๊ฒƒ์ด๋‹ค. ๋™์ผํ•œ ๋…ผ๋ฆฌ์‹์ด๋ผ๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํšŒ๋กœ ๊ตฌ์„ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ถ€์šธ ๋Œ€์ˆ˜์˜ ์ˆ˜ํ•™์  ์„ฑ์งˆ์„ ์ด์šฉํ•˜์—ฌ ์ตœ์ ํ™”๋œ ํšŒ๋กœ๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ ์ตœ์ ํ™”๋œ ํšŒ๋กœ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์„ค๋ช…ํ•˜๋ฉด ๋‚ด์šฉ์ด ๋๋„ ์—†์œผ๋‹ˆ ์ผ๋‹จ ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜์ž.

[ํšŒ๋กœ๋ช…, ํšŒ๋กœ๊ทธ๋ฆผ, ํ•ด๋‹น ํšŒ๋กœ์˜ ์ง„๋ฆฌํ‘œ, ๋ถ€์šธ๋Œ€์ˆ˜]


@4. ๋…ผ๋ฆฌํšŒ๋กœ ์„ค๊ณ„

์œ„์™€ ๊ฐ™์€ 3๊ฐ€์ง€ ๊ณผ์ •์„ ๊ฑฐ์ณ ์ž…๋ ฅ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถœ๋ ฅ์„ ๋งŒ๋“œ๋Š” ํšŒ๋กœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 2์ง„์ˆ˜ ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ 10์ง„์ˆ˜ ๋ชจ์–‘์˜ LED๋ฅผ ์ถœ๋ ฅํ•˜๋Š” 7 Segment ํšŒ๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค๊ณ„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด์šฉ๋งŒ ๋ณต์žกํ•ด์กŒ์„ ๋ฟ, ์œ„์˜ ์˜ˆ์‹œ์™€ ๋‹ค๋ฅธ ๊ฑด ์—†๋‹ค.

1. ์ถœ๋ ฅ์„ ์ •์˜ํ•˜๊ณ  ์ง„๋ฆฌํ‘œ๋กœ ๋งŒ๋“ ๋‹ค
2. ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž…๋ ฅ์— ๋”ฐ๋ฅธ ์›ํ•˜๋Š” ์ถœ๋ ฅ์ด ๋‚˜์˜ค๋„๋ก ๋…ผ๋ฆฌํšŒ๋กœ๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค.


@5. ์„ค๊ณ„๋„๋ฅผ ์ด์šฉํ•œ ์‹ค์ œ ํšŒ๋กœ ์ œ์ž‘

์ฐธ๊ณ ๋กœ OR, AND ์™€ ๊ฐ™์€ ๋…ผ๋ฆฌํšŒ๋กœ๋Š” ํŠธ๋ Œ์ง€์Šคํ„ฐ๋กœ ๋งŒ๋“ ๋‹ค. 

์ „๊ธฐ๋กœ ์ž…๋ ฅ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ฒŒ๋˜๋ฉด ์›ํ•˜๋Š” ์ถœ๋ ฅ์ด ๋‚˜์˜ค๋Š” ํšŒ๋กœ.

 


# ๊ธฐ๊ณ„์–ด์˜ ์ดํ•ด

์ปดํ“จํ„ฐ๊ฐ€ ์“ฐ๋Š” 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์–ธ์–ด์ด๋‹ค. (00010101010001010)
๋…ผ๋ฆฌํšŒ๋กœ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๊ณ„์‚ฐ์„ ํ•˜๊ณ , ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉฐ ํ•„์š”ํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’๋„ ๋Œ๋ ค์ค€๋‹ค. ํ•˜์ง€๋งŒ ์œ„์— ๋‚˜์˜ค๋Š”๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ํšŒ๋กœ๋ฉด ๋ชจ๋ฅผ๊นŒ, ์•„์ฃผ ์ž‘์€ ์ปดํ“จํ„ฐ๋ผ๊ณ  ํ•ด๋„ ํšŒ๋กœ๋„๋Š” ๋ง๋„์•ˆ๋˜๊ฒŒ ํฌ๊ณ  ๊ณ„์‚ฐํ•˜๋Š” ์‹œ๊ฐ„์ด ๋น ๋ฅด๊ธฐ์— ์‚ฌ๋žŒ์ด ๊ธฐ๊ณ„์–ด๋ฅผ ์ง์ ‘ ์™ธ์›Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•œ๋‹ค๋Š”๊ฑด ๋ถˆ๊ฐ€๋Šฅ์— ๊ฐ€๊น๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ๊ณ„์–ด๋ฅผ ์ง์ ‘ ์“ฐ์ง€์•Š๊ณ , ์‚ฌ๋žŒ์ด ์ž‘์„ฑ ๊ฐ€๋Šฅํ•˜๋„๋ก 1:1๋กœ ์น˜ํ™˜์‹œํ‚จ '์–ด์…ˆ๋ธ”๋ฆฌ์–ด'๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๊ธฐ๊ณ„์–ด๋กœ ๊ณ ๊ธ‰์–ธ์–ด(High-level)๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์˜ˆ์ œ

 


# ์–ด์…ˆ๋ธ”๋ฆฌ์–ด

Assemble. ๋ชจ์œผ๋‹ค, ์กฐ๋ฆฝํ•˜๋‹ค
๋ง ๊ทธ๋Œ€๋กœ ํŠน์ • ๋ถ€๋ถ„ ๊ธฐ๊ณ„์–ด๋ฅผ ๋ชจ์•„ 1:1๋กœ '๋Œ€์นญ' ์‹œํ‚จ ์–ธ์–ด๋กœ ๋งŒ๋“ ๊ฒƒ์ด๋‹ค.

[๋ง์…ˆ,  ๊ฐ’1,  ๊ฐ’2]
[ 0011 0011 0010 ] ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋œ ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„
[ add 3 2 ] ์ด๋ ‡๊ฒŒ 1:1๋กœ ์น˜ํ™˜ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋ฐ”๊พผ ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด [ 0011 0011 0010 ] (๋ง์…ˆ๋ช…๋ น 0011, 0010) ์ด๋Ÿฐ ์ปดํ“จํ„ฐ์˜ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด
์ด๋ฅผ [ add 3 2 ] ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ธฐ๊ณ„์–ด์™€ 1:1 ์น˜ํ™˜์‹œ์ผœ ๋ฐ”๊พผ ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์ปดํ“จํ„ฐ์— ์ž…๋ ฅํ•  ๋•Œ์—๋Š” ๋ฒˆ์—ญ๊ธฐ(์–ด์…ˆ๋ธ”๋Ÿฌ)๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

https://joone.net/2016/12/05/4-์ดˆ์ฐฝ๊ธฐ-ํ”„๋กœ๊ทธ๋ž˜๋ฐ/

 

์‹ค์ œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ์˜ˆ์ œ. ์˜†์— ์ ํ˜€์žˆ๋Š” 01331AA.. ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ 16์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ๊ฒƒ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ช…๋ น์ด ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜๋‹ค ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๋ช…๋ น์—๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘๋™ํ•œ๋‹ค. (*ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ)

 

์‹ค์ œ๋กœ 1970๋…„๋„ IBM ์ปดํ“จํ„ฐ์—์„œ๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ์ฝ”๋”ฉํ•˜์—ฌ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์„ ์ฒœ๊ณต์นด๋“œ์— ๊ธฐ๋กํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋‹ค.

https://joone.net/2016/12/05/4-์ดˆ์ฐฝ๊ธฐ-ํ”„๋กœ๊ทธ๋ž˜๋ฐ/


# ๊ณ ๊ธ‰์–ธ์–ด

์•„๋ฌด๋ฆฌ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค ํ•œ๋“ค, CPU๋ฅผ ์ง์ ‘ ๋‹ค๋ฃฐ๋Ÿฌ๋ฉด ํ•˜๋“œ์›จ์–ด์ ์ธ ๊นŠ์€ ์ดํ•ด๋Š” ๋ฌผ๋ก ์ด๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋„ ์ƒ๋‹นํžˆ ์–ด๋ ต๊ณ  ๋ฒˆ๊ฑฐ๋กœ์› ๋‹ค. 


๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ณด๋‹ค ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํ•จ์ถ•์ ์ธ C์–ธ์–ด๋“ฑ ์ข€ ๋” ์ถ”์ƒ์ ์ด๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•œ ์–ธ์–ด๋“ค์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ ๋‹น์‹œ์— ํ•ด๋‹น ์–ธ์–ด๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด, ํ•จ์ถ•์ ์ธ ์–ธ์–ด๋ผ๋Š” ์˜๋ฏธ๋กœ '๊ณ ๊ธ‰์–ธ์–ด'๋ผ๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋œ๋‹ค. (๊ธฐ๊ณ„์— ๊ฐ€๊นŒ์šด ์–ด์…ˆ๋ธ”๋ฆฌ์–ด -> ์ €๊ธ‰์–ธ์–ด) * ํ•œ๊ธ€๋กœ ๋ฒˆ์—ญํ•˜๋‹ˆ ๋Š๋‚Œ์ด ์ด์ƒํ•œ๋ฐ, ์˜์–ด๋กœ๋Š” High-Level, Low-Level์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ณ ๊ธ‰์ ธ์„œ ๊ณ ๊ธ‰์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ๊ธฐ๊ณ„์–ด์— ๊ฐ€๊นŒ์šด๊ฐ€ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด๊ฐ€์˜ ์ฐจ์ด์ด๋‹ค.


๊ณ ๊ธ‰์–ธ์–ด๋Š” ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ๋…ผ๋ฆฌํšŒ๋กœ์—์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ [ ์ฝ”๋“œ์ž‘์„ฑ -> ์ปดํŒŒ์ผ(์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋ฒˆ์—ญ) -> ์–ด์…ˆ๋ธ”(๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ) ] ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.  

์ตœ์ดˆ์˜ ๊ณ ๊ธ‰์–ธ์–ด์—์„œ Java๊ฐ€ ๋‚˜์˜จ ๊ณผ์ •.

 

 


# (๋“œ๋””์–ด) ํ”„๋กœ์„ธ์„œ์˜ ๊ตฌ์กฐ

CPU ๋’ท๋ฉด์„ ๋ณด๋ฉด ์ž…๋ ฅ์„ ์œ„ํ•œ ํ•€(pin)๋“ค์ด ์žˆ๋Š”๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 32๋น„ํŠธ CPU๋Š” 32๊ฐœ์˜ ์ž…๋ ฅ ์Šค์œ„์น˜๋ฅผ ๊ฐ€์ง„๋‹ค.

์ปดํ“จํ„ฐ์— ์ค‘์‹ฌ์ด ๋˜๋Š” ํ”„๋กœ์„ธ์„œ, ๋‹ค๋ฅธ๋ง๋กœ CPU(Central Processing Unit)์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์—„-์ฒญ ๋งŽ์€ ๋…ผ๋ฆฌํšŒ๋กœ๋“ค์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜์žˆ๋‹ค. CPU์— ๋‚˜์™€์žˆ๋Š” ํ•€๋“ค์— ์•ฝ์†๋œ ์ž…๋ ฅ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ฒŒ๋˜๋ฉด, CPU ์•ˆ์— ๊ตฌ์„ฑ๋œ ํšŒ๋กœ๋“ค์ด ์ž‘๋™ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ์–ด๋“ค์—ฌ ํ•ด๋‹นํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•„์š”ํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

32๋น„ํŠธ CPU? 64๋น„ํŠธ ์šด์˜์ฒด์ œ? (๊ธด๊ธ€ ์ฃผ์˜)

๋”๋ณด๊ธฐ
  • ์›Œ๋“œ (word)
    - ํ•ด๋‹น CPU๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” 1ํšŒ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋‹จ์œ„, ์ฆ‰ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜, ALU์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ํ•  ๋•Œ, ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›Œ๋“œ ํฌ๊ธฐ๋ฅผ 32๋น„ํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” CPU๋Š” 1๋ฒˆ์˜ ์—ฐ์‚ฐ ๋ช…๋ น์œผ๋กœ 32๋น„ํŠธ ์ •์ˆ˜(4๋ฐ”์ดํŠธ)๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ณด๋‹ค ๋” ํฐ ์ˆ˜๋Š” ์—ฌ๋Ÿฌ๋ฒˆ์— ๋‚˜๋ˆ  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌ ํ•ด์•ผ ํ•œ๋‹ค.

    - ์ฆ‰ 32๋น„ํŠธ ์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” CPU๋Š” 32๋น„ํŠธ Address Bus์™€ Data Bus๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•œ๋‹ค. (= ํฌ์ธํ„ฐ์˜ ํฌ๊ธฐ ๋˜ํ•œ 4๋ฐ”์ดํŠธ์ด๋‹ค.)

  • ์›Œ๋“œ ์‚ฌ์ด์ฆˆ
    - CPU์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์›Œ๋“œ์˜ ํฌ๊ธฐ๋ฅผ '์›Œ๋“œ ์‚ฌ์ด์ฆˆ'๋ผ๊ณ  ํ•œ๋‹ค.
    - ์šด์˜์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ž์›๋“ค์„ ๊ด€๋ฆฌํ•˜๊ณ  CPU์— ๋ช…๋ น์„ ์ „๋‹ฌํ•œ๋‹ค. ์ฆ‰ 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋Š” 32๋น„ํŠธ ์›Œ๋“œ ์‚ฌ์ด์ฆˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” CPU์— ๋งž์ถฐ ๋ช…๋ น๊ณผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค๋ฃฌ๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.


  • Memory Alignment(๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”)
    - 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์‹ค์ œ๋กœ 32๋น„ํŠธ๋ณด๋‹ค ์ž‘์€ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์ฒ˜๋ฆฌํ•˜๋”๋ผ๋„ ์šด์˜์ฒด์ œ๋‚˜ ์ปดํŒŒ์ผ๋Ÿฌ ๋‹จ์—์„œ ์ž๋ฃŒํ˜•์„ 32๋น„ํŠธ๋กœ ์กฐ์ •(Alignment)ํ•œ๋‹ค. ์ฆ‰ 8๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” 32๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.

    - ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š” ์‹œ์Šคํ…œ์˜ ๋น„ํŠธ ์ˆ˜์— ๋งž์ถฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ƒ์— ํฐ ์ด์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋งŒ์•ฝ 8๋น„ํŠธ์งœ๋ฆฌ ๊ณต๊ฐ„์„ 32๋น„ํŠธ๋ฅผ 4์นธ์œผ๋กœ ๋‚˜๋ˆ  ์ €์žฅํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. CPU๋Š” 32๋น„ํŠธ ๋‹จ์œ„๋กœ ์—ฐ์‚ฐ์„ ํ•˜๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์—  ๊ฐ’์„ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด์„œ 32๋น„ํŠธ๋ฅผ 4๊ฐœ๋กœ ์ชผ๊ฐœ๊ณ  ๊ฐ๊ฐ์˜ ๊ฐ’์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ ๋น„ํŠธ ์ˆ˜์— ๋งž์ถฐ 8๋น„ํŠธ -> 32๋น„ํŠธ๋กœ ํฌ๊ธฐ๋ฅผ ์Šน๊ธ‰, ์ •๋ ฌ์‹œํ‚ค๋ฉด ํ•œ๋ฒˆ์˜ ์—ฐ์‚ฐ์œผ๋กœ ํ•˜๋‚˜์˜ ๊ฐ’์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค

    - ๋งŒ์•ฝ ๋„คํŠธ์›Œํฌ ์ „์†ก๋“ฑ์˜ ๋ชฉ์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์Šน๊ธ‰์‹œํ‚ค์ง€ ์•Š๊ณ  32๋น„ํŠธ ์•ˆ์— ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํŒจํ‚น(packing)์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ์œ„ํ•ด์„œ 32๋น„ํŠธ์•ˆ์— ์—ฌ๋Ÿฌ ๊ฐ’๋“ค์„ ๋„ฃ์–ด๋†“๊ณ  ๋น„ํŠธ๋งˆ์Šคํ‚น, ๋น„ํŠธ ์‰ฌํ”„ํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๊ธดํ•˜๋‹ค.

    - ์—ฌ๋‹ด์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋Š” CPU์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์›Œ๋“œ์‚ฌ์ด์ฆˆ์˜ ๋ฐฐ์ˆ˜๋กœ ๊ฐ€์ง€๋ฉด ์—ฐ์‚ฐ์„ฑ๋Šฅ์ด ์ข‹์•„์ง„๋‹ค. ๊ทธ๋ž˜์„œ ๊ณ ๊ธ‰์–ธ์–ด์˜ ์ž๋ฃŒํ˜•๋“ค์ด char(8), short(16), int(32), double(64) ์ฒ˜๋Ÿผ ์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ๋ฅผ ์›Œ๋“œ์‚ฌ์ด์ฆˆ์˜ ๋ฐฐ์ˆ˜๋กœ ์ง€์ •ํ•ด๋…ผ ๊ฒƒ์ด๋‹ค.

 

  • ๊ทผ๋ฐ 64๋น„ํŠธ CPU์— 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์ž–์•„์š”?
    - ์ด๋Š” ์ตœ๊ทผ์— ๋‚˜์˜จ 64๋น„ํŠธ CPU๊ฐ€ ์ง€์›ํ•˜๋Š” ํ•˜์œ„ ํ˜ธํ™˜๊ธฐ๋Šฅ์ด๋‹ค. ๋ฌผ๋ก  64๋น„ํŠธ๋กœ ์„ค๊ณ„๋œ CPU์— 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋ฅผ ์„ค์น˜ํ•˜๊ฒŒ๋˜๋ฉด ํ”„๋กœ์„ธ์„œ์˜ ์„ฑ๋Šฅ์€ ์ƒ๋‹นํžˆ ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.

    - ๋ฐ˜๋Œ€๋กœ 64๋น„ํŠธ ์šด์˜์ฒด์ œ์—์„œ ํ•˜์œ„ ํ˜ธํ™˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ 32๋น„ํŠธ๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰์‹œํ‚ฌ์ˆ˜๋„ ์žˆ๋‹ค. ์œˆ๋„์šฐ์—์„œ๋Š” 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋กœ ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด Program Files(X86)๋ฅผ ๋”ฐ๋กœ ์ œ๊ณตํ•œ๋‹ค.

    CPU ์šด์˜์ฒด์ œ ํ˜ธํ™˜ ๊ฐ€๋Šฅ์—ฌ๋ถ€ ๋™์ž‘ ์›Œ๋“œ ํฌ๊ธฐ
    32bit CPU 32bit OS O 32bit
    64bit OS X (์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ)  
    64bit CPU 32bit OS O 32bit (ํ•˜์œ„ํ˜ธ์™„, ์„ฑ๋Šฅํ•˜๋ฝ)
    64biy OS O 64bit

    - ์ฐธ๊ณ ๋กœ ๊ธฐ์กด์˜ 32๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Intell ์ œํ’ˆ์€ 386, 586 ์ปดํ“จํ„ฐ๋ผ๊ณ  ๋ถˆ๋ ธ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ๋„ 32๋น„ํŠธ, 64๋น„ํŠธ๋ผ๊ณ  ํ‘œํ˜„ํ•˜์ง€ ์•Š๊ณ  x86, x64 ๋ผ๊ณ  ์ ๊ธฐ๋„ ํ•œ๋‹ค. 


# ํ”„๋กœ์„ธ์„œ(CPU)์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ

ํ˜„๋Œ€์˜ CPU์˜ ๋‚ด๋ถ€๋Š” ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜์ง€๋งŒ, ํฐ ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด 3๊ฐ€์ง€ ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

* ๋ฌผ๋ก  ์‹ค์ œ CPU ์นฉ ๋‚ด๋ถ€์—๋Š” ํ”„๋กœ์„ธ์Šค ๊ธฐ๋Šฅ ์™ธ์— I/O ์ž…์ถœ๋ ฅ์žฅ์น˜, ํƒ€์ด๋จธ, ๋‚ด์žฅ๊ทธ๋ž˜ํ”ฝ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค.

  • ALU (Arithmetic logic unit, ์‚ฐ์ˆ  ์—ฐ์‚ฐ ์œ ๋‹›) :  ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ '๊ณ„์‚ฐ'์„ ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋…ผ๋ฆฌํšŒ๋กœ์ด๋‹ค.
  • CU (Control Unit, ์ œ์–ด ์œ ๋‹›) : ๋‹ค๋ฅธ ์žฅ์น˜์—๊ฒŒ ๋™์ž‘/์ œ์–ด ๋ช…๋ น์„ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์žฅ์น˜์ด๋‹ค.
  • Register(๋ ˆ์ง€์Šคํ„ฐ) : CPU ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ์ข… ์ •๋ณด๋‚˜ ์—ฐ์‚ฐ๊ฒฐ๊ณผ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅ ํ•  ์ˆ˜ ์žˆ๋Š” '์•„์ฃผ ๋น ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ' ์ด๋‹ค. CPU๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ™์ด ๊ตฌ์„ฑ๋„ ๋‹ฌ๋ผ์ง„๋‹ค.
    * ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์ •๋ง ๋น ๋ฅด๊ณ  ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ์ด์œ ๋Š” ๋‹จ์ˆœํžˆ ๊ฐ€๊ฒฉ์ด ๋ฐ”์‹ธ์„œ ๊ทธ๋ ‡๋‹ค๊ธฐ๋ณด๋‹ค๋Š”, CPU์˜ ์ฒ˜๋ฆฌ์†๋„์— ๋งž๊ฒŒ ์ œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฒƒ์ด๋‹ค.(๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ตณ์ด ์“ธ๋•Œ ์—†์ด ํด ํ•„์š”๊ฐ€ ์—†์–ด์„œ, ๊ทธ ์™ธ ์‚ฌ์šฉ์ƒ ๋ณต์žกํ•จ ๋“ฑ๋“ฑ)

 


# CPU์˜ ๋™์ž‘์›๋ฆฌ

์ƒ๊ฐ๋ณด๋‹ค CPU์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.

Sum = a+b ๋ผ๋Š” ์—ฐ์‚ฐ์„ ํ•˜๊ณ ์‹ถ๋‹ค๊ณ  ์น˜์ž.

1. CPU ๋‚ด์˜ ๋ฉ”๋ชจ๋ฆฌ(๋ ˆ์ง€์Šคํ„ฐ)์— a์™€ b์˜ ๊ฐ’์„ ์ž…๋ ฅ ํ•œ๋‹ค.
2. CPU์—๊ฒŒ a,b[R0, R1] ์™€ ์ €์žฅํ•  ๊ณณ[R2] ์˜ ์œ„์น˜๊ฐ’๊ณผ ๋ง์…ˆ ๋ช…๋ น์‹ ํ˜ธ[ADD] ๋ฅผ ํ•ฉ์ณ ์ž…๋ ฅ์„ ๋งŒ๋“ ๋‹ค.
    $1100_{๋ง์…ˆ๋ช…๋ น}$  $0000_{R0}$  $0001_{R1}$  $0010_{R2}$  โž”  [1100000000010010]

3. CPU๋Š” ํ•ด๋‹น ์ž…๋ ฅ์„ ์ „๊ธฐ์‹ ํ˜ธ๋กœ ๋ฐ›์•„ ๋‚ด๋ถ€์— ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š” ๋…ผ๋ฆฌํšŒ๋กœ๋ฅผ ์ด์šฉํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
4. ๋ฐ˜ํ™˜๋œ ๊ฐ’์€ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค.


CPU๋Š” ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜๊ณ  ๋น ๋ฅธ ์žฅ์น˜์ด๊ธฐ์— ๋ช…๋ น์‹ ํ˜ธ๋Š” ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€์•Š๊ณ  ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ๊ธฐ๋ก๋˜์–ด์žˆ๋Š” '์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ'์—์„œ ์ฝ์–ด์˜จ๋‹ค. ์—ฌ๊ธฐ์„œ ์™ธ๋ถ€๋ฉ”๋ชจ๋ฆฌ ์•ˆ์— ์ €์žฅ๋˜์–ด์žˆ๋Š” ๋ช…๋ น ์‹ ํ˜ธ๋“ค์„ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ง์…ˆ์„ ํ•˜๋Š”๊ฑด ALU(Arithmetic-Logic Unit)๋ผ๋Š” ์‚ฐ์ˆ  ๊ณ„์‚ฐ์šฉ ๋…ผ๋ฆฌํšŒ๋กœ๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, ALU๋Š” ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ CU(control unit) ํšŒ๋กœ๋Š” ๋ช…๋ น์ด [๋ง์…ˆ]์ธ์ง€, [๋‚˜๋ˆ—์…ˆ]์ธ์ง€ ํ˜น์€ [๋‹ค๋ฅธ ํŠน์ˆ˜ํ•œ ๋ช…๋ น]์ธ์ง€๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ๋ถ„ ํ•  ์ˆ˜๋Š” ์—†๋‹ค. ๋˜ํ•œ ๋ช…๋ น์„ ๊ตฌ๋ถ„ํ•˜์—ฌ CPU๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘์‹œํ‚ค๋Š”๊ฑด ๋”๋”์šฑ ์–ด๋ ต๋‹ค. 

* CU๋Š” ๋ณต์žกํ•  ์ง€ ๋ชฐ๋ผ๋„, ALU๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๊ณ„์‚ฐ์„ ํ•˜๋Š” ํšŒ๋กœ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
* ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์ •๋ง ๋น ๋ฅด๊ณ  ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ์ด์œ ๋Š” ๋‹จ์ˆœํžˆ ๊ฐ€๊ฒฉ์ด ๋ฐ”์‹ธ์„œ ๊ทธ๋ ‡๋‹ค๊ธฐ๋ณด๋‹ค๋Š”, CPU์˜ ์ฒ˜๋ฆฌ์†๋„์— ๋งž๊ฒŒ ์ œ์ž‘๋˜๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฒƒ์ด๋‹ค.(๋ช…๋ น์‹ ํ˜ธ, ์ •๋ณด๋“ค์€ ์งง์€๋ฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ตณ์ด ์“ธ๋•Œ ์—†์ด ํด ํ•„์š”๊ฐ€ ์—†์–ด์„œ, ๊ทธ ์™ธ ์‚ฌ์šฉ์ƒ ๋ณต์žกํ•จ ๋“ฑ๋“ฑ)

 

CU๋ฅผ ์„ค๊ณ„ํ•˜๋Š”๊ฑด ํ”„๋กœ์„ธ์„œ์—์„œ ์‚ฌ์šฉํ•  ๋ช…๋ น์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
๋ฐฉ๋ฒ•1. CPU ๋‚ด๋ถ€์— ์ž‘์€ ๋ช…๋ น๋“ค์„ ROM์— ์ €์žฅํ•ด๋’€๋‹ค๊ฐ€ ์ฐพ์•„์„œ ์‹คํ–‰ํ•˜๋Š” (๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ๋ฐฉ์‹
๋ฐฉ๋ฒ•2. ์†๋„ํ–ฅ์ƒ์„ ์œ„ํ•ด ์•„์˜ˆ ๋ช…๋ น์ฒด๊ณ„๊นŒ์ง€ ๋…ผ๋ฆฌํšŒ๋กœ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹ ( ์ž…๋ ฅ : 0011  -> ๊ฒฐ๊ณผ : ๋ง์…ˆ์‹คํ–‰)

์—ฌ๊ธฐ์—์„œ ๋ฐฉ๋ฒ•1์„ CISC (Complex Instruction Set Computer), ๋ฐฉ๋ฒ•2๋ฅผ RISC(Reduced Instruction Set Computer) ๊ตฌ์กฐ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

 


# ์ปดํ“จํ„ฐ์˜ ๋ช…๋ น์–ด (Instruction)

- ํ•ด๋‹น ๋‚ด์šฉ์€ ๋„ˆ๋ฌด ๊นŠ์€ ๋‚ด์šฉ์ด๋ผ, ๋‚˜์ค‘์— ๋”ฐ๋กœ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ๋‹ค. ํ‚ค์›Œ๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.


์–ด์…ˆ๋ธ”๋ฆฌ์–ด์˜ ๋™์ž‘

์—ฐ์‚ฐ์€ ๋ ˆ์ง€์Šคํ„ฐ์—์„œ๋งŒ! Load/Store ๋ช…๋ น์–ด ๊ตฌ์กฐ์˜ ํ•„์š”์„ฑ
    - ARM CPU์˜ RISC ๋ฐฉ์‹
    - ์ธํ…”์€ ์™œ ์ด ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š์„๊นŒ? (์‚ฌ์‹ค ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๋‹ค ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋กฑ)
N-Address ๊ตฌ์กฐ์™€ ํ•˜๋“œ์›จ์–ด ๋…๋ฆฝ์„ฑ
๋ฉ”๋ชจ๋ฆฌ์™€ ์„œ๋ธŒ๋ฃจํ‹ด(ํ•จ์ˆ˜)

 


# ํ”„๋กœ์„ธ์„œ ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜, CISC์™€ RISC ๋น„๊ต

ํ”„๋กœ์„ธ์„œ์˜ ์ข…๋ฅ˜๋Š” ๋ช…๋ น์–ด์˜ ๊ตฌ์กฐ (Instruction Set)์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ช…๋ น์–ด ๊ตฌ์กฐ๋Š” CISC์™€ RISC ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

CISC์™€ RISC๋Š” ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณ„์ธต์ด ๋‹ค๋ฅด๋‹ค.

 


@1. CISC ๊ตฌ์กฐ (Complex Instruction Set Computer)

ํ•œ๊ธ€๋กœ ์ง์—ญํ•˜๋ฉด '๋ณต์žกํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด ๊ตฌ์„ฑ์˜ ์ปดํ“จํ„ฐ' ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. 

CPU์— ์‚ฌ์šฉํ•  ๋ช…๋ น์–ด๋ฅผ ๋‚ด๋ถ€์— '๋ฉ”๋ชจ๋ฆฌ'์— ๊ตฌํ˜„ํ•ด๋’€๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ช…๋ น์„ ๋งŒ๋“œ๋Š”๋ฐ ํฐ ์ œ์•ฝ์ด ์—†์–ด ๊ธธ์ด, ๋ฐฉ์‹์— ์ƒ๊ด€์—†์ด ๋ณต์žกํ•œ ๋ช…๋ น์„ ํ•˜๋‚˜๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ '๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๋ฐฉ์‹' ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

C์–ธ์–ด์ฒ˜๋Ÿผ ์ผ์ข…์˜ CPU ์ „์šฉ ๊ณ ๊ธ‰์–ธ์–ด๋ฅผ ๋งŒ๋“  ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๋‹ค. ์‹ค์ œ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ์–ด๋“ค์—ฌ ์‹ค์ œ CPU ์ž…๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์œผ๋กœ ๋ฐ”๊พผ๋‹ค. 

ํ”„๋กœ๊ทธ๋ž˜๋จธ(ํ˜น์€ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ)์ž…์žฅ์—์„œ๋Š” ์ด ๋ฐฉ์‹์ด ํ›จ์”ฌ ์‰ฝ๋‹ค. ํ•˜์ง€๋งŒ ํ•˜๋“œ์›จ์–ด์ ์ธ ์ธก๋ฉด, ์ฆ‰ ์‹ค์ œ ๋™์ž‘์„ ํ• ๋•Œ์—๋Š” ์—ฌ๋Ÿฌ ๋ช…๋ น์„ ํ•˜๋‚˜๋กœ ์ค„์—ฌ๋…ผ๊ฑฐ๋ผ ๊ธฐ๊ณ„์–ด์™€ ์‹ค์ œ ๋™์ž‘์€ ๋” ๋ณต์žกํ•ด์ ธ CPU์˜ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ณ  ์ „๋ ฅ์†Œ๋ชจ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค. 

  • 1. ๋ช…๋ น์–ด๋ฅผ ๋‚ด๋ถ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋”ฐ๋กœ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
      ( = ๋ณต์žกํ•œ ๋ช…๋ น์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ๋‹ค. ์ฆ‰ ์ ์€ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์›ํ•˜๋Š” ๋ช…๋ น์„ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋‹ค.)
  • 2. ๋ช…๋ น์–ด์˜ ๊ตฌ์„ฑ์ด ์ž์œ ๋กœ์›Œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ณตํ•ฉ ๋ช…๋ น์–ด๊ฐ€ ๋งŽ๋‹ค. ( ๊ธธ์ด, ๊ฐฏ์ˆ˜ ๋‹ค์–‘)
      ( = ํ•˜์ง€๋งŒ ๊ธฐ๊ณ„์–ด, ์ฆ‰ ํ•˜๋“œ์›จ์–ด ์ž‘์—…์€ ๋ณต์žกํ•ด์ง„๋‹ค.)
  • 3.  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
      ( = Load/Store ๋ช…๋ น์€ ๋‹ค๋ฅธ ๋ช…๋ น์–ด ์•ˆ์— ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค.)

 

 


@ 2. RISC ๊ตฌ์กฐ ( Reduced Instruction Set Computer)

์ถ•์•ฝ๋œ ๋ช…๋ น์–ด ๊ตฌ์„ฑ์˜ ์ปดํ“จํ„ฐ.

CISC๋Š” ๋‚ด๋ถ€์— ๋”ฐ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‘์–ด ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, RISC๋Š” ๋ช…๋ น์–ด ์ฒด๊ณ„ ์ „๋ถ€๋ฅผ ๋…ผ๋ฆฌํšŒ๋กœ ์ž…์ถœ๋ ฅ์œผ๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด ์‚ฌ์šฉํ•˜๋Š” CISC๋ณด๋‹ค ์••๋„์ ์œผ๋กœ ์‹คํ–‰์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ ๋ช…๋ น๋“ค์„ ๋…ผ๋ฆฌํšŒ๋กœ๋กœ ์„ค๊ณ„ํ•˜๋Š” ์ž‘์—…์€ ์ •๋ง ์–ด๋ ต๊ณ , ์„ค๊ณ„๋ฅผ ๊ฒจ์šฐ ํ–ˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ์™„์ „ ์ƒˆ๋กญ๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผํ•˜๊ณ  ๋ช…๋ น์–ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก ํšŒ๋กœ๊ฐ€ ๋” ๋ณต์žกํ•ด์ ธ ํ”„๋กœ์„ธ์„œ์˜ ์„ฑ๋Šฅ์ด ํ•˜๋ฝํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— RISC๋Š” ๋ช…๋ น์–ด๋ฅผ ์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ช…๋ น์–ด ๊ฐฏ์ˆ˜๋ฅผ ์ค„์—ฌ์„œ ์‚ฌ์šฉํ•œ๋‹ค.

CISC์˜ ๊ฒฝ์šฐ ๋ช…๋ น์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋ฉด ๋˜๊ธฐ์— ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ตณ์ด ๋งŽ์ด ์‚ฌ์šฉํ•  ํ•„์š”๋„ ์—†๊ณ , ๊ฐ€๋ณ€๊ธธ์ด์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ, ๋…ผ๋ฆฌํšŒ๋กœ์— ์˜์กดํ•˜๋Š” RISC์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ๊ณ , ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๊ณ ์ •๋œ ๊ธธ์ด(ex 32๋น„ํŠธ)์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

  • 1. ํ•œ ๋ช…๋ น๋‹น ํ•œ ์ž‘์—…์„ ์‹คํ–‰ํ•œ๋‹ค.
            (= ๊ธฐ๊ณ„์–ด, ์ฆ‰ ํ•˜๋“œ์›จ์–ด ์ž‘์—…์ด ๊ฐ„๋‹จํ•ด์ง„๋‹ค. )
  • 2. ๋ช…๋ น์–ด์˜ ๊ธธ์ด๊ฐ€ ์ผ์ •ํ•˜๊ณ  ๊ฐฏ์ˆ˜๊ฐ€ ์ ๋‹ค. 
            ( = ์ž‘์€ ๋ช…๋ น์œผ๋กœ ๋งŽ์€ ์ž‘์—…์„ ํ•ด์•ผ๋œ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ณ  ๋ณต์žกํ•ด์„œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋ฒˆ์—ญํ•˜๊ธฐ ๋ณต์žกํ•˜๋‹ค.)
  • 3. ๋ฉ”๋ชจ๋ฆฌ ๋ช…๋ น(Load/Store)์„ ์ง์ ‘ ๊ตฌ์„ฑํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
            ( = ๋ณต์žกํ•œ ๋ช…๋ น์„ ๊ตฌํ˜„ํ• ๋ ค๋ฉด ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค. )

์ดˆ๊ธฐ์˜ ์ปดํ“จํ„ฐ๋Š” ๋ช…๋ น์–ด ๊ฐฏ์ˆ˜๊ฐ€ ๋งŽ์ง€ ์•Š์•„์„œ ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ ํšŒ๋กœ๋กœ ๊ตฌํ˜„ํ•œ RISC์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ช…๋ น์–ด๊ฐ€ ์ ์ฐจ ๋Š˜์–ด๋‚˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•ด์ง€์ž CISC ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊พธ์–ด์„œ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์—ˆ๋‹ค. (๋‹น์‹œ Intel CPU)


ํ•˜์ง€๋งŒ ์ตœ๊ทผ(2010๋…„์ดํ›„)์— CPU์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™” ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์ƒ๊ธฐ๊ณ  ์ปดํ“จํ„ฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์ž์ฃผ์“ฐ๋Š” ๋ช…๋ น์€ ์ „์ฒด์ค‘ ์ผ๋ถ€๋ฐ–์— ์•ˆ๋œ๋‹ค๋Š” ์—ฐ๊ตฌ๊ฒฐ๊ณผ์™€ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ(ํŒŒ์ดํ”„๋ผ์ด๋‹)์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— RISC๊ฐ€ ์ ํ•ฉํ•˜์—ฌ ๋‹ค์‹œ RISC๋กœ ๋ฐ”๋€Œ๊ณ  ์žˆ๋‹ค. Intel CPU์˜ ๊ฒฝ์šฐ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์™ธ๋ถ€์ ์œผ๋กœ๋Š” CISC ๋ฐฉ์‹์ด์ง€๋งŒ, ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ๊ฑฐ์˜ RISC์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ตœ์ ํ™” ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

* ์‚ฌ์‹ค, ํ˜„๋Œ€์˜ ํ”„๋กœ์„ธ์„œ์˜ ๊ตฌ์กฐ๋Š” ์ƒ๋‹นํžˆ ๋ณต์žกํ•˜๊ณ , ๋‚ด๋ถ€์ ์œผ๋กœ CISC, RISC ๋‘๊ฐœ์˜ ์žฅ์ ์„ ํ•ฉ์ณ์„œ ๋งŒ๋“ค์—ˆ๊ธฐ์— ์–ด๋–ค ํšŒ์‚ฌ์˜ ๋ช…๋ น์–ด ๋ฐฉ์‹์ด ๋” ์ข‹๋ƒ๊ณ  ๋น„๊ตํ•˜๋Š”๊ฑด ์˜๋ฏธ๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.
* intel, HP์—์„œ ๊ฐœ๋ฐœํ•œ EPIC๋ผ๋Š” ๊ตฌ์กฐ๋„ ์žˆ๋‹ค. (RISC์™€ ์กฐ๊ธˆ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค๋ฅด๋‹ค, ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ํšจ์œจ์˜ ๊ทน๋Œ€ํ™”๋ผ๋˜๊ฐ€?)
* ์ฐธ๊ณ ๋กœ AMD๋Š” RISC ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋œ CPU์ด๋‹ค.

 

 


@3. CISC์™€ RISC์˜ ๋น„๊ต

์˜ˆ๋ฅผ ๋“ค์–ด ๊ณฑ์…ˆ์„ ์ปดํ“จํ„ฐ์—๊ฒŒ ๋ช…๋ นํ•œ๋‹ค๊ณ  ์น˜์ž.


CISC๋Š” ๋‚ด์žฅ๋œ ๋ช…๋ น์„ ์ฐพ์•„์„œ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํžˆ ๋ช…๋ น ํ•˜๋‚˜๋ฉด ์น˜๋ฉด ๋œ๋‹ค. (* ๋ฌผ๋ก  ์„ค๋ช…์šฉ์ด์ง€ ์‹ค์ œ ๋ช…๋ น์€ ์ด๋ ‡๊ฒŒ ์•ˆ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.) 

MULT A, B (A, B์•ˆ์˜ ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ณฑํ•ด A์— ๋„ฃ๋Š”๋‹ค.)

์ด๋Ÿฐ ๋ช…๋ น์„ ๋ณตํ•ฉ ๋ช…๋ น์–ด(Complex Instruction)์ด๋ผ ๋ถ€๋ฅด๋Š”๋ฐ, ์ด๋Š” ํ•˜๋“œ์›จ์–ด์— ๋‚ด์žฅ๋œ ๋ช…๋ น์„ ์ฐพ์•„ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌ (load/store)ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์งง์•„์ง€๊ณ , ๊ฐ„ํŽธํ•ด์ง€์ง€๋งŒ, ํ•˜๋“œ์›จ์–ด(CPU) ์ž…์žฅ์—์„œ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚ด์žฅ๋œ ์—ฌ๋Ÿฌ ๋ช…๋ น๋“ค์ด ์‹คํ–‰๋˜๊ธฐ์— ๋” ๋ณต์žกํ•ด์ง„๋‹ค.


RISC๋Š” ๋ช…๋ น์„ ๋…ผ๋ฆฌํšŒ๋กœ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ช…๋ น์„ ๋งŽ์ด ๊ฐ€์งˆ ์ˆ˜ ๊ฐ€์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ตœ์†Œํ•œ์˜ ๊ฐ„๋‹จํ•œ ๋ช…๋ น๋“ค๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•ด์„œ ๋‚ด๋ถ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ๋„ ์ง์ ‘ ๊ด€๋ฆฌํ•ด์•ผํ•œ๋‹ค. ๊ณฑ์…ˆ์„ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž.

LOAD p0 , A ( ๋ฉ”๋ชจ๋ฆฌA ์— ์žˆ๋Š” ๋‚ด์šฉ์„ p0 ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์˜ฎ๊ธด๋‹ค. )
LOAD p1, B ( ๋ฉ”๋ชจ๋ฆฌB ์— ์žˆ๋Š” ๋‚ด์šฉ์„ p1 ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์˜ฎ๊ธด๋‹ค. )
PROD p0, p1 ( p0๊ณผ p1์„ ๊ณฑํ•œ๋‚ด์šฉ์„ p0์— ๋„ฃ๋Š”๋‹ค. )
STORE A , p0  ( p0์˜ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ A๋กœ ์˜ฎ๊ธด๋‹ค. )

์ด์™€ ๊ฐ™์ด RISC๋Š” ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊บผ๋‚ด์˜ค๊ณ , ๋‹ค์‹œ ๋„ฃ๋Š” ์ž‘์—…๊นŒ์ง€ ๋‹ค ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ด€๋ฆฌ ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ช…๋ น์ด ๋ณต์žกํ•ด ์งˆ ์ˆ˜๋ก ์‚ฌ์šฉํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ ๋Ÿ‰๋„ ๋Š˜์–ด๋‚˜์ง€๋งŒ, ํ•˜๋“œ์›จ์–ด(CPU)์˜ ์ž…์žฅ์—์„œ๋Š” ์ž‘์—…์ด ๋” ๋‹จ์ˆœํ•˜๊ณ  ๋ช…๋ฃŒํ•ด์ง„๋‹ค.

์ฐธ๊ณ ๋กœ RISC๋Š” ๋ช…๋ น์–ด ํ•˜๋‚˜๊ฐ€ ํ•œ ์ž‘์—…๋งŒ ํ•˜๊ธฐ์— ํŒŒ์ดํ”„๋ผ์ด๋‹ ๊ตฌํ˜„์—๋„ ์ด์ ๋„ ์žˆ๋‹ค.

์ข€ ๋” ์ž์„ธํ•œ RISC, CISC ๋น„๊ต


# ์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ณ๋Š” ์ด์ •๋„๋งŒ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ๋œ๋‹ค. ์ดํ›„ ์ „๊ณต๊ณผ ๊ด€๋ จ๋œ ์ง€์‹๋“ค์€ ์šด์˜์ฒด์ œ๋ฅผ ๊ณต๋ถ€ํ•ด์„œ ๋” ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ์ฐธ๊ณ ๋กœ ์šด์˜์ฒด์ œ์—์„œ ์ถ”๊ฐ€๋กœ ๋ฐฐ์šธ ์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ณ์— ๊ด€ํ•œ ์ง€์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€๋ฐ, ๊ตณ์ด ์ฐพ์•„์„œ ๊ณต๋ถ€ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ์šด์˜์ฒด์ œ๋ฅผ ๋ฐฐ์šฐ๋‹ค ๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์•Œ๊ฒŒ๋˜๋Š”๊ฒŒ ๋Œ€๋ถ€๋ถ„์ด๋‹ค.

 

1. ํ”„๋กœ์„ธ์Šค ๊ตฌ์กฐ
fetch ์™€ execute, ํ”„๋กœ์„ธ์Šค์˜ ๋™์ž‘ ๊ตฌ์กฐ
ํ”„๋กœ์„ธ์Šค์˜ ๋™์ž‘ ๊ตฌ์กฐ(๊ทธ๋ฆผ)
์†๋„๋ฅผ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
    - clock ์ˆ˜๋ฅผ ๋Š˜๋ฆฐ๋‹ค?. ํšจ๊ณผ์—†์Œ
ํŒŒ์ดํ”„๋ผ์ด๋‹
    - ์„ค๊ณ„
    - ๋ฌธ์ œ์ 

2. ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ด๋ถ€๊ตฌ์กฐ
๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณ„์ธต๊ตฌ์กฐ
    - ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ
    - ์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ, ์‹œ๊ฐ„(Temporal)
์บ์‹œ๋ฉ”๋ชจ๋ฆฌ
    - ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์—์„œ์˜ ๊ฐ€์„ฑ๋น„ (๋‹ค๋ฅธ๋ฐฉ๋ฒ•)
    -  ๋ฉ€ํ‹ฐ ์บ์‹œ(๋‚ด๋ถ€์ ์œผ๋กœ ํ•˜๋ฒ„๋“œ๊ตฌ์กฐ)
    - cpu์™€ ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ฆผ

3. ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ
์ง๋ ฌ๊ณผ ๋ณ‘๋ ฌ
ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋“ค
์˜ค๋ฅ˜์ฒดํฌ

์ „์†ก๋ฐฉ์‹(๋™๊ธฐ,๋น„๋™๊ธฐ)
strobe์™€ handshaking

์—ฐ๊ฒฐ๋ง์˜ ๊ตฌ์กฐ(interconnection , ํ† ํด๋กœ์ง€)
  - ์™œ bus๋ฅผ ์‚ฌ์šฉํ• ๊นŒ?

4. I/O์˜ ์‚ฌ์šฉ
์ž…์ถœ๋ ฅ์žฅ์น˜์˜ ์ฃผ์†Œ์ง€์ •๋ฐฉ์‹(Port)
CPU์™€ I/O ์ž…์ถœ๋ ฅ

5. ๋ณด์กฐ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์„ฑ
CD์™€ ํ•˜๋“œ. ์„œ๋ฒ„์˜ ํ•˜๋“œ๊ตฌ์„ฑ
๋ณด์กฐ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฐฑ์—…ํ•˜๋Š” RAID ๋ฐฉ์‹

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

JiwonDev

JiwonDev

ํ™œ๋™ํ•˜๊ธฐ