統合アーキテクチャ

「統合アーキテクチャ」ではMIPS/ARMなどの基本原理、RTOS(ITRON)を勉強して、組み込みシステムとして統合的にどういう風にアーキテクチャ設計するかの指針が得られるのかな。

Day1

ほんじつはCPU(MIPS/ARM)の話とcasheのはなし。

CPUのパイプライン処理についてが主、


  • パイプライン処理をすればスループットがあがる
  • そのために多段(stage)に命令の中身を分解
  • RISCは固定命令長なので、パイプライン向き
  • パイプラインをすると、様々な問題(ハザード)がある。
  • ハザードを解消するために、様々なコントロール信号や余分なレジスタを準備
  • 段数が増えると稼げるのか??、そうか段数=一度に実行きる数ね。

パイプラインについては、ARMのパイプライン構造を検証した(手検証にて)
という文献があった、はてこれをIsabelle/HOLで証明でければ、一論文かなあ

キャッシュについて、


メモリアクセスは、局所性(time/space)という性質
をもっている。ので、

アクセス頻度が高いものは近くに、

  • キャッシュの目標は
 もっとも低価格なメモリが達成するサイズ
 もっとも行スピードなメモリが達成するアクセス時間を提供

するような、メモリ階層をつくる

*キャッシュとは


  • より下位階層のメモリの一部のコピーを持つ
  • block(16-128bit)単位で命令・でーたを格納
  • hit/miss ratio

  • hit time/ miss penalty

  • True hierarcy (Inclusion property)
階層iに含まれるblockは階層i+1に含まれる

*dirty bit

書き込み時のhit動作

  • Write back : casheの中だけを書き換える、自分自身が replaceされるとき
 将来、にはじめて書き込むという
modified bit /dirty bitというのを準備して、それをみて判断する


  • Write through
storeごとに、下位階層にもかいてやる。 write bufferという考えがあるですます。


*置き方のくふう

  • fully-assosiative cashe
ということは、キャッシュを全スキャンするということ。

  • setAssosiative

 blockをsetで分割します。
 direct map はset が 1ですよん

 full assosiatl は 全部が setにはっておりますよん

というように set assosiativeというのが上位がいねんですかね。

連想率(assosiativity) 2way/Nwayということは、大きい方がhit率が上がりますが
HW的に実現がむつかしくないりまんねん。


連想率がかわると、必要びっと数は。。。

4K個のブロック
 direct map 64Kbit
2way 68Kbit 4way 72Kbit full 112Kbit

*Replacemantポリシー

 miss時にset内のどのvalidなblockを追い出すか?

 ・ランダムにやる
・LRU(Least recently Userd) 長時間つかわれてないblockを選択
2005年12月05日(月) 10:49:58 Modified by miwamasa3




スマートフォン版で見る