โšก Circuit

Data Representation

๊ฐœ์š”

๋””์ง€ํ„ธ ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ด์ง„์ˆ˜(0๊ณผ 1)๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ์‹์€ ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„, ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ, ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ๋“ฑ ์ปดํ“จํ„ฐ ๊ณตํ•™ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ฐ€์žฅ ๊ทผ๋ณธ์ ์ธ ์ฃผ์ œ์ด๋‹ค. ์ •์ˆ˜ ํ‘œํ˜„(๋ถ€ํ˜ธ ์—†๋Š” ์ˆ˜, 1์˜ ๋ณด์ˆ˜, 2์˜ ๋ณด์ˆ˜), ๋ถ€๋™์†Œ์ˆ˜์  ํ‘œํ˜„(IEEE 754), ๊ณ ์ •์†Œ์ˆ˜์  ํ‘œํ˜„ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, ๊ฐ๊ฐ ์ •๋ฐ€๋„, ๋ฒ”์œ„, ํ•˜๋“œ์›จ์–ด ๋ณต์žก๋„ ๋ฉด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ฐ€์ง„๋‹ค. ๋ณธ ๋ฌธ์„œ๋Š” ๋””์ง€ํ„ธ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฐฉ์‹์„ ๋ถ„์„ํ•œ๋‹ค.

๊ฐ™์€ ๋น„ํŠธ ์ˆ˜๋ผ๋„ ์–ด๋–ค ํ‘œํ˜„ ๊ทœ์น™์„ ํƒํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ํ•ด์„ ๊ฐ€๋Šฅํ•œ ๊ฐ’์˜ ๋ฒ”์œ„์™€ ์—ฐ์‚ฐ๊ธฐ์˜ ๋™์ž‘์ด ๋‹ฌ๋ผ์ง„๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 2์˜ ๋ณด์ˆ˜๋Š” ์ •์ˆ˜ ๊ฐ€๊ฐ์‚ฐ๊ธฐ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ , IEEE 754๋Š” ๋„“์€ ๋™์  ๋ฒ”์œ„์™€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๊ณ ์ •์†Œ์ˆ˜์ ์€ ์ œํ•œ๋œ ๋ฒ”์œ„ ๋Œ€์‹  ๋‚ฎ์€ ์ „๋ ฅ๊ณผ ์งง์€ ์ง€์—ฐ์„ ์–ป๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ํ‘œํ˜„์€ ๋‹จ์ˆœํ•œ ์ €์žฅ ํ˜•์‹์ด ์•„๋‹ˆ๋ผ ์—ฐ์‚ฐ ์ •ํ™•๋„, ์˜ค๋ฒ„ํ”Œ๋กœ ์ฒ˜๋ฆฌ, ์†Œํ”„ํŠธ์›จ์–ด ์ด์‹์„ฑ๊นŒ์ง€ ํ•จ๊ป˜ ๊ฒฐ์ •ํ•˜๋Š” ์„ค๊ณ„ ์„ ํƒ์ด๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

์ •์ˆ˜ ํ‘œํ˜„ ๋ฐฉ์‹

์ปดํ“จํ„ฐ์—์„œ ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฐฉ์‹์ด ์žˆ๋‹ค:

Integer Representation
๋ฐฉ์‹ ๋น„ํŠธ ์ˆ˜ ํ‘œํ˜„ ๋ฒ”์œ„ ํŠน์ง•
๋ถ€ํ˜ธ ์—†๋Š” ์ˆ˜ (Unsigned) N 0 ~ 2^N - 1 ๊ฐ€์žฅ ๋‹จ์ˆœ, ๋ชจ๋“  ๋น„ํŠธ๊ฐ€ ๊ฐ’์˜ ์ผ๋ถ€
1์˜ ๋ณด์ˆ˜ (Ones' Complement) N -(2^(N-1)-1) ~ 2^(N-1)-1 0์ด ๋‘ ๊ฐœ (+0, -0) ์กด์žฌ
2์˜ ๋ณด์ˆ˜ (Two's Complement) N -2^(N-1) ~ 2^(N-1)-1 ํ˜„๋Œ€ CPU์˜ ํ‘œ์ค€, 0์ด ํ•˜๋‚˜

๋ถ€ํ˜ธ-ํฌ๊ธฐ(sign-magnitude)๋Š” ์ตœ์ƒ์œ„ ๋น„ํŠธ๋ฅผ ๋ถ€ํ˜ธ๋กœ ์“ฐ๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ํฌ๊ธฐ๋กœ ์“ฐ๋Š” ๊ณ ์ „์ ์ธ ๋ฐฉ์‹์ด๋ฉฐ, ๋ฐ”์ด์–ด์Šค ํ‘œํ˜„(offset binary, excess-K)์€ ๊ฐ’์— ๊ณ ์ • ์˜คํ”„์…‹์„ ๋”ํ•ด ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. IEEE 754์˜ ์ง€์ˆ˜ ํ•„๋“œ๋Š” ๋ฐ”์ด์–ด์Šค ํ‘œํ˜„์„ ์‚ฌ์šฉํ•œ๋‹ค.

2์˜ ๋ณด์ˆ˜ (Two's Complement)

2์˜ ๋ณด์ˆ˜๋Š” ํ˜„๋Œ€ ํ”„๋กœ์„ธ์„œ์—์„œ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ์‹์ด๋‹ค. ์Œ์ˆ˜ ํ‘œํ˜„์„ ์œ„ํ•ด ์–‘์ˆ˜์˜ ๋น„ํŠธ๋ฅผ ๋ฐ˜์ „์‹œํ‚จ ํ›„ 1์„ ๋”ํ•œ๋‹ค:

  • ์žฅ์ : ๋ง์…ˆ๊ณผ ๋บ„์…ˆ์ด ๋™์ผํ•œ ํ•˜๋“œ์›จ์–ด๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ, +0๊ณผ -0์ด ๋™์ผ
  • ๊ตฌํ˜„: MSB(Most Significant Bit)๊ฐ€ ๋ถ€ํ˜ธ ๋น„ํŠธ (0=์–‘์ˆ˜, 1=์Œ์ˆ˜)
  • ์˜ค๋ฒ„ํ”Œ๋กœ: ๊ฒฐ๊ณผ์˜ ๋ถ€ํ˜ธ์™€ ์ž…๋ ฅ ๋ถ€ํ˜ธ๊ฐ€ ์–ด๊ธ‹๋‚˜๋ฉด ์˜์‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•˜๋“œ์›จ์–ด๋Š” ์บ๋ฆฌ์™€ ๋ถ€ํ˜ธ ๋น„ํŠธ๋ฅผ ํ•จ๊ป˜ ๋ณธ๋‹ค

์˜ˆ์‹œ (8๋น„ํŠธ):

+5  = 0000 0101
-5  = 1111 1011  (๋ฐ˜์ „: 1111 1010 + 1)

๋ถ€๋™์†Œ์ˆ˜์  (IEEE 754)

๋ถ€๋™์†Œ์ˆ˜์ ์€ ์‹ค์ˆ˜๋ฅผ ๊ทผ์‚ฌ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€์ด๋‹ค. ์„ธ ๊ฐ€์ง€ ๊ธฐ๋ณธ ํ˜•์‹์ด ์žˆ๋‹ค:

IEEE 754 Formats
ํ˜•์‹ ๋น„ํŠธ ์ˆ˜ ์ง€์ˆ˜ ๋น„ํŠธ ๊ฐ€์ˆ˜ ๋น„ํŠธ ์ง€์ˆ˜ ๋ฒ”์œ„ ์šฉ๋„
๋‹จ์ •๋ฐ€๋„ (Single) 32 8 23 ยฑ127 GPU, ๋”ฅ๋Ÿฌ๋‹
๋ฐฐ์ •๋ฐ€๋„ (Double) 64 11 52 ยฑ1023 ๊ณผํ•™ ๊ณ„์‚ฐ
๋ฐ˜์ •๋ฐ€๋„ (Half) 16 5 10 ยฑ15 AI ์ถ”๋ก 

IEEE 754 ๋‹จ์ •๋ฐ€๋„ ๊ตฌ์กฐ:

| S (1bit) | Exponent (8bit) | Fraction (23bit) |
|   ๋ถ€ํ˜ธ    |    ์ง€์ˆ˜ ๋ถ€๋ถ„    |    ๊ฐ€์ˆ˜ ๋ถ€๋ถ„    |
  • ์ง€์ˆ˜: ํŽธํ–ฅ(Bias) ์ ์šฉ โ†’ ์‹ค์ œ ์ง€์ˆ˜ = ์ €์žฅ๋œ ์ง€์ˆ˜ - 127 (๋‹จ์ •๋ฐ€๋„)
  • ๊ฐ€์ˆ˜: ์ •๊ทœํ™”๋œ ์ˆ˜์—์„œ ์„ ํ–‰ 1์„ ์ƒ๋žตํ•˜์—ฌ 23๋น„ํŠธ๋กœ 24๋น„ํŠธ ์ •๋ฐ€๋„๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.
  • ํŠน์ˆ˜ ๊ฐ’: Infinity, NaN, ยฑ0, ์„œ๋ธŒ๋…ธ๋ฉ€ ์ˆ˜
  • ์„œ๋ธŒ๋…ธ๋ฉ€(subnormal): ์ง€์ˆ˜ ํ•„๋“œ๊ฐ€ 0์ธ ๊ฐ’์œผ๋กœ, ์ˆจ์€ 1์„ ์“ฐ์ง€ ์•Š์•„ ์–ธ๋”ํ”Œ๋กœ ๊ตฌ๊ฐ„์„ ๋ฉ”์šด๋‹ค.
  • ๋ฐ˜์˜ฌ๋ฆผ ๋ชจ๋“œ: ๊ธฐ๋ณธ์€ ties to even์ด๋ฉฐ, toward 0 / toward +โˆž / toward -โˆž๋„ ์ •์˜๋œ๋‹ค.
  • ์˜ˆ์™ธ ํ”Œ๋ž˜๊ทธ: invalid, divide-by-zero, overflow, underflow, inexact ๊ฐ™์€ ์ƒํƒœ๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ ์ด์ƒ์„ ์†Œํ”„ํŠธ์›จ์–ด์— ์ „๋‹ฌํ•œ๋‹ค.

๊ณ ์ •์†Œ์ˆ˜์  (Fixed-Point)

๊ณ ์ •์†Œ์ˆ˜์ ์€ ์†Œ์ˆ˜์  ์œ„์น˜๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค:

  • Q ํ˜•์‹: Qm.n โ†’ ์ •์ˆ˜ ๋ถ€๋ถ„ m๋น„ํŠธ, ์†Œ์ˆ˜ ๋ถ€๋ถ„ n๋น„ํŠธ
  • ์Šค์ผ€์ผ ํ•ด์„: ๊ฐ’ = ์ €์žฅ ์ •์ˆ˜ ร— 2^-n ์œผ๋กœ ์ฝ๋Š”๋‹ค.
  • ์žฅ์ : ๋ถ€๋™์†Œ์ˆ˜์ ๋ณด๋‹ค ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋‹จ์ˆœ, ์ง€์—ฐ ์‹œ๊ฐ„์ด ์ž‘์Œ
  • ๋‹จ์ : ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ์ œํ•œ์ , ์˜ค์ฐจ ๋ˆ„์  ๊ฐ€๋Šฅ
  • ์˜ˆ์‹œ: Q1.15๋Š” 16๋น„ํŠธ signed ์ •์ˆ˜์— ์†Œ์ˆ˜๋ถ€ 15๋น„ํŠธ๋ฅผ ๋‘” ํ˜•์‹์ด๋‹ค.
  • ์—ฐ์‚ฐ: ๋ง์…ˆ/๋บ„์…ˆ์€ ๊ฐ™์€ ์Šค์ผ€์ผ์—์„œ ๋ฐ”๋กœ ๊ฐ€๋Šฅํ•˜๊ณ , ๊ณฑ์…ˆ ํ›„์—๋Š” ์‹œํ”„ํŠธ๋กœ ์Šค์ผ€์ผ์„ ๋ณต์›ํ•œ๋‹ค.
  • ์˜ค๋ฒ„ํ”Œ๋กœ ์ฒ˜๋ฆฌ: ์ผ๋ฐ˜ ์ •์ˆ˜์ฒ˜๋Ÿผ wrap-around๊ฐ€ ์ผ์–ด๋‚˜๋ฉฐ, ์ผ๋ถ€ DSP๋Š” saturation arithmetic์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์šฉ๋„: DSP, ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ, ๋”ฅ๋Ÿฌ๋‹ ์–‘์žํ™”

๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋น„๊ต ๋ถ„์„

ํ•ญ๋ชฉ ์ •์ˆ˜ (2์˜ ๋ณด์ˆ˜) ๊ณ ์ •์†Œ์ˆ˜์  ๋ถ€๋™์†Œ์ˆ˜์ 
์ •๋ฐ€๋„ ์ด์‚ฐ์  (1) ๊ฐ€๋ณ€์  ๊ฐ€๋ณ€์  (์ƒ๋Œ€์ )
๋ฒ”์œ„ ์ œํ•œ์  ์ œํ•œ์  ๋งค์šฐ ๋„“์Œ
ํ•˜๋“œ์›จ์–ด ๋ณต์žก๋„ ๋‚ฎ์Œ ์ค‘๊ฐ„ ๋†’์Œ
์—ฐ์‚ฐ ์†๋„ ๋น ๋ฆ„ ๋น ๋ฆ„ ๋А๋ฆผ
๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํšจ์œจ์  ํšจ์œจ์  ๋น„ํšจ์œจ์ 
์˜ค์ฐจ ์—†์Œ ์žˆ์Œ (๋ฐ˜์˜ฌ๋ฆผ) ์žˆ์Œ (๋ถ€๋™์†Œ์ˆ˜์  ์˜ค์ฐจ)
์šฉ๋„ ์นด์šดํ„ฐ, ์ฃผ์†Œ, ์ œ์–ด DSP, ์ž„๋ฒ ๋””๋“œ ๊ณผํ•™ ๊ณ„์‚ฐ, ML

๋™์ž‘ ์›๋ฆฌ

2์˜ ๋ณด์ˆ˜ ๋ง์…ˆ ํšŒ๋กœ

2์˜ ๋ณด์ˆ˜ ๋ง์…ˆ์€ ์ผ๋ฐ˜์ ์ธ ์ด์ง„ ๋ง์…ˆ๊ณผ ๋™์ผํ•œ ํšŒ๋กœ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. Carry-out์€ ๋ฌด์‹œ๋œ๋‹ค:

  0101 (+5)
+ 1101 (-3)
-------
 10010 โ†’ 0010 (+2, carry ๋ฌด์‹œ)

๋ถ€๋™์†Œ์ˆ˜์  ๋ง์…ˆ ๊ณผ์ •

  1. ์ง€์ˆ˜ ์ •๋ ฌ: ์ž‘์€ ์ง€์ˆ˜์˜ ์ˆ˜๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์‹œํ”„ํŠธํ•˜์—ฌ ์ง€์ˆ˜๋ฅผ ๋งž์ถค
  2. ๊ฐ€์ˆ˜ ๋ง์…ˆ: ์ง€์ˆ˜๊ฐ€ ๊ฐ™์€ ์ƒํƒœ์—์„œ ๊ฐ€์ˆ˜๋ฅผ ๋”ํ•จ
  3. ์ •๊ทœํ™”: ๊ฒฐ๊ณผ๊ฐ€ 1.xxxx ํ˜•ํƒœ๊ฐ€ ๋˜๋„๋ก ์‹œํ”„ํŠธํ•˜๊ณ  ์ง€์ˆ˜ ์กฐ์ •
  4. ๋ฐ˜์˜ฌ๋ฆผ: ๊ฐ€์ˆ˜ ๋น„ํŠธ ์ˆ˜์— ๋งž๊ฒŒ ๋ฐ˜์˜ฌ๋ฆผ

NaN๊ณผ Infinity ํŒ๋ณ„

IEEE 754์—์„œ ํŠน์ˆ˜ ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ทœ์น™:
- Infinity: ์ง€์ˆ˜ = ์ตœ๋Œ€๊ฐ’ (0xFF), ๊ฐ€์ˆ˜ = 0
- NaN: ์ง€์ˆ˜ = ์ตœ๋Œ€๊ฐ’ (0xFF), ๊ฐ€์ˆ˜ โ‰  0
- Zero: ์ง€์ˆ˜ = 0, ๊ฐ€์ˆ˜ = 0 (์–‘์ˆ˜/์Œ์ˆ˜ Zero ๋ชจ๋‘ ์กด์žฌ)

๋ถ€ํ˜ธ ํ™•์žฅ๊ณผ ์Šค์ผ€์ผ ์œ ์ง€

2์˜ ๋ณด์ˆ˜ ์ •์ˆ˜๋ฅผ ๋” ๋„“์€ ๋น„ํŠธ ํญ์œผ๋กœ ์˜ฎ๊ธธ ๋•Œ๋Š” ์ตœ์ƒ์œ„ ๋น„ํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๋ถ€ํ˜ธ ํ™•์žฅ(sign extension)์„ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 8๋น„ํŠธ 1111 1011(-5)์„ 16๋น„ํŠธ๋กœ ํ™•์žฅํ•˜๋ฉด 1111 1111 1111 1011์ด ๋œ๋‹ค. ์ด ๊ทœ์น™ ๋•๋ถ„์— ๊ฐ™์€ ๊ฐ€์‚ฐ๊ธฐ ๊ตฌ์กฐ๋ฅผ 8๋น„ํŠธ, 16๋น„ํŠธ, 32๋น„ํŠธ, 64๋น„ํŠธ๋กœ ํ™•์žฅํ•ด๋„ ๊ฐ’์˜ ์˜๋ฏธ๊ฐ€ ์œ ์ง€๋œ๋‹ค.

๊ณ ์ •์†Œ์ˆ˜์ ์€ ๋ถ€ํ˜ธ ํ™•์žฅ๊ณผ ํ•จ๊ป˜ ์†Œ์ˆ˜์  ์œ„์น˜๋„ ๋ณด์กดํ•ด์•ผ ํ•œ๋‹ค. Q1.15 ๊ฐ’์„ Q5.15๋กœ ์˜ฎ๊ธฐ๋ฉด ์ •์ˆ˜๋ถ€ ๋น„ํŠธ ์ˆ˜๋งŒ ๋Š˜๊ณ  ์Šค์ผ€์ผ 2^-15๋Š” ์œ ์ง€๋œ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ Q ํ˜•์‹์„ ๋”ํ•˜๋ ค๋ฉด ๋จผ์ € ๊ฐ™์€ ์Šค์ผ€์ผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ •์ˆ˜๋Š” ๋งž์•„๋„ ์‹ค์ œ ๋ฌผ๋ฆฌ๋Ÿ‰ ํ•ด์„์ด ํ‹€์–ด์ง„๋‹ค.

์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
2์˜ ๋ณด์ˆ˜: ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฆ„ ์ •์ˆ˜: ํ‘œํ˜„ ๋ฒ”์œ„๊ฐ€ ๋น„ํŠธ ์ˆ˜์— ๋น„๋ก€
IEEE 754: ๋งค์šฐ ๋„“์€ ํ‘œํ˜„ ๋ฒ”์œ„ ๋ถ€๋™์†Œ์ˆ˜์ : ์˜ค์ฐจ ๋ˆ„์  ๊ฐ€๋Šฅ
๊ณ ์ •์†Œ์ˆ˜์ : ์ €์ „๋ ฅ ์ž„๋ฒ ๋””๋“œ์— ์ ํ•ฉ ๊ณ ์ •์†Œ์ˆ˜์ : ๋ฒ”์œ„๊ฐ€ ๊ณ ์ •๋˜์–ด ์œ ์—ฐํ•˜์ง€ ์•Š์Œ
ํ‘œ์ค€ํ™”๋กœ ์ด์‹์„ฑ ๋ณด์žฅ ๋ถ€๋™์†Œ์ˆ˜์ : ํ•˜๋“œ์›จ์–ด ๋ณต์žก๋„๊ฐ€ ๋†’์Œ

๊ด€๋ จ ๊ธฐ์ˆ 

  • IEEE 754-2019: ๋ถ€๋™์†Œ์ˆ˜์  ์‚ฐ์ˆ  ํ‘œ์ค€
  • IEEE 754-2008: binary16(๋ฐ˜์ •๋ฐ€๋„) ํ˜•์‹ ์ถ”๊ฐ€
  • ISO/IEC 60559: IEEE 754์™€ ์ •ํ•ฉ๋˜๋Š” ๊ตญ์ œ ๋ถ€๋™์†Œ์ˆ˜์  ํ‘œ์ค€
  • IBM z/Architecture: BFP (Binary Floating Point) ํ˜•์‹
  • ARM NEON/SVE: SIMD ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ
  • Intel SSE/AVX: 128/256๋น„ํŠธ ๋ถ€๋™์†Œ์ˆ˜์  ํŒจํ‚ค์ง€
  • DSP Q-format: ๊ณ ์ •์†Œ์ˆ˜์  ํ•„ํ„ฐ์™€ ์ œ์–ด ์—ฐ์‚ฐ์—์„œ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์Šค์ผ€์ผ ํ‘œํ˜„
  • William Kahan, "IEEE Standard 754 for Binary Floating-Point Arithmetic": ์„ค๊ณ„ ๋ฐฐ๊ฒฝ๊ณผ ์ˆ˜์น˜์  ์˜๋ฏธ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋Œ€ํ‘œ ์ž๋ฃŒ

ํ•ต์‹ฌ ์ •๋ฆฌ

  1. 2์˜ ๋ณด์ˆ˜๋Š” ํ˜„๋Œ€ CPU์˜ ๋ถ€ํ˜ธ ์žˆ๋Š” ์ •์ˆ˜ ํ‘œํ˜„ ํ‘œ์ค€์œผ๋กœ, ๋ง์…ˆ๊ณผ ๋บ„์…ˆ์„ ๋™์ผ ํšŒ๋กœ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํ•˜๋“œ์›จ์–ด ํšจ์œจ์ด ๋†’๋‹ค.
  2. IEEE 754๋Š” ๋ถ€๋™์†Œ์ˆ˜์ ์˜ ๊ตญ์ œ ํ‘œ์ค€์œผ๋กœ, ๋‹จ์ •๋ฐ€๋„(32๋น„ํŠธ)์™€ ๋ฐฐ์ •๋ฐ€๋„(64๋น„ํŠธ)๊ฐ€ ๋„๋ฆฌ ์‚ฌ์šฉ๋œ๋‹ค.
  3. ๊ณ ์ •์†Œ์ˆ˜์ ์€ ๋ฒ”์œ„๋Š” ์ œํ•œ์ ์ด์ง€๋งŒ ํ•˜๋“œ์›จ์–ด ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์•„ DSP์™€ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ์œ ์šฉํ•˜๋‹ค.
  4. ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ์„ ํƒ์€ ์ •๋ฐ€๋„, ๋ฒ”์œ„, ํ•˜๋“œ์›จ์–ด ๋ณต์žก๋„, ์ „๋ ฅ ์†Œ๋น„ ๊ฐ„์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.
  5. ๋ถ€๋™์†Œ์ˆ˜์  ์˜ค์ฐจ(Floating Point Error)๋Š” ๋ฐ˜์˜ฌ๋ฆผ ์˜ค์ฐจ์™€ ๋Œ€ํ‘œ์„ฑ ์˜ค์ฐจ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ˆ˜์น˜ ์•ˆ์ •์„ฑ์— ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.