์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
1. ๊ฐœ์š”2. MIPS์˜ ์—ญ์‚ฌ3. MIPS ๋ช…๋ น์–ด ์ฒด๊ณ„
3.1. 16bit picoMIPS3.2. 32bit MIPS
4. MIPS ๋ ˆ์ง€์Šคํ„ฐ์˜ ํ˜ธ์ถœ ๊ทœ์•ฝ5. CPU ๋ชฉ๋ก
5.1. 32๋น„ํŠธ5.2. 64๋น„ํŠธ
6. ๊ธฐํƒ€

1. ๊ฐœ์š”[ํŽธ์ง‘]

MIPS(Microprocessor without Interlocked Pipeline Stages)๋ž€ MIPS Technologies์—์„œ ๊ฐœ๋ฐœํ•œ RISC ๊ณ„์—ด์˜ ๋ช…๋ น์–ด ์ง‘ํ•ฉ ์ฒด๊ณ„์ด๋‹ค.

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 ์Šคํƒ€ํŠธ์—… ๊ธฐ์—…์ธ ์›จ์ด๋ธŒ ์ปดํ“จํŒ…์ด ์‚ฌ๋ชจ ํˆฌ์ž ๊ธฐ์—…์—๊ฒŒ์„œ ์‚ฌ๋“ค์—ฌ ์žํšŒ์‚ฌ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

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์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉด


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๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ๋„์‹œ๋ฐ”์—์„œ ๋งŒ๋“  ์ปค์Šคํ…€ ์นฉ์ด๋‹ค.

5.1. 32๋น„ํŠธ[ํŽธ์ง‘]

5.2. 64๋น„ํŠธ[ํŽธ์ง‘]

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๊ฐ€ ์žˆ๋‹ค.
[1] 0000
[2] ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰ํ•  ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜๋Š” opcode์—์„œ ์ •์˜๊ฐ€ ๋˜์–ด์žˆ๋Š” ์ƒํƒœ์ด์ง€๋งŒ, ์ด ๊ฒฝ์šฐ opcode ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•œ ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด function(์ด๋ฅผ ์ค„์—ฌ์„œ funct๋ผ๊ณ  ํ•œ๋‹ค.) ์ฝ”๋“œ๊ฐ’์ด๋‹ค. opcode์˜ ๊ฐ’์ด ์ „๋ถ€ 0์œผ๋กœ ์ฑ„์›Œ์ ธ ์žˆ์œผ๋ฉด, ํ•ด๋‹น ๋ช…๋ น์–ด์˜ ํƒ€์ž…์„ ๋ฌด์กฐ๊ฑด Rํƒ€์ž…์œผ๋กœ ์ธ์‹์„ ์‹œํ‚ค๊ฒŒ ํ•œ ๋‹ค์Œ, funct๊ฐ’์„ ํ™•์ธํ•ด์„œ ์—ฐ์‚ฐ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ์ œํ•œ๋œ ๋น„ํŠธ ์•ˆ์—์„œ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ข…๋ฅ˜์˜ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
[3] ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผ ๋˜๋Š” ๊ฒƒ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ, Rํƒ€์ž… ๋ช…๋ น์–ด๋Š” ์•ž์— ์žˆ๋Š” ๋‘๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ์ด์šฉํ•ด ๋’ค์— ์žˆ๋Š” rd์— ์ €์žฅ์„ ํ•˜๊ฒŒ ๋˜์ง€๋งŒ, Iํƒ€์ž… ๋ช…๋ น์–ด์—์„œ๋Š” ๊ฐ€์šด๋ฐ์— ์žˆ๋Š” rt์— ์ €์žฅ์„ ํ•˜๊ฒŒ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
[4] shift amout์˜ ์•ฝ์ž. ๋น„ํŠธ ์‹œํ”„ํŠธ ์—ฐ์‚ฐ์šฉ์ด๋‹ค.