C言語で学ぶCPUのしくみ講座

構成

テキスト3冊/テスト3回  テスト形式:Web選択CD-ROM(Cコンパイラ:Borland C++ Compiler 5.5,Cpad,サンプルプログラム)

分野

固有技術 > 情報技術
固有技術 > 電気・電子技術

制作

工学研究社

価格

29,700円 (税抜 27,500円) 1点<在庫あり

商品説明

学習のねらい

 C言語が,組込み系の機器に不可欠な開発ツールになっています。しかし,C言語の一般的なプログラミング知識だけでは,組込み系のシステム開発はできません。それらの開発には,CPUのアーキテクチャ,メモリ,I/Oなどハードウエアに関する知識が欠かせません。そして,プログラムでそれらがどのように動いているのか…の知識が非常に重要です。本講座は,C言語を通じてCPUの振る舞い,メモリの使われ方,入出力インタフェースの制御のされ方などを学びます。
 C言語のプログラミングでつまずくことの多いポインタや,構造体,共用体もこうした視点から学びなおして見ませんか。これらは,プログラムが実行されるときにCPUやメモリがどう働いているか…がわかると氷が融けるように理解できるようになります。また,割り込みもCPUの動作から理解するとマルチタスクの仕組みやOSのタスク管理機能についても理解できるようになります。
 今後,ますます組込み系にもOSの導入が進むと思われます。そのとき,プログラムとCPUの関係をしっかり理解しておくことは,OSを自システム用にカスタマイズする基礎となるでしょうハード・ソフト双方の視点を今こそ身に付け,ワンステップ上のディジタルエンジニアを目指してください。

組込み系で役に立つ、C言語で知るCPUの12の謎!

学習期間:3か月

「希望開講月は、申込みの翌月開始が標準です。開講月1日からの学習開始をご希望の場合は希望開講月前月15日までにお申し込みください。過ぎた場合は教材の到着が開講月に入る場合がございます。」

それ以外の希望がある場合は申し込みフォームの通信欄に記入してください。

対象者・レベル

●業務でC言語を使っている人
●これから組込み機器の設計やその関連の業務につく人
●組込み機器関連のソフトウエア技術者を目指している人

到達目標

●自分のプログラムがCPUやメモリ上でどう処理されているかが理解できるようになります。
●プログラムから生じるトラブルの原因究明がはやくできるようになります。
●自分の作ったシステムでCPUがどのように動作してるのかが理解できます。
●C言語のポインタ、構造体、共用体が使いこなせるようになり,プログラミングの幅が格段に拡がります。

学習環境

●Borland C++ コンパイラの動作環境:32bit版WindowsVista、7(LSIC-86試食版が未対応です)

監修・執筆

山下雅一

発刊にあたって

通信教育:学習環境を参照してください。

内容紹介

1. 情報の表現
プログラミングでは、文字列で表した情報がディジタル処理の世界でどのように扱われているかは通常は意識しなくてもよいはずです。しかしC言語は、比較的単純な言語であり、プログラマの指示通りに処理を行うため、プログラマの無知や勘違いから、時としてとんでもない悲劇が起こることがあります。C言語では、プログラマが情報のディジタル表現を確認しながら、CPUの世界では情報がどのように扱われるかを考えてみることにしましょう。

第1章 Hello world の謎
1.1 ”Hello world”
1.2 include の謎
1.3 < stdio.h >
1.4 main() とprintf()
まとめと練習問題
第2章 int の謎
2.1 なぜ値がおかしくなるの?
2.2 なぜマイナスになるの?
2.3 なぜint 型が必要なの?
2.4 なぜ実数を表せるの?
まとめと練習問題
第3章 char の謎
3.1 1 と’1’ と”1”の違いは?
3.2 文字で何を表すの?
3.3 文字列を使いこなす!
3.4 文字列も数値も自由自在!
まとめと練習問題 第4 章 struct の謎
4.1 構造体は難しい?
4.2 ソフトウェア工学
4.3 構造体、共用体、配列
4.4 簡単なデータベース
まとめと練習問題
付録A コンパイラのインストール
A.1 各ファイルの解凍
A.2 プログラム開発用作業フォルダ作成
A.3 開発環境の自動設定
A.4 Cpad の基本設定
A.5 Cpad によるプログラム開発
STEP UP/参考文献/練習問題解答

2. 情報の処理
C言語は、CPUのアーキテクチャを意識したシステム開発にも対応できる言語です。「C言語は高級アセンブリ言語だ」などという陰口がたたかれるのも、その証拠です。そのため、CPUやディジタル処理の基本を知らない人にとっては、C言語がわからない、使いにくいということになるのです。残念ながら、組み込みシステム開発現場では、CPUの基本的なしくみを理解していないためにC言語で記述されたプログラムの実行で問題が起こることが少なくありません。「C言語を使いこなすために、CPUの基本的な仕組みを理解しよう」というのがこの分冊のねらいです。

第1章 CPUの謎
1.1 C言語をアセンブリ言語に変換
1.2 CPU アーキテクチャ
1.3 CPU のメモリ
1.4 CPU のスタック
まとめと練習問題
第2章 関数の謎
2.1 どうして再帰呼び出しできるの?
2.2 関数呼び出しのしくみ
2.3 アセンブラで関数を記述できる?
2.4 関数を利用し、必要なら作ろう
まとめと練習問題
第3章 変数の謎
3.1 変数の宣言場所を間違えると?
3.2 ヒープって何?
3.3 アラインメントって何?
3.4 ビットフィールドって何?
まとめと練習問題
第4章 演算の謎
4.1 ビット演算
4.2 型変換と優先度
4.3 アドレスの演算
4.4 データベースの改良
まとめと練習問題
付録A Cpad のオプション設定
A.1 コンパイルオプションの設定
STEP UP/参考文献/練習問題解答

3. システム化
組み込みシステムをC言語で開発するときは、場合によってはOSもなく、ライブラリも貧弱なものしかサポートされないことがあります。I/Oポートには多くのハードウェアが接続され、決められた時間制限を守って、プログラムで直接制御しなくてはなりません。与えられた限りある資源で厳しい制約条件のもとで要求された使用を実現しなければならず、場合によってはOSを自分たちで作る必要もあります。この分冊では、組込み系システムの特殊性を理解し、CPUの資源を有効に活用するためのシステム実現方法について考えます。また、システム記述言語として進化を続けるC言語の動向にも目を向けます。

第1章 I/Oの謎
1.1 C言語でI/Oを制御
1.2 I/O はシステム資源
1.3 ロジックアナライザ
1.4 I/O 制御に挑戦
まとめと練習問題
第2章 割り込みの謎
2.1 C言語処理速度の限界
2.2 プログラムの高速化
2.3 LSI 制御
2.4 割り込みの利用
まとめと練習問題
第3章 OSの謎
3.1 並列処理と並行処理
3.2 マルチタスクの落とし穴
3.3 OS の落とし穴
3.4 メモリ管理の落とし穴
まとめと練習問題
第4章 オブジェクトの謎
4.1 C++
4.2 Java
4.3 verilogHDL
4.4 SystemC
まとめと練習問題
STEP UP/参考文献/練習問題解答