⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 todo

📁 最新版本的Linux内核
💻
字号:
TODO LIST---------POW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - powerRPW{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - reverse powerPOL{cond}<S|D|E>{P,M,Z} Fd, Fn, <Fm,#value> - polar angle (arctan2)LOG{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base 10LGN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - logarithm to base e EXP{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - exponentSIN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - sineCOS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - cosineTAN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - tangentASN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arcsineACS{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arccosineATN{cond}<S|D|E>{P,M,Z} Fd, <Fm,#value> - arctangentThese are not implemented.  They are not currently issued by the compiler,and are handled by routines in libc.  These are not implemented by the FPA11hardware, but are handled by the floating point support code.  They should be implemented in future versions.There are a couple of ways to approach the implementation of these.  Onemethod would be to use accurate table methods for these routines.  I have a couple of papers by S. Gal from IBM's research labs in Haifa, Israel thatseem to promise extreme accuracy (in the order of 99.8%) and reasonable speed.These methods are used in GLIBC for some of the transcendental functions.Another approach, which I know little about is CORDIC.  This stands forCoordinate Rotation Digital Computer, and is a method of computing transcendental functions using mostly shifts and adds and a fewmultiplications and divisions.  The ARM excels at shifts and adds,so such a method could be promising, but requires more research to determine if it is feasible.Rounding MethodsThe IEEE standard defines 4 rounding modes.  Round to nearest is thedefault, but rounding to + or - infinity or round to zero are also allowed.Many architectures allow the rounding mode to be specified by modifying bitsin a control register.  Not so with the ARM FPA11 architecture.  To changethe rounding mode one must specify it with each instruction.This has made porting some benchmarks difficult.  It is possible tointroduce such a capability into the emulator.  The FPCR contains bits describing the rounding mode.  The emulator could be altered to examine a flag, which if set forced it to ignore the rounding mode inthe instruction, and use the mode specified in the bits in the FPCR.This would require a method of getting/setting the flag, and the bitsin the FPCR.  This requires a kernel call in ArmLinux, as WFC/RFC aresupervisor only instructions.  If anyone has any ideas or comments Iwould like to hear them.[NOTE: pulled out from some docs on ARM floating point, specifically for the Acorn FPE, but not limited to it: The floating point control register (FPCR) may only be present in some implementations: it is there to control the hardware in an implementation- specific manner, for example to disable the floating point system.  The user mode of the ARM is not permitted to use this register (since the right is reserved to alter it between implementations) and the WFC and RFC instructions will trap if tried in user mode. Hence, the answer is yes, you could do this, but then you will run a high risk of becoming isolated if and when hardware FP emulation comes out		-- Russell].

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -