* ์ด ๊ธ์ ์ปดํจํฐ ๊ตฌ์กฐ์ ๊ดํด ํ์ตํ๋ฉฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ํ๋ฆฐ ์ ์ด๋, ๊ณ ์ณ์ผ ํ ๋ถ๋ถ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์..!
Multiplication Program ์ด์ ์ ์์์ผ ํ ๊ฒ
bit Multiplication๋ฅผ ์ํํ๊ธฐ ์์ 2์ง์์ ์์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ณฑ์ ์ด ์ด๋ฃจ์ด์ง๋ ์ง ์์์ผ ํ๋ค.
๊ณฑ์ ์ ์ฃผ์ถ์ Multiplicand, ๊ณฑ์ ์ ํ์์๋ฅผ Multiplier, ๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฐ๊ณผ๋ฌผ์ Product๋ผ๊ณ ํ ๋, ์ด๋ฅผ ์ด๋ฏธ์ง๋ก ๋ณด๋ฉด ์๋์ ๊ฐ๋ค๊ณ ๋ณธ๋ค.
์ค์ํ๊ฒ ๊ธฐ์ตํด์ผ ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ณฑ์ ์์ ์๊ฐํด์ผ ํ ๊ฒ์ ๊ฒฐ๊ตญ Multiplicand์ Multiplier์ ์ฌํํธ ์ด๋ ์ฐ์ฐ์ด๋ค.
- Multiplicand์ ์ฌํํธ ์ฐ์ฐ์ ์๋ฆฟ์๋ฅผ ์ฌ๋ฆฌ๋ ๊ฒ์ด๋ค.
- Multiplier์์์ ์ฌํํธ ์ฐ์ฐ์ LSB๋ฅผ ๋นผ์ฃผ๊ธฐ ์ํจ์ด๋ค.
LSB : 2์ง์ ๋นํธ๋ค์์ ์ ์ผ ์ค๋ฅธ์ชฝ ๋นํธ๋ผ๊ณ ์๊ฐํ์
์ฌ๊ธฐ์ ํท๊ฐ๋ฆฌ๋ฉด ์๋๋ ๊ฒ์ LSB ํ๋๋ฅผ ๋นผ์ฃผ๋ ๊ฒ์ด ํ๋์ ๋นํธ๋ฅผ ๋นผ์ฃผ๋ ๊ฒ์ผ๋ก ์๊ฐํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
Multiplier์์ ์ถ์ถํ ํ๋์ LSB ๋นํธ ๊ฐ์ Multiplicand์ ์ฐ์ฐํด์ฃผ์ด ๋์จ ๊ฐ์ Product๋ผ๋ ๋์ ๊ฐ์ ์ ์ฅํด ์ค๋ค.
์ด๋ ํ๋ฒ์ ํ๋ก์ฐ์์ left shift์ right shift๊ฐ ์ผ์ด๋๋ค๋ ๊ฒ์ ์ ๋ ํ์.
left shift ์ Multiplicand์ ์๋ฆฟ์ ์ด๋์ผ๋ก ์ธํด ์ ์ผ ์ฐ์ธก์๋ 0์ด ์ฑ์์ง๊ณ ๋๋จธ์ง ๋นํธ๋ ์ผ์ชฝ์ผ๋ก shift ๋์ด ํ ์๋ฆฟ์ ์ปค์ง ํจ๊ณผ๊ฐ ๋ ๊ฒ์ด๊ณ ,
right shift ์์๋ Multiplier์ ์ ์ผ ์ฐ์ธก ๋นํธ ์ถ์ถํ์ฌ ๊ทธ ๊ฐ๊ณผ Multiplicand์ ๊ฐ์ด ์ฐ์ฐ์ ํ ์ ์์ ๊ฒ์ด๋ค.
์ด๋ฌํ ํ๋ก์ฐ๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณต๋์ด, ์ด Multiplier์ bit ์ ๋งํผ๋ง ์งํ๋ ์ ์๋ค.
Multiplication Program์ flowchart
์ ํ๋ก์ฐ ์ฐจํธ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ AC์ E์ ๊ดํด ์กฐ๊ธ ์์ ๋ ํ์๊ฐ ์๋ค.
- AC๋ accumulator(๋์ ๊ธฐ)๋ก ๊ฐ์ ์ ์ฅํด ๋ ์ ์๋ ๋ ์ง์คํฐ์ด๋ค.
- E : ๋ ์ง์คํฐ ๋ช ๋ น์ด(Register Instruction)์ ์ํํ๊ธฐ ์ํ ํ๋ฆฝํ๋กญ(1bit)์ด๋ค.
์ด๋ shift ์ฐ์ฐ ์ ๊ฐ ๋๋จ์ ์๋ ๊ฐ์ด ์ ์ฅ๋๊ณ ๋ค์ด๊ฐ๋ ํ๋์ ํต๋ก๋ก ์๊ฐํด๋ ์ข๋ค.
์ฆ, ํ๋์ ์ฌ์ดํด์ ๋ง๋ค ์ ์๋๋ก ๋์์ฃผ๋ ๋ ์์ด๋ค.
- CTR :
- -8๋ก ์ ์๋ ์ด์ ๋ 8bit 2์ง์ ์ฐ์ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
- P<- 0 :
- ๊ณฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ ๊ณณ์ด๋ฏ๋ก ์ฒ์์๋ 0์ผ๋ก ์ด๊ธฐํ ํ๋ค.
- E <- 0 :
- E ํ๋ฆฝํ๋กญ์ ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํ ํ๋ค.
- AC <- Y :
- ๋์ ๊ธฐ(AC)์ Y(Multiplier)์ ๊ฐ์ ๋ด๋๋ค.
- cir EAC :
- ์ฐ์ธก์ผ๋ก shiftํ๋ ๋ช ๋ น์ด์ด๋ค. ์ด๋ฅผ ํตํด LSB ๊ฐ์ E ํ๋ฆฝํ๋กญ์ ๋ด์ ์ ์๋ค.
- Y <- AC :
- shift ๋์ด, LSB ๊ฐ์ด ์ถ์ถ๋ AC ๊ฐ์ Y์ ๋ด์, ๊ฐ์ ์ ๋ฐ์ดํธ ํ๋ค.
- E : 0์ด๋ฉด,
- ์ด์งํผ ๊ณฑํด๋ 0์ด๋ค. ํ์ ์๋ฆฟ์๋ง ์ฆ๊ฐ ์์ผ์ค๋ค. ๋ง์ฝ 1์ด๋ผ๋ฉด, P(๊ณฑ์ ๊ฒฐ๊ณผ)์ X(Multipland)์ ๊ฐ์ ๋ํด์ค๋ค.
- ์ด ๋ถ๋ถ์ด ์ค์ง์ ์ผ๋ก ๋ง์ ์ ํตํด ๊ณฑ์ ์ด ์ด๋ฃจ์ด์ง๋ ๋ถ๋ถ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
- ๊ฐ์ ๋ํด์ฃผ๊ณ , E<-0์ ํตํด ํ๋ฆฝํ๋กญ์ 0์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
- AC <- X :
- ๋์ ๊ธฐ(AC)์ X(Multipland)์ ๊ฐ์ ๋ด๋๋ค.
- cil EAC :
- ์ข์ธก์ผ๋ก shiftํ๋ ๋ช ๋ น์ด์ด๋ค. ์ด๋ฅผ ํตํด ์๋ฆฟ์๋ฅผ ํ๋ ๋๋ฆด ์ ์๋ค.
- X <- AC:
- X(Multipland)์ ์๋ฆฟ์๋ฅผ ๋๋ฆฐ ๊ฐ์ ๋ฐ์ํด ์ค๋ค.
- CTR <- CTR + 1
- ์ฐ์ฐ ์๋ฅผ ๋๋ ค์ค๋ค.
Multiplication Program์ assembly programming
์ flowchart์ ๋ณํํ๋ฉฐ ์ดํด๋ณธ๋ค๋ฉด, ๊ฐ assembly ๋ช ๋ น์ด๋ ์ด๋ ต์ง ์๊ฒ ์ฝ์ ์ ์์ ๊ฒ์ด๋ค.
์ดํด๋ฅผ ๋์๋ฉด, BUN์ด ์ค์ง์ ์ผ๋ก ํ๋ ์ญํ ์ E๊ฐ 1์ธ์ง 0์ธ์ง๋ฅผ ๊ตฌ๋ถํ๋ ๋ถ๊ธฐ๋ก ๋ด์ผํ๋ค.
Reference
[์ปดํจํฐ ๊ตฌ์กฐ] Multiplication
์์ ๊ธ์ ์ฝ์ผ์๋ฉด ์ดํด์ ๋์์ด ๋ฉ๋๋ค. 2022.10.22 - [Computer Science/์ปดํจํฐ ๊ตฌ์กฐ] - [์ปดํจํฐ ๊ตฌ์กฐ] Add, Sub, OverFlow [์ปดํจํฐ ๊ตฌ์กฐ] Add, Sub, OverFlow 1. Addition bit์์์ ๋ง์ ์ ์ญ์ง์์ ๋ง์ ๊ณผ ๋งค์ฐ ํก์ฌ
hi-guten-tag.tistory.com
'๐ Knowledge > ์ปดํจํฐ ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ปดํจํฐ ๊ตฌ์กฐ] Instruction Cycles - 16 bit Computer (1) | 2023.10.08 |
---|