์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
1. ๋ฏธํฌ๋กœ๋„ค์‹œ์•„ ์—ฐ๋ฐฉ (Federated States of Micronesia) ์˜ ๊ตญ๊ฐ€ ์ฝ”๋“œ2. ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ์ŠคํŒŒ๊ฒŒํ‹ฐ ๊ดด๋ฌผ (Flying Spaghetti Monster) ์˜ ์ค„์ž„๋ง3. ์ž์œ  ์–ธ๋ก  ์šด๋™ (Free Speech Movement)4. ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„ (Finite State Machine)

1. ๋ฏธํฌ๋กœ๋„ค์‹œ์•„ ์—ฐ๋ฐฉ (Federated States of Micronesia) ์˜ ๊ตญ๊ฐ€ ์ฝ”๋“œ[ํŽธ์ง‘]

2. ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ์ŠคํŒŒ๊ฒŒํ‹ฐ ๊ดด๋ฌผ (Flying Spaghetti Monster) ์˜ ์ค„์ž„๋ง[ํŽธ์ง‘]

3. ์ž์œ  ์–ธ๋ก  ์šด๋™ (Free Speech Movement)[ํŽธ์ง‘]

๋ฏธ๊ตญ UC ๋ฒ„ํด๋ฆฌ์—์„œ ์‹œ์ž‘๋œ ์–ธ๋ก ์˜ ์ž์œ  ์šด๋™. ๋ฒ ํŠธ๋‚จ์ „ ๋‹น์‹œ ์–ธ๋ก ๊ณผ speech์— ๋Œ€ํ•œ ํ†ต์ œ์— ๋Œ€ํ•œ ๋ฐ˜๋ฐœ๋กœ, Mario Savio์˜ ์ฃผ๋„๋กœ ์ด๋ฃจ์–ด์กŒ๋‹ค. ํ˜„์žฌ UC ๋ฒ„ํด๋ฆฌ์—์„œ๋Š” ์ด ์ผ์„ ๊ธฐ๋…ํ•˜๋Š” ๊นŒํŽ˜๊ฐ€ ๋„์„œ๊ด€ ๋‚ด์— ์žˆ๋‹ค.

4. ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„ (Finite State Machine)[ํŽธ์ง‘]

์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•  ๋•Œ ์“ฐ์ด๋Š” ๋ชจ๋ธ์ด๋‹ค. ์ปดํ“จํ„ฐ ๋‚ด์— ์œ ํ•œํ•œ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋Š” ๊ธฐ๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ , ์ปดํ“จํ„ฐ๋Š” ์˜ค๋กœ์ง€ ํ•˜๋‚˜์˜ ์ƒํƒœ๋งŒ ๊ฐ–๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ ์ƒํƒœ๋ณ„ ๋™์ž‘๊ณผ ์ƒํƒœ๋ผ๋ฆฌ์˜ ์ „์ด์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์„ค๊ณ„ํ•˜๊ฒŒ ๋œ๋‹ค.

์š”์ปจ๋ฐ, ์ˆœ์„œ๋„์™€ ๋น„์Šทํ•œ ๊ฒƒ์ด๋ฉฐ, ๊ณต๋Œ€๋ฅผ ๊ฐ€๊ฒŒ๋˜๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ์จ๋จน๊ฒŒ ๋œ๋‹ค. Moore FSM๊ณผ Mealy FSM์ด ์žˆ์œผ๋ฉฐ, ๋ฐ€๋ฆฌ FSM์€ ์ƒํƒœ(state)์™€ ์ž…๋ ฅ์— ๋”ฐ๋ผ ์ˆœ์„œ๊ฐ€ ๊ฒฐ์ •๋˜๊ณ , ๋ฌด์–ด FSM์€ ์ƒํƒœ์—๋งŒ ๋”ฐ๋ผ ์ˆœ์„œ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.
๋Œ€๊ฒŒ, ์‹œ์Šคํ…œ์ด ๋ณต์žกํ•ด์ง€๋ฉด ๋ณต์žกํ•ด์งˆ ์ˆ˜๋ก ๋ฐ€๋ฆฌ ์ชฝ์€ ์‹ ๊ฒฝ ์จ์•ผํ•  ๊ฒƒ๋„ ๋งŽ์•„์ง€๊ณ  ๊ฐ๋‹นํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฌด์–ด FSM์„ ์‚ฌ์šฉํ•œ๋‹ค.

MIPS๋กœ ๋งŒ๋“  ๋ฉ€ํ‹ฐ ์‚ฌ์ดํด CPU๋ฅผ ์˜ˆ๋กœ ์„ค๋ช…ํ•œ๋‹ค๋ฉด, Fetch(๋ช…๋ น์–ด ์ฝ๊ธฐ), decode(๋ช…๋ น์–ด ํ•ด์„), execute(๋ช…๋ น์–ด ์‹คํ–‰), memory access(๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ), writeback(์“ฐ๊ธฐ)์ด ์žˆ๋Š”๋ฐ ๊ฐ๊ฐ์˜ ๋™์ž‘ ๋ฐฉ์‹์€ CPU/๊ตฌ์กฐ์™€ ์›๋ฆฌ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ๋กœ ํ•˜์ž.

1. ์šฐ์„ , MIPS๋กœ ์ฃผ์–ด์ง„ ๋ช…๋ น์–ด๊ฐ€ Fetch๋กœ ๋“ค์–ด๊ฐ€์„œ ์ฃผ์–ด์ง„ ๋ช…๋ น์„ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ๋™์‹œ์— PC+4์—ฐ์‚ฐ์„ ํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.(Fetch)

2. ๊ฐ€์ ธ์˜จ ๋ช…๋ น์„ ํ•ด์„ ํ•ด์•ผํ•˜๋Š” ์ƒํƒœ๋ผ ALU๊ฐ€ ํ•  ์ผ์ด ์—†์œผ๋‹ˆ ํ˜น์‹œ๋ชจ๋ฅผ branch(๋ถ„๊ธฐ)๋ช…๋ น์–ด์— ๋Œ€๋น„ํ•ด ๋ ˆ์ง€์Šคํ„ฐ์˜ [15:0]๋ฅผ shift-left 2ํ•ด์„œ pc์™€ ๋”ํ•ด๋†“๋Š”๋‹ค.(decode)

3-1. ํ•ด์„ ๊ฒฐ๊ณผ Rํƒ€์ž…์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด rs์™€ rt์—ฐ์‚ฐ์„ ํ•œ๋‹ค. ๊ทธ ํ›„ 4-1๋กœ ๊ฐ„๋‹ค.(execute)

3-2. ํ•ด์„ ๊ฒฐ๊ณผ j๋ช…๋ น์–ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ช…๋ นํ•˜๋Š” ๋Œ€๋กœ ์ ํ”„๋ฅผ ํ•˜๊ณ  1๋กœ ๋Œ์•„๊ฐ€์„œ ๋‹ค์Œ ๋ช…๋ น์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค..(execute)

3-3. ํ•ด์„ ๊ฒฐ๊ณผ load๋‹ค. rs์™€ [15:0]๊ฐ’์„ 32bit๋กœ ํ™•์žฅ์‹œํ‚จ ๊ฒƒ์„ ๋”ํ•˜๊ณ  4-2๋กœ ๊ฐ„๋‹ค.(execute)

4-1. rs์™€ rt์˜ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ rd์— ์“ด๋‹ค. ๊ทธ ํ›„ 1๋กœ ๋Œ์•„๊ฐ€์„œ ๋‹ค์Œ ๋ช…๋ น์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค(Writeback)

4-2 rs์™€ [15:0]ํ™•์žฅ์‹œ์ผœ ๋‚˜์˜จ ์ฃผ์†Œ๊ฐ’์— ์žˆ๋Š” ๊ฒƒ์„ ์ฝ์–ด๋‚ด๊ณ  5๋กœ ๊ฐ„๋‹ค.(memory access)

5 ์ฝ์–ด๋‚ธ ๊ฐ’์„ rt์— ์ง‘์–ด๋„ฃ๊ณ  1๋กœ ๋Œ์•„๊ฐ„๋‹ค(Writeback)

์‹ค์ œ๋กœ๋Š” ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š” ๋งŒํผ ๋” ๋ณต์žกํ•ด์ง€์ง€๋งŒ ์ผ๋‹จ ์ด๋Ÿฐ ๋ช…๋ น์–ด๋“ค์„ ๊ฐ๊ฐ์˜ ์ƒํƒœ, ๋ ˆ์ง€์Šคํ„ฐ์˜ ์“ฐ๊ธฐ๊ถŒํ•œ์„ ํ‚ค๋А๋ƒ, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋А๋ƒ, ์ ํ”„๋ฅผ ํ•˜๊ฒŒํ•˜๋А๋ƒ, ๊ฐ™์€ ์ƒํƒœ๊ฐ’์„ ํ‘œํ˜„ํ•œ ์ˆœ์„œ๋„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋А๋‚Œ์ด๋‹ค. ์ด ์ชฝ์€ ์ˆœ์„œ๋„์™€๋Š” ๋‹ค๋ฅด๊ฒŒ Start๋Š” ์žˆ์–ด๋„ End๋Š” ์—†์ง€๋งŒ.