Renesas Synergy™

FAQ 1009058 : MSB/LSB(Most Significant Bit/Least Significant Bit)

ディジタル・データのビット列について、MSBは最上位ビット、LSBは最下位ビットのことです。
ディジタル・データは2進数で、通常の数の表記と同様に、左端が最上位けた、右端が最下位けたです。たとえば、10進の99という数は、2進で「(MSB)01100011(LSB)」と表されます。この場合、MSBは0でLSBは1です。
ブロック間のインタフェースを考えるとき、パラレル・インタフェースでは、送信側と受信側の各ビットが対応しているので、特に問題はありません。ところが、シリアル・インタフェースでは、1本のデータ線で全ビットを送受信するので、送信側と受信側のプロトコルでビット順序の定義を一致させておく必要があります。上記データの場合、MSBファーストでは" 01100011"、LSBファーストでは"11000110"の順に送受信されます。受信側もMSBファーストかLSBファーストかを送信側に合わせておけば、受信データのシリアル-パラレル変換によって、パラレル・データを再生できます。

 

 

【ティー・ブレイク】
ビットというのは2進数の最小単位で、2進数は「けた(digit)」の二者択一状態(1か0)で構成されます。このため、2進で数を扱うことを「けた」の派生語である「ディジタル(digital)」と表現します。
ただし、2進表記ではけた数が多くなるので、4ビットを単位とした16進(ヘキサ)表記がよく用いられます。プログラムで16進を記述する場合、数の前に"0x"をつけたり、数のうしろに"H"をつけたりします(C言語やアセンブラで定義)。昔は3ビットを単位とした8進数がよく使われていました。
なお、ビット数表記では、8ビットを単位とした「バイト」をよく用います。「ワード」というのは16ビット以上を単位とした表記ですが、なんビットかという共通的な定義はありません。
ただしメモリでは、データ・ビットの構成によって容量が変わるので、アドレス数をワードと呼び、×nビットでデータ・ビットの構成を表して、「2Mワード×8ビット」(=16Mビット)などと表現します。SRAMでこの構成の場合、アドレス線が21本(A0~A20)でデータ線が8本(D0~D7)となります。

 

他にご質問がございましたら、リクエストを送信してください