• 検索結果がありません。

1.はじめに マイクロコンピュータ (マイコン)技術が産業界に広く

N/A
N/A
Protected

Academic year: 2021

シェア "1.はじめに マイクロコンピュータ (マイコン)技術が産業界に広く"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

マイクロコンピュータ教育における

     ソフトウェアの問題点

岡 田 正*

(昭和63年8月23日受付)

     An lssue of Software

in Microcomputer Technology Education

Tadashi OKADA*

(Received August 23, 1988)

 In a microcomputer technology education, the problem how to educate the hardware and software by combining

each other is very important. ln particular, the situation reLated to the software is rather complex. We discuss the issue of the software on the basis of a machine language or an assembly language, a development environment, a.

high−level language, and a trade−off between hardware and software.

1.はじめに

 マイクロコンピュータ (マイコン)技術が産業界に広く 入り込むに連れて,マイコン応用技術者の育成が急務に なっている。このため,種々の教育機関におけるマイコン 応用技術者教育の試みが,多数報告されるようになってき た。(例えば文献1に引用されている文献および文献2 を参照のこと。)津山高専においても,学科改組に伴って 新しく誕生した情報工学科で,マイコン関連科目がカリ キュラムの柱の一つになっている。筆者は,マイコン関連 科目を,高等専門学校の一貫教育の特徴を生かした,4年 間に渡るハードウ.エアとソフトウェアを一体化した試みと して,私見を交えて報告した3)。そこでは,新しいカリキュ ラムの特徴を,今まで例えばハードウェアは電子回路でソ フトウェアは情報処理でといったように,別々の科目で扱 われていた内容を,マイコン関連技術として一つの講義の 中で扱うところにあるととらえている。

 このようなハードウェアとソフトウェアとを一体化した カリキュラムにおいては,新しい試みであるために,どの ような項目をどんな順番で教えるか.ということが問題にな る。ハードウェアに関しては,ディジタル回路からマイク ロプロセッサを中心にしたLSI,そしてそれらの組み合

わせへと,比較的体系化されている。これに対して,ソフ トウェアに関係した内容は,何をどこまで教えるかについ て,今のところ共通した認識が得られていないように思わ

れる。

 本論文では,ハードウェアとソフトウェアとを一体化し たマイコン技術者教育の中で,ソフトウェアに関連した問 題点の内,筆者の重要と考えるものを取り上げる。機械語・

アセンブリ言語として何を取り扱うのか,開発環境と高級 言語とをいかに取り入れるか,ハードウェアとソフトウェ アのトレードオフをどう扱うかについて,私見を中心に述 べる。これ以外にも問題点があると思われるし,議論も偏っ たものであると考えるので,多くの方々の意見を伺い,有 効なマイコン応用技術教育の一助としたい。

* 情報工学科

2.マイコン教育の位置付け

 本校の情報工学科のカリキュラムにおいて,マイコン応 用技術者の養成を目的に,「電子情報回路」を中心にした 新しい科目が設けられている。ここでどのような内容を講 義すべきかについて,電気工学科の対応科目との関連を含 めて,マイコングループという私的な検討委員会(メンバー

:三木教授・岸本助教授・下西助教授と筆者)を設けて検

討し,電気工学科と情報工学科に報告した。さらにこの内

容を筆者なりにまとめて,工業高専におけるマイコン応用

(2)

通信技術 データベース     ソフトウェア工学

   UNIX FORTRAN Pascal BASIC

プログラミングツール

      MS−DOS C言語  マイクロコンピュータ   機械語

      インタフェース規格          半導体メモリ.

      インタフェース技術

マイクロブ サ ?モLSI/77

   ディジタルIC       マイコン制御 論理回路   ディジタル回路       シーケンス制御 電子工学 アナログ電子回路 制御工学

図1 マイコン技術者教育の講義で扱うのが望ましいと考    える内容の範囲(枠の中)3)

技術者教育の一事例として報告している3)。

 これらの講義で扱う内容は,図1の枠で囲った項目とし てまとめることが出来る3>。マイコン関連技術をハード ウェアの面から押えながら,単にハードウェアだけでなく ソフトウェアも一体化して扱うところに特徴がある。図1 では,機械語やC言語といったプログラム言語を示すこと により,ソフトウェアを取り入れることを表わしている。

しかし,言語を示すだけでソフトウェアに関連した問題を 十分示すことが出来ない。そこで本論文では,マイコン技 術者教育において,ハードウェアとソフトウェアとをどの ように連携させながら,何をどのように扱えばよいかにつ いて,主にソフトウェアの面から考えていきたい。

3.機械語・アセンブリ言語

 マイコン技術を教育するに当たって,機械語あるいはア センブリ言語は必須の講義項目である。機械語を扱う意味 は,2つあると考えられる。まず導入部分で,マイコンの 基本動作原理  プログラム記憶方式で最終的に機械語と

して実行されること一を理解させるために欠くことが出 来ない。今一つは応用の場面で,外部機器の制御とかマイ クロプロセッサの性能をギリギリまで引き出すとかの要求 に対して,機械語(アセンブリ語)を扱う必要が生じる。

 このように機械語を扱う意義は大きいものの,直ちにプ ログラミング教育の一貫として扱うには困難さを伴う。プ ログラミングを教育するためには,3つの重要な概念 データ構造,プログラム構造,制御構造  を教育する必

要がある。しかし,導入部で機械語を扱う立場としては,

本格的なプログラミングを教えるというよりも,あくまで もマイクロプロセッサの基本動作を理解させるという目的 に絞るべきであろう。すなわち,データ構造はレジスタの 動作や2進数と,プログラム構造はサブルrチンとブロッ

ク化と,制御構造はスタックや割り込みと.,それぞれ関連 さす程度の目標となる。

 機械語教育については,筆者らが以前から報告してきた ワンボードマイコンを使った学生実験(文献1の引用文献 に.まとめられている。)の経験が参考になる。これらの実 験に関して,学生の反応や理解しにくい点を調査し報告し ている1>。この中で,最も多くの学生が理解しにくいもの

として挙げたのは,機械語の意味であった。この第一の原 因は,旧カリキュラム時代の調査のため,マイコンの基本 動作を講義で扱う機会のないまま,実験を行なわなければ ならなかったことによるものと考えられる。新しいカリ キュラムでは,この点は解消されると思われる。しかし,

それ以外に,機械語は命令の数が多く,やらせたいことと の対応が取りにくいという指摘も行なった1)。

 本来,機械語は無色透明で人間の見方と離れており,解 決すべき問題との間の隔たりが大きい。このギャップを埋 めるために,実験効果の分析から,次のような結論を得て いる。すなわち,機械語を扱うとき一度に多くの命令を教 えても,学生の負担を増すだけで効果がない。基本命令(実 験では10個程度に制限したテーマがある。)をしっかり理 解させた上で,次に進むのがよい。このことは,講義にお

いても同じであろう。

(3)

表1 講義で扱う機械語(アセンブリ言語)の例

仮   想 vロセッサ

講義用に考えられたもの4)

﨣 搴Z術者試験用 CASL

実 際 の vロセッサ

8ビット Z80,8085,6800 P6ビット 8086,68000

 次に問題となるのは,どの機械語を扱うかである。表1 に講義に使われている機械語(アセンブリ語)の例を示す。

今のところ筆者は,教科書に使われているもの4)を中心に,

情報処理技術者試験に挑戦させるためのCASLと,学内 の実験で使用するのとマイコンシステム技術者試験を念頭 に置いたZ80とを,それぞれ対比させながら扱っている。

いずれも本質的な部分に話を絞り,初めから細かいテク ニックに類することを扱うことは避けるようにしている。

どの言語を扱えば,最も教育効果が上がるのかを判断する ためには,今後の実践を通してさらに検討を進める必要が あると考える。

 これら機械語を扱うとき,ハードウェアの話と関連させ ながら,マイクロプロセッサのアーキテクチャと基本動作 を理解させることを最も重要な目的にして,次のような順 番で講義していくのがよいと思われる。

 ①レジスタの使われ方

 ②アドレッシングモードとデータ転送  ③演算機能とフラグ

④ジャンプ/サブルーチンと制御構造  ⑤割り込みと入出力制御

 以上述べたことは,主に導入部分での扱いである。本節 の最初に述べたもう一つの目的である応用面への対応につ いては,次節以降の知識をつけた上で,後学年で改めて扱 うのがよいと考える。

4.開発環境と高級言語

 コンピュータにおけるソフトウェアの利用形態を考える とき,ソフトウェア実行マシンとソフトウェア開発マシン との,2つの面を考慮しなければならない。前者では,ど の言語を使い言語仕様がどうなっているかが重要である。

しかし,マイコン技術者教育においては,後者のソフトウェ ア開発マシンとしてのコンピュータを理解させ,さらにコ ンピュータ制御へとつなげることが重要であると思われ

る。

 ソフトウェア開発マシンとして扱うときには,最低限 OS(Operating System)・プログラム言語・エディタの3

つについて,正しい知識を持つ必要がある。これらを教育 するためには,利用できる環境が問題で,一般論としてど れがよいといっても,その環境が利用できなければ意味が ない。そこでここでは,共通した問題点を指摘するにとど めるQ

 マイコン関係のOSとして, MS−DOSのようなシング ルユーザ・シングルタスクから,UNIXのようなマルチ ユーザ・マルチタスクまで利用できるようになってきた。

どのようなOSから導入するかは教育環境によるが,情報 処理教育全般の中での扱いを考えなければ,学生の負担だ け増えることになる。使用するOSの意味と役割を各教育 段階に応じて十分話し,すでに使用したOS,使用できな かったOSとの比較も,必要に応じて行なわなければなら ない。CPUや周辺機器を含めたハードウエアと,実行さ れるソフトウェアの問にあって,OSがどんな役割を担っ ているかという階層構造を理解させることが重要である。

 マイコン技術者が経験しておくべきプログラム言語は,

技術動向から見て,アセンブリ言語の進化して出来上がっ たといわれるC言語が第一であろう。C言語を教える際,

少数の命令のよく分かっている機能を使いこなすことを出 発に,徐々に豊富な機能を覚えていくという,機械語の教 育と同じ配慮が必要である。C言語を理解するには,豊富 な演算子やポインタをマスターすることが重要であるとい われており,このような言語仕様の理解がまず必要である。

しかし,ソフトウェア開発マシンの見方から,言語仕様に 劣らず,機械語に落ちる仕組み(コンパイラとリンカ)や デバッグツールの存在といった,ソフトウェアツール全般 に触れることが望まれる。これは,C言語以外の言語を扱 う場合も,同様に重要である。

 開発ルーツの中で,エディタはプログラム等を入力する ために必ず使うものである。実際に使うエディタは,マイ コン教育以外の情報処理教育全般で使うものとの関連を考 慮しなければ,特に初心者で混乱が起こる。データの互換 性を考えた上で,統一した処理が出来る環境整備が望まれ

る。

 現在のように技術革新の速度が早く,ミニコンやメイン フレーム.とマイコンとの技術が共有化される状況にあっ て,本節の内容は,コンピュータ技術・情報処理技術教育 全般と密接に関連している。ソフトウェア開発マシンとし て扱うという立場から,ソフトウェア実行マシンの立場の 他の講義科目との問の,十分な意志疎通がますます必要と

なる。

5.ハードウェアとソフトウェアのトレードオフ

現在のように電子機器のディジタル化・ソフトウェア制

(4)

御化が進むと,ハードウェアとソフトウェアの役割分担,

いわゆるトレードオフの問題を教育しておく必要がある。

しかし,トレードオフは実務上重要であるにもかかわらず,

設計者の勘や経験に頼るべきものとして,大局的立場から 統一して論じられることは少なかった。筆者は,ハードウェ アとソフトウェアを統一的に教育するという立場から,ト

レードオフの問題をすでに論じた5)。

 そこでは,トレードオフの指導原理として,動作原理上 の制約,処理速度と複雑さ,経済性の3つの観点からまと めた。すなわち,ソフトウェアはフォン・ノイマン型の動 作原理から,ソフトウェア処理の低速性と並列処理の出来 ないことなどの欠点が生じる。これはまた,複雑で高度な 判断や多数の条件を扱うような処理に,ソフトウェアは柔 軟に対応できるという利点を意味する。ただソフトウェア は,ある与えられたハードウェア環境,特にマイクロプロ セッサのアーキテクチャの範囲内の機能しか実現できな い。ハードウェアでシステム全体を支えながら,ソフトウェ アで汎用性が高く柔軟な処理を実現するという,基本的役 割分担を教えなければならない。

 ハードウェアとソフトウェアのトレードオフについて は,上述の例のように種々の観点から論じることが出来る。

これらを教えるに当たって最も重要なことは,動作原理を 十分理解させておくことである。実務経験のない学生に,

具体例を交えた詳しい議論をすることは困難である。あく までも,ハードウェアとソフトウェアの特質を十分知らせ,

その中で互いの役割分担を講義すべきである。

 トレードオフに関連して,扱いに注意しなければならな い二つの項目を指摘したい。いずれも広義のソフトウェア に関するもので,周辺LSIのプログラミングとASIC

(Application Specific Integrated Circuit)の発達に伴う システム化の問題である。

 まず,周辺LSIのプログラミングであるが,現在では 高度で複雑な判断を含む処理は,種々の専用周辺LSIで 扱うようになっており,この考え方を十分理解させておく 必要がある。これら周辺LSIの特徴は,本来持っている 豊:富な機能の中から,使用者の望む機能だけをCPUから 指定して利用するところにある。こうした周辺LSIのプ

ログラミングの考え方は,プログラミングといえばFOR−

TRANやBASICのコーーディングと思ってしまう学生達 にとって,注意して扱わなければならない項目の一つであ るQ

 一方ASICの普及によって,ハードウェアとソフトウェ アの境界がますます融合してきた。このような状況でのシ ステム化では,あたかも高級言語のプログラム作成と同じ ように,必要な機能を組み合わせることで設計を行なうよ うになっている。プログラミングにおけるブロック化・構

造化の概念が,システム構築に利用できる。ただ経験のな い学生にとって,抽象的な話だけでは理解しにくいと思わ れるので,どの学年の.どの教科に,どのように取り入れて いくのか,.今後の検討が必要である。

6.あ と が き

 マイコン応用技術者の養成を目的にして,ハードウェア とソフトウェアを一体化したカリキュラムの中で,体系化 しにくいソフトウェア関連の問題について議論した。機械 語(アセンブリ言語)・開発環境・高級言語・トレードオ フのどれをとっても,どのように教育するかについて直ち に答えの出しにくいものである。今後の教育実践で念頭に 置くべき項目の例として,問題提起の意味で私見を述べた。

 本論文で述べた以外にも,ワークステーションとネット.

ワーク制御のような技術的な問題,ソフトウェアのコピー

(著作権)のような広い意味でのソフトウェアの問題6 7)

等,マイコン技術者の知っておかなければならない問題が,

次々と現われている。これら多くの項目の中で,何が基本 で,どこまで教えれば,その後学生心が大きく伸びてゆく ことが出来るかを議論し,よりよい講義内容を考えていか なければならない。この意味で,教育する側の努力の重要

性が増して.いる。

 マイコン技術者教育としては,アルゴリズム設計法の習 得やプログラムスタイルの学習のような,本格的なプログ ラミング教育を主目的に出来ない。プログラム実行マシン の立場からのプログラミング教育は,情報工学科のもう一 つの柱である情報処理分野で扱うべき内容である。マイコ ン教育ではあくまでも,マイクロプロセッサの基本動作と ソフトウェア開発の仕組みとを中心に扱うべきであると考 える。将来,二つの柱が有機的に組み合わされて,完成さ れた教育体系になることを念願し,ここで述べたことをも とに,さらに議論の深まることを望むものである。

 本稿は,電子情報通信学会教育工学研究会における講演 原稿8)をもとに,加筆修正してまとめたものである。

 マイコン関連科目の講義内容について,有益な討論をし て頂いたマイコングループのメンバー・一である,三木教授・

岸本助教授・下西助教授の皆様に深く感謝致します。

(5)

        文     献

1)岡田・岸本:津山工業高専紀要23(1985)107.

2)信学技報ET87−10(1988−3), ET88−5(1988−9)の各  論文.

3)岡田:信学技報E丁87−10(1988一・3)23.

4)森下:マイクロコンピュータ入門[第2版],昭晃堂(昭

  57).

5)岡田:津山工業高専紀要25(1987)43.

6)松井・横井:信学技報ET87−10(1988−3)43.

7)佐野:情報処理28(1987)1060.

8)岡田:信学技報 ET88−5(1988−9)21.

参照

関連したドキュメント

No ヒアリング内容

  近年、社会構造・産業構造の急激な変化によ り科学技術がかつてない速度で複雑化・高度

1 はじめに エコ電力研究センターは平成 19 年 4 月に文部科学省私立大学研究高度化推進事業

4

1C05 産業界における女性技術者登用状況と課題

は じ め に 通信技術はわずか

main : 2012/8/21(10:27) はじめに 本書では ,工学系専門学科の学部 2 年∼ 3

はじめに