Threaded Code
2022-9-26 0:18 JST
スレッデッドコードの研究。Gforth は特別な直接スレッデッドコードだってどっかに書いてあったんだけど、見失った。
まずは情報集め
threaded codeの説明によると直接スレッディングの方が若干スピードが速いみたいね。「Pentium、K5そしてK6(-2)」の話をしているみたいなので、現在はどうなのよ?というのは気になる。また、間接スレッドのほうがソースがコンパクトになる(はず)なのも気になる。コンパクトのほうが良い。
スレッデッド・コードについてはここの情報も役に立つよね。
FPGA の Forth では深堀しても意味がないかな。スピードよりコンパクトさが重要だし。
自分が前に作ったVMは(Forthじゃない)直接スレッディングだったなぁ。32bit の値をロードするのにどうしようか迷った記憶がある。
immu の threaded code
immu.s_next:
jonesforth の threaded code
jonesforth.S
/* NEXT macro. */
.macro NEXT
lodsl
jmp *(%eax)
.endm
/* The macro is called NEXT. That's a FORTH-ism. It expands to those two instructions.
Every FORTH primitive that we write has to be ended by NEXT. Think of it kind of like
a return.
The above describes what is known as direct threaded code.
リンク集
スレッデッドコード
スレッデッドコードについて書いた文章の訳
"known as direct threaded code" だとおっしゃっている
英語の Wikipedia の threaddec code
日本語の Wikipedia のスレッデッドコード
原 通宏「Z80版 FIG-FORTHの解析」(1981年 CQ出版) の情報がちょっと書いてある。マイコンピュータってう雑誌みたいね。
ミニマルな non-interactive な Forth!!
Forth とは直接関係ない minimal な世界 でも gforth は misc に対応している。
immu ってそういや RISC-V 対応の Forth この基板で動くらしい。
教育用の Forth らしい
Simple な VM で toy laanguages がターゲット。だって。
gforth の assembler 環境
gforth の assembler 環境。 x86_64 の説明。
この本、途中 Forth の説明がある。 第7章の計算モデル。
a minimal binary seed。何だろう?
TOPS-20 ってなんだろうね?
昔、の雑誌ビットに情報があるらしいね。 ここに書いてあることが全てぽいけど。
Dark Forth。Forth を作ったわけじゃないのかな? Forth の本みたい。
あとで投げ銭してみる。