embeded/ARM2015. 2. 28. 23:37

라즈베리의 cpuinfo에서 arm7l 이라고 나와서 검색


느낌으로는.. 걍 붙는 접두 같긴한데.. (armel armhf랑은 다르게)

h는 hard

t는 thumb

n은 neon의 스멜이... -_-a


Mer port nameOBS scheduler nameRPM architecturesOBS project name in MDSOBS repository name in MDSDescription
i486i586i486Core:i486Core_i486Generic i486+ X86 port
i586i586i586, i686Core:i586Core_i586SSSE3 enabled X86 port
x86_64x86_64x86_64Core:x86_64Core_x86_64Generic 64 bit port
armv6larmv7elarmv6lCore:armv6lCore_armv6lARMv6 + VFP port
armv7larmv7elarmv7lCore:armv7lCore_armv7lARMv7 VFPv3-D16 port, softfp ABI
armv7hlarmv8elarmv7hlCore:armv7hlCore_armv7hlARMv7 VFPv3-D16 port, hardfp ABI
armv7tnhlarmv8elarmv7hl, armv7nhl, armv7tnhl, armv7thlCore:armv7tnhlCore_armv7tnhlARMv7 VFPv3-D16 port, hardfp ABI, NEON, Thumb2
mipselmipsmipselCore:mipselCore_mipselMIPS32 O32 ABI port, hardfloat

[링크 : https://wiki.merproject.org/wiki/OBS_architecture_naming]


그리고 VFPv4 에서는 FMAC를 탑재하고

soft는 소프트웨어 부동소수점 흉내내기(에뮬레이션)

softfp는 소프트웨어적으로 흉내내는 방식을 따르나 자동으로 vfp 레지스터에 쓰도록 하고

hardfp는 vfp 하드웨어 레지스터에 바로 쓰도록 하는 차이가 있다고 한다.


Soft

  • Full software floating point - compiler should refuse to generate a real FPU instruction and -mfpu= is ignored.
  • FPU operations are emulated by the compiler
  • Function calls are generated to pass FP arguments (float, double) in integer registers (one for float, a pair of registers for double)


Softfp

  • To reiterate, function calls are generated to pass FP arguments in integer registers
  • Compiler can make smart choices about when and if it generates emulated or real FPU instructions depending on chosen FPU type (-mfpu=)
  • This means soft and softfp code can be intermixed


Hardfp

  • Full hardware floating point.
  • FP arguments are passed directly in FPU registers
  • Cannot possibly run without the FPU defined in -mfpu= (or a superset of the FPU defined, where relevant)
  • FPU instructions could be emulated by the kernel so that FPU-less systems could run with this ABI but as far as we know this does not exist
  • No function prologue or epilogue requirements for FP arguments, no pipeline stalls, maximum performance (just like in PowerPC and MIPS)

[링크 : https://wiki.debian.org/ArmHardFloatPort/VfpComparison]



FMAC는 Fused Multiply ACCumulator로

하드웨어로 구성된 다중 누산기 라고 해석하면 되려나?

[링크 : http://en.wikipedia.org/wiki/Multiply–accumulate_operation]

Posted by 구차니