大堀/研究/データ/FPU
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[大堀/研究]]
#contents
*FPUの実装の軌跡 [#se1545f5]
-[[大堀/研究/データ/FPU/FPUの実装の軌跡]]
*現状 [#k9eeb406]
-12/17
--演算系の命令(single word)を完装
--trunc.w.sなど型変換を実装中
---他にもceil.w.sなどあったので、丸めについてまとめ
**丸め [#kf4007e8]
***種類 [#sbbd12c8]
-round
-floor
-ceiling
-truncate
***具体例 [#l886387d]
-正
|値\種類|round|floor|ceiling|truncate|
| | | | ↑ | |
| 0.5 | ● | ● | ● | ● |
| | ↓ | ↓ | | ↓ |
| 出力値 | 0 | 0 | 1 | 0 |
-負
|値\種類|round|floor|ceiling|truncate|
| | ↑ | | ↑ | ↑ |
| -0.5 | ● | ● | ● | ● |
| | | ↓ | | |
| 出力値 | 0 | -1 | 0 | 0 |
**比較演算 [#c1df553d]
|funct(5:0)|smt|説明|詳細|比較不能(※Nanか無限大も扱える)|
|110000|F|False|常にfalse, どちらかが比較不能の場合true|扱えない->true|
|110001|UN|Unordered, 比較不能(片方または両方のオペランドが非数や無限大)|比較不能ならtrue|扱えない->true|
|110010|EQ|Equal|等しい時true,それ意外false, (比較不能も検知せずに判断)|扱えない->true|
|110011|UEQ|Unordered equal|比較不能か等しいならtrue|扱えない->true|
|110100|OLT|Ordered Less Than|s1<s2ならtrue|扱えない->t or f|
|110101|ULT|Unordered or Less Than|比較不能かs1<s2ならtrue|扱えない->true|
|110110|OLE|Ordered Less Than or Equal|s1<=s2ならtrue|扱えない->t or f|
|110111|ULE|Unordered or Less than or Equal|比較不能かs1<=s2ならtrue|扱えない->true|
|111000|SF|Signaling False|Nanならtrue(※今回は比較不能ならtrue...UNと同じ)|扱える|
|111001|NGLE|Not Greater than or Less than or Equal|s1<=s2ならtrue|扱える|
|111010|SEQ|Signaling Equal|s1==s2|扱える|
|111011|NGL|Not Greater than or Less than|比較不能か、s1<s2ならtrue|扱える|
|111100|LT|Less Than|s1<s2|扱える|
|111101|NGE|Not Greater than or Equal|s1<s2のときtrue|扱える|
|111110|LE|Less than or Equal|s1<=s2のときtrue|扱える|
|111111|NGT|Not Greater Than|s1<=s2のときtrue|扱える|
**参考 [#g8a4b0f4]
***比較不能値 [#efcc1af7]
-data plus_inf /z'7f800000'/
-data minus_inf /z'ff800000'/
-data plus_nanq /z'7fc00000'/
-data minus_nanq /z'ffc00000'/
-data nans /z'7f800001'/
***ニモニック [#e2ffe529]
|F :False|
|T :True|
|UN :Unordered|
|OR :Ordered|
|EQ :Equal |
|NEQ :Not Equal|
|UEQ :Unordered or Equal |
|OLG :Ordered or Less than or Greater than|
|OLT :Ordered Less Than |
|UGE :Unordered or Greater than or Equal|
|ULT :Unordered or Less Than |
|OGE :Ordered Greater than or Equal|
|OLE :Ordered Less Than or Equal |
|UGT :Unordered or Greater Than|
|ULE :Unordered or Less than or Equal |
|OGT :Ordered Greater Than|
|SF :Signaling False |
|ST :Signaling True|
|NGLE :Not Greater than or Less than or Equal |
|GLE :Greater than, or Less than or Equal|
|SEQ :Signaling Equal |
|SNE :Signaling Not Equal|
|NGL :Not Greater than or Less than |
|GL :Greater than or Less Than|
|LT :Less Than |
|NLT :Not Less Than|
|NGE :Not Greater than or Equal |
|GE :Greater than or Equal|
|LE :Less than or Equal |
|NLE :Not Less than or Equal|
|NGT :Not Greater Than |
|GT :Greater Than|
終了行:
[[大堀/研究]]
#contents
*FPUの実装の軌跡 [#se1545f5]
-[[大堀/研究/データ/FPU/FPUの実装の軌跡]]
*現状 [#k9eeb406]
-12/17
--演算系の命令(single word)を完装
--trunc.w.sなど型変換を実装中
---他にもceil.w.sなどあったので、丸めについてまとめ
**丸め [#kf4007e8]
***種類 [#sbbd12c8]
-round
-floor
-ceiling
-truncate
***具体例 [#l886387d]
-正
|値\種類|round|floor|ceiling|truncate|
| | | | ↑ | |
| 0.5 | ● | ● | ● | ● |
| | ↓ | ↓ | | ↓ |
| 出力値 | 0 | 0 | 1 | 0 |
-負
|値\種類|round|floor|ceiling|truncate|
| | ↑ | | ↑ | ↑ |
| -0.5 | ● | ● | ● | ● |
| | | ↓ | | |
| 出力値 | 0 | -1 | 0 | 0 |
**比較演算 [#c1df553d]
|funct(5:0)|smt|説明|詳細|比較不能(※Nanか無限大も扱える)|
|110000|F|False|常にfalse, どちらかが比較不能の場合true|扱えない->true|
|110001|UN|Unordered, 比較不能(片方または両方のオペランドが非数や無限大)|比較不能ならtrue|扱えない->true|
|110010|EQ|Equal|等しい時true,それ意外false, (比較不能も検知せずに判断)|扱えない->true|
|110011|UEQ|Unordered equal|比較不能か等しいならtrue|扱えない->true|
|110100|OLT|Ordered Less Than|s1<s2ならtrue|扱えない->t or f|
|110101|ULT|Unordered or Less Than|比較不能かs1<s2ならtrue|扱えない->true|
|110110|OLE|Ordered Less Than or Equal|s1<=s2ならtrue|扱えない->t or f|
|110111|ULE|Unordered or Less than or Equal|比較不能かs1<=s2ならtrue|扱えない->true|
|111000|SF|Signaling False|Nanならtrue(※今回は比較不能ならtrue...UNと同じ)|扱える|
|111001|NGLE|Not Greater than or Less than or Equal|s1<=s2ならtrue|扱える|
|111010|SEQ|Signaling Equal|s1==s2|扱える|
|111011|NGL|Not Greater than or Less than|比較不能か、s1<s2ならtrue|扱える|
|111100|LT|Less Than|s1<s2|扱える|
|111101|NGE|Not Greater than or Equal|s1<s2のときtrue|扱える|
|111110|LE|Less than or Equal|s1<=s2のときtrue|扱える|
|111111|NGT|Not Greater Than|s1<=s2のときtrue|扱える|
**参考 [#g8a4b0f4]
***比較不能値 [#efcc1af7]
-data plus_inf /z'7f800000'/
-data minus_inf /z'ff800000'/
-data plus_nanq /z'7fc00000'/
-data minus_nanq /z'ffc00000'/
-data nans /z'7f800001'/
***ニモニック [#e2ffe529]
|F :False|
|T :True|
|UN :Unordered|
|OR :Ordered|
|EQ :Equal |
|NEQ :Not Equal|
|UEQ :Unordered or Equal |
|OLG :Ordered or Less than or Greater than|
|OLT :Ordered Less Than |
|UGE :Unordered or Greater than or Equal|
|ULT :Unordered or Less Than |
|OGE :Ordered Greater than or Equal|
|OLE :Ordered Less Than or Equal |
|UGT :Unordered or Greater Than|
|ULE :Unordered or Less than or Equal |
|OGT :Ordered Greater Than|
|SF :Signaling False |
|ST :Signaling True|
|NGLE :Not Greater than or Less than or Equal |
|GLE :Greater than, or Less than or Equal|
|SEQ :Signaling Equal |
|SNE :Signaling Not Equal|
|NGL :Not Greater than or Less than |
|GL :Greater than or Less Than|
|LT :Less Than |
|NLT :Not Less Than|
|NGE :Not Greater than or Equal |
|GE :Greater than or Equal|
|LE :Less than or Equal |
|NLE :Not Less than or Equal|
|NGT :Not Greater Than |
|GT :Greater Than|
ページ名: