VLSI Wiki
Contents:
  1. ARM Cortex-A Series
    1. 1. Definition: What is ARM Cortex-A Series?
    2. 2. Components and Operating Principles
      1. 2.1 CPU Core
      2. 2.2 Memory Management Unit (MMU)
      3. 2.3 Cache System
      4. 2.4 System Control Unit (SCU)
      5. 2.5 Graphics Processing Unit (GPU)
    3. 3. Related Technologies and Comparison
      1. 3.1 Comparison with x86 Architecture
      2. 3.2 Comparison with ARM Cortex-M Series
      3. 3.3 Real-world Examples
    4. 4. References
    5. 5. One-line Summary

ARM Cortex-A Series

1. Definition: What is ARM Cortex-A Series?

ARM Cortex-A Series๋Š” ARM Holdings์—์„œ ์„ค๊ณ„ํ•œ ๊ณ ์„ฑ๋Šฅ, ์ €์ „๋ ฅ ํ”„๋กœ์„ธ์„œ ์•„ํ‚คํ…์ฒ˜์˜ ์ง‘ํ•ฉ์œผ๋กœ, ์ฃผ๋กœ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์™€ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ๋Š” ์Šค๋งˆํŠธํฐ, ํƒœ๋ธ”๋ฆฟ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ IoT(Internet of Things) ์žฅ์น˜์—์„œ ๋„๋ฆฌ ์ฑ„ํƒ๋˜์–ด ์žˆ์œผ๋ฉฐ, ARM ์•„ํ‚คํ…์ฒ˜์˜ ํŠน์ง•์ธ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ๊ณผ ๋†’์€ ์„ฑ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ์ฃผ๋กœ Application Processor๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ, ์ด๋Š” ๊ณ ๊ธ‰ ์šด์˜ ์ฒด์ œ์™€ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์„œ๋Š” SIMD(Single Instruction, Multiple Data) ๋ฐ NEON ๊ธฐ์ˆ ์„ ํฌํ•จํ•˜์—ฌ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ์ˆ ์ธ MMU(Memory Management Unit)๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Cortex-A ์‹œ๋ฆฌ์ฆˆ์˜ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ์€ ์„ฑ๋Šฅ, ์ „๋ ฅ ์†Œ๋น„, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๊ฒฉ ์ธก๋ฉด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์‹œ๋ฆฌ์ฆˆ๋Š” ARMv7 ๋ฐ ARMv8 ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๊ฐ๊ฐ 32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ARM Cortex-A ํ”„๋กœ์„ธ์„œ๋Š” ๋˜ํ•œ ๊ณ ๊ธ‰ ํŒŒ์ดํ”„๋ผ์ด๋‹ ๊ธฐ์ˆ ๊ณผ ํ•จ๊ป˜ Out-of-Order Execution์„ ์ง€์›ํ•˜์—ฌ ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ , ๋†’์€ Clock Frequency๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ ๋•๋ถ„์— ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ๋ชจ๋ฐ”์ผ ์ปดํ“จํŒ…์˜ ํ•ต์‹ฌ ์š”์†Œ๋กœ ์ž๋ฆฌ ์žก๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์‚ฐ์—… ๋ถ„์•ผ์—์„œ ํ˜์‹ ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2. Components and Operating Principles

ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ด๋“ค ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

2.1 CPU Core

ARM Cortex-A ํ”„๋กœ์„ธ์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU Core๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ Core๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” Cortex-A5, Cortex-A7, Cortex-A9, Cortex-A15, Cortex-A53, Cortex-A55, Cortex-A72, Cortex-A76, Cortex-A77, Cortex-A78, Cortex-X1 ๋“ฑ์˜ ๋‹ค์–‘ํ•œ Core๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค Core๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์„ฑ๋Šฅ ๋ ˆ๋ฒจ๊ณผ ์ „๋ ฅ ์†Œ๋น„ ํŠน์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ๋ฉ€ํ‹ฐ์ฝ”์–ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

2.2 Memory Management Unit (MMU)

MMU๋Š” ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ, ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šด์˜ ์ฒด์ œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ์™€ ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

2.3 Cache System

ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” L1, L2, ๊ทธ๋ฆฌ๊ณ  ๊ฒฝ์šฐ์— ๋”ฐ๋ผ L3 Cache๋ฅผ ํฌํ•จํ•˜๋Š” ๋‹ค๋‹จ๊ณ„ ์บ์‹œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. L1 Cache๋Š” CPU Core์— ๋งค์šฐ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ์žˆ์–ด ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, L2 Cache๋Š” ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์บ์‹œ ์‹œ์Šคํ…œ์€ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ , ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

2.4 System Control Unit (SCU)

SCU๋Š” ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ”„๋กœ์„ธ์„œ์—์„œ Core ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ Core๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์ž‘์—…์„ ๋ถ„๋ฐฐํ•˜๊ณ , ์ž์›์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

2.5 Graphics Processing Unit (GPU)

์ผ๋ถ€ ARM Cortex-A ํ”„๋กœ์„ธ์„œ๋Š” GPU์™€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์–ด, ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ ๋ฐ ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ARM์˜ Mali GPU์™€ ๊ฐ™์€ ์•„ํ‚คํ…์ฒ˜๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ ๋ชจ๋‘ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์—ฌ ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ๊ณ ์„ฑ๋Šฅ, ์ €์ „๋ ฅ์˜ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์„œ ์•„ํ‚คํ…์ฒ˜์™€ ๋น„๊ตํ•  ๋•Œ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š”ํ•œ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3.1 Comparison with x86 Architecture

x86 ์•„ํ‚คํ…์ฒ˜์™€ ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋น„๊ตํ•  ๋•Œ, ARM์€ ์ €์ „๋ ฅ ์†Œ๋น„์™€ ๋†’์€ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์œผ๋กœ ๋‘๋“œ๋Ÿฌ์ง‘๋‹ˆ๋‹ค. ARM ํ”„๋กœ์„ธ์„œ๋Š” ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ๋ฐฐํ„ฐ๋ฆฌ ์ˆ˜๋ช…์„ ์—ฐ์žฅํ•˜๋Š” ๋ฐ ์œ ๋ฆฌํ•˜๋ฉฐ, ์ด๋Š” ์Šค๋งˆํŠธํฐ ๋ฐ ํƒœ๋ธ”๋ฆฟ๊ณผ ๊ฐ™์€ ์žฅ์น˜์—์„œ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, x86 ์•„ํ‚คํ…์ฒ˜๋Š” ๋ฐ์Šคํฌํƒ‘ ๋ฐ ์„œ๋ฒ„ ์‹œ์žฅ์—์„œ ๋†’์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3.2 Comparison with ARM Cortex-M Series

ARM Cortex-M ์‹œ๋ฆฌ์ฆˆ๋Š” ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ €์ „๋ ฅ ํ”„๋กœ์„ธ์„œ๋กœ, Cortex-A ์‹œ๋ฆฌ์ฆˆ์™€๋Š” ๋‹ค๋ฅธ ์šฉ๋„๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Cortex-M ํ”„๋กœ์„ธ์„œ๋Š” ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์™€ ๋‚ฎ์€ ์ „๋ ฅ ์†Œ๋น„์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์„ ํƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

3.3 Real-world Examples

์‹ค์ œ ์‚ฌ๋ก€๋กœ๋Š” Apple์˜ A ์‹œ๋ฆฌ์ฆˆ ์นฉ, Qualcomm์˜ Snapdragon ํ”„๋กœ์„ธ์„œ, ๊ทธ๋ฆฌ๊ณ  Samsung์˜ Exynos ํ”„๋กœ์„ธ์„œ๊ฐ€ ARM Cortex-A ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค ํ”„๋กœ์„ธ์„œ๋Š” ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ๋†’์€ ์„ฑ๋Šฅ๊ณผ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ๋น„๊ต๋ฅผ ํ†ตํ•ด ARM Cortex-A ์‹œ๋ฆฌ์ฆˆ๋Š” ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ๊ทธ ์žฅ์ ์„ ๋ฐœํœ˜ํ•˜๋ฉฐ, ๊ธฐ์ˆ ์  ํ˜์‹ ์„ ์„ ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

4. References

  • ARM Holdings
  • IEEE Computer Society
  • International Solid-State Circuits Conference (ISSCC)
  • ACM Transactions on Embedded Computing Systems (TECS)

5. One-line Summary

ARM Cortex-A Series๋Š” ๋ชจ๋ฐ”์ผ ๋ฐ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ๊ณ ์„ฑ๋Šฅ, ์ €์ „๋ ฅ ํ”„๋กœ์„ธ์„œ ์•„ํ‚คํ…์ฒ˜๋กœ, ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ˜์‹ ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.