修行中

いざ実装しようとすると, いろいろとわかっていないことに気づいて, 現在修行中です. 

 

次の本を読んでいます. 

はじめて読む486―32ビットコンピュータをやさしく語る

はじめて読む486―32ビットコンピュータをやさしく語る

 

この本で説明されている 80486 という CPU は, 近代的な OS *1 を動作させる仕組みを備えた初期の CPU であるらしく, 比較的シンプルで理解しやすいのではないかと思います. 

OS を実装するために用意された機能を中心に詳しく説明されています. 

 

前提知識が必要そうですが, とりあえず次の程度で読めています. 

  • C言語

    (組み込み用の機能とかは全く知らないけれども今のところ読めている. )

  • CPU がプログラムを実行する原理

    (メインメモリ上の機械語を PC が示す番地から読み出して, レジスタ間の演算を行いレジスタに書き戻す, とかその程度の知識. )

  • アセンブリ言語

    (命令を調べながらなら理解できる程度 + できれば関数の書き方とか)

*1:仮想記憶とかプロセス管理によるマルチタスクとか

FPGA で学ぶ! CPU と OS の仕組み

とりあえず, CPU と OS の仕組みを学習しながらまとめていこうかと思います. 

目標は, 最低限 OS と呼べそうなプログラムが動く, 最低限 CPU と呼べそうな何かを作ることです.