FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

「30日でできる!OS自作入門」を読み始めた (11. 12日目)

遅まきながら、「30日でできるOS自作入門」を読み始めた。

30日でできる! OS自作入門

30日でできる! OS自作入門

12日目に入った。しばらくはタイマーを使って割り込み処理を行う。 タイマを使ってカウンタを作ったり、複数のタイマを使った処理をする。

物理的にタイマは1つしかなくても、タイマのオブジェクトを複数個用意することで3つの異なる処理をタイマで制御している。

タイマの割り込み処理を高速化する方法につては、シートの描画と似たような方法を導入した。

もしかしたら別の良い方法があるのかもしれないが、タイマのオブジェクトで、有効なものだけチェーンでつないでいてはダメなんだろうか? カウントアップ中のタイマだけ確認するようにしておけば、割り込み処理を短縮できるだろう。 この処理を、現在の実装では配列を使って最も先に来るタイマイベントのカウンタを先頭に持ってくるという方式をとっている。

f:id:msyksphinz:20180324141111g:plain
図. タイマ割り込みを発生させて、0.01秒に1回カウントアップを行う。
f:id:msyksphinz:20180324141257g:plain
図. タイマ割り込みを発生させて、10秒をカウントする。
f:id:msyksphinz:20180324141549g:plain
図. 複数のタイマを利用する。3秒のカウントと、10秒のカウントと、0.5秒に1回のタイマを同時に動作させている。

関連記事