Last update $Id$
(c) 2007 BakaOyaji

準備編 その1

で、準備として、PIC16F648A(以下16F648)のデータブックを眺めはじめました。アーキテクチャの細かいところは書いてませんね… 仕方ないので、よく使われるPIC16F84Aのデータブックも眺めます。こちらのほうがいいですね。Special Functionレジスタの中身は、PICmicro Mid-Range MCU Family Reference Manual(文書番号DS33023A)のほうがよくわかります。PICの14ビット系アーキテクチャの特徴は、
プログラムカウンタ(PC)やステータスレジスタも汎用のレジスタ(メモリ)と同様にアクセスすることができます(実装はちょっとめんどくさくなります ね)。プログラムカウンタを汎用のレジスタにするのは、たしかDECが特許をとっていたはずです(もう失効してるはずです)が、もとネタは見つけられませ んでした。

内部 クロックは4相のようですが、できれば単相クロックのほうがありがたいので、できるだけそうしましょう。
データブックのFIGURE 1-1: PIC16F84A BLOCK DIAGRAMを眺めてみます.FileRegisterや,I/OなどのSpecialFunctionレジスタとALU周りの接続は双方向バス風に描 かれていますが,「んなはずはないだろう」と突っ込みを入 れます.
近代的なLSIの設計では内部に双方向や3ステートバスを入れることはありません.理由は、遅延の計算が非常に複雑になってしまい、バスの衝突回避とかの タイミングが面倒になるからです。

脱線してしまいました。
PICの命令はファイルレジスタの内容に対して、演算結果を同じアドレスのファイルレジスタに書き戻す、いわゆる「リード・モディファイ・ライト」ができ ます。したがって、ファイルレジスタは、アドレスポート1ヶで、データ入力ポート(data-in),データ出力ポート(data-out)が分離した形 式になっているほうが、しっくりします。
Fig1 Blockdiagram
(クリックで拡大)

そんなことを考えて,ブロックダイアグラムを書き直すとこの絵のようになると思います.これでだいぶわかりやすくなりました.これなら,単相クロックでも 動きそうです.もう少し,考えます.



<<前に戻る   Index へ  次へ>>