์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
MIPS(Microprocessor without Interlocked Pipeline Stages)๋ MIPS Technologies์์ ๊ฐ๋ฐํ RISC ๊ณ์ด์ ๋ช
๋ น์ด ์งํฉ ์ฒด๊ณ์ด๋ค.
MIPS ๋ช ๋ น์ด ์ฒด๊ณ๋ ๊ต์ฅํ ๊น๋ํ๊ฒ ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ํ๊ต์ ์ปดํจํฐ ์ํคํ ์ฒ ๊ณผ๋ชฉ์์ ๊ฐ๋ฅด์น๊ณ ์๋ค.
MIPS ๋ช ๋ น์ด ์ฒด๊ณ๋ ๊ต์ฅํ ๊น๋ํ๊ฒ ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ํ๊ต์ ์ปดํจํฐ ์ํคํ ์ฒ ๊ณผ๋ชฉ์์ ๊ฐ๋ฅด์น๊ณ ์๋ค.
2. MIPS์ ์ญ์ฌ[ํธ์ง]
์ต์ด์ MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ MIPS Computer Systems(ํ MIPS Technologies)์์ ๋ฐํํ R2000 ๋ง์ดํฌ๋กํ๋ก์ธ์์ ํจ๊ป <MIPS I>์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐํ๋์๋ค. R2000์ RISC ๊ธฐ๋ฐ์ ๋ช
๋ น์ด๊ฐ ์ฒ์์ผ๋ก ์ ์ฉ๋์ด ์์ฉํ๋ CPU์ด๋ค. ๊ทธ ๋น์์ R2000์ ๋ชจํ ๋กค๋ผ 68000๊ณผ ์ธํ
80386 ์๋ฆฌ์ฆ์ ๊ฒฝ์ํ๋ค. MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ MIPS Technologies์์ ์๋ก์ด CPU๋ฅผ ์ถ์ํ ๋๋ง๋ค ๊ฐ์ ํ๋๋ฐ, 1990๋
์๋ R6000๊ณผ ํจ๊ป MIPS II๊ฐ ๋ฐํ๋์๊ณ , 1992๋
์๋ 64bit ๋ ์ง์คํฐ์ ์ ์์ฐ์ฐ์ด ์ง์๋๋ MIPS III๊ฐ ๋ฐํ๋์๋ค. 1994๋
์๋ MIPS IV๊ฐ ๋ฐํ๋์๊ณ , 1996๋
์ MIPS V๊ฐ ๋ฐํ๋์์ผ๋ฉฐ, ํ์กดํ๋ MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ ์ ๋ถ MIPS V๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ ์ํ์ด๋ค. ์ต์ ๋ฒ์ ์ MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ MIPS V๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ MIPS32 release 5๋ก, 2012๋
์ ๋ฐํ๋์๋ค.
MIPS Technologies๋ 2000๋ ๋ ์ค์ข ๋ฐ๋ถํฐ ๋ฐ์ด๋ ์ ๋ ฅํจ์จ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋งํธ ์๋์ ๋ง๋ฌผ๋ ค ์์ฅ์ ๋ํ์จ ARM์ ์ ์ง๋ฅผ ์์ด๊ฐ๋ค๊ฐ ๊ฒฐ๊ตญ 2012๋ ๋ง์ Apple์ iOS ๊ธฐ๊ธฐ์ฉ GPU์ธ PowerVR ์๋ฆฌ์ฆ๋ก ์ ๋ช ํ ์ด๋ฏธ์ง๋ค์ด์ ํ ํฌ๋๋ก์ง์ ์ธ์๋์๋ค. ๊ด๋ จ๊ธฐ์ฌ ๊ทธ๋ฌ๋ ์ด๋ฅผ ์ธ์ํ ์ด๋ฏธ์ง๋ค์ด์ ์ด ์ ํ์ GPU ๊ณต๊ธ์ ์ฃผ๋ ฅ์ผ๋ก ์ ํ๋ค๊ฐ ๋๊ธฐ๋ฉด์ ํ์ฐ์๊ธฐ์ ๋ชฐ๋ฆฌ๊ณ , ๊ฒฐ๊ตญ 2017๋ ์ ์ค๊ตญ๊ณ ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์ธ Canyon Bridge Capital Partners์์ 6์ต 7500๋ง ๋ฌ๋ฌ๋ก ์ธ์๋๋ฉด์, MIPS Technologies๋ ๋ณ๋๋ก ๋ค๋ฅธ ์ค๊ตญ๊ณ ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์ธ Tallwood Venture Capital์ 6500๋ง ๋ฌ๋ฌ์ ํ์๋ค.
์ดํ, ์ด๋ฌํด์ธ 2018๋ 6์ 16์ผ์ AI ์คํํธ์ ๊ธฐ์ ์ธ ์จ์ด๋ธ ์ปดํจํ ์ด ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์๊ฒ์ ์ฌ๋ค์ฌ ์ํ์ฌ๋ก ๋ง๋ค์๋ค.
MIPS Technologies๋ 2000๋ ๋ ์ค์ข ๋ฐ๋ถํฐ ๋ฐ์ด๋ ์ ๋ ฅํจ์จ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋งํธ ์๋์ ๋ง๋ฌผ๋ ค ์์ฅ์ ๋ํ์จ ARM์ ์ ์ง๋ฅผ ์์ด๊ฐ๋ค๊ฐ ๊ฒฐ๊ตญ 2012๋ ๋ง์ Apple์ iOS ๊ธฐ๊ธฐ์ฉ GPU์ธ PowerVR ์๋ฆฌ์ฆ๋ก ์ ๋ช ํ ์ด๋ฏธ์ง๋ค์ด์ ํ ํฌ๋๋ก์ง์ ์ธ์๋์๋ค. ๊ด๋ จ๊ธฐ์ฌ ๊ทธ๋ฌ๋ ์ด๋ฅผ ์ธ์ํ ์ด๋ฏธ์ง๋ค์ด์ ์ด ์ ํ์ GPU ๊ณต๊ธ์ ์ฃผ๋ ฅ์ผ๋ก ์ ํ๋ค๊ฐ ๋๊ธฐ๋ฉด์ ํ์ฐ์๊ธฐ์ ๋ชฐ๋ฆฌ๊ณ , ๊ฒฐ๊ตญ 2017๋ ์ ์ค๊ตญ๊ณ ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์ธ Canyon Bridge Capital Partners์์ 6์ต 7500๋ง ๋ฌ๋ฌ๋ก ์ธ์๋๋ฉด์, MIPS Technologies๋ ๋ณ๋๋ก ๋ค๋ฅธ ์ค๊ตญ๊ณ ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์ธ Tallwood Venture Capital์ 6500๋ง ๋ฌ๋ฌ์ ํ์๋ค.
์ดํ, ์ด๋ฌํด์ธ 2018๋ 6์ 16์ผ์ AI ์คํํธ์ ๊ธฐ์ ์ธ ์จ์ด๋ธ ์ปดํจํ ์ด ์ฌ๋ชจ ํฌ์ ๊ธฐ์ ์๊ฒ์ ์ฌ๋ค์ฌ ์ํ์ฌ๋ก ๋ง๋ค์๋ค.
3. MIPS ๋ช ๋ น์ด ์ฒด๊ณ[ํธ์ง]
MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ 3๊ฐ์ง ์ข
๋ฅ์ ๋ช
๋ น์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๋ค์ด๊ฐ๊ธฐ์ ์์ opcode๋ผ๋ ๊ฐ๋
์ ๋ํด์ ์์์ผ ํ ํ์๊ฐ ์๋ค. opcode๋ ํด๋น ๋ช
๋ น์ด๊ฐ ์คํํ ์ฐ์ฐ์ ์ข
๋ฅ๋ฅผ ์ ์ํ๋ค.
- R type: c = a + b์ ๊ฐ์ ์ฐ์ฐ์ ํ ๋, 2๊ฐ์ ๋ ์ง์คํฐ ๊ฐ์ ์ด์ฉํ์ฌ ์ฐ์ฐ์ ํ ๋ค์, ๋ค๋ฅธ ๋ ์ง์คํฐ ํ๋์ ์ฐ์ฐํ ๊ฐ์ ๊ธฐ๋กํ๋ค. ์ด ๋ ์ฐ์ฐ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ ์ง์คํฐ๋ ๊ฐ๊ฐ rs(register source์ ์ฝ์), rt(register target์ ์ฝ์)๋ก ๋ถ๋ฆฌ๊ฒ ๋๋ฉฐ, ์ฐ์ฐ์ ํ ๊ฐ์ rd(register direction์ ์ฝ์)์ ์ ์ฅํ๊ฒ ๋๋ค.
- I type: R type๊ณผ ๋น์ทํ๊ฒ ๋๊ฐ์ ๊ฐ์ ์ด์ฉํด ์ฐ์ฐ์ ํ ๋ค์ ๋ค๋ฅธ ํ๋์ ๋ ์ง์คํฐ์ ์ ์ฅ์ ํ์ง๋ง, ์ฐ์ฐํ ๊ฐ์ ํ๋๋ ๋ ์ง์คํฐ์์ ๊ฐ์ ธ์ค๊ณ ๋ค๋ฅธ ํ๋๋ ๋ ์ง์คํฐ๊ฐ ์๋๋ผ ์ง์ ๋ ์์์ ๊ฐ์ ์ฌ์ฉํ๋ค. I type ๋ช ๋ น์ด์์ c = a + b์ ๊ฐ์ ์ฐ์ฐ์ ์ํํ๋ค ํ๋ฉด, ์ด ๋ b๋ ๋ ์ง์คํฐ์ ์๋ ์์์ ๊ฐ์ด ๋๋ค. R type ๋ช ๋ น์ด์ ์๋ ์ฝ์์ธ rs์ rt๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉฐ, ์ด๋ ์ฌ์ฉ๋๋ ์์์ ๊ฐ์ immediate(์ค์ฌ์ imm์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์ฆ์๊ฐ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.)๋ก ๋ถ๋ฅธ๋ค. ๊ณ์ฐ์ rt = rs + imm๋ก ํ๋ค.
- J type: ๋ฌด์กฐ๊ฑด ๋ถ๊ธฐ ๋ช ๋ น์ด๋ก, ํน์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ฐ๋ก ์ด๋์ด ํ์ํ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด๋ค. ์ด๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐ์ฐ์ ์ฌ์ฉํ๋ค.
MIPS ๋ช ๋ น์ด ์ฒด๊ณ๋ฅผ ํ์ฅํ ๋ช ๋ น์ด ์ฒด๊ณ๋ก๋ MCU, SmartMIPS, MDMX, MIPS-3D, microMIPS, picoMIPS, MIPS16e๋ฑ์ด ์๋ค.
3.1. 16bit picoMIPS[ํธ์ง]
32bit MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ฅผ ์์๋ณด๊ธฐ์ ์์, 16bit picoMIPS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ช
๋ น์ด ์ฒด๊ณ๋ฅผ ํตํด MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ฅผ ์ดํดํ ํ์๊ฐ ์๋ค. picoMIPS๋ MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ฅผ ๋งค์ฐ ์ถ์ํ๋ค๋ ์๋ฏธ๋ก, ์ ๋์ฌ์ pico๊ฐ ๋ถ๋๋ค. ์ผ๋ถ๋ฅผ ์ถ์ํ microMIPS๋ 32bit/64bit ๋ช
๋ น์ด ์ฒด๊ณ์ด๋ค. 16bit picoMIPS๋ ์ด 16bit์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก 8๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ 3bit๋ก ๋ ์ง์คํฐ ์ฃผ์๋ฅผ ํํํ๊ฒ ๋๋ค. ์์ ๋์์๋ ๋ช
๋ น์ด ํ์
๋ณ๋ก ๊ฐ๊ฐ ์ดํด๋ณด๋ฉด
Rํ์
๋ช
๋ น์ด | ||||
4bit opcode[1] | 3bit rs | 3bit rt | 3bit rd | 3bit funct[2] |
Iํ์
๋ช
๋ น์ด | ||||
4bit opcode | 3bit rs | 3bit rt[3] | 6bit immediate | |
Jํ์
๋ช
๋ น์ด | ||||
4bit opcode | 12bit address | |||
๋ก ์ด๋ฃจ์ด์ง๊ฒ ๋๋ค.
์ด์ ๊ฐ๋จํ 16bit picoMIPS์ ์ฐ์ฐ์ ํ๋ ์ดํด๋ณด๋๋ก ํ์. Rํ์ ๋ช ๋ น์ด๋ก ๋ง์ ์ฐ์ฐ์ ํ๋ค๊ณ ๊ฐ์ ์ ํ์ฌ, 0๋ฒ ๋ ์ง์คํฐ์ ๊ฐ๊ณผ 1๋ฒ ๋ ์ง์คํฐ์ ๊ฐ์ ๋ํด์ 2๋ฒ ๋ ์ง์คํฐ์ ๊ฐ์ ๊ธฐ๋กํ๋ค๊ณ ๊ฐ์ ํ์. ์ดํด๋ฅผ ๋๊ธฐ ์ํด, ๋ชจ๋ ๋ ์ง์คํฐ์ ์์๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํ์๋ค. MIPS ๋ช ๋ น์ด ์ฒด๊ณ์์๋ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ๋ ์ง์คํฐ๊ฐ ์๋ค. ์ด ๋ ๋ง์ ์ฐ์ฐ์ funct ๊ฐ์ด 000์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด
๋ค์์ผ๋ก๋ Iํ์ ๋ช ๋ น์ด์ ์ฐ์ฐ์ ํ๋ ๊ฐ์ ํด๋ณด๋๋ก ํ๊ฒ ๋ค. 3๋ฒ ๋ ์ง์คํฐ์ ์๋ ๊ฐ๊ณผ ์์์ ์ฆ์น๊ฐ 15๋ฅผ ๋ํ ๊ฐ์ 4๋ฒ ๋ ์ง์คํฐ์ ๊ธฐ๋กํ๋ฉฐ, ์ด๋ ๋ง์ ์ opcode๊ฐ 1000์ด๋ฉด
์ด์ ๊ฐ๋จํ 16bit picoMIPS์ ์ฐ์ฐ์ ํ๋ ์ดํด๋ณด๋๋ก ํ์. Rํ์ ๋ช ๋ น์ด๋ก ๋ง์ ์ฐ์ฐ์ ํ๋ค๊ณ ๊ฐ์ ์ ํ์ฌ, 0๋ฒ ๋ ์ง์คํฐ์ ๊ฐ๊ณผ 1๋ฒ ๋ ์ง์คํฐ์ ๊ฐ์ ๋ํด์ 2๋ฒ ๋ ์ง์คํฐ์ ๊ฐ์ ๊ธฐ๋กํ๋ค๊ณ ๊ฐ์ ํ์. ์ดํด๋ฅผ ๋๊ธฐ ์ํด, ๋ชจ๋ ๋ ์ง์คํฐ์ ์์๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํ์๋ค. MIPS ๋ช ๋ น์ด ์ฒด๊ณ์์๋ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ ๋ ์ง์คํฐ๊ฐ ์๋ค. ์ด ๋ ๋ง์ ์ฐ์ฐ์ funct ๊ฐ์ด 000์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด
0000 000 001 010 000
์ ๊ฐ์ด ํํ์ ํ ์ ์๋ค. Rํ์
๋ช
๋ น์ด์ opcode ๊ฐ์ ํญ์ 0์ด๋ฏ๋ก ์์ 4bit๋ 0์ด๋๋ฉฐ, rs, rt, rd์๋ ์ฌ์ฉํ ๋ ์ง์คํฐ์ ๊ฐ์ ๋ฃ์ผ๋ฉฐ, ๋ง์ง๋ง 3bit์๋ ์คํํ ์ฐ์ฐ์ธ ๋ง์
์ funct ๊ฐ์ธ 000์ ๋ฃ๊ฒ ๋๋ค.๋ค์์ผ๋ก๋ Iํ์ ๋ช ๋ น์ด์ ์ฐ์ฐ์ ํ๋ ๊ฐ์ ํด๋ณด๋๋ก ํ๊ฒ ๋ค. 3๋ฒ ๋ ์ง์คํฐ์ ์๋ ๊ฐ๊ณผ ์์์ ์ฆ์น๊ฐ 15๋ฅผ ๋ํ ๊ฐ์ 4๋ฒ ๋ ์ง์คํฐ์ ๊ธฐ๋กํ๋ฉฐ, ์ด๋ ๋ง์ ์ opcode๊ฐ 1000์ด๋ฉด
1000 011 100 001111
์ ๊ฐ์ด ํํ์ ํ ์ ์๋ค. Iํ์
๋ช
๋ น์ด๋ rt์ ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ ๊ธฐ๋ก๋๊ณ , ์ด rt๊ฐ rs์ ์ฆ์น๊ฐ ์ฌ์ด์ ๋ค์ด์จ๋ค.3.2. 32bit MIPS[ํธ์ง]
32bit MIPS ๋ช
๋ น์ด ์ฒด๊ณ๋ 16bit picoMIPS ๋ช
๋ น์ด์ ๋์ผํ๊ฒ Rํ์
๋ช
๋ น์ด, Iํ์
๋ช
๋ น์ด, Jํ์
๋ช
๋ น์ด๋ก ๋๋์ด์ง๋ค. 32bit MIPS๋ ์ด 32bit์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๊ฒ ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก 32๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ 5bit๋ก ๋ ์ง์คํฐ ์ฃผ์๋ฅผ ํํํ๊ฒ ๋๋ค. ๋ช
๋ น์ด ํ์
๋ณ๋ก ๊ฐ๊ฐ ์ดํด๋ณด๋ฉด
Rํ์
๋ช
๋ น์ด | |||||
6bit opcode | 5bit rs | 5bit rt | 5bit rd | 5bit shamt[4] | 6bit funct |
Iํ์
๋ช
๋ น์ด | |||||
6bit opcode | 5bit rs | 5bit rt | 16bit immediate | ||
Jํ์
๋ช
๋ น์ด | |||||
6bit opcode | 26bit address | ||||
๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
4. MIPS ๋ ์ง์คํฐ์ ํธ์ถ ๊ท์ฝ[ํธ์ง]
MIPS ๋ ์ง์คํฐ์ ํธ์ถ ๊ท์ฝ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ O32 ABI์ N64/N32 ABI๋ก ๋๋์ด์ง๋ค. O32 ABI๋ 32bit CPU๋ฅผ ์ํ ๋ ์ง์คํฐ ํธ์ถ ๊ท์ฝ์ด๋ฉฐ, N64/N32 ABI๋ 64bit CPU๋ฅผ ์ํ ๋ ์ง์คํฐ ํธ์ถ ๊ท์ฝ์ด๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ ์ง์คํฐ ํธ์ถ ๊ท์ฝ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ด๋ฆ | ๋ ์ง์คํฐ ๋ฒํธ | ์ฉ๋ |
$zero | $0 | ํญ์ 0์ ์ถ๋ ฅํ๋ ๋ ์ง์คํฐ. ์ด ๋ ์ง์คํฐ์ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค |
$at | $1 | ์์ฌ ๋ช
๋ น์ด(ํน์ ์กฐ๊ฑด ๋ง์กฑ์ ๋ถ๊ธฐ ๋ช
๋ น์ด) ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ํด ์์ฝ๋ ๋ ์ง์คํฐ |
$v0 ~ $v1 | $2 ~ $3 | ํจ์๋ก๋ถํฐ ๋ฐํ๋ ๊ฐ์ ์ ์ฅํ๋ ๋ ์ง์คํฐ |
$a0 ~ $a3 | $4 ~ $7 | ํจ์ ์ธ์ ์ ์ฅ์ฉ ๋ ์ง์คํฐ |
$t0 ~ $t7 | $8 ~ $15 | ์ด์
๋ธ๋ฌ๋ ์ด์
๋ธ๋ฆฌ ์ธ์ด์์ ๊ฐ์ ์์๋ก ์ ์ฅํ ๋ ์ฌ์ฉํ๋ ๋ ์ง์คํฐ |
$s0 ~ $s7 | $16 ~ $23 | ์ค๋ซ๋์ ์ง์๋๋ ๊ฐ์ ์ ์ฅํ ๋ ์ฌ์ฉํ๋ ๋ ์ง์คํฐ |
$t8 ~ $t9 | $24 ~ $25 | ์ด์
๋ธ๋ฌ๋ ์ด์
๋ธ๋ฆฌ ์ธ์ด์์ ๊ฐ์ ์์๋ก ์ ์ฅํ ๋ ์ฌ์ฉํ๋ ๋ ์ง์คํฐ |
$k0 ~ $k1 | $26 ~ $27 | OS ์ปค๋์ ์ํด ์์ฝ๋ ๋ ์ง์คํฐ |
$gp | $28 | ์ ์ญ ํฌ์ธํฐ์ ๊ฐ์ ์ ์ฅํ๋ ๋ ์ง์คํฐ |
$sp | $29 | ์คํ ํฌ์ธํฐ์ ๊ฐ์ ์ ์ฅํ๋ ๋ ์ง์คํฐ |
$fp | $30 | ํ๋ ์ ํฌ์ธํฐ์ ๊ฐ์ ์ ์ฅํ๋ ๋ ์ง์คํฐ |
$ra | $31 | ์ฃผ์ ๋ฐํ๊ฐ์ ์ ์ฅํ๋ ๋ ์ง์คํฐ |
5. CPU ๋ชฉ๋ก[ํธ์ง]
์ํค๋ฐฑ๊ณผ ๋ฌธ์ ์ฐธ๊ณ
VR๋ก ์์ํ๋ ๊ฒ์ NEC์์ ๋ง๋ ์ปค์คํ ์นฉ์ด๊ณ , TX๋ก ์์ํ๋ ๊ฒ์ ๋์๋ฐ์์ ๋ง๋ ์ปค์คํ ์นฉ์ด๋ค.
VR๋ก ์์ํ๋ ๊ฒ์ NEC์์ ๋ง๋ ์ปค์คํ ์นฉ์ด๊ณ , TX๋ก ์์ํ๋ ๊ฒ์ ๋์๋ฐ์์ ๋ง๋ ์ปค์คํ ์นฉ์ด๋ค.
5.1. 32๋นํธ[ํธ์ง]
- R3000 (1988๋ 6์)
- ์๋ NEWS
- R3000A
- ๋จ์ฝ SYSTEM 2X6 ์๋ฆฌ์ฆ (I/O ํ๋ก์ธ์)
- ํ๋ ์ด์คํ ์ด์ 2 (I/O ํ๋ก์ธ์, ํธํ์ฉ)
5.2. 64๋นํธ[ํธ์ง]
- R4000 (1991๋ 10์ 1์ผ)
- ์๋ NEWS
- VR4000
- R4200
- VR4200 (1993๋ 80 MHz, 1994๋ 100 MHz)
- R4300i (MIT, 1995๋ 4์ 17์ผ, ์๋ฒ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ)
- VR4300
- Seta Aleck 64
- VR4305, VR4310 (1998๋ 1์ 20์ผ)
- TX4300
- R5000
- VR5000
- R5900
- ํ๋ ์ด์คํ ์ด์ 3 (์ด๊ธฐํ, ํธํ์ฉ, PAL ๋ฒ์ ์ ์ธ)
6. ๊ธฐํ[ํธ์ง]
CPU์ ์ฑ๋ฅ์ ๋ํ๋ด๋ ์งํ์ธ MIPS์๋ ๋ค๋ฅด๋ค. CPU๊ฐ ๋ช
๋ น์ ์ํํ๋ ์๋์ ๋จ์๋ IPS(์ด๋น ๋ช
๋ น ์ : Instructions Per Second)๋ผ๊ณ ํ๋ค. 1์ด์ ๋ช
๋ น์ด 1000๊ฐ๋ฅผ ์ํํ๋ฉด kIPS(kilo), 1๋ฐฑ๋ง ๊ฐ์ด๋ฉด MIPS(Mega), 10์ต ๊ฐ์ด๋ฉด GIPS(Giga)์ ๊ฐ์ ์์ด๋ค. ๊ฐ๊ฐ 'ํต์ค', '๋ฐ์ค', '๊น์ค'๋ผ๊ณ ์ฝ๋๋ค. SISD์์๋ ์ด๋น ๋ช
๋ น ์ํ ๊ฐ์๊ฐ ์ค์ํ์ผ๋, CPU๊ฐ ๋ฐ์ ํ๊ณ , ๋จ์ํ ์ํ ๋ช
๋ น ์๋ณด๋ค๋ ์ค์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋์ด ์ค์ํด์ง๋ฉด์ IPS๋ณด๋ค๋ FLOPS(์ด๋น ๋ถ๋์์์ ์ฐ์ฐ ์, FLoating point Operations per Second)๊ฐ ๋ ์ค์ํ ์งํ๋ก ๋ ์ค๋ฅด๊ฒ ๋์๋ค. ์ํผ์ปดํจํฐ์ ์ฑ๋ฅ์ ๋ณดํต FLOPS๋ก ํํํ๋ค. ์๋ฅผ ๋ค์ด ์ค๊ตญ์ ์ํผ์ปดํจํฐ ็ฅๅจๅคชๆนไนๅ
(Sunway TaihuLight)์ ์ฑ๋ฅ์ 93PetaFLOPS์ด๋ค.
Bochs์ IPS๊ฐ์ด ์ด๊ฒ์ด๋ค. CPU์ ๋ง๋ IPS๊ฐ์ ์ํค๋ฐฑ๊ณผ๋ Gamepedia๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค.
์ด์ธ๋ก ๊ณ ๊ธ ์์ ๊ฑฐ ํฌ๋ฉง์ ๋น ๋ฅด๊ฒ ์ฑ์ฉ๋๊ณ ์๋ ๋จธ๋ฆฌ ๋ณดํธ ์ฅ์น์ธ Mips๊ฐ ์๋ค.
Bochs์ IPS๊ฐ์ด ์ด๊ฒ์ด๋ค. CPU์ ๋ง๋ IPS๊ฐ์ ์ํค๋ฐฑ๊ณผ๋ Gamepedia๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค.
์ด์ธ๋ก ๊ณ ๊ธ ์์ ๊ฑฐ ํฌ๋ฉง์ ๋น ๋ฅด๊ฒ ์ฑ์ฉ๋๊ณ ์๋ ๋จธ๋ฆฌ ๋ณดํธ ์ฅ์น์ธ Mips๊ฐ ์๋ค.
[1] 0000
[2] ๋ช
๋ น์ด๊ฐ ์คํํ ์ฐ์ฐ์ ์ข
๋ฅ๋ opcode์์ ์ ์๊ฐ ๋์ด์๋ ์ํ์ด์ง๋ง, ์ด ๊ฒฝ์ฐ opcode ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ์ฐ์ฐ์ ์ข
๋ฅ๋ฅผ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. ์ด๊ฒ์ ๋ํ ํด๊ฒฐ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด function(์ด๋ฅผ ์ค์ฌ์ funct๋ผ๊ณ ํ๋ค.) ์ฝ๋๊ฐ์ด๋ค. opcode์ ๊ฐ์ด ์ ๋ถ 0์ผ๋ก ์ฑ์์ ธ ์์ผ๋ฉด, ํด๋น ๋ช
๋ น์ด์ ํ์
์ ๋ฌด์กฐ๊ฑด Rํ์
์ผ๋ก ์ธ์์ ์ํค๊ฒ ํ ๋ค์, funct๊ฐ์ ํ์ธํด์ ์ฐ์ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ํ๊ฒ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํตํด ์ ํ๋ ๋นํธ ์์์ ์ต๋ํ ๋ง์ ์ข
๋ฅ์ ์ฐ์ฐ์ ํ ์ ์๊ฒ ๋๋ค.
[3] ์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ๋๋ ๊ฒ์ด ํ๋ ์๋๋ฐ, Rํ์
๋ช
๋ น์ด๋ ์์ ์๋ ๋๊ฐ์ ๋ ์ง์คํฐ ๊ฐ์ ์ด์ฉํด ๋ค์ ์๋ rd์ ์ ์ฅ์ ํ๊ฒ ๋์ง๋ง, Iํ์
๋ช
๋ น์ด์์๋ ๊ฐ์ด๋ฐ์ ์๋ rt์ ์ ์ฅ์ ํ๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค.
[4] shift amout์ ์ฝ์. ๋นํธ ์ํํธ ์ฐ์ฐ์ฉ์ด๋ค.