๊ฐ์ ๐
์นด๋ฉ๋ผ ๊ด๋ จ ์ ๋ฌด๋ก ARM Cortex A7 Single ๋ชจ๋ธ์ ์ฃผ๋ก ์ฌ์ฉํ์ง๋ง A53, MICOM ๊ณผ์ ์ธํฐ๋ฝํธ ์ถฉ๋ ๋ฌธ์ ๊ฐ ์ผ์ด๋ ๋๊ฐ ์๋ค. UART ๋ถํธ ๋ฐ LVDS ์ฑ๋ ๋ณ๊ฒฝ, ๋ ๋์๊ฐ ์นด๋ฉ๋ผ ์ผ์์ ์ด๊ธฐํ๊น์ง ๋ง์ด์ปด์์ ๋ด๋นํ๊ฒ ๋๋ ์๋๋ฆฌ์ค๊ฐ ์์ด ๋ง์ด์ปด์ด ์ ํํ ์ด๋ค ๊ฒ์ธ์ง ํ๋ฒ์ ์ง๊ณ ๋์ด๊ฐ์ผ ํ๋ค.
๋ง์นจ ํ ๋ธ๋ก๊ทธ์ ๋ง์ด์ปด์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌ๊ฐ ๋์ด ์๊ณ ์ฐ๊ด๋ ํ ํฝ ๋ณ๋ก ์ ๋ฆฌํด๋์ ํ์ด์ง๊ฐ ์์ด ํ์ํ ๋ถ๋ถ๋ง ๊ฐ์ถ๋ ค ๋ณธ ํ์ด์ง๋ก ์ ๋ฆฌํ๊ธฐ๋ก ํ๋ค.
๋ณธ๋ฌธ ๐
์ถ์ฒ ๋ด์ฉ ๊ทธ๋๋ก uC๋ MicroController, uP๋ MicroProcessor, “Adv"๋ Advanced Topic์ ์ค์๋ง๋ก์ ์ฌ์ฉํ๋ค.
[uC] ๋ง์ด์ปด vs. ๋ง์ดํฌ๋ก ํ๋ก์ธ์ ๐
๋ง์ด์ปด์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ(Microcontroller)๋ฅผ ์ค์ฌ์ ๋ถ๋ฅด๋ ๋ง์ด๋ค. ๋ง์ด์ปด์ ์ํ ๋ฒ์ฉ ์ปดํจํฐ๋ผ๊ณ ํ ์ ์๋ค. ๋ง์ดํฌ๋กํ๋ก์ธ์์ ๋ง์ด์ปด์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ง์ดํฌ๋กํ๋ก์ธ์๋ ์ฃผ๋ณ ์ฅ์น(๋ฉ๋ชจ๋ฆฌ, I/O ๋ฑ๋ฑ)์ ํจ๊ป ํ๋์ ์์คํ ์ ๊ตฌ์ฑํ๋๋ก ์ค๊ณ๋์ด ์์ผ๋ ๋ง์ด์ปด์ ์์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ๊ทธ ์์ฒด๊ฐ ํ๋์ ์ปดํจํฐ๋ก์ ๋์ํ ์ ์๋๋ก ์ค๊ณ๋์ด ์๋ค.
PC์ ์ฑ๋ฅ/๊ธฐ๋ฅ์ ๊ธฐ๋ํ ์๋ ์์ง๋ง ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ ๋กฌ์ด ์๊ธฐ ๋๋ฌธ์ ๋ง์ด์ปด์นฉ๊ณผ ๊ฐ๋จํ ์ฃผ๋ณํ๋ก ๋ง์ผ๋ก ํน์ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ค. ๋ง์ด์ปด์ ์ฃผ๋ณ์์ ํํ๊ฒ ์ฐพ์๋ณผ ์ ์๋๋ฐ ๋์ฅ๊ณ , ์ธํ๊ธฐ, TV, VCR, ๋ง์ดํฌ๋ก์จ์ด๋ธ ์ค๋ธ ๋ฑ ์๋ฒ ๋๋ ์์คํ ํ๊ฒฝ์ ์ ์ฉ๋์ด ์๋ค.
[uC] ๋ง์ด์ปด ์ฃผ๋ณํ๋ก ๐
8๋นํธ ๋ง์ด์ปด์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ ALU์ ๋ฉ๋ชจ๋ฆฌ ์ธํฐํ์ด์ค ๋ถ๋ถ ๊ทธ๋ฆฌ๊ณ ์ฃผ๋ณํ๋ก๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ฃผ๋ณํ๋ก์๋ ์ธํฐ๋ฝํธ, ํ์ด๋จธ, UART ๋ฑ์ด ์๋ค. 32๋นํธ ๋ง์ด์ปด์ ์ฃผ๋ณ ๊ธฐ๊ธฐ๋ 8๋นํธ์ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
[uC] ํ์ด๋จธ(Timer) ๐
ํ์ด๋จธ๋ ํํ ์๊ณ ์๋ ์คํฑ์์น์ ๋น์ทํ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ ์ฒ์ด๊ฐ ์๋ค. ์คํฑ์์ง๋ ์๊ฐ์ด ์ผ๋ง๋ ํ๋ ๋์ง๋ฅผ ์ธก์ ํ์ง๋ง ํ์ด๋จธ๋ ์ง์ ํ ์๊ฐ์ด ๊ฒฝ๊ณผํ๋ฉด ์๋ ค์ฃผ๊ฒ ๋์ด์๋ค. ์๋ฅผ ๋ค์ด ๋ง์ด์ปด์ด 1/100์ด์ ํ๋ฒ์ฉ ํคํจ๋๋ฅผ ์ค์บํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด ๋ง์ด์ปด์ ํค๊ฐ ์ธ์ ๋๋ฌ์ง๋์ง ์ ์ ์์ผ๋ฏ๋ก ํญ์ ํคํจ๋๋ฅผ ์ผ์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ค์บ(polling)ํด์ผ ํ๋ค.
ํ์ด๋จธ๊ฐ ์๋ค๋ฉด ํ๋ก์ธ์๋ ์๊ฐ์ด ์ผ๋ง๋ ํ๋ ๋์ง ์๊ธฐ ์ํด ์๊ธฐ๊ฐ ์ํํ ๋ช ๋ น์ด๋ฅผ ์นด์ดํธํด์ผ ํ๋๋ฐ ์ด ์ผ์ด ํ๋ก์ธ์์๊ฒ๋ ์๋นํ ๋นํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์ ์ธํฐ๋ฝํธ๋ฅผ ์ ๊ณตํ๋ ํ์ด๋จธ๋ฅผ ์ฌ์ฉํ๋ค.
[uC] Reset Vector ๐
๋ฆฌ์ ๋ฒกํฐ๋ ๋ง์ด์ปด์ ๋ฆฌ์ ์ด ์ธ๊ฐ๋์์ ๋ ๋ง์ด์ปด์ด ์ฒ์์ผ๋ก ์คํ๋๋ ์ด๋๋ ์ค๋ฅผ ๋งํ๋ค. ๋ง์ด์ปด์ ์ ์์ด ์ธ๊ฐ๋์์ ๋ ๋ง์ด์ปด์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๋ณด๋ ค๋ฉด ๋ฆฌ์ ๋ฒกํฐ๋ฅผ ๊ณต๋ถํด์ผํ๋ค. ์ด ์ฉ์ด์์์ ๋ฒกํฐ๋ ๋ฌผ๋ฆฌ์๊ฐ์ ๋ฐฐ์ด ํฌ๊ธฐ์ ๋ฐฉํฅ์ ๊ฐ๋ ์๋ฏธ์ ๋ฒกํฐ์๋ ๋ฌด๊ดํ๋ค.
[uP] Register File ๐
๋ ์ง์คํฐ๊ฐ ์ฌ๋ฌ ๊ฐ ๋ชจ์ฌ์๋ ๊ฒ์ ๋ ์ง์คํฐ ํ์ผ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
[uP] DMA ๐
์ฃผ๋ณ ๊ธฐ๊ธฐ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฐ์ดํฐ๋ก ์ฎ๊ธธ ๋๋ CPU๊ฐ ์ฃผ๋ณ๊ธฐ๊ธฐ์์ ๋ฐ์ดํฐ๋ฅผ CPU๋ก ๊ฐ์ ธ์จ ๋ค์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์จ์ผ ํ๋ค. ์ฆ, ์ฃผ๋ณ๊ธฐ๊ธฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์จ ๋ค ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณด๋ด๋ ์์ ์ ํ๋ก์ธ์๊ฐ ํด์ผํ๋๋ฐ ์ด๋ ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๋ ๋์์๋ CPU๊ฐ ๋ค๋ฅธ ์์ ์ ํ ์ ์๋ค. ๋๋ฌธ์ DMA๋ ๋ณ๋์ ํ๋์จ์ด์ ์ด ์์ ์ ๋งก๊ธฐ๋ ๊ฒ์ด๊ณ CPU๋ ์ฃผ๋ณ์ฅ์น๋ก๋ถํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๊ธฐ ์ํด ์ฌ์ดํด์ ๋ญ๋นํ ํ์๊ฐ ์์ด์ง๋ค.
[uP] Super Scalar ๐
๋ฒกํฐ(Vector) ํ๋ก์ธ์์ ๋ฐ๋๋ง์ด ์ค์นผ๋ผ ํ๋ก์ธ์์ด๋ค. ์ค์นผ๋ผ ํ๋ก์ธ์๋ ํ๋ฒ์ ํ๋์ ๋ช ๋ น์ด๋ง ์คํํ๋ฉฐ ์ํผ์ค์นผ๋ผ๋ ๋ฒกํฐ์ ์ค์นผ๋ผ ์ค๊ฐ ์ ๋์ ํด๋นํ๋ค. ์ฆ ํ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์๋ค.
[uP] Trap and Interrupt ๐
ํ๋ก๊ทธ๋จ ์คํ ์ค์ ์ค๋ฒํ๋ก์ฐ๋ ์ธ๋ํ๋ก์ฐ ๊ฐ์ ํน์ดํ ์ฌํญ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ๋ฏธ๋ฆฌ ์ค์ ํด ๋์ ํน์ ๋ฒ์ง๋ก ์ ํํ์ฌ ๊ทธ๊ณณ์ ๋ช ๋ น์ ์คํํ๊ฒ ๋๋๋ฐ ์ด๋ ๊ฒ ํ๋ก๊ทธ๋จ์ด ์๋์ผ๋ก ํน์ ๋ฒ์ง๋ก ์ ํํ์ฌ ๊ทธ๊ณณ์ ๋ช ๋ น์ ์คํํ๋ ๊ฒ์ ํธ๋ฉ์ด๋ผ ํ๊ณ ํด๋น ๋ฒ์ง์ ์๋ ํธ๋ค๋ฌ๋ฅผ ํธ๋ฉ ํธ๋ค๋ฌ๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ํธ๋ฉ๊ณผ ์ธํฐ๋ฝํธ์ ์ฃผ๋ ์ฐจ์ด์ ์ ํธ๋ฉ์ ์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํ ์์ผฐ์ ๋ ํญ์ ๊ณ ์ ๋ ์์น์์ ์ผ์ด๋๋ (์ธ๋ถ)์ธํฐ๋ฝํธ๋ ์ธ์ ๋ฐ์ํ ์ง ๋ชจ๋ฅธ๋ค๋ ์ ์ด๋ค.