• ベストアンサー

16bitアクセスRAMとは

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

メモリ構成がどうなっていようと, C (や C++) のレベルでは「1バイトごとにアクセスできる」ことになってます. もちろん, ・プロセッサ自身が 1バイト単位でアクセスできるようになっている ・処理系ががんばって 1バイトごとにアクセスしているようにみせかけている ・実は 1バイト = 16ビットという処理系である など, いろいろな可能性があります. カテゴリーが C&C++ なのでそれにあった回答をしてみました.

quest111
質問者

お礼

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

その他の回答 (2)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

データバスが16ビットでも、上位8ビットだけ、または下位8ビットだけにアクセスするためのコントロールピンがある場合が多いのですが、そのメモリの仕様はどうなっていますか? 通常、最下位アドレス(A0)をそのピンに入力するように基板を設計するはずです。 また、キャッシュがあるプロセッサだと、数ワード分まとめて読み書きすると思います。 もちろん、1バイト=16ビットの環境も考えられますし、ソフト的に8ビットバイトを実現している可能性もあります(その場合、sizeof(char*) > sizeof(int*)になったりする)。

quest111
質問者

お礼

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

  • techa
  • ベストアンサー率60% (41/68)
回答No.1

16bitバスで接続されたRAMなら2バイト単位でのアクセス になりますね。

quest111
質問者

補足

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

関連するQ&A