1 / 45

電気電子工学専攻 知能集積システム特論

電気電子工学専攻 知能集積システム特論. 第 8 回 制御系  II. 関根 優年. 講 義  内 容. 制御系 情報処理. 制御系の構造. 内部 世界(有限次元 離散系). 情 動 系. 記憶部 知識 データーベース. 学習 機構. 内部 状態. 評価系 制御系. 目標 設定部. 符号化. 入力 センサー. 入力ー出力 変換部. 出力 アクチュエータ. 身体部分. 観測 処理. 外  界 情報 I ( 連続系,無限次元). PCWriteCond. IorD. ALUOp. MemRead. ALUSrcB.

liliha
Download Presentation

電気電子工学専攻 知能集積システム特論

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 電気電子工学専攻知能集積システム特論 第 8 回 制御系 II 関根 優年

  2. 講 義  内 容 • 制御系 • 情報処理

  3. 制御系の構造 内部 世界(有限次元 離散系) 情 動 系 記憶部 知識 データーベース 学習 機構 内部 状態 評価系 制御系 目標 設定部 符号化 入力 センサー 入力ー出力 変換部 出力 アクチュエータ 身体部分 観測 処理 外  界 情報I (連続系,無限次元)

  4. PCWriteCond IorD ALUOp MemRead ALUSrcB MemWrite ALUSrcA MemtoReg RegWrite Op[5:0] PCWrite PCSource RegDst IRWrite 制御 2ビット 左シフト ジャンプ先 アドレス[31-0] M U X PC [31-28] M U X 0 0 命令 レジスタ M U X メモリ    アドレス PC 読出 レジスタ1 A 26 28 0 命令 [25-21] 読出 データ1 1 読出 レジスタ2 1 命令 [20-16] 1 ゼロ 判定 0 命令 [15-11] M U X 書込 レジスタ 命令 [31-26] 命令 [15-0] データ 2 0 読出 データ2 M U X ALU Out B ALU 結果6 書込 データ 1 1 4 2 書込み データ 0 レジスタ M U X 命令 [15-0] 3 ALU 符号 拡張 1 2ビット 左シフト 32 16 メモリ・ データ レジスタ ALU 制御 命令 [5-0] プロセッサのデータ-パスと制御信号

  5. プロセッサ・データパス • IPで命令を取り出し実行 • メモリの場所を示す • データがデータパスを流れる • 流れる途中で演算処理が実行される • 流れる方向を制御する • データがあるだけ演算部は回りつづける • 入力,出力,メモリがデータの所在 • データが効果を表す効果器がある • 外界からデータを取り込む • メモリ内は? 別世界

  6. プロセッサ I • 動作の基本 • IPの指す命令を実行 • スカラー型:一度に一命令,一データ single instruction single data(SISD) • スーパ-スカラー型:一度に一命令,多数データ  single instruction multi data(SIMD) • ヴェクトル型,並列プロセッサなど • パイプライン • 一命令を実行する演算ステップを重ねあわせる • 演算ステップ間にバッファを設けて,ハンド・シェイクで演算を行う. request – acknowledge

  7. プロセッサ II • メモリ • メモリ アドレスを操作 • アドレスの場所からデータ,命令を読み込む • メモリアドレスも読み込む,そのメモリの場所を指しているのもメモリアドレス IP プロセッサ アドレス データ アドレス 命令

  8. アドレス アドレス データ データ 命令 命令 プロセッサ III • メモリ空間内での処理 • 全てはメモリ空間内で表せる • メモリ空間内での実体がプロセッサを駆動する • 外部からデータを読み込み,外部へ効果器を介して作用する

  9. プロセッサ IV • メモリ内での実体の構成理論は? 制御理論は? • 仮想の世界? 安定とは? 存在とは? メモリ空間 実体 実体 実体 実体

  10. プロセッサ+バス • メモリアドレスで区別 • 主メモリのアドレス • 0:640kB MS-DOS OS用 • 1M:7FFFFFFF ユーザー空間 • IO空間のアドレス • xxxxx:yyyyyy • 画像表示コンソールのアドレス • A0000000:FFFFFFFF • バスもアドレスが割り当てられている • PCIデバイスにはIOアドレスがある • コンフィグレーション時に使用 • PCIのローカルメモリはメモリアドレス 

  11. PCIバスプロトコル • 離れたデバイス間の通信 • 通信路の確保: frame • 相手先のアドレスで相手に問い合わせる • 相手先が受け付けられるなら,その旨を返答する • 相手先にデータを送り,返事を待つ • 相手先では,送られたデータを処理して,終了したとの返答を送る • 終了との返事が着たので通信路を開放する. • 返事が来る前に通信路を開放しても良い • 続けて送る場合はバス確保を保持する 言葉では,とても簡単で常識的

  12. CPU+メモリ+バス+周辺機器 • 難しい点,考慮点: • 動作速度が異なり,速度調整必要 • 割り込み動作の対応 • 優先度の処理と割り当て • 検査 • 故障時の対象,切り離し • 不良品の切り離し • 動いているのが目に見えない • → 動いてるようにする • やさしい点 • ソフトからハードまで統一,標準化が進められている. • 考え方も標準化,統一の方向 • ツールの進歩が進んでいる.

  13. ハードとソフト • ハード構成から判ること • データの流れ • データ処理部分の構成と相互結線 • 制御順序 • データ処理部分の処理方法 • データ表現と演算手順 • 入出力関係 • ハードの設計方法,理論 • ハード構成から判らないこと • データ構造(逆解読は難しい) • OS,アプリの構造 • ソフトの設計方法,理論

  14. プログラム=表現システム 1.開始点があり,終了点がある. • 無限ループが無い • ハングアップしない • 逐次動作,擬似並列動作 開始 処理1 判断 処理k 終了 ほとんど制限が無い表現システム

  15. プログラム II 2.動作に必要なメモリ領域がある. • 無限のメモリ領域を使用しない • データ表現が有限 メモリ空間 実体 プログラム 実体 実体 実体

  16. プログラム III • プログラムの構造: • 1,2以外には原則無い. だから,規則を作る.→集合,代数,離散数学 • 非合理な規則でも問題ない • 破綻しなければ,正常! • 完全なものは無い.人が作った場合.← 人の思考の基盤は合理的・完全ではない. 合理的・完全なものを摸倣している. • 言語に完全な規則を組み込む.コンパイラが無謬性をチェック.

  17. プログラム言語 • 手続き型言語: • Fortran,Pascal,Ada,C,C++ • 記号処理言語 • LISP:ラムダ表現 •  λ-exp: ノード(左ノード,右ノード)で全てを表現.命令とデータが同一 • 宣言型言語 • PROLOG:ヘッドとボディ • (head-exp):exp1,exp2,…; • 置き換え型言語: • 置き換え規則 • オブジェクト指向言語: • Smalltalk, C++

  18. PROROG • インタープリターで実行:遅い • 動的にバインディング: • 項の探索:発散する. head Exp1,exp2,…expk exp1 Exp11,exp12 exp12 Exp121,exp122 exp11 Exp111,exp112

  19. 各プログラム言語の実形態 • どの言語でも,アセンブラ命令,機械 命令に落ちて,命令列として実行される. • メモリへのアクセス,データ処理で実現される • LISPマシーン,PROLOGマシーン作られたが,この大枠からは出られなかった. • データ構造上,グラフを並列に辿り,実行するのが好ましい. • 実行中に並列実行プロセッサがどんどん増える. • メモリアクセスの並列性が予測できない • 並列分散メモリの仕組みがわからない • 単一 IPを越えるのは難しい.

  20. Operating system OS • ハード資源を割り当てる.(UNIX, PDP11,SYSTEM360) • ハードが高価,多くのプログラムを時分割で実行. • スケジューリング,リソース管理が主 • メモリ,HDD,IO(CRT,TTY) • CPM,IBM-DOS,MSDOS: • DISK OPERATING SYSTEM として発展.IBMがマイクロソフトに発注.MSが独立してMSDOSを販売.CPMを真似したOS. • WINDOWS_OS:X-WINDOWを真似してMS-WINDOW

  21. OS:資源管理 • IO空間 • ハードの有無 • ハードの状態 • ハードの制御 • ハードへのアクセス制御 • ハードの数だけ処理する. • ようするに,たった,これだけ • 単に面倒なだけ!

  22. 時分割  • OSが管理する全てのプログラムは,ぶつ切りにされてプログラム断片となる • CPUの演算に都合の良い塊にプログラム断片をまとめる.TASK • タスクを次々に実行する. • その結果,プログラムが実行される プログラム A プログラム B プログラム C タスク タスク タスク タスク プロセッサ

  23. プロセス(Unix用語だった) • OSが管理するプログラム単位.    • メモリを共有できない. • プロセッサ間通信でデータを転送. プログラム プロセス プロセス プロセス プロセス プロセス プロセス間通信 共通メモリ

  24. スレッド:プログラム断片を繋ぐ糸. • 転じて,プログラムの中で独立して動く部分プログラムを言う. • メモリを共有することが出来る. • プロセスの代わりに使われる プログラム スレッド スレッド 共有メモリ

  25. マルチスレッド • プログラムの中で複数のスレッドが書ける.OSがスレッド単位で管理する. • 一つのプロセッサで時分割でスレッドを処理 OS プログラム スレッド スレッド スレッド

  26. マルチ・スレッド,マルチプロセッサ • スレッドを複数プロセッサにばら撒き,並列実行する • 共有メモリ(主メモリ,分散メモリ)をマルチのプロセッサがアクセスする • メモリ・アクセスのボトルネックが直ぐに生じる.(昔からの話) OS プロセッサ プロセッサ プロセッサ スレッド スレッド スレッド

  27. 効率性 • OS:効率よく管理できる?   マルチスレッドスケジューラがある? • 複数スケジューラを並列管理 • メモリアクセスを回避 • キャッシュの統一 • 各プロセッサのキャッシュ内容の整合性を保つ. • プロセッサが空回りしない • 夢のような話 • プロセッサは空回りする物

  28. hwObject,hwModuleモデル • 既存OSは集中制御で資源を管理 • OSが知らないようにハードを管理? • HwModuleはOSが管理 • hwNetはObjectManagerがアプリレベルで管理 • OSはhwModuleへのアクセスにしか見えない • ハードウェアの2重構造を実現 • hwModule,hwNetを大幅に増やすと主客が転倒する. • OSは低レベルのハウスキーパーになる

  29. hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule CPU 主メモリ ノースブリッジ センター ブリッジ hwModule サウスブリッジ OSが見える 世界 ブリッジ ブリッジ hwModule hwModule hwModule hwModule hwModule hwModule hwModule hwModule

  30. 次世代PCへの拡張? • 仮想回路hwNetによるハード実現 • マルチプロセッサと同じ? • 各プロセッサ内で局所(組み込み)プログラムが動作 • 主メモリと局所メモリ間でのデータ転送 • 大局的には並列,局所的には逐次動作. • hwNetによる並列動作が重要 • 大局的,局所的にも並列動作 • ホストプロセッサの仕事 • 全体のデータの複雑な流れの制御

  31. objectManager • 主メモリと同じようにhwObjectの数が膨大になる,objectManager が巨大になるハズ. • どう管理する.→脳を真似るしかない. OS メモリ,バス,周辺ボード Object Manager hwObject(hwNet) hwObject(hwNet) hwObject(hwNet) hwObject(hwNet) hwObject(hwNet)

  32. hwObjectを使ったシステム • 常時動作(監視,計算,プログラム組み立て)を行うが,システムの性能が劣化しない • 動的に評価や選択を継続的に行うが,大半は棄却する • クロック周波数が低く,低消費電力で動作する • 階層構造を有し,低層で判断処理,計算を行い,ホストに負担をかけない • モジュール構造で大規模システムの構築が可能 しかし,どう制御するかが大問題!

  33. 脳はどの様に並列実行しているか • 現状:わからない • 膨大な直接配線. • プロセッサのように集中制御?見当たらない? • 並列プロセッサが出来れば,脳と同じ構造が実現できる? • LAN+PCsで実現できるはず! • OSレベルの制御構造がわからなければ無理 • ハード構成からOSの仕組みがわかる?

  34. 脳のhwObject風見方 • OSは視床,大脳基底核レベルの資源管理システム • hwModuleは大脳皮質でハードのプラットフォーム • hwObject+hwNetは大脳皮質内で実現した機能 • ObjectMgr はOS上に実現した新しい管理システム→意識モデル? • 機能局在型モデル:アプリ毎に機能を実現 • 集中制御型モデル:主アプリの下に,多数のサブアプリがつく

  35. ワーキング・メモリ? • 前頭葉(ブロードマンの)46野 • ワーキング・メモリのセンター • 複数の情報をアクセス・保持し,統合して適切な答えを出す • D1(ドーパミンの一つ)によって維持

  36. 情報バッファと情報処理 I • 視覚のスケッチ・パッド • 聴覚の音韻ループ • 音韻のリハーサル • 前頭連合野(意図のセンター) • 自我-自己制御-自己意識 • 戦略思考,戦術と戦略 • 適当な行動を組み立てる • 自我は衝動と外界とを仲介 • 実際の行為(指を曲げる)の前  • 550ms 活動開始(無意識活動) • 200ms やろうと意識的に意志

  37. 情報バッファと情報処理 II • 前意識 • 意識する前に準備する • デジャ・ヴュ(既視感):以前,見たような気がする. • 無意識段階であらかじめ作られた世界の絵を意識する過程で早めに意識完了してしまう. • 遅れて,再度,意識したと2度,認識する. • 意思決定は拒否権行使 • 行動計画を選択するのではなく,やらないという選択,200msから100msの時に行われる.

  38. 情報バッファー • 局所メモリはこの情報バッファそのもの • どのサブシステムも情報バッファの中を見ている :情報バッファ +  オブジェクト 内部世界 情 動 系 記憶部 知識 データーベース 学習 機構 内部 状態 評価系 目標 設定部 入力 センサー 入力ー出力 変換部 出力 アクチュエータ 身体部分

  39. 情報バッファ II • 情報バッファ内でオブジェクトをどう記述, • 入力の情報バッファから出力の情報バッファへのデータ転送 • 転送中でのデータ演算処理 • 符号化? • バッファ内でのオブジェクトの運動? • 運動,並列運動もhwNetで実現 • hwNetの制御→hwObjectの制御→hwObjectを使った関数として実現→主アプリ内で関数,オブジェクトを制御

  40. アプリの構成 • 各hwObjectからの要求メッセージを受け付け処理. • メッセージ・イベント処理のループ • OSのメッセージ処理と同じ • 情報バッファをpeek,バッファ管理 • hwObject管理: hwObject実行の優先度管理(OSと同じ) • ライブラリ,データ-ベース管理 • 実メモリ管理

  41. 移動型次世代PC=ロボット

  42. HwModule=ロボットの回路

  43. ロボット・プログラム

  44. 制御プログラム • 制御の中心:状態機械?よくわからないので,作りながら考える. • 脳,前頭葉を真似てみる→入力系から出力系への途中の判断部分が肥大化したもの. • 受動的な機械ではつまらない • 乱数による動作 X • 統計データ依存 X • 能動的に動作する制御系 ○ • 不確実性がある機械 • 不完全決定機械        ○ • 変化(成長)する評価系   ○

More Related