• ベストアンサー

ハードウェア実験について

ワンボードマイコンに使用しているメモリーには11本のアドレスピンがあり、メモリーの最小番地は16ビットの2進数で表すと0000000000000000、最大値は0000111111となります。 各番地には8ビットのデータが格納されます。 ここで実験のマイコンは8ビットを1バイトとして扱うので、メモリーの容量は2048バイトとなるのですが、これは何故2048バイトとなるのですか? どなたか詳しく教えてもらえないでしょうか?よろしくお願いします。

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

  • ベストアンサー
noname#194317
noname#194317
回答No.2

まあ、言ってしまえばアドレス線が11本と言うことは2^11=2048、で終わってしまうんですけど… もうちょっと詳しく書くと、アドレス線11本ということは、アドレス空間が11ビットあるわけです。11ビットで表現できるのは2048通りで、メモリ番地が0番地~2047番地まである。で、番地当たりのメモリが8ビット(1バイト)だから、2048バイト=2Kバイトとなります。 ただしマイコンによってはピン数を減らすために、アドレスやデータを複数に分け、外部にそれをくっつけて本来の長さに戻す回路を用意している場合があります。例えばマイコンのアドレスピンが見た目は8本だけど、実は2度に分けて出しているので16ビットだ、なんてことがあり得るので、見た目のアドレスピンの本数と実際のアドレス空間が同じとは限りません。今回はそう言うことはしてませんよね?

sagataka0403
質問者

お礼

詳しく解答してくれてありがとうございます! とても丁寧でわかりやすく納得できました!!

その他の回答 (1)

  • P0O9I
  • ベストアンサー率32% (693/2146)
回答No.1

2^11=2048

sagataka0403
質問者

お礼

回答ありがとうございました!

関連するQ&A

  • ワンボードマイコンMP-Z80を用いたプログラミング

    今、ワンボードマイコンMP-Z80でプログラミングの勉強をしています。 まだ、基本的なところなんですが、次の問題がわかりません。 1)8100H番地から81FFH番地までの100Hバイト分のRAM領域を0とする プログラムを作成せよ。 2)1から10までの整数の和を求め、8100H番地に格納せよ。 3)8100H番地から810FH番地に格納されているデータを8ビットの符号付 絶対値表現とみなしたとき、各データを2の補数表現に変換し、8200H番地から格納せよ。 この三つの問題なんですが、1)は全部に0を入れるということでしょうか? これらの問題は繰り返し命令の範囲の問題なので、繰り返し命令を 使うそうです。ヒントだけでも教えてください。

  • ワンボードマイコン Z80

    ワンボードマイコンMP-Z80のプログラムを勉強しているのですが、 次の二つの問題がわかりません。 1)8100(H)番地~813F(H)番地に格納されているデータを 8200(H)番地以降にコピーせよ。 2)8100(H)番地から810F(H)番地に格納されているデータを8ビットの 符号付絶対値表現とみなしたとき、各データを2の補数表現に変換し、 8200(H)番地から格納せよ。 1)は LD HL,8100 LD DE,8200 LD A,40H LD BC,A LDI LDIR HALT でいいのでしょうか。2)はまったくわかりません。 お願いします。

  • 合計ビット数

    4語(16バイト)からなるブロックを使用した64Kバイトのキャッシュを実現するために必要な合計ビット数を算出せよ.この値はキャッシュの容量とは異なる.キャッシュの容量は通常はキャッシュに格納されるデータのバイト数を指すからである.キャッシュを実現するためのビット数は,データとタグと有効ビットのすべてを格納するのに必要な記憶容量を表す。 この問題で エントリが4K個あり 各エントリは 128bit(データ)+16bit(タグ)+1bit(有効ビット)=145bit ここまで分かったのですが答えが 593,920bit 145*4K では答えになりません どうすればいいのでしょうか?教えてください.よろしくお願いします

  • アセンブリ言語で比較命令

    (問題)50h,51h,52h,53h の4つの番地に任意のデータを格納する。 この4つのデータ比較を行って最も小さい数を54h番地に格納せよ。 使用しているのは8ビットマイクロコンピュータのKUE-CHIP2です。 データの格納はできたのですが、その次からがわかりません。 どなたか教えていただけないでしょうか? LD ACC, 50H のように答えていただけたら嬉しいです。

  • 実験計画法の分析方法

    ある実験でいろいろ条件を変えて、得られるデータの最大値と最小値がいくらぐらいになるのかを見たいのですが、因子が多く、水準も3つぐらいあるので直交表(L18)をもちいて実験回数を減らすという方向になったのですが、得られた実験データの解析方法がわかりません。 今回のようにデータの最大値と最小値を推測するにはどのようにすればいいのでしょうか?実験計画法について、最近勉強し始めたばかりで全くの素人です。わかりやすくお教えいただけるとありがたいです。またこの部分を勉強すればいいというアドバイスでもいいのでよろしくお願いします。

  • 2進数からアスキーコードへの変換についって

    趣味で電子工作を行っているものです。 picマイコンを使用して、A/D変換の結果10bitのデータを得ました。 8ビットのマイコンなので2つのレジスタに分かれてデータが格納されています。(上位2ビットと下位8ビット) この2進数のデータを10進数に変換し、一桁ごとにアスキーコードにして、シリアル通信を用いてPCに送りたいと思っています。 ここで、10bitのデータの2進数から10進数への変換。 10進数のデータを一桁ずつアスキーコードへ変換。 の2つのやり方がわかりません。 2進数のデータのままPCに送り、PCのソフト側で変換するほうが簡単なのですが、今回はPIC側で変換し、アスキーコードで送る必要があります。 プログラムに使用する言語はアセンブリです。 どなたか分かる方がいましたら教えてください。

  • アドレス指定方式での、命令語が参照する番地

    16進数で”C13B0206”という32ビットの命令語があります。 <命令語の仕様> 0~7ビット:命令指示部 8~10ビット:レジスタ 11~15ビット:アドレス修飾部 16~31ビット:番地 <アドレス修飾と参照番地の関係> 00 0固定 直接アドレス (11,12の値が00、13~15の値が0固定のとき、直接アドレス。) 01 0固定 間接アドレス 10 インデックスレジスタ インデックスレジスタ+番地の値 11 インデックスレジスタ インデックスレジスタ+番地が示す内容の値 <主記憶、レジスタの状態> ●主記憶に格納されている値(16進数) 番地(16進数)が  202,203,204,205,206,208,209,20A...の順に、それぞれの格納値は、 203,204,205,206,208,209,20A,20B...。 ●インデックスレジスタに格納されている値(16進数) インデックスレジスタ番号(16進数)が1,2,3,4,5… の順に、それぞれの格納値は、 0,1,2,3,4…。 (1) アドレス修飾部のインデックスレジスタ番号。 命令語の”C13B0206”で、アドレス修飾部にあたるのが”3B”。00111011(2進数)。8~10ビットの001がレジスタになるから、3。 (2)命令の番地部の番地の値(16進数) 命令の番地部の番地の値。命令部では、”0206”。ちょうど16進数なので、206。 (3) 命令が最終的に参照する番地。 上の、<主記憶、レジスタの状態>より、11~15ビットが”1011”。 インデックス番号が11(2進数)なので、3(16進数)。インデックスレジスタ番号が3のとき、格納されているのは2。番地の値である206と3を合わせ、209。 最終的に参照される番地は209。 (1)(2)(3)、自分の解き方が正しいのかどうか自信がありません。どなたか補足、訂正などありましたら、よろしくお願いいたします。

  • 対数の変形の仕方を教えてください(2)

    昨日は大変お世話になりました、本日も宜しくお願いいたします。 [問] 10^7バイトの容量がある記憶装置で、各バイトごとに番地がついている場合、 各バイトを識別するのに必要なビット数は最低何ビットか。ここでlog[10]2=0.301とする。 [解説」 10^7バイトの記憶領域を1バイトごとに識別するには、1バイトから10^7バイトまでの 10^7個の番地が必要となる。 nビットで2^n個の番地を識別できるので 2^n-1<10^7<2^n 7/log[10]2<n<7/log[10]2+1 23.3<n<24.3 n=24(ビット) [質問] ここでなぜ、 2^n-1<10^7<2^n ↓ 7/log[10]2<n<7/log[10]2+1 の変形が成り立つのかご教授願えないでしょうか。

  • PCのメモリーエラーについて。

    普通のPCのメモリーにはパリティビットがありません。 例えば、メモリー内にて1000番地のデータが2進法で正しい値「0000,0000」が「1000,0000」と2の0乗ビットで反転が起きた後に、PCが1000番地のデータを読み出したらエラーにはならないのでしょうか? また、PC内のレジスターやデータの受け渡しではパリティチェックを行っているのでしょうか?

  • マイコンのビット数とクロック数

    マイコンの勉強をしています.まだまだ初心者で,とてもくだらない質問かもしれないのですが,マイコンのビット数について尋ねさせて下さい. マイコンには8ビットマイコンとか16ビットマイコンとか32ビットマイコンとかありますよね.少し調べてみると,このnビットマイコンのnを,何と定めるかの厳格な定義はないようでレジスタの幅や内部データバスの幅などとなっているようですね(?) これはつまり,1回で処理出来る,通信できるデータの大きさという理解でよろしいのでしょうか?16ビットマイコンは8ビットマイコンより8ビット大きいデータを処理出来るわけですから,2の8乗倍で256倍の速さってことですか? と,いうことは,8ビットマイコン256MHzのマイコンは,16ビット1MHzのマイコンと同等の処理ができるということなのでしょうか? 回答お待ちしております.