Fake Simple ์ปดํจํฐ ๋ช ๋ น์ด ์งํฉ
- ์ดํด๋ฅผ ์ํ ๋จ์ํ ๊ฐ์ ,์์์ด๋ค.
๋ช ๋ น์ด ํ์ (๊ฐ์ )
16bits๋ก ๊ตฌ์ฑ
์ฐ์ฐ๋ถํธ๊ฐ 4bits ํน์ 16bits
1) 15๋ฒ bits๊ฐ 0์ด๋ฉด 12~15๋ฒ bit๊ฐ ์ฐ์ฐ๋ถํธ์ด๊ณ ,
2) 15๋ฒ bits๊ฐ 1์ด๋ฉด 0~15๋ฒ bit๊ฐ ์ฐ์ฐ๋ถํธ์ด๋ค.
๋ช ๋ น์ด
LDA~CAL์ ์ฐ์ฐ๋ถํธ๊ฐ 1~6์ธ๋ฐ ๊ฐ์๊ธฐ HLT๋ถํฐ๋ 8000์ด ๋๋ค. ์ด์ ๋ 15๋ฒ ๋นํธ์ ์๋ค.
์์์ 15๋ฒ ๋นํธ๊ฐ 0์ด๋ฉด 12~15๋ฒ ๋นํธ๊ฐ ์ฐ์ฐ๋ถํธ์ด๊ณ , 15๋ฒ ๋นํธ๊ฐ 1์ด๋ฉด 0~15๋ฒ ๋นํธ๊ฐ ์ฐ์ฐ๋ถํธ๋ผ๊ณ ํ์๋ค.
1(16)์์ 1์ 0001(2) ์ฆ 15๋ฒ ๋นํธ๊ฐ 0์ด๊ณ , 8000(16)์์ 8์ 1000(2) ์ฆ, 15๋ฒ ๋นํธ๊ฐ 1์ด๋ค.
1(16) = 0000/0000/0000/0001(2)
8000(16) = 1000/0000/0000/0000(2)
๋ฐ์ดํฐ ํ์ (๊ฐ์ )
16 bits๋ก ๊ตฌ์ฑํ๊ณ ์ ์๋ง ์ทจ๊ธ
15๋ฒ bit๋ ๋ถํธ๋ฅผ ์๋ฏธ, 0~14๋ฒ bit๋ ์ ์ ํฌ๊ธฐ ์๋ฏธ
15๋ฒ bit๊ฐ 0: ์์, 1: ์์
๋ค์๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ ๊ฐ์ ํ๊ฒ ๋ค.
๋ฉ๋ชจ๋ฆฌ์ 1500,3502,2502,5300์ ๋ช ๋ น์ด์ด๊ณ , ๋ฐ์ 0001,0002๋ ์ ์ data, 100,102๋ ์ฃผ์์ด๋ค.
๋ค๋ฅด๊ฒ ํํํ๋ฉด
M[502] <- M[500] + M[502]
๋ฉ๋ชจ๋ฆฌ ์ฃผ์ | ๋ช ๋ น์ด(16์ง๋ฒ) | ๊ธฐ๊ณ์ด(16์ง๋ฒ) | |
0100 | LDA | 500 | 1500 |
0102 | ADD | 502 | 3502 |
0104 | STA | 502 | 2502 |
0106 | JMP | 300 | 5300 |
1. LDA์ฐ์ฐ ๋ถํธ 1 + ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 500 : 1500
์ด ์์ ์ 500๋ฒ์ง ๋ฐ์ดํฐ 1์ด accumulator register์ ๋ก๋๋จ.
2. ADD์ฐ์ฐ ๋ถํธ 3 + ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 502: 3502
3. STA์ฐ์ฐ ๋ถํธ 2 + ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 502: 2502
4. JMP์ฐ์ฐ ๋ถํธ 5 + ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ 300: 5300
๊ฒฐ๊ณผ
๊ธฐ๋ณธ์ ์ธ ์์๋ 3๊ฐ์ง๋ก ๋ณผ ์ ์๋ค.
1. ์ฃผ์๊ฐ PC๋ฅผ ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ IR์ ๋ฃ๋๋ค.
2. ๊ทธ๋ฆฌ๊ณ PC๋ 2๋งํผ ์ฆ๊ฐ์ํค๊ณ (=๋ค์๋ช ๋ น์ด๋ฅผ ๊ฐ๋ฆฌํค๊ฒ), IR์์ ์คํผ์ฝ๋๋ฅผ ๋์ฝ๋ฉํ๋ค.
3. ๋ช ๋ น์ด(opcode)์ ๋ง์ถฐ ์คํํ๋ค.
์ด์ 100๋ฒ์ง์ ์๋ 1500์ ๋ํด ์์ธํ ์์๋ณด์
1. LDA 500
1)PC <- 0100 : PC์ 0100์ด ๋ค์ด๊ฐ๋ค.
์ฆ, ํ๋ก๊ทธ๋จ ์์ํ๋ ์ฃผ์๊ฐ PC์ ๋ค์ด๊ฐ๋ค.
2) MAR <- PC; MBR <-M[MAR]; IR <- MBR
CPU์ ๋ฉ๋ชจ๋ฆฌ์์์ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ฐ๋ค ํ๋ ค๋ฉด MAR(์ฃผ์),MBR(๋ฐ์ดํฐ)์ด ํ์ํ๋ค.
1. CPU๊ฐ ์ด๋ค ์ฃผ์์ ๊ฐ์ ๊ฐ์ ธ์ฌ์ง MAR์ ๋ฌผ์.
2. ๋ฉ๋ชจ๋ฆฌ์์๋ ํด๋น MAR์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ MBR์ ์ ์.
3. IR์ MBR์ ๋ช ๋ น์ด๊ฐ ๋ค์ด๊ฐ๋ค.
์ ๋ฆฌํ์๋ฉด
MAR์ PC์ ๊ฐ์ ์ค๋ค. Memory์ MAR์ ์๋ ๋ฐ์ดํฐ๋ฅผ MBR์ ์ ์ด์ค๋ค. IR์์ MBR์ ๊ฑฐ์ณ ๋ค์ด์จ๋ค.
์ฆ, 0100์์ ์๋ 1500 ๋ฐ์ดํฐ๊ฐ IR์ ๋ค์ด์จ๋ค.
fetchํ๊ฒ(์ธ์ถ ์ฌ์ดํด)
3) PC <- PC +2; decode IR[15:12]
IR์ 15๋นํธ๋ถํฐ 12๋นํธ ๊น์ง opcode๋ฅผ decodeํ๊ณ , pc๋ ๋ค์์ฃผ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๊ทธ๋ฌ๋ 1,2๋ฒ ๊ณผ์ ์ค์์๋ pc๊ฐ ํ์ฌ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๊ณ , ์ด์ ์์ผ ๋ค์์ฃผ์์ธ 0102๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด๋ค. ALU์์ ๋ช ๋ น์ด ๊ธธ์ด 2๋งํผ ๋ํด์ ๋ค์ ๋ช ๋ น์ด ์ฃผ์๊ฐ์ ์ฃผ๊ณ ๊ทธ๊ฒ์ pc์ ์ ์ฅํ๋ค.
ํ์ฌ: IR์ opcdoe๋ฅผ ํด๋ ํ ์ํ, pc ํ๋ ์ฆ๊ฐํ ์ํ
4) MAR <- IR[11:0]; MBR <-M[MAR]; Acc<-MBR
MAR: ์ด๋ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์. IR์ 11๋นํธ๋ถํฐ 0๋นํธ๊น์ง ์ฆ, 0500์ ๊ฐ์ง๊ณ ์์.
0500์ฃผ์์ ์๋ 0001์ MBR๋ก ๊ฐ์ ธ์จ๋ค.
MBR์ ์๋ ๊ฐ(0001)์ Acc์ ๋ฃ๋๋ค.
2.ADD 502
(3) Acc ← Acc + M[IR[11:0]]
Acc์ ์๋ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ์์ 502์ฃผ์์ ์๋ 0002๋ฅผ ๋ํด์ Acc์ ๋ฃ๋๋ค.
3.STA 502
( = IR ← M[PC]; )
(3) M[IR[11:0]] ← Acc
Acc์ ์๋ ๊ฐ 0003์ 502์ฃผ์๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
4.JMP 300
( = IR ← M[PC]; )
(3) PC ← IR[11:0]
์ํํด์ผํ ๋ช ๋ น์ด ์ฃผ์๊ฐ์ 108์ด ์๋๋ผ 300 (=IR[11:0]). ๋ฐ๋ผ์ PC๊ฐ์ด 0108 ->0300์ผ๋ก ๋ณ๊ฒฝ
106->๋ฐ๋ก 300์ผ๋ก ๊ฐ๋๊ฒ ๋ถํธํ์ง ์์ง๋ง, ์๋๋ ์๋์ผ๋ก 2๋งํผ ์ฆ๊ฐํ ์์น๋ก ์ด๋ํ๊ธฐ์, ์ด ๊ท์น์ ๊นจ๋๊ฒ์ด ๋ ๋นํจ์จ์ ์ด๋ค.
์กฐ๊ฑด๋ถ๊ธฐ ๋ช ๋ น์ด
JMP๋ ๋ฌด์กฐ๊ฑด ๋ถ๊ธฐ! ๊ทธ๋ผ ์กฐ๊ฑด๋ถ๊ธฐ๋?
์กฐ๊ฑด ์์ฑ, ๋น๊ต ๋ช ๋ น๊ณผ ๋ถ๊ธฐ ๋ช ๋ น
๋น๊ต์ ๋ถ๊ธฐ์์ ์ ํ๋๋ก ์ตํฉํ ๋ช ๋ น์ด ๊ตฌ์กฐ๋ ์๋๋ฐ, ๋น๊ต- ์ฐ์ ๋ ผ๋ฆฌ ์ฐ์ฐ - ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ถ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค.
๋ ์์ธํ ์์๋ณด์. flag ๋ ์ง์คํฐ
flag๋ ๊น๋ฐ!! ์ฌ๋ฆฌ๊ฑฐ๋ ๋ด๋ฆฌ๊ฑฐ๋
flag๋ ์ํ(status)๋ ์ง์คํฐ/๋นํธ ๋ผ๊ณ ๋ ํ๋ค. ๋ค๋ฅธ ๋ ์ง์คํฐ๋ค์ 2 bits๋ฅผ ์ฌ์ฉํด์ word๋จ์์ด์ง๋ง, flag ๋ ์ง์คํฐ๋ 1bit๋ฅผ ์ฌ์ฉํ๋ ๋นํธ๋จ์์ด๋ค.
4๊ฐ์ง๊ฐ ์๋ค.
์ฌ๋ฆผ์(Carry) - ์ฐ์ฐ ๊ฒฐ๊ณผ์ ์ฌ๋ฆผ์ ์์ผ๋ฉด 1, ์์ผ๋ฉด 0
์ค๋ฒํ๋ก์ฐ(Overflow) - ์ฐ์ฐ ๊ฒฐ๊ณผ์ ์ค๋ฒํ๋ก์ฐ๊ฐ ์์ผ๋ฉด 1, ์์ผ๋ฉด 0
๋ถํธ/์์(Sign/Negative) - ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ์์๋ฉด 1, ์์๋ 0์ด๋ฉด 0
์(Zero) - ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ 0์ด๋ฉด 1, 0์ด ์๋๋ฉด 0
์ด๋ฒ์ ํ๋ก์์ ์ ํธ์ถ๊ณผ ๋ณต๊ท ๊ณผ์ ์ ๋ํด ์์๋ณด์.
proc: ํ๋ก์์ ์ด๋ฆ, ์ด์ ๋ธ๋ฆฌ๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พผ ํ ํ๋ก์์ ์์์ฃผ์๋ก ๋ณํํ๋ค.
cal proc: PC๋ฐ๊ฟ์ฃผ๋๊ฒ
์ธ์ถ์ฌ์ดํด: IR <-M[PC]; PC <- PC+ ๋ช ๋ น์ด ๊ธธ์ด (์ธ์ถ์ฌ์ดํด์ ๋ช ๋ น์ด๋ง๋ค ํญ์ ๊ฐ๋ค)
์คํ ์ฌ์ดํด: TOS( Top Of Stack) <-PC; PC<-proc (๋ช ๋ น์ด๋ง๋ค ๋ฌ๋ผ์ง)
์คํ์ฌ์ดํด์์, ๋ณต๊ท ํ ์ํํ ๋ช ๋ น์ด ์ฃผ์(๋ณต๊ท์ฃผ์)๋ฅผ TOS์ ์ ์ฅํ๋ค.
๋ณต๊ธฐ์ฃผ์ ์ ์ฅ ํ PC๋ proc ์์์ฃผ์๋ฅผ ๊ฐ๊ธฐ์ ์ดํ๋ถํฐ๋ ํ๋ก์์ proc์ ๋ช ๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์ธ์ถํ๋ค.
๋ณต๊ธฐ์ฃผ์ ์ ์ฅ์, stack์ด ์๋ ๊ทธ๋ฅ register์ ์ ์ฅํ๋ค๋ฉด?
ret: (return) proc ํ๋ก์์ ์ข ๋ฃ ํ ํธ์ถ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณต๊ทํ๋ค.
์ธ์ถ์ฌ์ดํด: IR <-M[PC]; PC <- PC + ๋ช ๋ น์ด ๊ธธ์ด (์ธ์ถ์ฌ์ดํด์ ํญ์ ๊ฐ๋ค)
์คํ ์ฌ์ดํด: PC<-TOS
์คํ์ฌ์ดํด์์ TOS์ ๋ด์ฉ(๋ณต๊ท์ฃผ์)๋ฅผ PC๋ก ์ ์ฅํ๋ค.
*cal, ret๋ ๊ฐ์ ๋ช ๋ น์ด์ด๋ค.
ํ๋ก์์ ์ ํธ์ถ/๋ณต๊ท ๊ณผ์ ์ ์ค์ํ๋ค.
๋ณต๊ท์ฃผ์๋ TOS์ ์ ์ฅํ๋ค!!!
์ Top Of Stack, ํํ stack์ ์ ์ฅํ ๊น?
stack์ ์ ์ ํ์ถ ๊ตฌ์กฐ์ด๋ค.
์คํ๊ตฌ์กฐ๊ฐ ์๋๋ผ๊ณ ํ์.
a๋ฅผ ์ ์ฅํ ๊ณณ์ด ์ด๋์ง ์์์ผํ๋ค. ์ฆ, a๊ฐ๊ณผ a์ ์ฅ ์ฃผ์ ๋ชจ๋ ์์์ผ ํ๋ค.
๋ํ ์ฌ๋ฌ๋ฒ function call ํ๋ฉด ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ํ์ ๊ฑธ๋ฆด ๊ฒ์ด๋ค. '๊ณ์ ์ด๋์ ๋ญ ์ ์ฅํ๋ค'๋ฅผ ๋ฐ๋ณตํด์ผํ๋ค.
์คํ์ ์์๊ฐ ์ผ์ ํ๊ฒ ์์. ๊ฐ์ฅ ์์๊ฑฐ๊ฐ ์ต์ ์ฝ์ด๋ค.
310์ด๋ผ๋ ์ฃผ์๋ฅผ PC๊ฐ ๊ฐ๋ฆฌํฌ๋ ๋ช ๋ น์ด๊ฐ cal proc1์ด๋ฉด cal proc1 ํธ์ถ ํ TOS์ ๋ค์ ์ฃผ์์ธ 312๊ฐ ์์ธ๋ค.
16bit ์ฆ, 2Byte์ด๋ฏ๋ก 2์ฉ ์ฆ๊ฐํ๋ ์ํ
๋ฉ์ธ ํ๋ก๊ทธ๋จ
์ฃผ์ | ๋ช ๋ น์ด |
300 | . |
. | . |
. | . |
310 | cal proc1 |
312 | . |
. | . |
ํ๋ก์์ proc1
์ฃผ์ | ๋ช ๋ น์ด |
400 | . |
. | . |
. | . |
430 | cal proc2 |
. | . |
. | . |
460 | cal proc2 |
. | . |
. | ret |
ํ๋ก์์ proc2
์ฃผ์ | ๋ช ๋ น์ด |
500 | . |
. | . |
. | . |
. | ret |
1. ๋ฉ์ธ ํ๋ก๊ทธ๋จ์ 310์ฃผ์์์ cal proc1ํ๋ฉด stack์๋ ๋ค์์ฃผ์์ธ 312๊ฐ ์์ด๊ณ , proc1์ ์์์ธ 400์ผ๋ก ๊ฐ๋ค.
๊ทธํ 430์ฃผ์์์ cal proc2ํ๋ฉด stack์๋ 312์์ ๋ค์์ฃผ์์ธ 432๊ฐ ์์ด๊ณ , proc2์ ์์์ธ 500์ผ๋ก ๊ฐ๋ค.
์ฒซ๋ฒ์งธ proc2 ๋ณต๊ท ํ์๋ ์คํ์ 432๊ฐ ์ฌ๋ผ์ง๋ฉฐ, ๋ณต๊ท์ฃผ์์ธ 432๋ก ๊ฐ๋ค.
460์ฃผ์์์ cal proc2ํ๋ฉด 312์์ ๋ค์์ฃผ์์ธ 462๊ฐ ์์ด๊ณ , proc2์ ์์์ธ 500์ผ๋ก ๊ฐ๋ค.
๋๋ฒ์งธ proc2 ๋ณต๊ท ํ์๋ ์คํ์ 462๊ฐ ์ฌ๋ผ์ง๋ฉฐ, ๋ณต๊ท์ฃผ์์ธ 462๋ก ๊ฐ๋ค.
์ฒซ๋ฒ์งธ proc1 ๋ณต๊ท ํ์๋ ์คํ์ 312๊ฐ ์ฌ๋ผ์ง๋ฉฐ, ๋ณต๊ท์ฃผ์์ธ 312๋ก ๊ฐ๋ค.
์ CPU ์์ ๊ธฐ์ต์ฅ์น(Register)๊ฐ ํ์ํ๊ฐ?
ํฐ๋ ธ์ด๋จผ ๋ชจ๋ธ์์ data traffic์ ๋ด๋ณด์.
ํฐ๋ ธ์ด๋จผ ๋ชจ๋ธ์์ ์คํ์ฅ์น์ธ cpu์ ๊ธฐ์ต์ฅ์น์ธ memory๋ฅผ ๋ถ๋ฆฌํ์๋๋ฐ, ์ด๋ก ์ธํด ํ๋ก๊ทธ๋จ์ ์์ ์ด ๊ฐ๋ฅํ๊ณ , ๋ค์ํ ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํด์ก๋ค. ๋์ , ํญ์ ๊ธฐ์ต์ฅ์น์ cpu๊ฐ ๋ฐ์ดํฐ์ ์ด๋์ด ๋ฐ์ํ๊ฒ ๋์๊ณ , memory์ cpu ์๋ ์ฐจ์ด์ ๋ฐ๋ฅธ ๋ณ๋ชฉํ์์ด ๋ฐ์ํ๊ฒ๋๋ค.
ํฐ ๋ ธ์ด๋จผ ๋ชจ๋ธ์์ ๋ฐ์ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ํธ๋ํฝ ์ถ์
์์คํ ์ ์๋ ์กฐ๊ฑด ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๊ฒ ๋ค. CPU์ ๊ธฐ์ต์ฅ์น๊ฐ ์๋ค๋ฉด
์๋๋ ๊ธฐ์ต์ฅ์น ์๋ค๋ ๊ฐ์ ํ์ ์งํ
๋ช ๋ น์ด ๋ฐ์ดํฐ: ์ฐ์ฐ ๋ถํธ ํฌ๊ธฐ๋ 1๋ฐ์ดํธ, ์ฐ์ฐ๋ง๋ค ์ต๋ 2๊ฐ์ ํผ์ฐ์ฐ์ ์ฌ์ฉ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ 2๋ฐ์ดํธ,
์ผ๋ฐ ๋ฐ์ดํฐ: ๋ฐ์ดํฐ ํฌ๊ธฐ๋ 4๋ฐ์ดํธ
๋ช ๋ น์ด | ์๋ฏธ | |
y = a | mov y. a | y<-M[a] |
y = ax | mul y. x | y<-M[a]*M[x] |
y = ax*x | mul y. x | y<-m[a]*M[x]์ ์ ๊ณฑ |
t = b | mov t. b | t<-M[b] |
t = bx | mul t. x | t<-M[b]*M[x] |
y = y +t | add y. t | y<-m[a]*M[x]์ ์ ๊ณฑ + M[b]*M[x] |
y = ax*x + bx +c | add y. c | y<-m[a]*M[x]์ ์ ๊ณฑ+ M[b]*M[x] +M[c] |
๋ช ๋ น์ด ์ธ์ถ ํธ๋ํฝ
ํ ๋ช ๋ น์ด๋น 5๋ฐ์ดํธ * 7๊ฐ ๋ช ๋ น์ด
๋ฐ์ดํฐ ์ด๋ ํธ๋ํฝ(1)
๋ฐ์ดํฐ ์ด๋ ์ฐ์ฐ : mov y, a
a๋ฒ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ CPU๋ก ๊ฐ๊ณ ์๋ค๊ฐ ๋ค์ ๋ฉ๋ชจ๋ฆฌ y๋ฒ์ง๋ก ์ ์ฅ
ํ mov ๋ช ๋ น์ด๋น 2ํ ์ด๋ * 4๋ฐ์ดํธ = 8๋ฐ์ดํธ
Subtotal_move = (ํ mov ๋ช ๋ น์ด๋น 2ํ ์ด๋ * 4๋ฐ์ดํธ) * 2๊ฐ์ mov ๋ช ๋ น์ด(mov y,a / mov t,b) = ์ด 16๋ฐ์ดํธ
๋ฐ์ดํฐ ์ด๋ ํธ๋ํฝ(2)
์ฐ์ ์ฐ์ฐ mul,add: mul y,x
์ฐ์ ์ฐ์ฐ ์ํํ๋ ๊ฒ์ ํธ๋ํฝ์ด ์๋ค.
y๋ฒ์ง์ x๋ฒ์ง์ ๋ฐ์ดํฐ๋ฅผ CPU๋ก ๊ฐ๊ณ ์ ๊ณฑ์ ์ํ ํ, ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ y๋ฒ์ง์ ์ ์ฅ
ํ mul ๋ช ๋ น์ด๋น(2๊ฐ ๋ฐ์ดํฐ * 4๋ฐ์ดํธ + 1๊ฐ ๊ฒฐ๊ณผ๋ฐ์ดํฐ * 4๋ฐ์ดํธ) = 3*4๋ฐ์ดํธ
mul๊ณผ add์ฐ์ฐ์ ํธ๋ํฝ์ ๋์ผํ๋ฏ๋ก, subtotal_mul/add = ๋ช ๋ น์ด๋น 3*4๋ฐ์ดํธ *5๊ฐ mul/add ๋ช ๋ น์ด
์ด 111๋ฐ์ดํธ์ ๋ฉ๋ชจ๋ฆฌ ํธ๋ํฝ ๋ฐ์
๋ช ๋ น์ด ์ธ์ถ 35 Bytes + ๋ฐ์ดํฐ ์ ์ก 76 Bytes
CPU์ ๊ธฐ์ต์ฅ์น๊ฐ ์๋ค๋ฉด
๋ฐ์ดํฐ ํธ๋ํฝ ๊ฐ์
- ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ ํผ์ฐ์ฐ์๋ฅผ CPU ๋ด๋ถ์ ๊ธฐ์ต์ฅ์น์ ๋ณด๊ด
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค์ ์ฐธ์กฐํ ํ์์ฑ ์ ๊ฑฐ
- ์์: ์ด๋ฏธ 2๋ฒ์งธ ์ฝ๋์์ x๋ฅผ Memory์์ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์, 3๋ฒ์งธ ์ฝ๋์์ x๋ฅผ Memory์์ ๋ ๊ฐ๊ณ ์ฌ ํ์๊ฐ ์๋ค.
๋ช ๋ น์ด ํธ๋ํฝ ๊ฐ์
- ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ํ ๊ธด ์ฃผ์ ๋์ ์ ์๊ท๋ชจ ๊ธฐ์ต์ฅ์น(๋ ์ง์คํฐ)์ ์งง์ ์ฃผ์ ์ฌ์ฉ
- ๋ ์ง์คํฐ ๊ฐ์ = ๋ ์ง์คํฐ ์ฃผ์ bit ์
- ๋ ์ง์คํฐ ๊ฐ์ << ๋ฉ๋ชจ๋ฆฌ entry ์
- ํผ์ฐ์ฐ์ ํ๋๊ฐ ์งง์์ง๋ฉด ๋ช ๋ น์ด์ ๊ธธ์ด๊ฐ ์ถ์
'๐ปโโ๏ธ์ ๊ณต๊ณต๋ถ > ์ปดํจํฐ๊ตฌ์กฐ๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ช ๋ น์ด ์งํฉ 1/2 (0) | 2023.09.15 |
---|---|
์ปดํจํฐ์ ์ฑ๋ฅ (0) | 2023.09.09 |
์ปดํจํฐ๊ตฌ์กฐ (0) | 2023.08.31 |
์ปดํจํฐ๊ตฌ์กฐ ๋ง๋ณด๊ธฐ (0) | 2023.08.30 |