PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

1 マイクロプロセッサ ( 第 1 回 ) P. Ravindra S De Silva ravi@tut.jp 1

2 はじめに 情報 知能工学系学生実験サイト 実験の説明資料などはWeb 上で公開中 受け取りは メールにて行う 宛先は 実験レポートは PDF ファイルで提出すること 2

3 日程 (p.26 参照 ) 第 1 回イントロダクション ( 課題 3.1 加算 ) 第 3 回応用プログラミング ( 課題 3.3 図形描画, 課題 3.4(1) メロディ ) 第 2 回基本プログラミング ( 課題 3.2 乗算 ) 第 4 回応用プログラミング ( 課題 3.4(2) メロディ ) 第 2 回以降は予習 ( プログラムの準備 ) が必須 3

4 コンピュータの利用 ユーザ 入力 どのような仕組みで動いているのか? 出力 コンピュータ 4

5 コンピュータ ハードウェア 入力装置 出力装置 記憶装置 処理装置 5

6 コンピュータ ソフトウェア 入力装置 出力装置 アプリケーションプログラム システムプログラム 記憶装置 処理装置 6

7 疑問 処理装置 (CPU) はプログラム ( ソフトウェア ) をどのように解釈しているのか? 高級言語によるプログラム 機械語によるプログラム 7

8 ( 今のところの ) 回答 コンパイラ, アセンブラと呼ばれるプログラムを変換するプログラムを使う 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 8

9 ことばの整理 : 機械語 CPU が直接理解し実行できる言語のこと プログラムは 0 と 1 の列から構成される CPU ごとに異なる 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 9

10 ことばの整理 : 高級言語 人間が使いやすいプログラミング言語 C,C++,Java,Perl など CPU ごとに異ならない ( 共通 ) 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 10

11 ことばの整理 : アセンブリ言語 機械語を人間にわかりやすくした言語 命令が機械語と ( ほぼ ) 1 対 1 に対応 CPU ごとに異なる 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 11

12 ことばの整理 : コンパイル 高級言語によるプログラムをアセンブリ言語によるプログラムに ( または機械語によるプログラムに ) 翻訳すること 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 12

13 ことばの整理 : アセンブル アセンブリ言語によるプログラムを機械語によるプログラムに 翻訳すること 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 13

14 この実験の流れ 1. アセンブリ言語によるプログラミング 2. 作成したプログラムのアセンブル ( 手作業 ) 3. 実行 ( 動作の理解 ) アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 14

15 この実験で用いるハードウェア KUE-CHIP2 教育用の 8 ビットマイクロプロセッサ CPU 8 ビット =1 バイト h 16 進数であることを示す他にも 13H,0x13 など 15

16 KUE-CHIP2 の構造 (p.15 図 1) 16

17 KUE-CHIP2 の各部 : バス 入力バス : 入力部分と CPU 内部を結ぶ 出力バス : 出力部分と CPU 内部を結ぶ 17

18 KUE-CHIP2 の各部 :ALU 演算ユニット (Arithmetic and Logic Unit) 算術演算, 論理演算, アドレスの計算を行う 18

19 KUE-CHIP2 の各部 :ACC アキュムレータ (accumulator) 演算に利用するレジスタ.8 ビット 演算対象, 演算結果を保持 19

20 KUE-CHIP2 の各部 :IX インデックスレジスタ (index register) 演算に利用するレジスタ.8 ビット 演算対象, 演算結果を保持 修飾アドレス指定のときのアドレス修飾にも使用 20

21 KUE-CHIP2 の各部 :FLAG フラグレジスタ (flag register) 演算 シフト結果により変化.4 ビット CF VF NF ZF 桁上がりフラグ桁あふれフラグ負フラグ p.15 図 2 ゼロフラグ 21

22 KUE-CHIP2 の各部 :PC プログラムカウンタ (program counter) 次に実行する命令のメモリ上でのアドレスを保持.8 ビット 22

23 KUE-CHIP2 の各部 :MAR メモリアドレスレジスタ メモリ操作の対象とするアドレスを保持. 8 ビット 23

24 KUE-CHIP2 の各部 : 内部メモリ 512 バイト. バイト単位の番地指定 プログラム領域 :0~255 番地 データ領域 :256 番地 ~511 番地 511 ~ ~ 0 1FF 100 0FF 000 データ領域 プログラム領域 p.16 図 3 24

25 KUE-CHIP2 のアセンブリ言語 命令の種類 :p.17 表 1 を参照 言語仕様 : p.28~30 付録 A を参照 機械語フォーマット :1 バイトか 2 バイト p.16 図 4 を参照 25

26 プログラム例 (p.24, リスト 2) アドレス データ 命令 オペランド 00: LD ACC, 01h 02: OUT 03: RLL ACC 04: BA 02h ACC 常に01 の内容を出力バッファの内容を論理左回転し 02 という値を番地へ戻る ACCに格納する,ACC (OBUF) に入れるに出力する機械語によるアセンブリ言語によるプログラム プログラム アセンブラ

27 アセンブル方法 (1/4) p.30,a.2 命令セットを参照 LD ACC,01h のアセンブル A B B = 000:ACC Rsm 0 A = 1 0:ACC 0 0 A 1 s B = m 001:IX Rotate sm LD 0 A = 1 1:IX 1 0 A B = 01-: LoaD 即値 ST A B = 100: STore 直接 (P) SBC A B = 101: SuB 直接 with (D) Carry B = 110: 修飾 (P) B = 111: 修飾 (D) 27

28 アセンブル方法 (2/4) p.30,a.2 命令セットを参照 OUT のアセンブル OUT OUTput IN INput RCF Reset CF 28

29 アセンブル方法 (3/4) p.30,a.2 命令セットを参照 RLL ACC のアセンブル A s m Rsm 0 A = RA 1 0:ACC A Right 1 s Arithmetically m Rotate sm LD 0 A = LA 1 1:IX A Left Arithmetically B LoaD ST 0 RL A Right B Logically STore SBC 1 LL A Left Logically B SuB with Carry 29

30 アセンブル方法 (4/4) p.30,a.2 命令セットを参照 BA 02h のアセンブル c c RCF 0 A Always - - Reset CF SCF 0 VF on - overflow - Set CF Bcc 0 NZ c on c Not Zero Branch cc Ssm 0 Z A 10 on s Zero m Shift sm 30

31 プログラム例 (p.24, リスト 2) アドレス データ 命令 オペランド 00: LD ACC, 01h 02: OUT 03: RLL ACC 04: BA 02h - は 0 か 1 で置き換える ( どちらでもよい ) 31

32 プログラム例 (p.24, リスト 3) アドレス 00: データ : 0000 命令 0001 LD オペランド ACC, 01h 02: OUT 03: 04: : 0000 RLL 0010 BA ACC 02h アセンブル完了 32

33 プログラムの実行 第 2.5 節に沿って行う (p.22~26) 注意点 : 電源器とボードを接続してからコンセントに繋ぐこと コンセントは机に固定されたものに繋ぐこと ( 転落防止 ) 電源スイッチ横のコンデンサに指をかけないことプログラムの実行前に RESET を押すこと 全員確認できたら次の説明へ ( 次回からグループではなく一人 1 台で行う ) 33

34 操作方法の補足 SSスイッチで実行 さらにSSスイッチを押すと停止, 再開 CLKFRQのダイヤルを回すと実行速度が変化 RESET SELスイッチを操作してACCを表示 SIスイッチでステップ実行 (1 命令ずつ ) SELスイッチを操作してPCを表示 SIスイッチでステップ実行 (1 命令ずつ ) 34

35 命令はどのように実行されるか? クロックに沿って実行 クロック 1 周期分 1 つの実行フェーズ KUE-CHIP2の各命令は3から5フェーズ P0,P1: 各命令で共通 P2 以降 : 各命令で異なる p.18 表 2を参照 35

36 実際に見てみる : リスト 1 (p.19) アドレスデータラベル命令オペランド D1: EQU 80h D2: EQU 81h ANS: EQU 82h 00: LD ACC,[D1] 02: B4 81 ADD ACC,[D2] 04: ST ACC,[ANS] 06: 0F HLT 80: 03 81: FD アセンブル結果の 16 進表示 END プログラムの実行を停止するメモリのプログラム領域 D1 を見たら 80 番地の内容を 80h だと思う 03ANS D1 D2 とし番地の番地に, メモリ ACC ( 内容を内容と変数宣言の内容を格納する 81 ACC 番地の内容を, に格納するの内容を加算する初期化のようなもの FDとする ) 36

37 実行のトレース LD ACC,[D1] A B p.18 表 2 を参照 B の部分 P0 P1 P2 P3 P4 LD ACC IX d [d] (d) (PC) MAR PC++ (Mem) IR (A) B (PC) MAR PC++ (Mem) A (Mem) MAR (Mem) A 37

38 実行のトレース LD ACC,[D1] : : : B : : FD 38

39 実行のトレース LD ACC,[D1] P0: (PC) MAR, PC : : : B : : FD 39

40 実行のトレース LD ACC,[D1] P1: (Mem) IR : : : B : : FD 40

41 実行のトレース LD ACC,[D1] P2: (PC) MAR, PC : : : B : : FD 41

42 実行のトレース LD ACC,[D1] P3: (Mem) MAR : : : B : : FD 42

43 実行のトレース LD ACC,[D1] P4: (Mem) A : : : B : : FD 43

44 実験課題 3.1 (p.26) (1) について 実行開始から実行終了まで, 観測可能なレジスタ, バスをトレース (2)~(6) について ADD 開始前から ADD 終了後まで, フラグレジスタのみをトレース ADD 命令を ADC 命令に変更して, ADC 開始前から ADC 終了後まで, フラグレジスタのみをトレース それぞれの加算結果も確認 記録すること 45

45 実験課題 3.1 注意 リスト1を利用 16 進数 64,2 進数では? 80 番地に値を入れるには, まずMARを操作 毎回, まず計算結果を確認 ( 記録 ) すること 6 と b の読み間違いに注意 負の数は 2の補数表現

46 検討事項のポイント (1) について 各命令の各フェーズでの動作についてテキスト p.17~22 を参考に図などを使いながら文章で説明すること レポート作成補助 : 図や資料のデータを配布中 (2)~(6) について 各フラグがどのような時に変化するのか, ADD 命令と ADC 命令の違いもまとめること 47

47 次回 実験課題 3.2 乗算プログラムの作成 符号なし 2 バイト精度の 2 数の積 データを格納する番地はテキスト通りでなくても良い 演算結果は 2 バイトに収まると仮定 81h 83h 80h 82h 必須の予習 : 85h 84h プログラムの作成とアセンブル 48

48 補足 : 符号無し 2 バイトの乗算 MSB: 最上位ビット LSB: 最下位ビット バイト = 8ビットメモリ上での順序に注意 49

49 補足 : アドレスモード オペランド ( 引数 ) の表現方法のこと KUE-CHIP2 のアドレスモード (p.28~30 参照 ) ACC,IX:ACC,IX の内容がデータ 即値 : オペランドそのものがデータ 直接 : オペランドがメモリのアドレスそのアドレス上の内容がデータ 修飾 : オペランド +IX の内容 がメモリのアドレスそのアドレス上の内容がデータ 50

50 補足 : 命令について (p.17) ADD: 加算命令 CF を考慮しない ADC: 加算命令 CF を考慮する ( 減算も同様 ) RCF:CF をリセットする 51

51 注意点 必ずプログラムを準備してくること! 次回からは各自 ( 一人一台 ) で実験を進めるすぐに開始できるように ( 機械語プログラム ) まずはフローチャートを作成すること授業開始時 ( 入力中 ) に問題がないか確認する プログラムとフローチャートは別の紙に 遅刻や準備不足に対する救済は行わないできなかった分は減点, 最悪の場合は不受理 52

52 フローチャートの例 1 バイトの乗算 A 初期化 0 C B C 終了判定 B = 0? Y 終了 HLT N C に A を足す C + A C プログラムの流れを日本語で図示する B を 1 減らす B - 1 B 53

53 2 バイトの加算の例 + A1 A2 B1 B2 C1 C2 CF 繰り上げ 加算 0 CF A2 + B2 + 0 C2 A1 + B1 + CF C1 終了 HLT RCF LD ADC ST LD ADC ST HLT ACC, [A2] ACC, [B2] ACC, [C2] ACC, [A1] ACC, [B1] ACC, [C1] 54

54 プログラム作成時の注意点 他人が見て分かるように書くこと 必ず紙に手書き or 印刷してくること 紙の両面を使わない アセンブリ言語と 機械語は横に揃える 修正用のスペースも 用意しておく 機械語は 2 進 16 進の どちらでも良いが, 16 進数なら確認しやすい 000: 20 RCF 001: LD ACC, [A2] 003: ADC ACC, [B2] 005: ST ACC, [C2] 007: LD ACC, [A1] 009: ADC ACC, [B1] 00B: ST ACC, [C1] 00D: 08 HLT 55

55 よくある間違い 2 バイトのデータの取扱い 上位 下位バイトの番地の誤り 初期化のし忘れ SUM += A 繰り上げの失敗 ADD 命令と ADC 命令 CF のリセット 終了判定の誤り LD 0 では ZeroFlag は立たない データの保存 (ST) のし忘れ アドレスが 16 進数ではなく 10 進数になっている 81h 83h 85h 80h 82h 84h 56

56 マイクロプロセッサ ( 第 2 回 ) 57

57 第 2 回 実験課題 3.2 乗算プログラムの作成 符号なし 2 バイト精度の 2 数の積 データを格納する番地はテキスト通りでなくても良い 演算結果は 2 バイトに収まると仮定 必須の予習 : プログラムの作成とアセンブル 58

58 よくある間違い ( 再確認 ) 2 バイトのデータの取扱い 上位 下位バイトの番地の誤り 初期化のし忘れ SUM += A 繰り上げの失敗 ADD 命令と ADC 命令 CF のリセット 終了判定の誤り LD 0 では ZeroFlag は立たない データの保存 (ST) のし忘れ アドレスが 16 進数ではなく 10 進数になっている 入力ミス, アセンブルの誤り 81h 83h 85h 80h 82h 84h 59

59 進め方 各自の作成したプログラムを入力 入力中にフローチャートをチェック 早く終わった人は他の人をサポート ホワイトボードの (1)~(4) で動作確認 それらが正しく計算できたら (A) と (B) を計算. 実行時間を計測 ホワイトボードに実行時間とプログラムの メモリ消費量 ( 単位 : バイト ) を記入 プログラム部分 + データ格納部分 60

60 実行時間の理論値 自分のプログラムについて実行時間の理論値を求め, 実測値と比較せよ手順 1) 実行時間を決めるパラメータを特定 各命令のフェーズ数 (p.17 表 2) 1フェーズ = 1クロック周期 クロック周波数 = 100 Hz 手順 2) 実行時間を求める計算式を導出手順 3) 式から (A),(B) の実行時間理論値を算出手順 4) 理論値と観測値の比較 61

61 検討事項のポイント 使用したプログラムのリストを載せ, フローチャートを用いて説明せよ 他の人のプログラムと比較 論点 1: 実行時間 ( 実測値で可 ) 論点 2: プログラムのメモリ消費量 注意 : 他の人のプログラムは掲載不要だが, 簡単な説明は記述すること 62

62 次回 (p.25-26) 課題 3.3 オシロスコープへの文字の出力必須の予習 : プログラムの作成とアセンブル 課題 3.4(1) メロディーの出力予習 : 軽く目を通しておく ( 付録 B.1 も -p.30-31) 電卓を持参すること 63

63 オシロスコープへの文字の出力 出力バッファに DA コンバータを付けて出力信号をオシロスコープへ DA コンバータ : ディジタル信号をアナログ信号に変換する回路 1101 DA コンバータ 13 (0,1 の 4 桁の信号 ) (16 段階の値 ) 64

64 取り付ける DA コンバータの機能 出力バッファの 8 ビットの中の上位 4 ビットを x 座標下位 4 ビットを y 座標とする x 座標の取れる範囲は 0h~Fh y 座標の取れる範囲は 0h~Fh 65

65 オシロスコープへの出力 F B LD ACC, 6Bh OUT F 66

66 オシロスコープへの出力 F B F LD ACC, 6Bh OUT 点を 1 つずつ表示 続けて表示すれば全てが同時に表示されるように見える 67

67 注意点 1. 1 つの点は として表示され として表示されないので注意 2. ずっと表示されるようにすること ( 図形表示部分を無限ループさせ, 停止させる時は SS ボタンを押す ) 3. オシロスコープの残像に注意 ( 表示点は ジャンプ ではなく 移動 する. そのため, 一筆書きの図形になる ) 4. 座標データを一箇所にまとめ, IX ( 修飾アドレス指定 ) を使うこと 68

68 修飾アドレス指定 00: LD IX, 00h 02: LD ACC, [IX+80h] IXを0~4としてループ 04: ADD IX, 01h 80: 座標 1 81: 座標 2 82: 座標 3 83: 座標 4 84: 座標 5 69

69 余力がある場合 文字 図形を動かしてみる 例 : 右から左 まずは固定で 完成してから ( 任意の課題は加点対象 ) 70

70 マイクロプロセッサ ( 第 3 回 ) 71

71 第 3 回 課題 3.3 オシロスコープへの文字の出力必須の予習 : プログラムの作成とアセンブル 課題 3.4(1) メロディーの出力予習 : 軽く目を通しておく ( 付録 B.1 も p.30-31) 電卓を持参すること 72

72 注意 使用する DA コンバータはとても壊れやすいので, 大事に扱うこと ( むやみに触らない ) 特に, 取り付け部分周辺の配線に注意 取り付け & 取り外しは教員 TA が行います 73

73 進め方 15:40 終了を目処に オシロスコープとDAコンバータを接続 チャンネル1 赤 チャンネル2 青 グランド 黒 ダイヤルCLKFRQを 1 にして実行 15:40 頃に次の説明 74

74 メロディーの出力 KUE-CHIP2 から波を出力しスピーカから音を出す 今日 : 音を出す仕組みの基礎 次回 : メロディー出力プログラムの実行 75

75 音とは 音は空気の振動 ( 波 ) 音の三要素 大きさ 高さ 音色 波の振幅の大きさ 波の周波数の高さ 波の形 スピーカ : 電気信号を音 ( 空気振動 ) に変換する装置 76

76 作る波 方形波 : 長方形の波 波の周期 T ( 秒 ) On Ta ( 秒 ) Tb ( 秒 ) Off T = Ta + Tb 77

77 音を出すプログラム (p.31 リスト 4) アドレスラベル命令オペランドフェーズ数 00: L0: LD ACC, FFh 4 02: OUT 4 03: LD ACC, a 4 05: L1: SUB ACC, 01h 4 07: BNZ L1 4 09: LD ACC, 00h 4 0B: OUT 4 0C: LD ACC, b 4 0E: L2: SUB ACC, 01h 4 10: 12: 自分で決める BNZ BA L2 L0 4 4 波の On 部を作る 波の Off 部を作る 78

78 作る波 : 長さ 方形波 : 長方形の波 波の周期 T ( 秒 ) On Ta ( 秒 ) Tb ( 秒 ) Off Ta = (12+8a)T 0,Tb = (16+8b)T 0 ( ただし,T 0 = クロック周期 ) 79

79 実験内容 3.4(1) p.26 (a) オシロスコープでクロック周期を確認 スイッチCLKを中立に ダイヤルCLKFRQの 0~8 の周波数を測定 信号はコネクタJP3より出力 (b) リスト 4 の a,b を設定 出力する音の周波数 :440Hz ラ 最適な T 0,a,b を計算によって定める T = Ta + Tb T = 1/440 ( 秒 ) Ta = (12+8a)T 0,Tb = (16+8b)T 0 最も精度が高くなる T 0 を選択 80

80 実験内容 3.4(1) p.26 (c) 440Hzの音の出力 リスト4の入力 CLKFRQの設定 DAコンバータを通してスピーカから出力 出力音が 440Hz ( 誤差 ±1%) であることを計算によって確認 81

81 検討事項のポイント (3) オシロスコープによる文字の出力 プログラムのリストを載せて, プログラムの特徴を説明 修飾アドレス指定について どうやって文字を描画したのか 82

82 検討事項のポイント (4) メロディーの出力 (a) 誤差 ±1% の確認 どのように最適な T 0, a, b を計算したか? 計算過程を記述すること どのように確認を行ったか? 実際に誤差を計算すること 他の精度確認方法は考えられるか 83

83 検討事項のポイント (4) メロディーの出力 (b) 精度をより上げるための対策 KUE-CHIP2 だけで対処する場合 ( ソフトウェア上, プログラム上の工夫 ) その他の機器を KUE-CHIP2 に接続する場合 ( ハードウェア上の工夫 ) メロディー出力の基本的なアルゴリズムはそのまま出力周波数を 440Hz に近づける方法 84

84 次回 課題 3.4(2) メロディーの出力 簡単なメロディーを出力させる 必須の予習 : プログラムの作成とアセンブル 参考 : 付録 B.2とリスト5 (p.32) 楽譜データを用意するだけではダメリスト5のプログラムに改造が必要 時間内に完成しなかった場合は打ち切りデバッグのサポートはできるが, プログラムが無い場合はサポートできない 85

85 注意 メロディーの出力は無限に繰り返すこと p.32 表 4 音階の周波数 を参考に 1 オクターブ高い音 周波数が 2 倍 休符 はどうすれば実現できるか 音符と休符を判別し, 別処理が必要 同じ音が続くと1つの長い音に聞こえる 音と音の間に空白が必要リスト5に改造が必要な部分 最も高周波 低周波な音でも可聴領域を超えない 86

86 メロディー出力プログラム例 ( リスト 5) プログラム領域 000: LD ACC, dptr1 002: 75 1A ST ACC, (dptr) 004: 65 1A L0: LD ACC, (dptr) 006: 68 LD IX, ACC 007: B2 03 ADD ACC, 0x3 009: 75 1A ST ACC, (dptr) 00B: A2 18 SUB ACC, dptr2 00D: BNZ L1 00F: LD ACC, dptr1 011: 75 1A ST ACC, (dptr) 013: L1: LD ACC, (IX+2) 015: 75 1C ST ACC, (n3) データ領域のアドレスを指している ( 自分のプログラムに合わせて設定 ) データ領域 100: n1 n2 n3 dptr1: ド 103: n1 n2 n3 レ 106: n1 n2 n3 音の先頭ミ 109: n1 n2 n3 ファ 10C: n1 n2 n3 ソ 10F: n1 n2 n3 ラ 112: n1 n2 n3 シ 115: n1 n2 n3 ド 118: dptr2: ( 未使用 ) 119: 00またはff image 出力 11A:?? 音の終わり dptr 11B:?? n2 11C:?? n3 どの音を鳴らすか実行時 (3ずつ増える) に使用 n1は音の高さ,n2 n3は長さ (2 重ループ ) 87

87 マイクロプロセッサ ( 第 4 回 ) 88

88 第 4 回 3.4(2) メロディーの出力 簡単なメロディーを出力させる 必須の予習 : プログラムの作成とアセンブル 参考 : 付録 B.2 とリスト 5 (p.32) DA コンバータの取扱いに注意 89

89 検討事項のポイント (4)(c) 各自のデータ表現の特徴 プログラムのリストを載せて説明せよ 例えば, 楽譜 は人間に理解しやすいように メロディーを表現している どのような表現なら理解しやすいのか 90

90 検討事項のポイント (4)(d) 作成したメロディー出力法は他の CPU にも流用できるか? 他の CPU の例を 1 つ挙げて考察 挙げた CPU の実行命令フェーズを調べ, それを踏まえて考察 91

91 検討事項のポイント (5) 自分が最も使用している CPU ( または, 有名な CPU) についてそのアーキテクチャを調べてまとめる ( 必須ではない ) レジスタ, 命令セット, メモリ空間の特徴 乗算命令がどのように実行されているか 任意の課題は加点対象 92

92 まとめ 計算機の仕組みについて理解 例えば, なぜ 32bit の OS では 4G 以上のメモリが使えないのか? プログラムの作り方やデバッグの練習 4G = = = 2 32 高級言語によるプログラム コンパイラ アセンブラ アセンブリ言語によるプログラム 機械語によるプログラム 93

93 実験報告書について 指導書 p.5 をよく読むこと 受け取りは メールにて行う 宛先は 表紙は自作のものでも構わない 実験方法について, 指導書を丸写しする必要はない この資料の 検討事項のポイント を参考に 指導書の課題 検討事項の番号に沿ってまとめること 必ず自己点検票をチェック ( 提出は不要 ) 提出〆切は 1 週間後の 12:30 ( 時間厳守 ) 病気等の例外を除き, 〆切の延長はしない 受理されたものへの改善 修正は可 ( 一週間以内 ) 未完成のもの ( 途中までしかないもの ) は不受理 94

Microsoft PowerPoint - H2.ppt [互換モード]

Microsoft PowerPoint - H2.ppt [互換モード] 力装置はじめに マイクロプロセッサ ( 第 回 ) 担当 : 佐竹純二 情報 知能工学系学生実験サイト http://www.cs.tut.ac.jp/jikken/ 実験の説明資料などは Web 上で公開中 http://www.aisl.cs.tut.ac.jp/~satake/class/ 実験レポートの受け取りはMoodle 上で行う https://moodle.imc.tut.ac.jp/course/view.php?id=285

More information

MP_slide_ja

MP_slide_ja Microprocessor(Lecture 1) Hiroshi Higashi 1 Introduction 情報 知能 学系学 実験サイト http://www.cs.tut.ac.jp/jikken/ 実験の説明資料などは Web 上で公開中 https://cs.tut.ac.jp/~higashi/class.html 実験レポートの受け取りはメールにて う higashi@tut.jp

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P , 0 (MSB) =2, =1/2, MSB LSB, LSB MSB MSB 0 LSB 0 0 P61 231 1 (100, 100 3 ) 2 10 0 1 1 0 0 1 0 0 100 (64+32+4) 2 10 100 2 5, ( ), & 3 (hardware), (software) (firmware), hardware, software 4 wired logic

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 D1 D2 D3 情報科学基礎 I 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x n ), i

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ Rev. 2018.01.20 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する 補助記憶装置

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ 中央処理装置 Rev. 2019.01.16 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する

More information

Microsoft PowerPoint - 7.Arithmetic.ppt

Microsoft PowerPoint - 7.Arithmetic.ppt 第 7 章デジタル演算回路 1 デジタル信号処理音声, 音楽, 通信信号 信号 = 符号付き 2 進データ 負の数値の表現方法 2 2 進数 n ビット n-1 =Σb i 2 i 0 2 の補数 +=2 n n-1 n-1 2 n =1+Σb i 2 i +Σb i 2 i 0 0 n-1 =2 n ー =1+Σb i 2 i 0 3 2 進数の補数 2 の補数 各桁のビットを反転した後で最下位に

More information

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE 差し替え版 第 7 回マイクロプロセッサの VHDL 記述 マイクロプロセッサ全体および主要な内部ユニットの,VHDL 記述の例を示す. 1)MPU(Micro Processor Uit) Module 1MPU のエンティティ記述とコントローラの例以下は, 簡単な MPU の VHDL 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション マイコンプログラミング演習 I 第 04-05 回 LEDを用いたI/O 制御担当 : 植村 実験の目的 本実験ではマイコンシステムを用いた信号の入出力の制御方法を理解することを目的とし, マイコンのアーキテクチャを理解 実装するとともに, アセンブラによるプログラミング技術の習得を行う. 回路の構成として,PIC16F84A を用いてスイッチを入力とする LED の点灯 / 消灯の出力操作を行う回路ならびにアセンブラプログラムを実装する.

More information

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB) コンピュータ工学講義プリント (12 月 11 日 ) 今回は ローテイト命令を用いて 前回よりも高度な LED の制御を行う 光が流れるプログラム 片道バージョン( 教科書 P.119 参照 ) 0.5 秒ごとに 教科書 P.119 の図 5.23 の様に LED の点灯パターンが変化するプログラムを作成する事を考える この様にすれば 光っている点が 徐々に右に動いているように見え 右端まで移動したら

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 ここでは機械命令レベルプログラミングを学びます 機械命令の形式は学びましたね機械命令を並べたプログラムを作ります 2 その前に プログラミング言語について 4 プログラミング言語について 高級言語 (Java とか C とか ) と機械命令レベルの言語 ( アセンブリ言語 ) があります 5 プログラミング言語について

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節命令一覧は p.113) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語

More information

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx 2019 年 4 月 26 日ハードウエア設計論 :3 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 種々の記述 ~ ALU の実装とタイミングに関して always @(A or B or C) Ubuntu を起動し verilog が実行できる状態にしておいてください 79 演習 4: 簡単な演算器 1 入力 A:8 ビット 入力 B:8 ビット 出力 O:8

More information

スライド 1

スライド 1 3. 演算命令を学ぼう 本稿の Web ページ http://www.mybook-pub-site.sakura.ne.jp/pic/index.html 1 ; ADD このソースファイルを各自打ち込んで下さい. EQU 0x0C ; at 0C 足し算を実行するプログラムの例です. MOVLW B 00000001 ; Load 0x01 to W ADDLW B'00000011' ; W

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 7 週命令セットアーキテクチャ ( 命令の表現 命令の実行の仕組 ) 2013 年 11 月 6 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現

More information

1 ( ) 2 D-A D-A KUE-CHIP2 KUE-CHIP2 KUE-CHIPP2 KUE-CHIP (1) 2.2 D-A KUE-CHIP2 2.1 KUE-CHIP D-A

1 ( ) 2 D-A D-A KUE-CHIP2 KUE-CHIP2 KUE-CHIPP2 KUE-CHIP (1) 2.2 D-A KUE-CHIP2 2.1 KUE-CHIP D-A 2 2010 11 8 0 9 5 7 0 7 B 2010 11 15 095701B 095703J 1 ( ) 2 D-A D-A KUE-CHIP2 KUE-CHIP2 KUE-CHIPP2 KUE-CHIP2 3 3.1 (1) 2.2 D-A KUE-CHIP2 2.1 KUE-CHIP D-A 2.11 1 3.2 (2) () () 3.2.1 (a) 1. 1 1: () 00 C0

More information

コンピュータの仕組み(1)ハードウェア

コンピュータの仕組み(1)ハードウェア Copyright 守屋悦朗 2005 コンピュータの仕組み (1) ハードウェア 2.1 CPU の基本原理 2 つの整数の和を出力するプログラムを考えよう main() { int a, b, c; /* 変数 a,b が整数値をとる変数であることを宣言する */ a = 1; /* a に 1 を代入する */ b = 2; /* b に 2 を代入する */ c = a+b; /* a と

More information

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - 11Web.pptx 計算機システムの基礎 ( 第 10 回配布 ) 第 7 章 2 節コンピュータの性能の推移 (1) コンピュータの歴史 (2) コンピュータの性能 (3) 集積回路の進歩 (4) アーキテクチャ 第 4 章プロセッサ (1) プロセッサの基本機能 (2) プロセッサの構成回路 (3) コンピュータアーキテクチャ 第 5 章メモリアーキテクチャ 1. コンピュータの世代 計算する機械 解析機関 by

More information

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ 第 4 回 VHDL 演習 2 プロセス文とステートマシン プロセス文を用いるステートマシンの記述について学ぶ 回路 6 バイナリカウンタ (Fig.4-1) バイナリカウンタを設計し, クロック信号に同期して動作する同期式回路の動作を学ぶ ⅰ) リスト 4-1 のコードを理解してから, コンパイル, ダウンロードする ⅱ) 実験基板上のディップスイッチを用いて, 発生するクロック周波数を 1Hz

More information

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx 2019 年度ディジタル代数期末試験解答例 再評価試験は期末試験と同程度の難しさである. しっかり準備して受けるように. 1. アドレスが 4 バイトで表わされた画像処理専用プロセッサが幾つかのデータを吐き出して停まってしまった. そのデータの 1 つはレジスタ R0 の中身で,16 進表示すると (BD80) 16 であった. このデータに関して, 以下の問に対する回答を対応する箱内に書け. (1)

More information

スライド 1

スライド 1 4. 演算命令 ( つづき ) ( 足し算の桁上がり,Rotate, etc.) を学ぼう 本稿の Web ページ http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/pic/index.html 1 本章では足し算の桁上がり情報の格納場所の確認をするプログラムを学びます. PIC16F マイコンではデータは 8 ビットで表されています.

More information

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft Word - 実験4_FPGA実験2_2015 FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2012, All rights reserved. 1 コンピュータ サイエンス 2 第 7 回ソフトウェア 人間科学科コミュニケーション専攻 白銀純子 Copyright (C) Junko Shirogane, Tokyo Woman's Christian University

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない

More information

Microsoft PowerPoint - ProcML-12-3.ppt

Microsoft PowerPoint - ProcML-12-3.ppt プロセッサと 年次前次前期 ( 第 回 ) 進数の加減算 (overflow( overflow) 演習 次の ビット演算の結果は overflow か? () + + () + + 答 答 中島克人 情報メディア学科 nakajima@im.dendai.ac.jp () - = + + 答 進数の加減算 (overflow( overflow) 演習 次の ビット演算の結果は overflow

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 18 回ハザードとその解決法 2014 年 10 月 17 日 電気情報工学科 田島孝治 1 授業スケジュール ( 後期 ) 2 回 日付 タイトル 17 10/7 パイプライン処理 18 10/17 ハザードの解決法 19 10/21 並列処理 20 11/11 マルチプロセッサ 21 11/18 入出力装置の分類と特徴 22 11/25 割り込み 23 12/2 ネットワークアーキテクチャ

More information

主記憶の使われ方 システム領域 SP スタックポインタ システム用 スタック用 プログラム起動時に OS によって確 保される (SP が決められる ) プログラム用 メインルーチン プログラム領域 命令コードの列定数 変数用領域サブルーチン命令コードの列 先頭番地は リンク時に OS によって決め

主記憶の使われ方 システム領域 SP スタックポインタ システム用 スタック用 プログラム起動時に OS によって確 保される (SP が決められる ) プログラム用 メインルーチン プログラム領域 命令コードの列定数 変数用領域サブルーチン命令コードの列 先頭番地は リンク時に OS によって決め Copyright 守屋悦朗 2005 コンピュータの仕組み (2) ソフトウェア 3.3 アセンブラプログラミング (CASLⅡ) 情報処理技術者試験基本情報技術者試験 (http://www.jitec.jp/index.html) では 仮想コンピュータ (16ビットのワードマシン 主記憶容量 64KW)COMETⅡを定義し COMETⅡ のためのアセンブリ言語 CASLⅡを定めている COMETⅡとCASLⅡの仕様は情報処理技術者試験センターのウェブサイト

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

More information

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c 第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

UNIX 初級講習会 (第一日目)

UNIX 初級講習会 (第一日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 3 回 2005 年 4 月 28 日 計算機に関する基礎知識 Fortranプログラムの基本構造 文字や数値を画面に表示する コンパイル時のエラーへの対処 ハードウェアとソフトウェア ハードウェア 計算, 記憶等を行う機械 ソフトウェア ハードウェアに対する命令 データ ソフトウェア ( 命令 ) がないとハードウェアは動かない

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 1 コンピュータの構造 1.1 パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 計算機基礎第 7 回 ノイマン型計算機 (2) 1 スタックの練習問題 逆ポーランド表記 ( 後置記法 : postfix notation) に変換してみよ 1+2*3+4 1 2 3 * + 4 + (1+2)*3+4 1 2 + 3 * 4 + 1+2*(3+4) 下の 3 番目と同じ 中置記法 (infix notation) に変換してみよ 1 2 + 3 * 4 + (1 + 2) *

More information

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO

More information

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな 第 回 VHDL 演習組み合せ論理回路 VHDL に関する演習を行う 今回は, 組み合せ論理回路の記述について学ぶ - 論理回路の VHDL 記述の基本 同時処理文を並べることで記述できる 部品の接続関係を記述 順番は関係ない process 文の内部では, 順次処理文を使う process 文 つで, つの同時処理文になる順次処理文は, 回路の動作を 逐次処理的 に ( 手続き処理型プログラム言語のように

More information

VelilogHDL 回路を「言語」で記述する

VelilogHDL 回路を「言語」で記述する 2. ソースを書く 数値表現 数値表現形式 : ss'fnn...n ss は, 定数のビット幅を 10 進数で表します f は, 基数を表します b が 2 進,o が 8 進,d が 10 進,h が 16 進 nn...n は, 定数値を表します 各基数で許される値を書くこ Verilog ビット幅 基数 2 進表現 1'b0 1 2 進 0 4'b0100 4 2 進 0100 4'd4 4

More information

授業のあとで 情報処理工学 : 第 3 回 10 進数を 16 進数に変換する方法と 16 進数を 10 進数に変換する方法は 標準的な方法でも良いですか? 履修申告は済みましたか? 割り算 方法 ) 54 余り 6 16 ) 3 余り 3 ) 0 第 4 回へ 201

授業のあとで 情報処理工学 : 第 3 回 10 進数を 16 進数に変換する方法と 16 進数を 10 進数に変換する方法は 標準的な方法でも良いですか? 履修申告は済みましたか? 割り算 方法 ) 54 余り 6 16 ) 3 余り 3 ) 0 第 4 回へ 201 授業のあとで 情報処理工学 : 第 3 回 10 進数を 16 進数に変換する方法と 16 進数を 10 進数に変換する方法は 標準的な方法でも良いですか? 履修申告は済みましたか? 割り算 方法 54 10 36 16 16 ) 54 余り 6 16 ) 3 余り 3 ) 0 第 4 回へ 2013/10/30 2 授業のあとで (#2) したがって 54 10 36 16 ここまでの復習 2/10/16

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

Microsoft Word - HW06K doc

Microsoft Word - HW06K doc 完了した CP:1~19( 合計 19 個 ) 未達成の CP:20 [ 要旨 目的 ] CPU の製作を行う CPU の製作を通じて ハードウェア設計の流れを理解する CPU の構造について 理解を深める CPU 製作第 3 回の実験では 最終的なCPUの完成を目指す [ 原理 理論 ] まずは CPU の構造設計から行う 全体の構成は次のようになる 下の図では モニター回路は含まれない chattering

More information

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的 第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的 あるいは半永久的に保存する装置 CPU が直接読み書きできる主記憶装置 ( メモリ ) と データの保管などに使われる補助記憶装置

More information

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS07.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS

More information

ex05_2012.pptx

ex05_2012.pptx 2012 年度計算機システム演習第 5 回 2012.05.25 高水準言語 (C 言語 ) アセンブリ言語 (MIPS) 機械語 (MIPS) コンパイラ アセンブラ 今日の内容 サブルーチンの実装 Outline } ジャンプ 分岐命令 } j, jr, jal } レジスタ衝突 回避 } caller-save } callee-save 分岐命令 ( 復習 ) } j label } Jump

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

ComputerArchitecture.ppt

ComputerArchitecture.ppt 1 人間とコンピュータの違い コンピュータ 複雑な科学計算や膨大な量のデータの処理, さまざまな装置の制御, 通信などを定められた手順に従って間違いなく高速に実行する 人間 誰かに命令されなくても自発的に処理したり, 条件が変化しても臨機応変に対処できる 多くの問題解決を経験することで, より高度な問題解決法を考え出す 数値では表しにくい情報の処理ができる 2 コンピュータの構成要素 構成要素 ハードウェア

More information

1 はじめに このアプリケーションは 計算機ハードウェア論 のアセンブリ言語 ( 超簡単命令セット ) の理解を助けるために製作されました 便宜的に機能を追加 削除した箇所があるため このアプリケーション上での動き方が実際のCPUでの動き方と異なる場合があることに留意してください このアプリケーショ

1 はじめに このアプリケーションは 計算機ハードウェア論 のアセンブリ言語 ( 超簡単命令セット ) の理解を助けるために製作されました 便宜的に機能を追加 削除した箇所があるため このアプリケーション上での動き方が実際のCPUでの動き方と異なる場合があることに留意してください このアプリケーショ アセンブリ言語 ( 超簡単命令セット版 ) 取扱説明書 平成 26 年 2 月改訂版 目次 1 はじめに 2 1.1 利用できるデータの範囲やアドレス空間 命令長についての注意 2 2 プログラムの書き方と実行の方法 3 2.1 このマニュアルでの表記について 3 2.2 入力上の注意 3 2.2.1 使用できる文字について 3 2.2.2 ラベルの付け方 3 2.3 命令長の書き方 4 2.3.1

More information

CASL入門

CASL入門 4 章 機械語の設計 ここでは 機械語の設計をしてみましょう 機械語の設計! そんなことができるのでしょうか 情報処理技術者試験の CASLⅡ 説明書の参考資料には 命令後の構成は定義しないが と記載されています アセンブラ言語を理解するためには機械語の理解が非常に大切になりますし 自分で設計してみれば格段に理解が容易になります そこで 定義されていないなら 定義してしまおう というわけです CASLⅡが動くコンピュータである

More information

Microsoft PowerPoint - C4(反復for).ppt

Microsoft PowerPoint - C4(反復for).ppt C 言語プログラミング 繰返し ( for 文と while 文 ) 例題 (10 個のデータの平均を求める ) 手順 入力データをx1,x2,,x10 として, (x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10 を計算する データ数が,1000 個,10000 個, となったらどうする? データ数個分の 変数の宣言, scanf 関数の呼出し, 加算式の記述 が必要 1 総和を求めること

More information

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

Microsoft Word - マイコン実験 doc

Microsoft Word - マイコン実験 doc Ⅲ-2. マイクロコンピュータの実験 - 1 1. 目的 (1) 基本的なマイクロコンピュ-タの構成を学ぶとともに 各部の機能を理解する (2) マイクロコンピュ-タの機械語プログラムの理解を深める 2. マイクロコンピュ-タの動作図 1は 8ビットマイクロプロセッサ Z80 を用いたマイクロコンピュ-タシステムのブロック図である 以下に このマイクロコンピュ-タを例にとり 各部の動作を説明する 記憶部

More information

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

ディジタル回路 第1回 ガイダンス、CMOSの基本回路 1 前回教育用の RISC POCO を導入しました 今日はその Verilog 記述を紹介します まず この復習をやっておきましょう 2 最も重要な点は メモリの読み書きで レジスタ間接指定の理解です これはポインタと一緒なので 間違えないように修得してください 3 RISC なので 基本の演算はレジスタ同士でしかできません MV はレジスタ間のデータ移動なので気をつけてください 4 イミーディエイト命令は

More information

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受 STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort

More information

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo 3 SIMPLE ver 3.2: 20190404 1 3 SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE 1 16 16 (main memory) 16 64KW a (C )*(a) (register) 8 r[0], r[1],...,

More information

Microsoft Word - no103.docx

Microsoft Word - no103.docx 次は 数える例です ex19.c /* Zeller の公式によって 1 日の曜日の分布を求めるプログラム */ int year, month, c, y, m, wnumber, count[7] = {0, i; for(year = 2001; year

More information

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

Microsoft PowerPoint - 計算機言語 第7回.ppt

Microsoft PowerPoint - 計算機言語 第7回.ppt 計算機言語第 7 回 長宗高樹 目的 関数について理解する. 入力 X 関数 f 出力 Y Y=f(X) 関数の例 関数の型 #include int tasu(int a, int b); main(void) int x1, x2, y; x1 = 2; x2 = 3; y = tasu(x1,x2); 実引数 printf( %d + %d = %d, x1, x2, y);

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 命令と命令表現 ( 教科書 3.1 節 ~3.4 節 ) プロセッサの命令と命令セット 命令 : プロセッサへの指示 ( プロセッサが実行可能な処理 ) 加算命令 減算命令 論理演算命令 分岐命令 命令セット : プロセッサが実行可能な命令の集合 ( プログラマから見えるプロセッサの論理仕様 ) プロセッサ A 加算命令分岐命令 プロセッサ B 加算命令減算命令 命令セットに含まれない命令は直接実行できない!

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 6 週演算アーキテクチャ ( 続き ) ノイマン型コンピュータ 命令とは 命令の使い方 2013 年 10 月 30 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 ADC A/D コンバータ ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ ADC の概要 ソフトウエア トリガ セレクト モード 連続変換モードのプログラム サンプル紹介 2 ADC の概要 3 ADC のブロック図 パワー オフが可能 入力 選択 記憶 比較 基準電圧 変換結果

More information

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System   操作説明ビデオなどは 高校 情 マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System http://www.sgpsys.com/en/ 操作説明ビデオなどは 高校 情報科 の教材 指導案作ってみました http://www.beyondbb.jp/ Zip の教材内に入っています

More information

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが MPASM MPASM は Microchip Tecnology Inc. 社の開発した PIC のためのアセンブリ言語である ここでは MPASM の文法と使用法などについて記述する 1. 文法 ソースコードファイルは ASCII テキストファイルエディターを使って作成する そのように作られたソースコードは以下に示す基本的ガイドラインに従うべきである ソースファイルの各行は次の 4 つのタイプの情報を含んでよい

More information

Microsoft PowerPoint - C1(演算と変数).ppt

Microsoft PowerPoint - C1(演算と変数).ppt C 言語プログラミング 式の計算と変数 配列の概念 50 人の生徒の点数の平均点, 最高点 最低点を求めるプログラム ( センター入試 23 年度数学 2 情報関係基礎 第 3 問 ) (01) sowa 0, saiko 0, saitei 100 代入文 : 変数に値を代入 ( 格納 ) する (02) 配列 TNin のすべての要素を 0 にするための文 (03) bango を 1 から 50

More information

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 コンピュータの構造 1. パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置 ):

More information

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo 目次 1. はじめに 1 2. マルチALUプロセッサ MAP 2 2.1 MAP の構成 2 2.2 MAP 命令セットアーキテクチャ 3 2.3 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 7 3.1 1 次 Booth アルゴリズム 7 3.2 2 次 Booth アルゴリズム 8 3.3 3 次 Booth アルゴリズム 10 4. シミュレーションによる並列化の評価

More information

Microsoft PowerPoint - 11.pptx

Microsoft PowerPoint - 11.pptx ポインタと配列 ポインタと配列 配列を関数に渡す 法 課題 : 配列によるスタックの実現 ポインタと配列 (1/2) a が配列であるとき, 変数の場合と同様に, &a[0] [] の値は配列要素 a[0] のアドレス. C 言語では, 配列は主記憶上の連続領域に割り当てられるようになっていて, 配列名 a はその配列に割り当てられた領域の先頭番地となる. したがって,&a[0] と a は同じ値.

More information

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用 RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項

More information

文法と言語 ー文脈自由文法とLR構文解析2ー

文法と言語 ー文脈自由文法とLR構文解析2ー 文法と言語ー文脈自由文法とLR 構文解析 2 ー 和田俊和資料保存場所 http://vrl.sys.wakayama-u.ac.jp/~twada/syspro/ 前回までの復習 最右導出と上昇型構文解析 最右導出を前提とした場合, 上昇型の構文解析がしばしば用いられる. 上昇型構文解析では生成規則の右辺にマッチする部分を見つけ, それを左辺の非終端記号に置き換える 還元 (reduction)

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

Microsoft PowerPoint - Chap2 [Compatibility Mode]

Microsoft PowerPoint - Chap2 [Compatibility Mode] 計算機構成論 (Chap. 2) @C http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch22/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見 ご要望

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 1 2 3 情報科学基礎 I 11. 順序回路の基礎 ( 教科書 4 章 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ回路と順序回路 x1 x2 xn 組合せ回路 y1 y2 ym 組合せ回路 : 出力は, その時点の入力の組合せのみで決まる x1 x2

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 8 回目 for 文 今日の講義で学ぶ内容 for 文 変数のスコープ for 文の入れ子 繰り返し文 1 for 文 for 文最初に一度だけ初期化の式を処理します条件が true の場合 文を実行し 更新の式を処理して繰り返します条件が false の場合 for 文を終了します 条件は boolean 型で 関係演算子で表現される式などを記述します for( 初期化の式

More information

※ ポイント ※

※ ポイント ※ 4S-RO ロボティクス実験 参考資料 ファイル入出力 : ファイルの読み込み 1 周目に計測した生体情報データを読み込み プログラムにより信号処理を行うが その際にファイルの 入出力が必要となる 実験前半ですでに学習しているが必要に応じて本資料を参考にすること 以下のようにすると指定したファイルを読み込むことができる ( 詳細は後から記述 ) int i; double --------; char

More information

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018 工学ゼミ Ⅲ 安全 環境活動に役立つ LEDイルミネーションの製作 第 1 回 1. 概要 3~5 名の学生グループで安全 環境活動に役立つ LED イルミネーションを作製する 作品のデザイン画や部品リスト 回路図 動作フロー図等は事前に作成し 計画的に作業を行うことが求められる 2. 達成すべき目標 作品に係る資料を事前にまとめ それに基づいて製作が行える 集団の中で 自身の知識 技術を積極的に応用しながら

More information

< B8CDD8AB B83685D>

< B8CDD8AB B83685D> () 坂井 修一 東京大学大学院情報理工学系研究科電子情報学専攻東京大学工学部電子情報工学科 / 電気電子工学科 はじめに アウトオブオーダ処理 工学部講義 はじめに 本講義の目的 の基本を学ぶ 場所 火曜日 8:40-0:0 工学部 号館 4 ホームページ ( ダウンロード可能 ) url: http://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/ 教科書 坂井修一

More information

Microsoft PowerPoint - lego1.ppt [互換モード]

Microsoft PowerPoint - lego1.ppt [互換モード] 2008/4/22 プログラミング入門第 1 回 ~ レゴロボットのプログラミング 1~ 高畠俊徳, 小林学二宮洋, 鈴木誠 toshi@info.shonan-it.ac.jp kobayasi@info.shonan-it.ac.jp ninomiya@center.shonan-it.ac.jp msuzuki@info.shonan-it.ac.jp 1 講義の進め方 0. 本講義の進め方

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt コード生成 (2) http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1211.pdf 1 概要 宣言文と記号表 ( 配列 ) 今日はやりません 2 宣言 a = 1; b = a+2; putint(b); int main(){ int a; int b; a = 1; b = a+2; putint(b); } PUSH 0 26 LDC

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

VLSI工学

VLSI工学 25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭 3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2 25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している

More information

<chemsherpa-ai の入力について > (1) 発行者 承認者情報 発行者 承認者情報は 必須項目です 会社情報をクリックし 必要事項を入力します 5. 新規にデータを作成する (P.12 参照 ) 承認者情報も入力します (2) 日付の入力日付の入力規則で年月日は " ハイフン " でつ

<chemsherpa-ai の入力について > (1) 発行者 承認者情報 発行者 承認者情報は 必須項目です 会社情報をクリックし 必要事項を入力します 5. 新規にデータを作成する (P.12 参照 ) 承認者情報も入力します (2) 日付の入力日付の入力規則で年月日は  ハイフン  でつ chemsherpa 記入マニュアル Version 1.0 < 本マニュアルの目的 > この記入マニュアルは chemsherpaを使用して含有化学物質調査の提出書類を作成する際に TDKグループの運用に関連するポイントに絞って記述 解説をしています chemsherpaの入力方法等 詳細については chemsherpaのweb siteに掲載されている資料をご参照ください Language URL:

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

ToDo: 今回のタイトル

ToDo: 今回のタイトル グラフの描画 プログラミング演習 I L03 今週の目標 キャンバスを使って思ったような図 ( 指定された線 = グラフ ) を描いてみる 今週は発展問題が三つあります 2 グラフの準備 値の算出 3 値の表示 これまでは 文字列や値を表示するのには 主に JOptionPane.showMessageDialog() を使っていましたが ちょっとしたものを表示するのには System.out.println()

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] // システムプログラム概論 メモリ管理 () 今日の講義概要 ページ管理方式 ページ置換アルゴリズム 第 5 講 : 平成 年 月 日 ( 月 ) 限 S 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ // 第 5 講メモリ管理 () ページング ( 復習

More information

2011

2011 2015.6.4 Guide2-5 知の市場共通受講システム使用説明書 ( 応募者用 ) 1. はじめに 共通受講システムの受講者ログイン画面はパソコン環境の設定によっては表示されないことがある 共通受講システムの利用には パソコン上で動作する Google Chrome (Google) Internet Explorer(Microsoft) Firefox(Mozilla) のブラウザが必要である

More information

Microsoft Word - VBA基礎(3).docx

Microsoft Word - VBA基礎(3).docx 上に中和滴定のフローチャートを示しました この中で溶液の色を判断する部分があります このような判断はプログラムではどのように行うのでしょうか 判断に使う命令は IF 文を使います IF は英語で もし何々なら という意味になります 条件判断条件判断には次の命令を使います If 条件式 1 Then ElseIf 条件式 2 Then ElseIf 条件式 3 Then 実行文群 1 実行文群 2 実行文群

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 形 K5D-0800+ インターネット接続契約プロバイダ ビジネス mopera テレメトリ 組合せでの設定 + ビジネスmoperaテレメトリ 形 K5D-0800 マニュアル ( 簡易版 ) 2 形 K5D-0800+ ビジネス mopera テレメトリ 組合せでの設定 1 1. 形 K5D-0800 とパソコンを接続する RS232C クロスケーフ ルを準備してください 付属 CD より FOMA/DoPa

More information