PLATINUM
PLATINUM ๋“ฑ๊ธ‰์˜ ํŒ๋งค์ž ์ž๋ฃŒ

์„œ๊ฐ•๋Œฟ’ํ•™๊ป“ 23๋…„๋„ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‘์šฉ์‹คํ—˜ 5์ฃผ์ฐจ Lab05 ๊ฒฐ๊ณผ๋ ˆํฌํŠธ (A+์ž๋ฃŒ)

"์„œ๊ฐ•๋Œฟ’ํ•™๊ป“ 23๋…„๋„ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‘์šฉ์‹คํ—˜(๋งˆํ”„์‹ค) 5์ฃผ์ฐจ(Lab05) ๊ฒฐ๊ณผ๋ ˆํฌํŠธ (A+์ž๋ฃŒ)"์ž…๋‹ˆ๋‹ค
31 ํŽ˜์ด์งฟ’
์›Œ๋“œ
์ตœ์ดˆ๋“ฑ๋ก์ผ 2024.03.24 ์ตœ์ข…์ ฟ’์ž‘์ผ 2023.04
31P ๋ฏธ๋้ฉ๋ณด๊ธฐ
์„œ๊ฐ•๋Œฟ’ํ•™๊ป“ 23๋…„๋„ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‘์šฉ์‹คํ—˜ 5์ฃผ์ฐจ Lab05 ๊ฒฐ๊ณผ๋ ˆํฌํŠธ (A+์ž๋ฃŒ)
  • ๋ฏธ๋้ฉ๋ณด๊ธฐ

    ์†Œ๊ฐœ

    "์„œ๊ฐ•๋Œฟ’ํ•™๊ป“ 23๋…„๋„ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‘์šฉ์‹คํ—˜(๋งˆํ”„์‹ค) 5์ฃผ์ฐจ(Lab05) ๊ฒฐ๊ณผ๋ ˆํฌํŠธ (A+์ž๋ฃŒ)"์ž…๋‹ˆ๋‹ค

    ๋ชฉ์ฐจ

    1. ๋ชฉ์ 
    2. ์ด๋ก 
    3. ์‹คํ—˜๊ณผ์ •
    4. Exercises
    5. ์ถ”๊ฐ€์‹คํ—˜
    6. ๊ฒฐ๋ก 
    7. ์ฐธ๊ณ ๋ฌธํ—Œ

    ๋ณธ๋ๅฉ๋‚ด์šฉ

    1.๋ชฉ์กต
    - ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” branch ๋ช…๋ น์–ด์˜ ๋™์ž‘์„ ์ดํ•ดํ•œ๋‹ค.
    - branch with link ๋ช…๋ น์–ด์˜ ํŠน์ง•์„ ์•Œ์•„๋ณด๊ณ , ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์‹คํ—˜ํ•ด๋ณธ๋‹ค.
    - PC์— ๋Œ€ํ•œ ์ƒ๋Œ€์ฃผ์†Œ ๋ถ„๊ธฐ์™ฟ’ ์ ˆ๋Œ€์ฃผ์†Œ ๋ถ„๊ธฐ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.
    - conditional execution์„ ์œ„ํ•œ suffix์˜ ์ข…๋ฅ˜์™ฟ’ ์˜๋ฏธ๋ฅผ ์•Œ์•„๋ณด๊ณ , ์ด๊ฒƒ์˜ ์žฅ์ ์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.

    2.์ด๋ก 
    2-1. Introduction
    C์–ธ์–ด์—์„œ์˜ if๋ฌธ์ด๋‚˜ for, while๋ฌธ์˜ ๊ฒฝ์šฐ, ์กฐ๊ฑด ๋งŒ์กฑ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜, ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ์ˆ˜ํ–‰์„ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ํ”„๋กœ์„ธ์„œ๋Š” branch์™ฟ’ ๊ฐ™์€ ๋ถ„๊ธฐ ๋ช…๋ น์„ ํ†ตํ•ด, PC ๋‚ด์šฉ์„ ๋ณ€๊ฒฝ์‹œํ‚ค๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๋ฐ”๊พธ๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ๋ถ„๊ธฐ ๋ช…๋ น์–ด๋Š” ํŒŒ์ดํ”„๋ผ์ธ์˜ ํšจ์œจ์„ ๋–จ์–ด๋œจ๋ฆฌ๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ branch penalty๋ผ๊ณ  ํ•œ๋‹ค.

    ํŒŒ์ดํ”„๋ผ์ธ ๋™์ž‘์„ ํ†ตํ•ด, ๋ถ„๊ธฐ๋ช…๋ น์ด ์„ฑ๋Šฅ์— ์–ด๋–ป๊ฒŒ ์•…์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. 3๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์€ Figure 5.1๊ณผ ๊ฐ™์ด, fetch โ€“ decode โ€“ execute๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. 0x8000์˜ BL(branch and link) ๋ช…๋ น์–ด ๋•Œ๋ฌธ์—, 0x8004์™ฟ’ 0x8008 ๋ช…๋ น์–ด์˜ fetch, decode๊ฐ€ ์˜๋ฏธ์—†์–ด์ง€๊ณ , PC๊ฐ€ 0x8408์„ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด์˜ fetch๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค. 4๋ฒˆ ์‚ฌ์ดํด์—์„œ PC๋Š” ๋‹ค์Œ fetchํ•  ๋ช…๋ น์–ด์ธ 0x8008์ด ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ์—, BL ๋ช…๋ น์–ด์— ์˜ํ•ด ์ด ์ฃผ์†Œ๊ฐ€ link register์— ์ €์žฅ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ„๊ธฐ๊ฐ€ ๋๋‚˜๊ณ  ๋ณต๊ท€ํ•ด์•ผํ•  ์ฃผ์†Œ๋Š” 0x8004์ด๊ธฐ์—, 5๋ฒˆ ์‚ฌ์ดํด์—์„œ link register์—์„œ 4๋ฅผ ๋นผ๋Š” adjust๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. branch๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ผ๋ฐ˜์ ์ธ pipeline์˜ ์ง„ํ–‰์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ์•ˆ์ข‹์•„์ง€๊ฒŒ ๋œ๋‹ค.

    ์ฐธ๊ณ ์ž๋ฃŒ

    ยท The Definitive Guide to ARMยฎ CORTEXยฎ-M3 and CORTEXยฎ-M4 Processors (Third Edition)(2014)
    ยท ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ๊ฐœ๋ก (์‹คํ—˜๊ต์žฌ, 2023) pp.97-105
    ยท Cortexโ„ข-M3 Devices Generic User Guide
    ยท Cortex-M3 TechnicaI Reference Manual r1p1
  • Easy Ai ์š”์•ฝ

    ์ด ๋ฌธ์„œ๋Š” ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‘์šฉ์‹คํ—˜ 5์ฃผ์ฐจ ์‹คํ—˜ ๋ณด๊ณ ์„œ๋กœ, ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” branch ๋ช…๋ น์–ด์˜ ๋™์ž‘์„ ์ดํ•ดํ•˜๊ณ , branch with link ๋ช…๋ น์–ด์˜ ํŠน์ง•์„ ์•Œ์•„๋ณด๋ฉฐ, PC์— ๋Œ€ํ•œ ์ƒ๋Œ€์ฃผ์†Œ ๋ถ„๊ธฐ์™ฟ’ ์ ˆ๋Œ€์ฃผ์†Œ ๋ถ„๊ธฐ์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ , conditional execution์„ ์œ„ํ•œ suffix์˜ ์ข…๋ฅ˜์™ฟ’ ์˜๋ฏธ๋ฅผ ์•Œ์•„๋ณด๊ณ  ๊ทธ ์žฅ์ ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๋Š” ๋‚ด์šฉ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜์„ ํ†ตํ•ด branch ๋ช…๋ น์–ด์˜ ๋ฒˆ์—ญ ๋ฐฉ์‹๊ณผ ๋ช…๋ น์–ด ํ˜•์‹์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ ๋ฒ”์œ„, subroutine ํ˜ธ์ถœ๊ณผ ๋ณต๊ท€ ๋ฐฉ์‹, jump table์„ ํ™œ์šฉํ•œ ๋ถ„๊ธฐ ๊ตฌํ˜„, loop unrolling์„ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ถ”๊ฐ€์‹คํ—˜์„ ํ†ตํ•ด literal pool ๊ด€๋ฆฌ, ์–ด์…ˆ๋ธ”๋ฆฌ ๋ ˆ๋ฒจ์—์„œ์˜ bubble sorting ๊ตฌํ˜„, BX ๋ช…๋ น์–ด์˜ ๋™์ž‘ ์›๋ฆฌ ๋“ฑ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์˜ ๋ถ„๊ธฐ ๋ฐ ์ œ์–ด ํ๋ฆ„ ๊ด€๋ จ ๋™์ž‘์„ ๊นŠ์ด ์žˆ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ ๋ช…๋ น์–ด์™ฟ’ ๊ธฐ๋ฒ•์˜ ์žฅ๋‹จ์ ์„ ๋ถ„์„ํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์„œ๋Š” ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ ๋™์ž‘ ์›๋ฆฌ์™ฟ’ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค.
  • ์ž๋ฃŒํ›„๊ธฐ

      Ai ๋ฆฌ๋ทฐ
      ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ ์‹คํ—˜์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ถ„๊ธฐ ๋ช…๋ น์–ด์™ฟ’ ๊ทธ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์žฅ๋‹จ์ ์„ ๋ถ„์„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ์ž์ฃผ๋ฌป๋Š”์งˆ๋ๅฉ์˜ ๋‹ต๋ณ€์„ ํ™•์ธํ•ด ์ฃผ์„ธ์š”

      ํ•ดํ”ผ์บ ํผ์Šค FAQ ๋”๋ต–๊ธฐ

      ๊ผญ ์•Œ์•„์ฃผ์„ธ์š”

      • ์ž๋ฃŒ์˜ ์ •๋ณด ๋ฐ ๋‚ด์šฉ์˜ ์ง„์‹ค์„ฑ์— ๋Œ€ํ•˜์—ฌ ํ•ดํ”ผ์บ ํผ์Šค๋Š” ๋ณด์ฆํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ•ด๋‹น ์ •๋ณด ๋ฐ ๊ฒŒ์‹œ๋ฌผ ์ €์ž‘๊ถŒ๊ณผ ๊ธฐํƒ€ ๋ฒ•์  ์ฑ…์ž„์€ ์ž๋ฃŒ ๋“ฑ๋ก์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.
        ์ž๋ฃŒ ๋ฐ ๊ฒŒ์‹œ๋ฌผ ๋‚ด์šฉ์˜ ๋ถˆ๋ฒ•์  ์ด์šฉ, ๋ฌด๋‹จ ์ „์žฌโˆ™๋ฐฐํฌ๋Š” ๊ธˆ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
        ์ €์ž‘๊ถŒ์นจํ•ด, ๋ช…์˜ˆํ›ผ์† ๋“ฑ ๋ถ„์Ÿ ์š”์†Œ ๋ฐœ๊ฒฌ ์‹œ ๊ณ ๊ฐ๋น„๋ฐ”์นด์ง€๋…ธ Viva์˜ ์ €์ž‘๊ถŒ์นจํ•ด ์‹ ๊ณ ๋น„๋ฐ”์นด์ง€๋…ธ Viva๋ฅผ ์ด์šฉํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
      • ํ•ดํ”ผ์บ ํผ์Šค๋Š” ๊ตฌ๋งค์ž์™ฟ’ ํŒ๋งค์ž ๋ชจ๋‘๊ฐ€ ๋งŒ์กฑํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ๋˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•„๋ž˜์˜ 4๊ฐ€์ง€ ์ž๋ฃŒํ™˜๋ถˆ ์กฐ๊ฑด์„ ๊ผญ ํ™•์ธํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
        ํŒŒ์ผ์˜ค๋ฅ˜ ์ค‘๋ณต์ž๋ฃŒ ์ €์ž‘๊ถŒ ์—†์Œ ์„ค๋ช…๊ณผ ์‹ค์ œ ๋‚ด์šฉ ๋ถˆ์ผ์น˜
        ํŒŒ์ผ์˜ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ํŒŒ์ผํ˜•์‹์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ •์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์ž๋ฃŒ์™ฟ’ 70% ์ด์ƒ ๋‚ด์šฉ์ด ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ (์ค‘๋ณต์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ทผ๊ฑฐ ํ•„์š”ํ•จ) ์ธํ„ฐ๋„ท์˜ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ, ์—ฐ๊ตฌ๊ธฐ๊ด€, ํ•™๊ป“, ์„œ์  ๋“ฑ์˜ ์ž๋ฃŒ๋ฅผ ๋„์šฉํ•œ ๊ฒฝ์šฐ ์ž๋ฃŒ์˜ ์„ค๋ช…๊ณผ ์‹ค์ œ ์ž๋ฃŒ์˜ ๋‚ด์šฉ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
    ๋ฌธ์„œ ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” EasyAI
    ์•ˆ๋…•ํ•˜์„ธ์š”. ํ•ดํ”ผ์บ ํผ์Šค์˜ ๋ฐฉ๋Œ€ํ•œ ์ž๋ฃŒ ์ค‘์—์„œ ์„ ๋ณ„ํ•˜์—ฌ ๋‹น์‹ ๋งŒ์˜ ์ดˆ์•ˆ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” EasyAI ์ž…๋‹ˆ๋‹ค.
    ์ €๋Š” ์•„๋ž˜์™ฟ’ ๊ฐ™์ด ์ž‘์—…์„ ๋„์™ฟ’๋“œ๋ฆฝ๋‹ˆ๋‹ค.
    - ์ฃผ์ œ๋งŒ ์ž…๋ ฅํ•˜๋ฉด ๋ชฉ์ฐจ๋ถ€ํ„ฐ ๋ณธ๋ๅฉ๋‚ด์šฉ๊นŒ์ง€ ์ž๋™ ์ƒ์„ฑํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
    - ์žฅ๋ฌธ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ž‘์„ฑํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
    - ์Šคํ† ์–ด์—์„œ ๋ฌด๋ฃŒ ์บ์‹œ๋ฅผ ๊ณ„์ •๋ณ„๋กœ 1ํšŒ ๋ฐœ๊ธ‰ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ฐ”๋กœ ์ฒดํ—˜ํ•ด ๋ณด์„ธ์š”!
    ์ด๋Ÿฐ ์ฃผ์ œ๋“ค์„ ์ž…๋ ฅํ•ด ๋ณด์„ธ์š”.
    - ์œ ์•„์—๊ฒŒ ์ ํ•ฉํ•œ ๋ฌธํ•™์ž‘ํ’ˆ์˜ ๊ธฐ์ค€๊ณผ ํŠน์„ฑ
    - ํ•œ๊ตญ์ธ์˜ ๊ฐ€์น˜๊ด€ ์ค‘์—์„œ ์ •์‹ ์  ๊ฐ€์น˜๊ด€์„ ์ด๋ฃจ๋Š” ๊ฒƒ๋“ค์„ ๋ฌธํ™”์  ๋ฌธ๋ฒ•์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ , ํ˜„๋Œ€ํ•œ๊ตญ์‚ฌํšŒ์—์„œ ์ผ์–ด๋‚˜๋Š” ์‚ฌ๊ฑด๊ณผ ์‚ฌ๊ณ ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ž์‹ ์˜ ์˜๊ฒฌ์œผ๋กœ ๊ธฐ์ˆ ํ•˜์„ธ์š”
    - ์ž‘๋ณ„์ธ์‚ฌ ๋…ํ›„๊ฐ
    ํ•ด์บ  AI ์ฑ—๋ด‡๊ณผ ๋Œ€ํ™”ํ•˜๊ธฐ
    ์ฑ—๋ด‡์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ƒ๋‹ดํ•ด๋ณด์„ธ์š”.
    2025๋…„ 06์›” 11์ผ ์ˆ˜์š”์ผ
    AI ์ฑ—๋ด‡
    ์•ˆ๋…•ํ•˜์„ธ์š”. ํ•ดํ”ผ์บ ํผ์Šค AI ์ฑ—๋ด‡์ž…๋‹ˆ๋‹ค. ๋ฌด์—‡์ด ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?
    6:11 ์˜คํ›„