ARM = Advanced RISC Machine = ์ง๋ณด๋ RISC์ ๊ธฐ๊ธฐ
RISC (Reduced Instruction Set Computer) ํ๋ก์ธ์๋ ?
- CISC์์ ๊ฐ๋ตํ ๋ ์์์ ๋ช ๋ น์ด๋ค๋ง ์ง์ํ๋ ์๋ก์ด CPU ๊ตฌ์กฐ์ ๋์
- ๊ณ ์ ๋ ๊ธธ์ด์ ๋ช ๋ น์ด์ ์ ํ๋ ๊ฐ์์ ๋ช ๋ น์ด๋ฅผ ์ง์ํด ๋จ์ํ ๋ช ๋ น์ด๋ฅผ ๋น ๋ฅด๊ฒ ์ํํ๋ ๊ตฌ์กฐ
- ๋ง์ ์์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ค์ด๊ณ , ์ฃผ๊ธฐ์ต์ฅ์น ์ ๊ทผ์ ์ต์ํํ๋ ๊ตฌ์กฐ
๊ตฌ๋ถ | RISC | CISC |
---|---|---|
๋ช ๋ น์ด ํ์ | ๊ณ ์ | ๊ฐ๋ณ |
๋ช ๋ น์ด ์ข ๋ฅ | ์ ์ | ๋ง์ |
๋ช ๋ น์ด ๊ธธ์ด | ๊ณ ์ | ๊ฐ๋ณ |
์ ์ฌ/์ ์ฅ ๊ตฌ์กฐ | ์ฌ์ฉ | ๋ฏธ์ฌ์ฉ |
์ฃผ์ ์ง์ ๋ฐฉ์ | ๋จ์ํ๊ณ ์์ | ๋ณต์กํ๊ณ ๋ค์ |
ํ๋ก ๊ตฌ์ฑ | ๋จ์ | ๋ณต์ก |
์ฅ์ | ๊ตฌํ์ฉ์ด, ํ์ดํ๋ผ์ด๋์ ํจ์จ์ ์ ์ฉ | ํธํ์ฑ ์ํธ, ์ฝ๋ ๋ฐ๋ ์ํธ |
์ | ARM, PowerPC, MIPS | Intel x86, DEC VAX 11/780 |
1983๋ Arcon์ฌ์์ Berkley RISC-I๋ฅผ ๋ณํํ์ฌ ARM CPU ๊ฐ๋ฐ
์ฑ๋ฅ ๋ณด๋ค๋ ์ ์ด ๋ฑ์ ์ฐ์ ์ฉ ํน์ฑ์ ๋ง๊ฒ ์๋์ ๋น์ฉ์ ์ค์ํ๋ ๋ณํ๋ RISC ๊ตฌ์กฐ (Exception ์ฒ๋ฆฌ ๊ฐํ, ์ํํ, ์ง์ ํ, ์ ์ ๋ ฅํ์ ์ง์ค)
ARM์ Core๋ถ๋ถ๋ง ๊ฐ๋ฐ, ์์ฐ์ ํ์๋ก ํ๋ ์ ์ฒด๊ฐ ์์ ๋ค์ด ํ์๋ก ํ๋ ์ฃผ๋ณ์ฅ์น ํ๋ก๋ค์ ๋ด์ฅ์์ผ 1-chip ํํ์ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฐ
๋จ์ํ ์ค๊ณ๋ฅผ ํตํ ์ฝ์ด ์ต์ํ, ์ ์ ๋ ฅ์ฉ ๊ตฌ์กฐ โ Embedded System์ ์ต์ ํ
๋จ์์ฑ์ด ๊ฐ์กฐ๋ ๋ณํ๋ RISC ๊ตฌ์กฐ
-๊ฐ๋ณ Cycle ๋ช
๋ น์ด ์กด์ฌ(๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ์ก), Register Window๋ฅผ ์ค์ธ Shadow Register์ฌ์ฉ ๋ฑ
ํ์ ๋ช ๋ น์ด ๊ตฌ์กฐ๋ฅผ ์ ์งํ๋ฉด์ ๋ฐ์ (ISA)
Pipeline
์ฃผ์ ๊ณต๊ฐ (์ฃผ์ 32๋นํธ, Memory-mapped I/O, ๋ค์ํ Addressing ๋ชจ๋)
๋ ์ง์คํฐ ๊ตฌ์ฑ (๋ฒ์ฉ ๋ ์ง์คํฐ 30๊ฐ, PC 1๊ฐ, CPSR 1๊ฐ, SPSR 1๊ฐ, Load-Store ๊ตฌ์กฐ)
ํ๋ก์ธ์ ๋ด๋ถ์ ํ๋์จ์ด ๋๋ฒ๊ทธ ๊ธฐ์ ํฌํจ
ARM ์ํคํ ์ฒ : ๋ช ๋ น์ด, ๋ ์ง์คํฐ ๊ตฌ์กฐ, ์ฒ๋ฆฌ๋๋ ๋ฐ์ดํฐ ํฌ๊ธฐ ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ๊ตฌ์ฑ ๋ฐ ๋์ ์๋ฆฌ
ARM ์ฝ์ด : ARM ์ํคํ ์ฒ์ ๊ธฐ๋ณธ์๋ฆฌ๋ฅผ ์ด์ฉํด ๋ง๋ ํ๋ก์ธ์ ์ฝ์ด
ARM ํ๋ก์ธ์ : ARM ์ฝ์ด์ ์ฃผ๋ณํ๋ก๋ฅผ ํฌํจํ๋ ๋ ๋ฆฝ๋ ํํ, ๊ฐ ๋ฐ๋์ฒด ์ ์ฒด๋ง๋ค ์์ฐํ๋ SoC
ARM ๋ช ๋ น์ด ๋ถ๋ฅ
์ฐ์ ๋ช ๋ น์ด, ๋ ผ๋ฆฌ ๋ช ๋ น์ด, ์ํํธ ๋ช ๋ น์ด, ๋น๊ต ๋ช ๋ น์ด, ์ด๋ ๋ช ๋ น์ด, Load/Store ๋ช ๋ น์ด, ๋ถ๊ธฐ ๋ช ๋ น์ด
ARM ๋ช ๋ น์ด ์์
๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ช
๋ น ํํ OP-code Rd,Rn,Rx
Load/Store ๋ช
๋ น ํํ (LDR, STR ๋ช
๋ น์ด) OP-code Rd,[Rn,Rx]
ARM ๋ช ๋ น์ด ์ฒ๋ฆฌ ๊ณผ์
FETCH โ DECODE(Reg Select, Reg Read) โ EXECUTE(Shift, ALU์ฐ์ฐ) โ Memory โ Write(Register Write)
ARM ๋ชจ๋ (32bit) ์์ธ ๋ช ๋ น์ด ํ์
๋ช ๋ น์ด 32๋นํธ ๊ตฌ์ฑ
โ Condition(4) + Opcode(8) + Destinaiton(4) + Source1(4) + Source2(12)
์กฐ๊ฑด๋ถ ์คํ์ ํตํด ๋ถ๊ธฐ ๋ช ๋ น์ ๋ฐฐ์ ํด์ ํ์ดํ๋ผ์ธ ๊ธฐ๋ฅ์ ์ต๋ํ ํ๋ค
~~> ๋ช ๋ น์ด๊ฐ ์ค๊ณ , CODE ์ถ์ ํจ๊ณผ์ ํ์ดํ๋ผ์ธ ๊ธฐ๋ฅ์ ์ต๋ํ ์ํฌ ์ ์๋ค.