380 likes | 465 Vues
組込みシステム 講義. (第4巻). 3年次後期2単位選択 担当: 玉野 和保. 単元 7 (1/22). 第 7 単元 メモリとその管理. 講義の意味と位置づけ メモリの種類 メモリは単に データを蓄えるのではなく、演算・制御も 実行する 各種メモリの動作基本原理とアクセス法 講義で解説すること メモリの役割 メモリの種類 メモリ動作の基本原理 SRAM の構造と回路とアクセスの実際 DRAM の構造と回路とアクセスの実際 EPROM、FLASH Memory 仮想メモリ. 講義の意味と位置づけ マイコンの定義 コンピュータと電卓の違い
E N D
組込みシステム 講義 (第4巻) 3年次後期2単位選択 担当: 玉野 和保
単元7(1/22) 第7単元 メモリとその管理 • 講義の意味と位置づけ • メモリの種類 • メモリは単にデータを蓄えるのではなく、演算・制御も実行する • 各種メモリの動作基本原理とアクセス法 • 講義で解説すること • メモリの役割 • メモリの種類 • メモリ動作の基本原理 • SRAMの構造と回路とアクセスの実際 • DRAMの構造と回路とアクセスの実際 • EPROM、FLASH Memory • 仮想メモリ • 講義の意味と位置づけ • マイコンの定義 • コンピュータと電卓の違い • コンピュータの類別 • マイコンの類別 • 講義で解説すること • マイコンとは何か • マイコンのコンピュータ界での位置づけ
単元7(2/22) メモリの役割 • データの短期保存: Register • データの長期保存: Memory Bank Core Memory(RAM、ROM) 外部メモリ(SAM) • データの変換表: Array Processing • Memory Switch: メモリ空間でのI/Oで構成 • Flag/Status: Registerの一種 単一のFlip/Flopで構成もある
単元7(3/22) メモリの種類 • 内部メモリ: 自由なアドレス選択で、データの読み書き可 • CORE MEMORY: RAM、ROMが使用される • 外部メモリ: 自由 • 磁気テープ型: 大容量、シリアル形式の長期データ保存 速度が遅い DAT(Digital Audio Tape): • Disk型: 比較的記憶容量が大きく、速度も速い Hard Disk: Giga Byteオーダーでの情報記録 Micro Drive:超小型Hard Disk コンパクト Floppy Disk: • IC型:高速だが、記憶容量は少ない。 コンパクト Flash ROM: IC card 多種のMemory Media(Compact Flash、Smart Media、Memory Stickなど)
単元7(4/22) Diskの構造
単元7(5/22) RAM・ROMの姿 8KB RAM 64K×4B 画像用RAM 8KB ROM 32KB ROM
単元7(6/22) 多種の新メモリの姿
単元7(7/22) 内部メモリの種類 • RAM(Random Access Memory): 自由なアドレス選択で、データの読み書き可 SRAM(Static RAM): DRAM(Dynamic RAM): • ROM(Read Only Memory): 自由なアドレス選択で、データの読み出し専用 MASK ROM: Fuse ROM: EPROM(Erasable Programmable ROM) or PROM: EEPROM(Electric Erasable Programmable ROM): Flash ROM:
単元7(9/22) メモリ動作の基本原理 • 双安定回路 • Flip/Flopで構成
単元7(10/22) SRAMの構造と回路
単元7(15/22) DRAMの基本原理
単元7(16/22) DRAMの構成回路
単元7(17/22) DRAMのアクセス法
単元7(20/22) EPROMの構造と回路
単元7(21/22) Flash ROMの構造と回路 EEPROMの一種: EEPROMより集積度が高い 消去制御用のトランジスタ1個を、消去電圧の与え方を共通化 NAND型は直列配線できるので配線数が少なく集積度は高い。 NOR型は蓄積電荷が少ないので高速アクセス
単元7(22/22) 仮想メモリの基本原理 モデル: メインメモリ:16MB(物理アドレス) HD上メモリ:32MB 動作: CPU: 仮想メモリをメインに取込 プログラム:変換テーブルで処理 ※ソフトだけでは遅いのでハード で処理 → 連想メモリ(TLB) を使用(配線で変換)
単元8(1/ 29 ) 第8単元 機械語、アセンブラと基本プログラム • 講義の意味と位置づけ • コンパイラとインタプリタの違い • コンパイラの役割 • 機械語によるALUの制御 • Addressing Mode • 講義で解説すること • コンパイラと機械語 • インタプリタと機械語 • 機械語によるALUの制御 • 機械語の構造 • Addressing Mode • 講義の意味と位置づけ • マイコンの定義 • コンピュータと電卓の違い • コンピュータの類別 • マイコンの類別 • 講義で解説すること • マイコンとは何か • マイコンのコンピュータ界での位置づけ
単元8(2/29) アセンブラと基本プログラム • 講義の意味と位置づけ • アセンブラの意味 • 逆ポーランド記法 • 講義で解説すること • アセンブラと機械語 • Mnemonic言語 • 逆ポーランド記法とコンパイラ • 講義の意味と位置づけ • マイコンの定義 • コンピュータと電卓の違い • コンピュータの類別 • マイコンの類別 • 講義で解説すること • マイコンとは何か • マイコンのコンピュータ界での位置づけ
単元8(3/29) コンパイラと機械語 コンパイラ 変換 計算機命令 (Source Statement) 機械符号 (Machine Code) Source Language Machine Language Source statement: Source Languageで記述 複数の機械語(Machine Language)で構成 Machine Language: Machine Codeで記述 Machine Codeに1対1対応
単元8(4/29) コンパイラの機能
単元8(5/29) Source Programから機械語変換
単元8(5/29) Source Programから機械語変換 ×××.source ×××.asm ×××.obj Source Prog.1 Compiler Object 1 ・・・ ・・・ ・・・ Source Prog.N Compiler Object N Locator & Loder Libraly ×××.com ×××.exe Machine Code Linker
単元8(6/29) インタプリタと機械語 インタプリタ 解釈 計算機命令 (Source Statement) 機械符号 (Machine Code) Source Language Machine Language Object FileをつくらずにSource Statement毎に そのまま実行
単元8(9/29) 機械語によるALUの制御 [AND Acc.Immediate 命令を事例として] 命令 AND命令Code Decoder Clock: φ AND回路選択 Gate Data Bus AND回路に接続 Enable Immediate Data AND処理回路 F/F あらかじめセット Accumulator つぎのステップで書き込む
単元8(12/29) 2項演算の命令構造
単元8(14/29) 16bit MPUの命令構造
単元8(15/29) Addressing Mode Addresing Mode:操作対象の指定方法の詳細
単元8(15/29) Addressing Mode
単元8(16/29) アセンブラと基本プログラム • 講義の意味と位置づけ • アセンブラの意味 • 逆ポーランド記法 • 講義で解説すること • アセンブラと機械語 • Mnemonic言語 • 逆ポーランド記法とコンパイラ • 講義の意味と位置づけ • マイコンの定義 • コンピュータと電卓の違い • コンピュータの類別 • マイコンの類別 • 講義で解説すること • マイコンとは何か • マイコンのコンピュータ界での位置づけ
単元8(17/29) アセンブラ • Assemblingの語意: 構成目的により集めること • アセンブルドプログラム: 意味を持ち集合された一塊のプログラム 通常Mnemonic言語で記述 Mnemonic: 語意は「記憶を助ける」「記憶の1細胞」 Mnemonic言語: 意味が理解できるよう記号化したマイクロプログラム 機械語と1対1に対応したプログラム言語 アセンブル言語とも呼ばれる • アセンブラ(Assembler) アセンブルプログラムを一連の機械語に変換する ソフトウェアシステム
単元8(18/29) アセンブラと機械語 アセンブルドプログラム 1対1対応 Mnemonic言語 機械語 マイクロプログラム 1対1対応 マイクロ命令 機械操作 機械語
単元8(21/29) Mnemonic言語 • プログラマの理解を助ける略記号 • 英文の命令文の構造を基本 命令文: 動詞 (V形式) 動詞+目的語(行き先) (V+O形式) 動詞+間接目的+直接目的(V+IO+DO) (・・・・・に) (・・・・を) 80系プロセッサに見られる命令の事例: Move(Load) Data to Accumulator → Mov(LD) A,Data Jump to Address → Jp(JMP) Address If Z-flag is Sign, then jump(go) to Address → Jp(JMP) Z,Address
単元8(23/29) コンパイラの選択 選択のポイント • MPUの特性を生かす言語 • 開発ベンチに適した言語 利用メモリ容量が適当 処理速度が適当 ビジュアル(GUIで開発可) • 開発性の良い言語 構造が見える記述 開発規模に適した記述系 デバッグが容易
単元8(24/29) コンパイラの開発法 • 機械語手順を自然言語類似言語で対応させる • 基本開発法 逆ポーランド記法 機械語 手順の分解 手順の自然言語類似記述 コンパイラ
単元8(25/29) 逆ポーランド記法 • 計算式を電卓操作と類似操作に分析する 構文解釈記述法 • 再帰的呼び出しはバッカス記法が有効 再帰的: 定義の中に定義すること 例: サブルーチンAの中でAを呼び出す
単元8(29/29) プログラム開発のコツ • プログラム単体のリストは表示画面内で止めること プログラム単位をモジュール化する 関数化、オブジェクト化、一般化しクラス化 • 構造化すること JUM(GOTO)は使用しない まして、構造化したブロック途中で飛び出、入り込みしない • IF文は構造化したブロック内では最大3個 IFを使わないようにすればオブジェクト化が容易 • バグが出るのは仕方がないし、むしろフェールセーフに有効だが、バグがとれないプログラムは捨てる勇気を持つこと
単元8(29/29) プログラム開発のコツ プログラム作成のコツは身体で覚えないとダメ つまり、 「泣かないと、コツは分からない」 • プログラム単体のリストは表示画面内で止めること プログラム単位をモジュール化する 関数化、オブジェクト化、一般化しクラス化 • 構造化すること JUM(GOTO)は使用しない まして、構造化したブロック途中で飛び出、入り込みしない • IF文は構造化したブロック内では最大3個 IFを使わないようにすればオブジェクト化が容易 • バグが出るのは仕方がないし、むしろフェールセーフに有効だが、バグがとれないプログラムは捨てる勇気を持つこと
謝 辞 第7、第8単元のコンテンツ作成にあたり、授業の効果的進展のため 以下の文献からの写真図表を多大に引用させて頂いた。 厚く感謝申し上げます。 • 森下 巌: マイクロコンピュータの基礎、昭晃堂 • トランジスタ技術:特集「メモリIC&メモリ・カードの解明」、1月号(2002) • トランジスタ技術:特集「保存版・Z80徹底研究」、11月号(1980) • 原田 豊: 論理回路と計算機ハードウェア、丸善(株) • D.V.Hall: Microprocessors and Digital Systems、McGraw-Hill Int.Edit. • D.V.Hall: Microprocessors and Interfacing、McGraw-Hill Int.Edit.