ยท ์กฐํฉ์ ๊ฒฝ๋ง์ ์์๋ณด์ - 2. ์ปดํจํฐ์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
ยท ์กฐํฉ์ ๊ฒฝ๋ง์ ์์๋ณด์ - 3. ์กฐํฉ์ ๊ฒฝ๋ง์ ๋์
์ดํด ์ ๋๋๊ฑฐ ๋๊ธ ใฑ
์ง์ ํ์
์ด๋ฒ ๊ธ์์๋ ์ฐ๋ฆฌ์ ์์ํ ์ฐ๋ฐฉ, ๋ณดํธํ๋ ๊ฐ์ฅ ํฐ ํ,
์ปดํจํฐ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์์๋ณด๋ ค๊ณ ํด.
์ปดํจํฐ๋ ์ฌ๋์ด ํ๋ก๊ทธ๋๋ฐ ํด์ค์ผ ํ๋ค๋ ๋จ์ ์ ์ ์ธํ๋ฉด ๊น ๊ฒ ์๋
์ง๊ธ๊น์ง ๊ฐ์ฅ ์ฑ๊ณตํ ๋น์๋ฌผํ์ ๋ฌธ์ ํด๊ฒฐ ํ๋ซํผ์ด์ผ.
์ฌ๋๋ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ปดํจํฐ์ ๋ง์ ๊ธฐ์ ๋ค์ ์ ๋ชฉ์์ผ์๊ณ ,
๋ฐ๋ผ์ ๊ธฐ์ ์ ์ง์ฝ์ฒด์ธ ์ปดํจํฐ๋ฅผ ๋ณด๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํต์ฐฐ๋ ฅ์ ๋ง์ด ์ป์ ์ ์์ง.
์กฐํฉ์ ๊ฒฝ๋ง์ ์ปดํจํฐ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ง์ด ๋ฎ์์์ด.
๊ทธ๋ฌ๋๊น ์ด๋ฒ ๊ธ์์๋ ์ปดํจํฐ์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ณ ,
๋ค์ ๊ธ์์๋ ์กฐํฉ์ ๊ฒฝ๋ง์ด ์ปดํจํฐ์ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๊ณผ ์ด๋ค ์ฐ๊ด์ด ์๋์ง ์์๋ณด์.
(์กฐํฉ ์ ๊ฒฝ๋ง ๋ณด๋ฉด ๊ณ์ฐ๊ณผํ์ ๋ํ ์ค๋ช ์์ด ๊ณง์ฅ ํด๋ฆฌ์ ๋คํธ์ํฌ๊ฐ ๋์ค๋๋ฐ, ์์งํ ํ ๋ฒ์ ๋์ฝ๋ง์ผ๋ก ์ค๋ช ํ ์์ ์ด ์์ด์ ์ปดํจํฐ๋ถํฐ ์ค๋ช ํจ)
(์ค๋ช ํ๊ธฐ ์ฌ์ด ํจ์-calling convention ์ชฝ์ผ๋ก ์ด์ผ๊ธฐ ํ ๊ฑฐ๋๊น ์๋ ์ฌ๋์ ์ด๋ฒ ๊ธ์ ๊ฑด๋๋ฐ์ด๋ ์ข์)
ํน๋ถ์ด๋ค๋ ๋ค์ด๋ดค๊ฒ ์ง๋ง, ์ปดํจํฐ๋ 0๊ณผ 1์ ์กฐํฉ์ผ๋ก ๋ชจ๋ ์ผ์ ํด.
ํ์ง๋ง ๊ทธ 0๊ณผ 1๋ก ๊ตฌ์ฒด์ ์ผ๋ก ๋ญ๋ฅผ ํ๋์ง ๊ด์ฌ ์์๋ ํน๋ถ์ด๋ ๋ง์ด ์์๊ฑธ?
์ด๋ฒ์๋ ๊ทธ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณผ๊ฑฐ์ผ.
์ค๋๋ ์ ์ปดํจํฐ๋ ์ฐธ ๋ค์ํ ์ผ์ ํด.
์ปดํจํฐ๋ ์ด๋ป๊ฒ ๊ทธ๋ ๊ฒ ๋ค์ํ ์ผ์ ํ ์ ์์๊น?
๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํ๋๋ฐ์์๋ถํฐ ์์ํด.
์ผ์ ํ๋ ๋ฐ์๋ ๋ค์ํ ์ข ๋ฅ์ ๋ฐ์ดํฐ๊ฐ ํ์ํ์ง.
์ผํ๋ ๋งค๋ด์ผ๋ ๋ฐ์ดํฐ๊ณ , ์ฝ์ด์ผ ํ ์๋ฃ๋ ๋ฐ์ดํฐ์ง.
์ปดํจํฐ๋ ์ด๊ฑธ ํฌ๊ฒ ๋งค๋ด์ผ, ์์ ๊ธฐ์ต, ์ธ๋ถ๋ฐ์ดํฐ๋ก ๊ตฌ๋ถํด.
(์ธ์คํธ๋ญ์ (.text) / ๋ ์ง์คํฐ,์คํ,ํ / ๋จ ๋ฐ์ดํฐ(.bss,.data),์ ์ฅ์ฅ์น(SSD,HDD))
๋ ์๋ฅผ ์ฝ์ด์์ ๋ํ๋ ํ๋ก๊ทธ๋จ์ ์ด๋ฐ ์์ผ๋ก ์๋ํด.
๋์ถฉ ๊ฐ์ด ์ค์ง?
์ด๋ ๊ฒ ์ปดํจํฐ๋ก ํ๋ฆ์ด ํ๋์ธ ์ผ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ดค์ด.
ํ์ง๋ง ์ปดํจํฐ ๊ณผํ์๋ค์ ์์ฌ์ ์ฌ๊ธฐ์ ๋๋์ง ์์์ด.
์ค๋ณต๋ ์ผ์ ๋ณ๋์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ถ๋ฆฌํด์ ๋ฐ๋ก ์ฌ์ฉํ๊ธฐ๋ฅผ ์ํ์ง.
์ด ๋ถ๋ถ์ด ์ค์ํด! ์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๊ทธ๋๋ก ์กฐํฉ ์ ๊ฒฝ๋ง์ ๋ค์ด๊ฐ๊ฒ ๋๋๊น.
์ค์ํ๋๊น ํ ๋ฒ ๋.
๋๊ฐ์ ๊ธฐ๋ฅ์ ๋ ๋ฒ ๋ง๋ค๊ณ ์ถ์ง ์์์ ์ปดํจํฐ ๊ณผํ์๋ค์ด ๋ง๋ค์ด๋ธ ํด๋ฒ์ ์ฃผ๋ชฉํ์๊ณ .
๊ทธ๋์ ๋์จ ๊ฒ ํจ์๋ผ๋ ๊ฐ๋ ์ด์ผ.
๋ฐฑ๋ฌธ์ด๋ถ์ฌ์ผ๊ฒฌ! ํ ๋ฒ ๋ณด์.
๊ทธ๋ค์ง ์ค์ํ์ง ์์ ์ธ๋ถ๋ฐ์ดํฐ๋ ์๋ตํ์ด.
์์ ํ๋ก๊ทธ๋จ์ ๋ณด๋ฉด '์ ํ'์ '๋ณต๊ท'๋ฅผ ์ด์ฉํด์ ์ฝ๋ ์กฐ๊ฐ ์ฌ์ด๋ฅผ ์ด๋ํด.
ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ ๊ธฐ์ต์ ๋ฃ๊ณ ,
์ฌ์ฉํ๊ณ ์ถ์ ๊ธฐ๋ฅ์ผ๋ก ์ ํํด์
์ฌ์ฉํ๊ณ
๋ณต๊ทํ๊ณ
์ด๋ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ ๋ด์ฉ์ ์ฌ๋ฌ ๋ฒ ๋ง๋ค ํ์๊ฐ ์์ด์ง์ง.
๋ค์ ๊ธ์์๋ ์ด๊ฑธ ์ด๋ป๊ฒ ์ธ๊ณต์ง๋ฅ์ผ๋ก ๊ตฌํํ๋์ง ์์๋ณด๋๋ก ํ์.
๋ค์ ๊ธ์์ ๋ด!
๋ฑ๋ฐ:
"๋ ๋ ๋ํผ-๋ ๋ฆฌ์ค ๋์ค ์ ํ!"
60๋ ์ (1961๋ ) PDP-1 ์ปดํจํฐ์์ JMP ๋ช ๋ น์ด๊ฐ ์ฒ์ ๋์์ ๋
ํด์ปค๋ค์ ๋ ธ๋๋ฅผ ๋ถ๋ฅด๋ฉด์ ์ถค์ ์ถ๊ธฐ๋ ํ์ด.
('ํด์ปค, ๊ด๊ธฐ์ ๋ฉ์๋'(์คํฐ๋ธ ๋ ๋น ์ง์, ๋ฐ์ฌํธ,์ดํด์ ์ฎ๊น), ํ๋น๋ฏธ๋์ด, ๋ณต๊ฐํ 76p.)
(๊ทธ ์ ๊น์ง๋ ๋ ์ง์คํฐ ๋์ MOV ๋ช ๋ น์ด๋ฅผ ์ผ์)
์ด JMP ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ ์ ๊ตํด์ง๊ณ
1972๋ C์ธ์ด์ ํฌํธ๋66์ ๋ฐํ์์ ํ์คํ๋์์ง.
์ง๊ธ์ผ๋ก๋ถํฐ ์ฝ 50๋ ์ ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ 64๋นํธ๋ก ํ์ฅ๋ ๊ฑด 2003๋ AMD64, 2004๋ EM64T๊ฐ ๋์ค๋ฉด์๋ถํฐ์ผ.
๊ทธ๋ ๊ฒ ํด์ ์ง๊ธ์ ์ด๋ฅด๊ณ ์์ด.
ํน์จ๊ฐคํ๋๋ผ ์ ๋ณด๊ธ์ ์ฐ์ง ๋ชปํ๋ค๋ฉด ๋๋ ํน์จ๊ฐค์ ์ถฉ์คํ๊ฑธ๊น ํน์จ๊ฐค์ ์ํํ๊ฑธ๊น?
์กฐํฉ์ ๊ฒฝ๋ง์ ๋ ์๊ณ ์ถ๋ค๋ฉด:
https://openreview.net/forum?id=B1ffQnRcKX
gif๊ฐ ๋๋ฌด ๋น ๋ฅธ๊ฐ? ๋๋ฆฐ๊ฐ?
๋ณด๊ธฐ ํ๋ค๋ฉด ์๊ธฐํด์ค. ์ฌ์ง ๋ค ์ด์ ์์ผ๋๊น ๋ค์ ๋ง๋๋ ๊ฑฐ ๊ธ๋ฐฉ์
์์ด~
๋นจ๋ฆฌ ๋ ๋ด๋
ใ ใ ๊ณง ์ด๋ค
๋ด์ฉ์ ์ ์ ํ ์ดํด ๋จ?
์ด๊ฒ ์ดํด ์๋๋ฉด ๋ค์ ๊ธ ์ค๋ช ํ ์์ ์์. ๊ทธ๋์ ์ด๊ฒ ์ถฉ๋ถํ ์ ์ดํด ๋์ผํจ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ฝ๊ฒ ์ค๋ช ํ๋ ค๋ ๋ ธ๋ ฅ์ด ๋๋ณด์ด๋ค์ฌ! ๋ค์ ๊ธ์ด ๊ธฐ๋๋จ!
๊ฐ์ฌํจ๋น!