Thursday, January 29, 2009

タイマ

タイマはハードウエアタイマとソフトウエアタイマというの二つ種類があります。時間を計測するために、時刻に割り込み信号を発生するタイマ回路はハードウエアタイマと呼ばれます。ソフトウエアタイマはプログラム上でループを行い、時間を測定します。それで、MPUのクロック周波数を受けることがありませんが、ソフトウエアタイマには、他の状況などに影響を受ける以外は、MPUのクロック周波数にも依存します。タイマを利用する場合、一般に、初期化を行ってから、カウントしたい時間を設定し、タイマを開始します。
 タイマの種類は三つ種類があります。年月日の時刻を正確に管理するためにの回路をリアルタイムクロックです。一定周期に割り込みを発生されることにより定期に処理を行うタイマをインターバルタイマです。指定した時間の経過後を行うタイマをデイレイタイマと言います。
組み込み開発者として、タイマの使用を分かれば、遅延や時間測定などをシステムに制御できます。

Wednesday, January 28, 2009

割り込みの概要

割り込みとは、現在にあるプロセスを実効中ですが、異なるプロセスを処理するように要求することです。MPUが割り込みを受けるの割り込み処理を実行する時に、優先度により、処理を行うことを多重割り込みと呼ばれます。MPUは、割り込みを受けると、実行中のプログラムを再開するために、必要な情報を保存してから、指定されるアドレスにジャンプします。MPUが命令を実行する時にエラーが発生したら、割り込みを開始しなければなりませんので、これを内部割り込みで呼ばれます。

Friday, January 23, 2009

高速化技術

組込みのMPUを設計すると、高速化技術はかなり大切です。
MPUはひとつの命令を複数ステップで実行します。複数ステップは命令を取り出し(IF)、命令を解読し(ID)、命令を実行し(EX)、メモリをアクセスし(MEM)、レジスタを格納し(WB)、という5階段に分割します。パイプライン処理はそれらの階段を並列して実行することにより、複数の命令をオーバラップさせて実行し、高速化になります。
     パイプライン処理
命令1: IFー>IDー>EXー>MEMー>WB
命令2:    IFー>IDー>EXー>MEMー>WB
命令3:       IFー>IDー>EXー>MEMー>WB
命令4:       IFー>IDー>EXー>MEMー>WB
命令5:         IFー>IDー>EXー>MEMー>WB

パイプライン処理は遅延分岐がよく使用されます。遅延命令の直前に配置されるべき命令を分岐命令の直後に配置するぉとで、分岐命令の直後の命令を実行できます。

省電力

組み込みシステムの特徴は省電力です。
組み込みのハードウエアにチップ設計的にCMOS(Complementary Metal Oxide Semiconductor)の応用、省電制御、省電力動作があります。CMOSの使用は定常状態で電流がほとんど流れないので、消費電力が低くなり、集積度を高めることできます。一方、不必要な回路に電流を停止する方法は省電力制御と呼ばれます。省電力動作或いはスリープモードはMPUにクロック停止制御を応用することです。

Thursday, January 22, 2009

バスだって

MPUとメモリ、I/Oコントローラでデータと命令をやり取りするための回路をバスと呼ばれます。
MPUは一般にデータバス、コントロールバス、アドレスバスを使用します。データバスはMPUとメモリの間にデータとプログラミングを取り込むためのバスです。コントロールバスはメモリの読み出しと書き込みの制御信号を送るバスです。アドレスバスはMPUからメモリへアドレスを送るバスです。
上記のバスは内部バスと呼ばれますが、周辺装置を接続するためのバスは外部バスもあります。
外部バスの規格として、今に広く使用するのはUSBです。また、PCI(Peripheral Component Interconnect)も広く普及しています。PCIではパラレル転送方式の規格です。PCIの改善により、シリアル転送方式(PCI Express)は高速なデータを転送できます。バスの制御にはデータを送受信を開始できる装置をバスマスタといいます。転送要求を受信してから、データ転送を行う装置はバススレーブ
といいます。
バス概要を分かれば、チップ内容にMPU,メモリ、などの動作を把握できます。

Tuesday, January 20, 2009

MPU

組込み処理の基本はなんでしょうか
答えるはMPUです。MPUは演算機能と制御機能を処理する装置です。メモリに格納されているプログラムに従って、入出装置などを制御しながら、命令を1ずつ実行します。プログラムカウンタは次に実行すべき命令の位置を示す値が格納されます。MPUはプログラムカウンタに基づき、示す命令を取得し、命令レジスタに格納します。MPUは一つの命令を”フェッチ”と”解読”と”実行”の複数のステップで実行します。命令を処理するMPUを分かるために、ロード命令を説明します。ロード命令は指定されたアドレスから値を取り出し、汎用レジスタに格納する命令です。まず、指定されたメモリのアドレスからロード命令を取得し、MPU内の命令レジスタに格納する動作はフェッチです。次に、命令レジスタに格納された命令を解読を行います。ここで、命令の解読です。最後に、命令の中に実行アドレスを計算し、結果を取得し、汎用レジスタに設定します。これで、実行と呼ばれます。
MPUの概要を分かれば、組込みシステムの演算と制御び中核を把握できます。

Saturday, January 17, 2009

UMLだって

UML(Unified Modeling Language)はオブジェクト指向設計に使用する言語です。ソフトウエア設計者として、言語を使いなくても、UMLを使用する設計書を見ると、内容を分かります。UMLではクラス図、オブジェクト図、パッケージ図、コンポジット構造図、コンポーネント図、配置図、ユースケース図、アクテイビテイ図、状態マシン図、シーケンス図、コミュニケーション図、相互作用概要図、タイミング図という13種類を作成しますが、すべての図を使用すること必要がありません。
 組込みシステム設計にメッセージやデータの流れを示すシーケンス図とオブジェクトの状態を示す状態マシン図を使用することが多いです。
 処理経過に基づき、オブジェクト間の相互を表現するプロセスはシーケンス図と呼ばれます。オブジェクトの状態遷移を表現することは状態マシン図です。
200文字程度ですべてのUMLを説明できないで、下記リンクを参考してください。
http://www.rarestyle.net/main/uml/class/uml_class.aspx