プログラミング言語が作りたいみたいな人たちは、
— 電子計算機の沼 (@Hishinuma_t) October 23, 2021
言語仕様を策定したいのか、
コードをパースする作業がしたいのか、
最適化されたバイナリを吐きたいのか
のつぶやきを見て思った。XXを作りたいを、目的と道具に区分して、道具の方から辿ってみる。
目的の方から辿ると、発散して戻ってこれなくなるかもしれない。
目次
CPUを作りたい
言語を作りたい
OSを作りたい
通信規約を作りたい
制御モデルを作りたい
CPU(FPU, DSP, GPU,通信ドライバ・トランシーバを含む)を作りたい
CPUを道具として使いこなすのに、CPUを作ってみるのが早道。
CPUの創りかた, 渡波 郁
コンピュータの構成と設計 パターソン & ヘネシー
64bitCPUへの道 and/or 64歳の決意(0) docker(128)
アセンブラへの道
言語を作りたい
言語を道具として使いこなすのに、言語を作ってみるのが早道。
制御モデル以外の、CPU、OS、言語、通信規約のどれを記述する言語かで、言語仕様が違うかも。
あるいは、それら全部を適用できる言語というのもいいかも。
C++は、CPU,OS、言語、通信規約のいずれも描きやすい拡張があるらしい。
OSを記述するのに良さげなTemplateは思いついていない。
コンパイラを書くのは難しいか。仮説・検証(175)
心理学の本を読むよりはコンパイラ書いた方がよくね。仮説・検証(34)
OSを作りたい
OSを道具として使いこなすのに、OSを作ってみるのが早道。
OSは、どの通信規約を助けたいのか、あるいは何を制御したいのかで、仕様がかなり違うかも。
また、どういうCPUを前提とするかで仕様が違うかも。
割り込みの仕組みがそれなりに作ってあったらOSの機能はそんなに要らないかも。
割り込みは高速処理したいので、複雑な仕組みがないのかもしれない。
TCP/IPとUNIX(Linux), CANとLSEK(AUTOSAR Classic Platform)というよい組み合わせがある。
時刻同期通信規約に適したOSを作るよりも、時刻同期通信規約に適したICを作った方がいいということなのかもしれない。
12ステップで作る組込みOS自作入門 坂井 弘亮
通信規約(離散)を作りたい
通信規約を道具として使いこなすのに、通信規約を作ってみるのが早道。
どういう制御をするかで、通信規約の使用が違うかもしれない。
通信エミュレータの移植
無線網(Wi-Fi)空中線(antenna)(0) 記事一覧(208/300目標)
マクスウェル方程式。無線網(Wi-Fi) 空中線(Antenna) (44)
制御(連続)モデルを作りたい
制御モデルを道具として使いこなすのに、制御モデルを作ってみるのが早道。
連立微分方程式のPade近似と、Cコンパイラとモデルに基づく設計
特異点(singular point)は特異(singularity)である。仮説・検証(27)
CPU,言語、OS、通信規約は、どれも言語で設計できる。
制御モデルは、数式または図で設計することがある。
数式も言語かできるが、言語で設計できるようになるようにできるだろうか。
通信規約は離散系の制御で、ここで言う制御モデルは連続系の制御。
離散系と連続系の連成は長年の課題かも。
参考資料
プログラミング言語教育のXYZ。Youtube(1) 仮説・検証(52)
CPUの歴史と言語・OS・ネットワーク<書きかけ>
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
文書履歴(document history)
ver. 0.01初稿 20211023
ver. 0.02 ありがとう追記 20230617
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.