- ベストアンサー
16bitアクセスRAMとは
普通PCでならバイト単位でメモリにアクセスできると思いますが 組み込み系のRAMで16bitアクセスRAMと書いてあるのですが このメモリへのアクセスは2バイト(16bit)単位でしか扱えないという意味でしょうか? とんちんかんな質問ですいません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
メモリ構成がどうなっていようと, C (や C++) のレベルでは「1バイトごとにアクセスできる」ことになってます. もちろん, ・プロセッサ自身が 1バイト単位でアクセスできるようになっている ・処理系ががんばって 1バイトごとにアクセスしているようにみせかけている ・実は 1バイト = 16ビットという処理系である など, いろいろな可能性があります. カテゴリーが C&C++ なのでそれにあった回答をしてみました.
その他の回答 (2)
- jacta
- ベストアンサー率26% (845/3158)
データバスが16ビットでも、上位8ビットだけ、または下位8ビットだけにアクセスするためのコントロールピンがある場合が多いのですが、そのメモリの仕様はどうなっていますか? 通常、最下位アドレス(A0)をそのピンに入力するように基板を設計するはずです。 また、キャッシュがあるプロセッサだと、数ワード分まとめて読み書きすると思います。 もちろん、1バイト=16ビットの環境も考えられますし、ソフト的に8ビットバイトを実現している可能性もあります(その場合、sizeof(char*) > sizeof(int*)になったりする)。
お礼
ありがとうございました。また、勉強しておきます。
- techa
- ベストアンサー率60% (41/68)
16bitバスで接続されたRAMなら2バイト単位でのアクセス になりますね。
補足
回答ありがとうございます。 仕様書に対象となる1バイトの領域と その1バイトの上下2バイトずつの計5バイトを このメモリから取得し、対象の1バイトの中のビットを 立てて保存するように書いてあるのですが 1バイト?奇数バイト?にアクセスすることはできるのでしょうか?
お礼
ありがとうございました。また、勉強しておきます。