推しミネラルウォーターはありますか?

普通PCでならバイト単位でメモリにアクセスできると思いますが
組み込み系のRAMで16bitアクセスRAMと書いてあるのですが
このメモリへのアクセスは2バイト(16bit)単位でしか扱えないという意味でしょうか?
とんちんかんな質問ですいません。

A 回答 (3件)

メモリ構成がどうなっていようと, C (や C++) のレベルでは「1バイトごとにアクセスできる」ことになってます. もちろん,


・プロセッサ自身が 1バイト単位でアクセスできるようになっている
・処理系ががんばって 1バイトごとにアクセスしているようにみせかけている
・実は 1バイト = 16ビットという処理系である
など, いろいろな可能性があります.
カテゴリーが C&C++ なのでそれにあった回答をしてみました.
    • good
    • 0
この回答へのお礼

ありがとうございました。また、勉強しておきます。

お礼日時:2008/04/03 13:28

データバスが16ビットでも、上位8ビットだけ、または下位8ビットだけにアクセスするためのコントロールピンがある場合が多いのですが、そのメモリの仕様はどうなっていますか? 通常、最下位アドレス(A0)をそのピンに入力するように基板を設計するはずです。



また、キャッシュがあるプロセッサだと、数ワード分まとめて読み書きすると思います。

もちろん、1バイト=16ビットの環境も考えられますし、ソフト的に8ビットバイトを実現している可能性もあります(その場合、sizeof(char*) > sizeof(int*)になったりする)。
    • good
    • 0
この回答へのお礼

ありがとうございました。また、勉強しておきます。

お礼日時:2008/04/03 13:28

16bitバスで接続されたRAMなら2バイト単位でのアクセス


になりますね。

この回答への補足

回答ありがとうございます。
仕様書に対象となる1バイトの領域と
その1バイトの上下2バイトずつの計5バイトを
このメモリから取得し、対象の1バイトの中のビットを
立てて保存するように書いてあるのですが
1バイト?奇数バイト?にアクセスすることはできるのでしょうか?

補足日時:2008/04/02 19:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報