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 >
Wrap
Text File
|
1995-10-31
|
10KB
|
275 lines
1 はじめに
これらの文書ファイルはハードウエアに関する情報を一部提供するものです。
登場しているSMC88112はIBMが提供を受けている他社製品の型版で、IBMでは
直接販売・製造しておりません。また提供されている情報は、セイコー・エプソン
社のご厚意により提供されているものです。
2 仕様について
個々のパーツの仕様は提供元により自由に変更されます。ここで提供されている
仕様はあくまでも、ChipCardで使用されているものです。第三者が同じ仕様の
パーツをここで参照している型版で購入できる保証はありません。
3 CPUとバスの構成
ここでは、CPUと動作モード、およびバスの構成について説明します。
3.1 CPU
SMC88112はCPUとして8ビットコアCPU SMC88を使用しており、レジスタ構成、命令等は他
のSMC88を使用したファミリプロセッサとほぼ同様です。
SMC88については"SMC88 Core CPU Manual"を参照してください。
使用しているsmc88のCPUモデルはMODEL3で、SMC88112の場合、アドレス空間は最大512Kバ
イト×4となっています.
3.2 内蔵メモリ
SMC88112は図3.2.1に示すROMおよびRAMを内蔵しており、小規模なアプリケーションには
1チップで対応することができます。この内蔵メモリは外部メモリと合わせて使用可能で
す。また、内蔵ROMをバスから切り離して、所定の空間を外部に解放することもできます。
SMC88112
00FFFFH
I/Oメモリ
00FF00H
00FEFFH
未使用領域
00F100H
00F000H RAM(256byte) 00F0FFH
00EFFFH
未使用
: 領域
003000H
002FFFH
ROM
(12K byte)
000000H
図3.2.1 内蔵メモリマップ
3.2.1 ROM
内蔵ROMの容量は表3.2.1.1に示すとおりです。
表3.2.1.1 内蔵ROM容量
機種名 ROM容量 アドレス
SMC88112 12Kバイト 000000H~002FFFH
3.2.2 RAM
内蔵RAMの容量は表3.2.2.1に示すとおりです。
表3.2.2.1 内蔵RAM容量
機種名 ROM容量 アドレス
SMC88112 256バイト 00F000H~00F0FFH
なお、内蔵RAM領域に外部メモリを拡張した場合でも、この領域は外部メモリには解放さ
れません。この領域のアクセスは常に内蔵RAMに対して行われます。
3.2.3 I/Oメモリ
SMC88112では、内蔵する周辺回路とのインターフェースにメモリマップドI/O方式を採用
しています。各周辺回路の制御ビットやデータレジスタはメモリ空間上に配置され、通常
のメモリアクセスによって制御およびデータのやりとりが行えます。I/Oメモリが配置さ
れている領域は00FF00H~00FFFFHです。I/Oメモリの詳細については後述の"メモリマップ"
を参照して下さい。
なお、I/Oメモリ領域に外部メモリを拡張した場合でも、この領域は外部メモリには解放
されません。この領域のアクセスは常にI/Oメモリに対して行われます。
3.3 例外処理ベクタ
SMC88112ではプログラム領域の000000H~000023Hが例外処理ベクタとして割り当てられて
います。ベクタアドレスと例外処理要因の対応を示します。
ベクタ 優先
アドレス 例外処理要因 順位
000000H リセット 高い
000002H ゼロ除算 ↑
000004H ウォッチドッグタイマ(NMI)
000006H プログラマブルタイマ1割り込み
000008H プログラマブルタイマ0割り込み
00000AH K10、K11入力割り込み
00000CH K04~K07入力割り込み
00000EH K00~K03入力割り込み
000010H シリアルI/Fエラー割り込み
000012H シリアルI/F受信完了割り込み
000014H シリアルI/F送信完了割り込み
000016H ストップウォッチタイマ100Hz割り込み
000018H ストップウォッチタイマ10Hz割り込み
00001AH ストップウォッチタイマ1Hz割り込み
00001CH 計時タイマ32Hz割り込み
00001EH 計時タイマ8Hz割り込み
000020H 計時タイマ2Hz割り込み ↓
000022H 計時タイマ1Hz割り込み 低い
各ベクタアドレスとその次のアドレスに、例外処理ルーチンの先頭アドレスを下位、上位
の順に格納しておきます。例外処理要因が発生すると、設定されたアドレスから始まる例
外処理ルーチンを実行します。
同時に複数の例外処理が発生した場合は優先順位の高いものから先に実行されます。
なお、表3.3.1に示された割り込みの優先順位は、割り込み優先レベルがすべて同じ場合
のものです。各割り込みの優先レベルは系列ごとにソフトウェアで設定することができま
す。("5.15 割り込みとスタンバイ状態"参照)
注! リセット以外の例外処理ではSC(システムコンディションフラグ)およびPC(プログ
ラムカウンタ)をスタックに退避させ、各例外処理ルーチンに分岐します。したが
って、例外処理ルーチンからメインルーチンに戻す際にはRETE命令を使用してく
ださい。
例外処理要因発生時のCPUの動作については"SMC88 Core CPU Manual"を参照してください。
3.4 CC (カスタマイズコンディションフラグ)
SMC88112ではコアCPU内のカスタマイズコンディションフラグ(CC)を使用していません。し
たがって、条件付き分岐命令(JRS、CARS)の分岐条件として使用することはできません。
3.5 チップモード
3.5.1 MCUモード
MCUモードではイニシャルリセット時に内蔵メモリのみのシステムとして起動するように
なっています。内蔵ROMはプログラムメモリのコモンエリア(論理空間の0000H~7FFFH)の
先頭部分として常時固定となり、例外処理ベクタは内蔵ROM内に配置されます。また、リ
セット例外処理によって開始されるアプリケーションの初期化ルーチンについても、内蔵
ROMに書き込んでおく必要があります。外部に拡張したメモリに対応させるバス等の設定
はソフトウェアによって行えますので、内蔵ROMに書き込む初期化ルーチンの中でこの処
理を行います。このバスの設定後、外部メモリのアクセスが行えるようになります。
このモードでは内蔵メモリの領域をアクセスする際、外部メモリに対してチップイネーブ
ル(CE)信号およびリード(RD)/ライト(WR)信号が出力されず、データバス(D0~D7)はハイ
インピーダンス状態(マスクオプションでP00~P07をプルアップ抵抗ありとした場合はプ
ルアップ状態)となります。したがって、外部メモリと内蔵メモリでアドレスが重複した
場合、外部メモリのその領域は無効となります。
3.5.2 バスモード
バスモードは外部に拡張したメモリの構成にバスの仕様を合わせるための設定で、以下の
4種類がソフトウェアによって設定できます。
chipカードでは拡張512Kマキシマムモードを採用しています。
■ シングルチップモード
■ 拡張64Kモード
■ 拡張512Kミニマムモード
■ 拡張512Kマキシマムモード
拡張512KマキシマムモードはSMC88112の外部に64Kバイト以上512Kバイト×4以下のメ
モリを確定する場合に設定します。このモードはMCU/MPUモードにかかわらず設定で
きます。
MCUモードでは内蔵ROMが使用され、080000Hから27FFFFHまでの領域に外部メモリ等を
割り当てることができます。
MPUモードでは内蔵ROM領域が解放されますので、000000Hから1FFFFFHまでの領域に外
部メモリ等を割り当てることができます。
ただし、00F000Hから00FFFFHまでの領域は内蔵RAM等に割り当てられており、外部デ
バイスをアクセスすることはできません。
このモードにおけるCPUの動作はSMC88コアCPUのMODEL3/マキシマムモードに相当し、
MPUモードでは物理空間000000Hから1FFFFFHまでの領域、MCUモードでは物理空間0800
00から27FFFFH+内部メモリの領域がアクセスの対象として有効となります。先物理空
間中、プログラムメモリおよびデータメモリを任意の大きさ(プログラムとデータ合
計で最大512Kバイト×4)で確保できるため、プログラム容量、データ容量ともに大規
模なシステムに適しています。
このモードにおけるチップイネーブル(CE)信号のアドレス範囲は512Kバイトに固定さ
れます。
SMC88112
-MCUモード-
27FFFFH
:
:
:
:
:
:
: 外部
: メモリ領域
:
:
:
080000H
07FFFFH
:
: 未使用領域
:
010000H
:
00FFFFH 内蔵メモリ
00F000H
00EFFFH
:
:
:
: 未使用領域
:
:
004000H
003FFFH
:
: 使用不可領域
:
003000H
002FFFH
:
:
: 内蔵メモリ
:
:
000000H
図3.5.2.4 拡張512Kマキシマムモードのメモリマップ
各モードの設定方法については"5.2 システムコントローラとバスの制御"で説明します。
4. イニシャルリセット時の初期設定
イニシャルリセットによりCPUの内部レジスタは以下のように初期化されます。
表4.2.1 初期設定値
レジスタ名称 記号 ビット長 初期値
データレジスタA A 8 不定
データレジスタB B 8 不定
インデックス(データ)レジスタL L 8 不定
インデックス(データ)レジスタH H 8 不定
インデックスレジスタIX IX 16 不定
インデックスレジスタIY IY 16 不定
プログラムカウンタ PC 16 不定
スタックポインタ SP 16 不定
ベースレジスタ BR 8 不定
ゼロフラグ Z 1 0
キャリーフラグ C 1 0
オーバーフローフラグ V 1 0
ネガティブフラグ N 1 0
デシマルフラグ D 1 0
アンパックフラグ U 1 0
インタラプトフラグ0 I0 1 1
インタラプトフラグ1 I1 1 1
ニューコードバンクレジスタ NB 8 01H
コードバンクレジスタ CB 8 不定
エクスバンドページレジスタ EP 8 00H
IX用エクスバンドページレジスタ XP 8 00H
IY用エクスバンドページレジスタ YP 8 00H
*リセット例外処理によって、0バンクのメモリの先頭(000000H~000001H)に格納されて
いる値がPCにロードされます。また、このとき同時にNBの初期値01HがCBにロードされ
ます。