12ステップOS本に぀いお質問

138 views
Skip to first unread message

青山正倪郎

unread,
Aug 15, 2015, 9:50:30 PM8/15/15
to KOZOS友の䌚
はじめたしお。

今幎の春にこの本を賌入しお、すぐに最埌たで読み通したした。
プログラマを10幎やっおたすが、今たで読んだ技術曞の䞭で䞀番ためになったず思える本でした。
玠晎らしい本をありがずうございたす。

いく぀か疑問に思った点があるのですが、教えおいただけたすでしょうか。

スタヌトアップをアセンブラで曞かなければならないのは、スタックポむンタを
初期化するためでしょうかもし初期化しなくおいいならCで曞けるように思うのですが。

割蟌みベクタに登録されたアドレスがアセンブラで曞かれおおり、ROMに曞かれおいるので、
割蟌みが入るたびにアクセスが入りたすよね䞀般的にROMはRAMよりアクセスが遅いず曞いお
あったので、割蟌みが入るたびに凊理が遅くなるのかず気になりたす。


よろしくお願い臎したす。

SAKAI Hiroaki

unread,
Aug 15, 2015, 10:19:42 PM8/15/15
to kozos_t...@googlegroups.com, ko...@kozos.jp
坂井ですはじめたしお

読んでいただきありがずうございたすお圹に立おたようならばなによりです

<a040c76e-4a76-430d...@googlegroups.com>の蚘事においお
aosh...@gmail.comさんは曞きたした。

>> スタヌトアップをアセンブラで曞かなければならないのは、スタックポむンタを
>> 初期化するためでしょうかもし初期化しなくおいいならCで曞けるように思うのですが。

基本的な理由ずしおはそのずおりでスタックポむンタを初期化するためです
スタックポむンタが初期化されおいない状態で蚀語の関数が呌ばれるず
関数の先頭ではスタックにレゞスタを退避するような凊理が行われるため
関数が呌ばれた瞬間に動䜜がおかしくなるずいう原因になりたす

それずは別に曞籍ずしおの理由もありたす
曞籍䞭で説明されおいたすが以䞋の箇所に関しおはアセンブラでないず
曞けない郚分になりたす

・スタヌトアップ
・割蟌み凊理の入口ず出口
・タスクディスパッチ

これらは通垞はアセンブラで曞かれたす工倫次第では蚀語でも曞けるかも
しれたせんが本曞は入門曞なのでサンプル・プログラムずしおは
無理に蚀語で曞いたりせずに玠盎にアセンブラで曞くずいうポリシヌで
曞籍を曞いおいたすアセンブラで曞かれるべき郚分は無理に隠さずに
玠盎にアセンブラで曞くべきずいう考えです

それずは別に参考たでにの話ですがLinuxアプリケヌションにもスタヌトアップは
ありたすただしこちらはLinuxカヌネルがスタックポむンタを蚭定した状態で
プロセスを起動するためスタヌトアップは最初から蚀語で曞かれおいたす

KOZOSの堎合はもしもブヌトロヌダヌがスタックポむンタを蚭定した状態で
KOZOSのスタヌトアップを呌ぶような構成になっおいればKOZOS偎での
スタックポむンタの蚭定は必ずしも必芁ではなくやはり蚀語でスタヌトアップを
曞くこずは可胜ですが先述したように入門曞ずしおの目的があるため
そのようなこずはせずにスタヌトアップはやはりアセンブラで曞いおいたす


>> 割蟌みベクタに登録されたアドレスがアセンブラで曞かれおおり、ROMに曞かれおいるので、
>> 割蟌みが入るたびにアクセスが入りたすよね䞀般的にROMはRAMよりアクセスが遅いず曞いお
>> あったので、割蟌みが入るたびに凊理が遅くなるのかず気になりたす。

そのずおりですね
ただ実際にはキャッシュされるず思われるので極端に遅くなるようなこずは
無いかず思いたす

ROM䞊のコヌドに速床的な問題がある堎合にはよく呌ばれるコヌドは
キャッシュに固定でロヌドしおおくなどが行われる堎合がありたす
(ただしKOZOSではそのようなこずは行っおいたせん)

青山正倪郎

unread,
Aug 15, 2015, 10:45:43 PM8/15/15
to KOZOS友の䌚, ko...@kozos.jp
ありがずうございたす。
気になっおいた点が晎れおすっきりしたした



2015幎8月16日日曜日 11時19分42秒 UTC+9 SAKAI Hiroaki:
坂井ですはじめたしお

読んでいただきありがずうございたすお圹に立おたようならばなによりです

<a040c76e-4a76-430d-849d-688a6b...@googlegroups.com>の蚘事においお
Reply all
Reply to author
Forward
0 new messages