講義日程-2008年度夏学期

計算システム論第二

内容

物理的制約のもとで複数のシステムを有機的に組み合わせ,計測,認識,制御,知能などを実現する最適化されたインタラクティブな計算システムの構成理論と手法を学ぶ。

  1. 計算システムのモデリング
  2. 命令セットアーキテクチャ
  3. データパスと制御論理
  4. メモリシステム:キャッシュメモリ、仮想記憶
  5. 入出力制御
  6. プロセスの管理
  7. フォールトトレラントシステム

授業ノート

Presented by sen. tzik all blame reserved.

  1. 計算システムとは
    • 目的に応じて
    • ハードウェアとソフトウェアを組みあわせて構成
      目的によってさまざまな構成がありうるが、基本は同じ。
  1. ハードウェア構成(p2,3)
  1. システム設計の階層
  1. 概念レベル(仕様書、頭の中)
  2. 高級言語レベル(C,C++) ハードウェアに非依存
  3. 機械命令レベル(PU依存)
  4. レジスタトランスファレベル
  5. ゲートレベル
  6. スイッチレベル

iii.までがソフト屋さんの仕事。ここが変わるとソフト、ハード両面に影響が出るので設計はとても重要。
ivはレジスタ間の転送をハードウェアで実現する手法を規定
VHDL,Verilogとかのハードウェア記述言語を使う。
データパスと制御論理

v.は第一でやったところ
vi.はトランジスタの話。基本的にはこのあたりを気にする必要はあんまりない。

  1. 階層設計に関する検討 1つのシステムがとても複雑になってきている。
    →設計の見通しの良さ
    設計が階層化されていれば、バグが生じたときに1つだけ上の階層に戻ってやり直しができる。
    →最終的な品質(製品としての性能と設計期間)
  1. セマンティックギャップ(semantic gap)
    高級言語の機能と、ハードウェアで実現されている機能(アセンブラ)のレベルのギャップが大きい。
    高級言語マシンというものが、今から20年くらい前にはさかんに研究されていた。

RISC(Reduced insttuction set computer)
→ハードウェアで実現する機能、命令は簡単なものでも良い。
プログラムの実行時間=(プログラムあたりの命令数)*(1命令あたりの実行時間)
高級言語マシンでは、1↑ 2↓
RISCでは1↓2↑
'(1命令あたりの実行時間) = (1命令あたりの所要サイクル数)*(サイクル時間)'

単純な命令を繰り返すもののほうが、流れ作業に向いている。面倒なのでウィキペとか参考書とかを参照(パイプライン処理)

  1. ハードウェア/ソフトウェア協調設計 例えば、組み込みとか、ちょっと凝った処理をしたいときにプロセッサを設計することはよくある。(携帯電話であればコストダウン、数値計算だけに特化したスパコンを作るetc.)一般的に、ハードウェアでやることを増やすと性能はあがるが、コストも増える。ハード/ソフトの協調設計ではこのトレードオフになる。どうするのがいいかはお金と時間による
    {ハードウェア|ソフトウェア}で実現する機能の決定。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS