home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / DRIVER / IBM / VW200 / VW200_2.EXE / DEVINFO / SMC112.TXT < prev    next >
Text File  |  1995-10-31  |  10KB  |  275 lines

  1. 1  はじめに
  2.    これらの文書ファイルはハードウエアに関する情報を一部提供するものです。
  3.    登場しているSMC88112はIBMが提供を受けている他社製品の型版で、IBMでは
  4.    直接販売・製造しておりません。また提供されている情報は、セイコー・エプソン
  5.    社のご厚意により提供されているものです。
  6.  
  7. 2  仕様について
  8.    個々のパーツの仕様は提供元により自由に変更されます。ここで提供されている
  9.    仕様はあくまでも、ChipCardで使用されているものです。第三者が同じ仕様の
  10.    パーツをここで参照している型版で購入できる保証はありません。
  11.  
  12. 3 CPUとバスの構成
  13.  
  14. ここでは、CPUと動作モード、およびバスの構成について説明します。
  15.  
  16.  
  17. 3.1 CPU
  18. SMC88112はCPUとして8ビットコアCPU SMC88を使用しており、レジスタ構成、命令等は他
  19. のSMC88を使用したファミリプロセッサとほぼ同様です。
  20. SMC88については"SMC88 Core CPU Manual"を参照してください。
  21.  
  22. 使用しているsmc88のCPUモデルはMODEL3で、SMC88112の場合、アドレス空間は最大512Kバ
  23. イト×4となっています.
  24.  
  25.  
  26. 3.2 内蔵メモリ
  27. SMC88112は図3.2.1に示すROMおよびRAMを内蔵しており、小規模なアプリケーションには
  28. 1チップで対応することができます。この内蔵メモリは外部メモリと合わせて使用可能で
  29. す。また、内蔵ROMをバスから切り離して、所定の空間を外部に解放することもできます。
  30.  
  31.                   SMC88112
  32.         00FFFFH
  33.                   I/Oメモリ
  34.         00FF00H
  35.         00FEFFH
  36.  
  37.                  未使用領域
  38.  
  39.         00F100H
  40.         00F000H  RAM(256byte)  00F0FFH
  41.         00EFFFH
  42.  
  43.  
  44.                    未使用
  45.            :        領域
  46.  
  47.  
  48.         003000H
  49.         002FFFH
  50.  
  51.  
  52.                     ROM
  53.                  (12K byte)
  54.  
  55.  
  56.         000000H
  57.  
  58.           図3.2.1 内蔵メモリマップ
  59.  
  60.  
  61. 3.2.1 ROM
  62.  
  63. 内蔵ROMの容量は表3.2.1.1に示すとおりです。
  64.  
  65.     表3.2.1.1 内蔵ROM容量
  66.  
  67.   機種名  ROM容量    アドレス
  68.  SMC88112  12Kバイト  000000H~002FFFH
  69.  
  70.  
  71. 3.2.2 RAM
  72.  
  73. 内蔵RAMの容量は表3.2.2.1に示すとおりです。
  74.  
  75.     表3.2.2.1 内蔵RAM容量
  76.  
  77.   機種名  ROM容量    アドレス
  78.  SMC88112  256バイト  00F000H~00F0FFH
  79.  
  80. なお、内蔵RAM領域に外部メモリを拡張した場合でも、この領域は外部メモリには解放さ
  81. れません。この領域のアクセスは常に内蔵RAMに対して行われます。
  82.  
  83.  
  84. 3.2.3 I/Oメモリ
  85.  
  86. SMC88112では、内蔵する周辺回路とのインターフェースにメモリマップドI/O方式を採用
  87. しています。各周辺回路の制御ビットやデータレジスタはメモリ空間上に配置され、通常
  88. のメモリアクセスによって制御およびデータのやりとりが行えます。I/Oメモリが配置さ
  89. れている領域は00FF00H~00FFFFHです。I/Oメモリの詳細については後述の"メモリマップ"
  90. を参照して下さい。
  91. なお、I/Oメモリ領域に外部メモリを拡張した場合でも、この領域は外部メモリには解放
  92. されません。この領域のアクセスは常にI/Oメモリに対して行われます。
  93.  
  94.  
  95. 3.3 例外処理ベクタ
  96. SMC88112ではプログラム領域の000000H~000023Hが例外処理ベクタとして割り当てられて
  97. います。ベクタアドレスと例外処理要因の対応を示します。
  98.  
  99.  ベクタ                                        優先
  100. アドレス         例外処理要因                  順位
  101. 000000H   リセット                             高い
  102. 000002H   ゼロ除算                              ↑
  103. 000004H   ウォッチドッグタイマ(NMI)
  104. 000006H   プログラマブルタイマ1割り込み
  105. 000008H   プログラマブルタイマ0割り込み
  106. 00000AH   K10、K11入力割り込み
  107. 00000CH   K04~K07入力割り込み
  108. 00000EH   K00~K03入力割り込み
  109. 000010H   シリアルI/Fエラー割り込み
  110. 000012H   シリアルI/F受信完了割り込み
  111. 000014H   シリアルI/F送信完了割り込み
  112. 000016H   ストップウォッチタイマ100Hz割り込み
  113. 000018H   ストップウォッチタイマ10Hz割り込み
  114. 00001AH   ストップウォッチタイマ1Hz割り込み
  115. 00001CH   計時タイマ32Hz割り込み
  116. 00001EH   計時タイマ8Hz割り込み
  117. 000020H   計時タイマ2Hz割り込み                 ↓
  118. 000022H   計時タイマ1Hz割り込み                低い
  119.  
  120. 各ベクタアドレスとその次のアドレスに、例外処理ルーチンの先頭アドレスを下位、上位
  121. の順に格納しておきます。例外処理要因が発生すると、設定されたアドレスから始まる例
  122. 外処理ルーチンを実行します。
  123. 同時に複数の例外処理が発生した場合は優先順位の高いものから先に実行されます。
  124. なお、表3.3.1に示された割り込みの優先順位は、割り込み優先レベルがすべて同じ場合
  125. のものです。各割り込みの優先レベルは系列ごとにソフトウェアで設定することができま
  126. す。("5.15 割り込みとスタンバイ状態"参照)
  127.  
  128. 注!  リセット以外の例外処理ではSC(システムコンディションフラグ)およびPC(プログ
  129.     ラムカウンタ)をスタックに退避させ、各例外処理ルーチンに分岐します。したが
  130.     って、例外処理ルーチンからメインルーチンに戻す際にはRETE命令を使用してく
  131.     ださい。
  132.  
  133. 例外処理要因発生時のCPUの動作については"SMC88 Core CPU Manual"を参照してください。
  134.  
  135.  
  136. 3.4 CC (カスタマイズコンディションフラグ)
  137. SMC88112ではコアCPU内のカスタマイズコンディションフラグ(CC)を使用していません。し
  138. たがって、条件付き分岐命令(JRS、CARS)の分岐条件として使用することはできません。
  139.  
  140.  
  141. 3.5 チップモード
  142.  
  143.  
  144. 3.5.1 MCUモード
  145.  
  146. MCUモードではイニシャルリセット時に内蔵メモリのみのシステムとして起動するように
  147. なっています。内蔵ROMはプログラムメモリのコモンエリア(論理空間の0000H~7FFFH)の
  148. 先頭部分として常時固定となり、例外処理ベクタは内蔵ROM内に配置されます。また、リ
  149. セット例外処理によって開始されるアプリケーションの初期化ルーチンについても、内蔵
  150. ROMに書き込んでおく必要があります。外部に拡張したメモリに対応させるバス等の設定
  151. はソフトウェアによって行えますので、内蔵ROMに書き込む初期化ルーチンの中でこの処
  152. 理を行います。このバスの設定後、外部メモリのアクセスが行えるようになります。
  153.  
  154. このモードでは内蔵メモリの領域をアクセスする際、外部メモリに対してチップイネーブ
  155. ル(CE)信号およびリード(RD)/ライト(WR)信号が出力されず、データバス(D0~D7)はハイ
  156. インピーダンス状態(マスクオプションでP00~P07をプルアップ抵抗ありとした場合はプ
  157. ルアップ状態)となります。したがって、外部メモリと内蔵メモリでアドレスが重複した
  158. 場合、外部メモリのその領域は無効となります。
  159.  
  160. 3.5.2 バスモード
  161.  
  162. バスモードは外部に拡張したメモリの構成にバスの仕様を合わせるための設定で、以下の
  163. 4種類がソフトウェアによって設定できます。
  164. chipカードでは拡張512Kマキシマムモードを採用しています。
  165.  
  166. ■ シングルチップモード
  167.  
  168. ■ 拡張64Kモード
  169.  
  170. ■ 拡張512Kミニマムモード
  171.  
  172. ■ 拡張512Kマキシマムモード
  173.   拡張512KマキシマムモードはSMC88112の外部に64Kバイト以上512Kバイト×4以下のメ
  174.     モリを確定する場合に設定します。このモードはMCU/MPUモードにかかわらず設定で
  175.     きます。
  176.  
  177.     MCUモードでは内蔵ROMが使用され、080000Hから27FFFFHまでの領域に外部メモリ等を
  178.     割り当てることができます。
  179.     MPUモードでは内蔵ROM領域が解放されますので、000000Hから1FFFFFHまでの領域に外
  180.     部メモリ等を割り当てることができます。
  181.     ただし、00F000Hから00FFFFHまでの領域は内蔵RAM等に割り当てられており、外部デ
  182.     バイスをアクセスすることはできません。
  183.     このモードにおけるCPUの動作はSMC88コアCPUのMODEL3/マキシマムモードに相当し、
  184.     MPUモードでは物理空間000000Hから1FFFFFHまでの領域、MCUモードでは物理空間0800
  185.     00から27FFFFH+内部メモリの領域がアクセスの対象として有効となります。先物理空
  186.     間中、プログラムメモリおよびデータメモリを任意の大きさ(プログラムとデータ合
  187.     計で最大512Kバイト×4)で確保できるため、プログラム容量、データ容量ともに大規
  188.     模なシステムに適しています。
  189.  
  190.     このモードにおけるチップイネーブル(CE)信号のアドレス範囲は512Kバイトに固定さ
  191.     れます。
  192.  
  193.                   SMC88112
  194.                  -MCUモード-
  195.         27FFFFH
  196.            :
  197.            :
  198.            :
  199.            :
  200.            :
  201.            :
  202.            :     外部
  203.            :     メモリ領域
  204.            :
  205.            :
  206.            :
  207.         080000H
  208.         07FFFFH
  209.            :
  210.            :     未使用領域
  211.            :
  212.         010000H
  213.            :
  214.         00FFFFH  内蔵メモリ
  215.         00F000H
  216.         00EFFFH
  217.            :
  218.            :
  219.            :
  220.            :      未使用領域
  221.            :
  222.            :
  223.         004000H
  224.         003FFFH
  225.            :
  226.            :      使用不可領域
  227.            :
  228.         003000H
  229.         002FFFH
  230.            :
  231.            :
  232.            :      内蔵メモリ
  233.            :
  234.            :
  235.         000000H
  236.  
  237.           図3.5.2.4 拡張512Kマキシマムモードのメモリマップ
  238.  
  239. 各モードの設定方法については"5.2 システムコントローラとバスの制御"で説明します。
  240.  
  241.  
  242. 4.  イニシャルリセット時の初期設定
  243. イニシャルリセットによりCPUの内部レジスタは以下のように初期化されます。
  244.  
  245.                       表4.2.1 初期設定値
  246.  
  247.          レジスタ名称            記号     ビット長     初期値
  248.  
  249. データレジスタA                   A        8        不定
  250. データレジスタB                   B          8          不定
  251. インデックス(データ)レジスタL     L          8          不定
  252. インデックス(データ)レジスタH     H          8          不定
  253. インデックスレジスタIX            IX         16         不定
  254. インデックスレジスタIY            IY         16         不定
  255. プログラムカウンタ                PC         16         不定
  256. スタックポインタ                  SP         16         不定
  257. ベースレジスタ                    BR         8          不定
  258. ゼロフラグ                        Z          1           0
  259. キャリーフラグ                    C          1           0
  260. オーバーフローフラグ              V          1           0
  261. ネガティブフラグ                  N          1           0
  262. デシマルフラグ                    D          1           0
  263. アンパックフラグ                  U          1           0
  264. インタラプトフラグ0               I0         1           1
  265. インタラプトフラグ1               I1         1           1
  266. ニューコードバンクレジスタ        NB         8          01H
  267. コードバンクレジスタ              CB         8          不定
  268. エクスバンドページレジスタ        EP         8          00H
  269. IX用エクスバンドページレジスタ  XP         8          00H
  270. IY用エクスバンドページレジスタ    YP         8          00H
  271.  
  272.  *リセット例外処理によって、0バンクのメモリの先頭(000000H~000001H)に格納されて
  273.   いる値がPCにロードされます。また、このとき同時にNBの初期値01HがCBにロードされ
  274.   ます。
  275.