JP3344488B2 - マイクロコンピュータ及びその製造方法 - Google Patents
マイクロコンピュータ及びその製造方法Info
- Publication number
- JP3344488B2 JP3344488B2 JP30248091A JP30248091A JP3344488B2 JP 3344488 B2 JP3344488 B2 JP 3344488B2 JP 30248091 A JP30248091 A JP 30248091A JP 30248091 A JP30248091 A JP 30248091A JP 3344488 B2 JP3344488 B2 JP 3344488B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- instruction
- data
- program counter
- storage capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Microcomputers (AREA)
Description
【0001】
【産業上の利用分野】この発明は、マイクロコンピュー
タ及びその製造方法に関し、詳しくは、データテーブル
(テーブル化されたデータとして)を参照して制御を行
うASIC(特定用途向けIC)タイプのマイクロコン
ピュータにおいて、マイクロプログラムを記憶するRO
Mの記憶容量にかかわらず、ROM上に設定されている
データテーブルの位置をその記憶エリアの最後部に設定
することが容易にできるようなマイクロコンピュータ及
びその製造方法に関するものであり、さらに、データテ
ーブル参照のマイクロプログラムやデータテーブル参照
命令の内容を変更しなくても種々の記憶容量のROMを
実装することができるようなマイクロコンピュータ及び
その製造方法に関する。
タ及びその製造方法に関し、詳しくは、データテーブル
(テーブル化されたデータとして)を参照して制御を行
うASIC(特定用途向けIC)タイプのマイクロコン
ピュータにおいて、マイクロプログラムを記憶するRO
Mの記憶容量にかかわらず、ROM上に設定されている
データテーブルの位置をその記憶エリアの最後部に設定
することが容易にできるようなマイクロコンピュータ及
びその製造方法に関するものであり、さらに、データテ
ーブル参照のマイクロプログラムやデータテーブル参照
命令の内容を変更しなくても種々の記憶容量のROMを
実装することができるようなマイクロコンピュータ及び
その製造方法に関する。
【0002】
【従来の技術】ワンチップ化されたマイクロコンピュー
タは、カメラや家庭用電気器具、その他の電子機器の制
御回路、リモートコントローラ等に使用され、4ビット
や8ビット制御のものが多数造られている。この種のワ
ンチップマイクロコンピュータの内部構成は、汎用のマ
イクロプロセッサと多少異なる。1チップの内部に多数
のレジスタやメモリ、ALU等が相互にバス接続された
形であらかじめ内蔵されている。外部に対しての信号の
授受は、内部のバスに接続されたI/Oバッファで行
う。この種のものは、レジスタやメモリ、ALU等の回
路をCPUあるいは所定のゲート回路、ロジック回路等
によるコントローラで制御して、I/Oバッファを介し
て外部回路とデータの授受を行うように設計される。
タは、カメラや家庭用電気器具、その他の電子機器の制
御回路、リモートコントローラ等に使用され、4ビット
や8ビット制御のものが多数造られている。この種のワ
ンチップマイクロコンピュータの内部構成は、汎用のマ
イクロプロセッサと多少異なる。1チップの内部に多数
のレジスタやメモリ、ALU等が相互にバス接続された
形であらかじめ内蔵されている。外部に対しての信号の
授受は、内部のバスに接続されたI/Oバッファで行
う。この種のものは、レジスタやメモリ、ALU等の回
路をCPUあるいは所定のゲート回路、ロジック回路等
によるコントローラで制御して、I/Oバッファを介し
て外部回路とデータの授受を行うように設計される。
【0003】ASICの形態で設計されたマイクロプロ
グラム制御のマイクロコンピュータは、フルカスタムの
場合でなければ、制御回路の多くの部分がハードウエア
として共通化されている。この種のマイクロコンピュー
タは、主としてインストラクションの内容や定数データ
を変更することで特定仕様のASICに適合する形に設
計される。しかし、この場合、インストラクションや定
数データを記憶するROM等のメモリのサイズが仕様に
より相違することが多い。また、通常、ROMに書込ま
れるプログラムは、処理機能に応じてマイクロプログラ
ムが単位化されていて、そのうち共通に使用できるプロ
グラム単位や標準化されたプログラム単位が優先的に順
次格納されていく。そして、仕様の相違や制御内容に応
じて必要なデータテーブルがROMの最後部の記憶エリ
アに実装される。
グラム制御のマイクロコンピュータは、フルカスタムの
場合でなければ、制御回路の多くの部分がハードウエア
として共通化されている。この種のマイクロコンピュー
タは、主としてインストラクションの内容や定数データ
を変更することで特定仕様のASICに適合する形に設
計される。しかし、この場合、インストラクションや定
数データを記憶するROM等のメモリのサイズが仕様に
より相違することが多い。また、通常、ROMに書込ま
れるプログラムは、処理機能に応じてマイクロプログラ
ムが単位化されていて、そのうち共通に使用できるプロ
グラム単位や標準化されたプログラム単位が優先的に順
次格納されていく。そして、仕様の相違や制御内容に応
じて必要なデータテーブルがROMの最後部の記憶エリ
アに実装される。
【0004】しかし、マイクロプログラムを記憶するR
OMの記憶容量(ROMサイズ)が相違する場合には、
サイズに応じてその最終アドレスが異なる。その結果、
データテーブルが配置され、最後部の記憶エリアの位置
は、ROMサイズにより相違してくる。そこで、実装さ
れるROMサイズが相違するときには、データテーブル
の参照するマイクロプログラムあるいはデータテーブル
の参照命令等については、実装されるROMサイズに応
じてアクセスアドレスを変更するか、ハードウエア側を
改造することが必要になる。
OMの記憶容量(ROMサイズ)が相違する場合には、
サイズに応じてその最終アドレスが異なる。その結果、
データテーブルが配置され、最後部の記憶エリアの位置
は、ROMサイズにより相違してくる。そこで、実装さ
れるROMサイズが相違するときには、データテーブル
の参照するマイクロプログラムあるいはデータテーブル
の参照命令等については、実装されるROMサイズに応
じてアクセスアドレスを変更するか、ハードウエア側を
改造することが必要になる。
【0005】
【発明が解決しようとする課題】一般的にプログラムや
命令内容の変更は、種々のプログラムに影響を与える。
そこで、これらを変更しないで済ませる方法が採られ
る。先の場合にはROMサイズに応じてハードウエアを
変更することになる。あるいは、ROMサイズに応じて
データテーブルのアクセスアドレスを変換するアドレス
変換処理等のプログラムを特別に設けてプログラム処理
で対応を採る。しかし、後者は、その処理を行う分だけ
ROMの記憶エリアが喰われてしまう。その上、データ
テーブルの記憶エリアが十分に確保できなるなる問題も
生じる。したがって、この発明の目的は、メモリ上に格
納されている命令の実行により参照されるデータの位置
をこのメモリの記憶容量にかかわらず、その最後部の記
憶エリアに設定しても命令の内容を変更しなくても済む
マイクロコンピュータを提供することにある。また、こ
の発明の他の目的は、データテーブルをアクセスするマ
イクロプログラムやデータテーブル参照命令等の内容を
変更しなくても種々の記憶容量のROMを実装すること
ができるマイクロコンピュータを提供することにある。
さらに、この発明の他の目的は、単に、マイクロコンピ
ュータの製造過程で配線の選択をするだけでROMサイ
ズの最後部に設定したデータテーブル領域を共通のマイ
クロプログラムや命令でアクセスすることができるマイ
クロコンピュータ及びその製造方法を提供することにあ
る。
命令内容の変更は、種々のプログラムに影響を与える。
そこで、これらを変更しないで済ませる方法が採られ
る。先の場合にはROMサイズに応じてハードウエアを
変更することになる。あるいは、ROMサイズに応じて
データテーブルのアクセスアドレスを変換するアドレス
変換処理等のプログラムを特別に設けてプログラム処理
で対応を採る。しかし、後者は、その処理を行う分だけ
ROMの記憶エリアが喰われてしまう。その上、データ
テーブルの記憶エリアが十分に確保できなるなる問題も
生じる。したがって、この発明の目的は、メモリ上に格
納されている命令の実行により参照されるデータの位置
をこのメモリの記憶容量にかかわらず、その最後部の記
憶エリアに設定しても命令の内容を変更しなくても済む
マイクロコンピュータを提供することにある。また、こ
の発明の他の目的は、データテーブルをアクセスするマ
イクロプログラムやデータテーブル参照命令等の内容を
変更しなくても種々の記憶容量のROMを実装すること
ができるマイクロコンピュータを提供することにある。
さらに、この発明の他の目的は、単に、マイクロコンピ
ュータの製造過程で配線の選択をするだけでROMサイ
ズの最後部に設定したデータテーブル領域を共通のマイ
クロプログラムや命令でアクセスすることができるマイ
クロコンピュータ及びその製造方法を提供することにあ
る。
【0006】
【課題を解決するための手段】このような目的を達成す
るこの発明のマイクロコンピュータの特徴は、実際に実
装されているメモリの記憶容量に応じてプログラムカウ
ンタの特定の桁位置のビットを論理値“0”に設定する
配線をプログラムカウンタに接続する関係で設けて、こ
の配線により実装可能な最大メモリの最後部の記憶エリ
アをアクセスする命令が実行されたときにアクセスされ
るアドレス空間を実装されたメモリ上の最後部のアドレ
ス空間にプログラムカウンタ上において強制的に変換す
るようにしたものであって、これにより実際に実装され
たメモリの記憶容量にかかわらずその最後部の記憶エリ
アのデータを同じプログラムでアクセスできるようにし
たものである。その具体的な構成としては、プログラム
カウンタが示すアドレス値に従ってメモリがアクセスさ
れてこのメモリからデータが読出され、読出されたデー
タがインストラクションであるときにそれをデコーダに
よりデコードしてそのデコード結果に応じてプログラム
カウンタの次の値が決定されるマイクロコンピュータに
おいて、プログラムカウンタがメモリとして実装可能な
最大記憶容量のメモリをアクセスできる桁数を有してい
て、実際に実装されているメモリにはその最後部にあら
かじめ決められた記憶容量分のエリアが確保されてい
る。そして、このエリアには各種のプログラムや命令に
よりアクセスされる共通のデータが設定され、さらに、
このエリアには実装可能な最大記憶容量のメモリの最後
部の先の記憶容量分のエリアに配置されるデータをアク
セスする命令を有するプログラムが格納される。また、
この命令の実行のときに実装されたメモリの最後部の前
記記憶容量分のエリアをアクセスするためにこの命令の
実行によりプログラムカウンタの上位の複数桁に設定さ
れる論理値“1”のビットのうち特定のビットの論理値
を“0”にして設定する配線がプログラムカウンタに対
して設けられているものである。
るこの発明のマイクロコンピュータの特徴は、実際に実
装されているメモリの記憶容量に応じてプログラムカウ
ンタの特定の桁位置のビットを論理値“0”に設定する
配線をプログラムカウンタに接続する関係で設けて、こ
の配線により実装可能な最大メモリの最後部の記憶エリ
アをアクセスする命令が実行されたときにアクセスされ
るアドレス空間を実装されたメモリ上の最後部のアドレ
ス空間にプログラムカウンタ上において強制的に変換す
るようにしたものであって、これにより実際に実装され
たメモリの記憶容量にかかわらずその最後部の記憶エリ
アのデータを同じプログラムでアクセスできるようにし
たものである。その具体的な構成としては、プログラム
カウンタが示すアドレス値に従ってメモリがアクセスさ
れてこのメモリからデータが読出され、読出されたデー
タがインストラクションであるときにそれをデコーダに
よりデコードしてそのデコード結果に応じてプログラム
カウンタの次の値が決定されるマイクロコンピュータに
おいて、プログラムカウンタがメモリとして実装可能な
最大記憶容量のメモリをアクセスできる桁数を有してい
て、実際に実装されているメモリにはその最後部にあら
かじめ決められた記憶容量分のエリアが確保されてい
る。そして、このエリアには各種のプログラムや命令に
よりアクセスされる共通のデータが設定され、さらに、
このエリアには実装可能な最大記憶容量のメモリの最後
部の先の記憶容量分のエリアに配置されるデータをアク
セスする命令を有するプログラムが格納される。また、
この命令の実行のときに実装されたメモリの最後部の前
記記憶容量分のエリアをアクセスするためにこの命令の
実行によりプログラムカウンタの上位の複数桁に設定さ
れる論理値“1”のビットのうち特定のビットの論理値
を“0”にして設定する配線がプログラムカウンタに対
して設けられているものである。
【0007】
【作用】このように、プログラムカウンタ上において命
令の実行によるアクセスアドレス空間を実装されたメモ
リ上のアクセスアドレス空間に強制的に変換するように
することで実際に実装されたメモリの最後部の記憶エリ
アを命令の変更なしにアクセスすることができる。これ
によりメモリの最後部に配置されるデータをアクセスす
るマイクロプログラムや命令を異なるサイズのメモリに
おいても共通に搭載することが可能になる。マイクロプ
ログラム等の変更も不要になる。そして、この場合のア
ドレスカウンタに対する配線は、プログラムカウンタの
桁位置についての論理値の設定の変更についてのもので
あるので簡単にできる。しかも、先のアドレスカウンタ
の特定の桁位置のビットを論理値“0”に設定する配線
を製造過程において実装されるメモリへのデータ設定と
同時に行うようにすれば、その配線が簡単にできる。こ
れによれば特別にハードウエアの付加や削除等の変更を
する必要もなく、データテーブルのエリアも十分に確保
できる。
令の実行によるアクセスアドレス空間を実装されたメモ
リ上のアクセスアドレス空間に強制的に変換するように
することで実際に実装されたメモリの最後部の記憶エリ
アを命令の変更なしにアクセスすることができる。これ
によりメモリの最後部に配置されるデータをアクセスす
るマイクロプログラムや命令を異なるサイズのメモリに
おいても共通に搭載することが可能になる。マイクロプ
ログラム等の変更も不要になる。そして、この場合のア
ドレスカウンタに対する配線は、プログラムカウンタの
桁位置についての論理値の設定の変更についてのもので
あるので簡単にできる。しかも、先のアドレスカウンタ
の特定の桁位置のビットを論理値“0”に設定する配線
を製造過程において実装されるメモリへのデータ設定と
同時に行うようにすれば、その配線が簡単にできる。こ
れによれば特別にハードウエアの付加や削除等の変更を
する必要もなく、データテーブルのエリアも十分に確保
できる。
【0008】
【実施例】図1は、この発明を適用したマイクロコンピ
ュータのコントロール回路を中心とするブロック図であ
り、図2(a),(b)は、プログラムカウンタとこれ
に設定されるデータテーブルをアクセスするためのアド
レスデータとの関係の説明図、そして、図3は、そのマ
イクロプログラムを記憶するROMについてそのサイズ
に応じて設定されるデータテーブルの位置の説明図であ
る。図において、10は、コントロール回路である。1
は、インストラクションや定数データ等の、いわゆるマ
イクロプログラムを記憶するROMである。2は、セレ
クタであって、これは、ROM1から読出されたデータ
をバス3側とインストラクションデコーダ4側のいずれ
かに供給するためにその経路の切替えを行う。
ュータのコントロール回路を中心とするブロック図であ
り、図2(a),(b)は、プログラムカウンタとこれ
に設定されるデータテーブルをアクセスするためのアド
レスデータとの関係の説明図、そして、図3は、そのマ
イクロプログラムを記憶するROMについてそのサイズ
に応じて設定されるデータテーブルの位置の説明図であ
る。図において、10は、コントロール回路である。1
は、インストラクションや定数データ等の、いわゆるマ
イクロプログラムを記憶するROMである。2は、セレ
クタであって、これは、ROM1から読出されたデータ
をバス3側とインストラクションデコーダ4側のいずれ
かに供給するためにその経路の切替えを行う。
【0009】インストラクションデコーダ4は、セレク
タ2からインストラクションを受けてそれをデコードす
る。デコーダした結果得られる信号は、大きく分ける
と、ALUをはじめ各種の内部回路を制御するためのイ
ンストラクション信号4aとプログラムカウンタ7にデ
ータを出力する信号9とがある。インストラクションデ
コーダ4は、命令形態デコーダ5を内蔵している。命令
形態デコーダ5は、セレクタ2を介してROM1から読
出されたインストラクションについてデコードし、それ
が1バイト命令だけのものか、1バイト命令+1バイト
定数データあるいは2バイト命令かに応じてこれら命令
形態に対応する2ビットの識別データ5aを発生する。
発生した識別データ5aは、ステータスカウンタタ6に
送出される。なお、識別データ5aは、後述するよう
に、ここでは、“00”,“01”,“10”の3種類
であって、これは、インストラクション信号4aの一部
としてインストラクション信号4aとともに各回路のス
テータス制御等に利用される。
タ2からインストラクションを受けてそれをデコードす
る。デコーダした結果得られる信号は、大きく分ける
と、ALUをはじめ各種の内部回路を制御するためのイ
ンストラクション信号4aとプログラムカウンタ7にデ
ータを出力する信号9とがある。インストラクションデ
コーダ4は、命令形態デコーダ5を内蔵している。命令
形態デコーダ5は、セレクタ2を介してROM1から読
出されたインストラクションについてデコードし、それ
が1バイト命令だけのものか、1バイト命令+1バイト
定数データあるいは2バイト命令かに応じてこれら命令
形態に対応する2ビットの識別データ5aを発生する。
発生した識別データ5aは、ステータスカウンタタ6に
送出される。なお、識別データ5aは、後述するよう
に、ここでは、“00”,“01”,“10”の3種類
であって、これは、インストラクション信号4aの一部
としてインストラクション信号4aとともに各回路のス
テータス制御等に利用される。
【0010】ステータスカウンタ6は、命令形態デコー
ダ5から受ける識別データ5aをカウント値として記憶
する。そのカウント値の変化に応じてセレクタ2に対す
る切替え信号をセレクタ2に送出し、ROM1の出力を
インストラクションデコーダ4側か、バス3側かのいず
れかに送出するための切替え制御を行う。プログラムカ
ウンタ7は、インストラクションデコーダ4のインスト
ラクション信号の一部の信号9を受ける。これによりプ
ログラムカウンタ7にROM1の次の読出しアドレスが
設定される。
ダ5から受ける識別データ5aをカウント値として記憶
する。そのカウント値の変化に応じてセレクタ2に対す
る切替え信号をセレクタ2に送出し、ROM1の出力を
インストラクションデコーダ4側か、バス3側かのいず
れかに送出するための切替え制御を行う。プログラムカ
ウンタ7は、インストラクションデコーダ4のインスト
ラクション信号の一部の信号9を受ける。これによりプ
ログラムカウンタ7にROM1の次の読出しアドレスが
設定される。
【0011】図2(a)は、プログラムカウンタ7につ
いての説明図である。ここで、ROM1の実装可能なメ
モリサイズの最大値を、説明を簡単にするために16k
バイトと仮定する。そこで、プログラムカウンタ7は、
このサイズの全範囲をアクセスするために14桁のフリ
ップフロップで構成されるカウンタとする。この14桁
のうち上位の6ビットのD8 〜D13までのデータは、イ
ンストラクションデコーダ4の出力(信号9)を受けて
設定され、下位の8ビットのD0 〜D7 までのデータ
は、バス3を介してROM1あるいは他のレジスタやA
LU,I/Oバッファ等から転送されて設定される。
いての説明図である。ここで、ROM1の実装可能なメ
モリサイズの最大値を、説明を簡単にするために16k
バイトと仮定する。そこで、プログラムカウンタ7は、
このサイズの全範囲をアクセスするために14桁のフリ
ップフロップで構成されるカウンタとする。この14桁
のうち上位の6ビットのD8 〜D13までのデータは、イ
ンストラクションデコーダ4の出力(信号9)を受けて
設定され、下位の8ビットのD0 〜D7 までのデータ
は、バス3を介してROM1あるいは他のレジスタやA
LU,I/Oバッファ等から転送されて設定される。
【0012】その結果、ROM1が16kバイトの場合
には、図3(a)に示されるように、ROM1に記憶さ
れるデータテーブル11は、上位の6ビットのD8 〜D
13のデータが論理値で“1”となるアドレス空間に割当
てられる。下位の8ビットのD0 〜D7 のデータは、デ
ータテーブル11のエリア(ここでは=256バイト)
のアドレスを指定するものとなる。したがって、ここで
は、あるマイクロプログラム(そのプログラム単位を含
む)の実行においてインストラクションデコーダ4がデ
ータテーブルをアクセスする参照命令等をデコードした
ときには、プログラムカウンタ7の上位の6ビットのD
8 〜D13のデータがすべて“1”となる出力信号9がプ
ログラムカウンタ7に出力される。
には、図3(a)に示されるように、ROM1に記憶さ
れるデータテーブル11は、上位の6ビットのD8 〜D
13のデータが論理値で“1”となるアドレス空間に割当
てられる。下位の8ビットのD0 〜D7 のデータは、デ
ータテーブル11のエリア(ここでは=256バイト)
のアドレスを指定するものとなる。したがって、ここで
は、あるマイクロプログラム(そのプログラム単位を含
む)の実行においてインストラクションデコーダ4がデ
ータテーブルをアクセスする参照命令等をデコードした
ときには、プログラムカウンタ7の上位の6ビットのD
8 〜D13のデータがすべて“1”となる出力信号9がプ
ログラムカウンタ7に出力される。
【0013】ここで、プログラムカウンタ7の上位の1
2桁目のD11と13桁目のD12については、これらの桁
のビットを出力するインストラクションデコーダ4の出
力信号線9a,9bがそれぞれ選択接続回路8a,8b
を介してそれぞれのフリップフロップのセット側端子S
あるいはリセット側端子Rに選択的に接続されるように
なっている。これにより、図2(b)の(*)でに示す
ように、D11とD12の桁位置のデータについて論理値で
“1”又は“0”の設定が可能になる。
2桁目のD11と13桁目のD12については、これらの桁
のビットを出力するインストラクションデコーダ4の出
力信号線9a,9bがそれぞれ選択接続回路8a,8b
を介してそれぞれのフリップフロップのセット側端子S
あるいはリセット側端子Rに選択的に接続されるように
なっている。これにより、図2(b)の(*)でに示す
ように、D11とD12の桁位置のデータについて論理値で
“1”又は“0”の設定が可能になる。
【0014】選択接続回路8a,8bは、ROMとして
データ書込みによりスイッチ接続される配線回路である
が、この実施例では、後述するようにROMにデータを
書込む製造工程においてその配線の接続関係が同時に選
択される選択接続回路とする。なお、この接続回路は、
ROM1がプログラマブルROMである場合にはそのプ
ログラムの一部として配線接続の選択が行われる。
データ書込みによりスイッチ接続される配線回路である
が、この実施例では、後述するようにROMにデータを
書込む製造工程においてその配線の接続関係が同時に選
択される選択接続回路とする。なお、この接続回路は、
ROM1がプログラマブルROMである場合にはそのプ
ログラムの一部として配線接続の選択が行われる。
【0015】さて、選択接続回路8a,8bにより出力
信号線9a,9bがともにセット側Sに接続された状態
のときには、一例としてデータテーブル11をアクセス
するデータテーブル参照命令がデコーダされたときには
インストラクションデコーダ4の上位6ビットの出力
“1”がそのままD8 〜D13に設定される。したがっ
て、このとき格納されているマイクロプログラムの実行
により前記の16kバイトのROM1の最後部に設定さ
れたデータテーブル11をアクセスすることが可能にな
る。
信号線9a,9bがともにセット側Sに接続された状態
のときには、一例としてデータテーブル11をアクセス
するデータテーブル参照命令がデコーダされたときには
インストラクションデコーダ4の上位6ビットの出力
“1”がそのままD8 〜D13に設定される。したがっ
て、このとき格納されているマイクロプログラムの実行
により前記の16kバイトのROM1の最後部に設定さ
れたデータテーブル11をアクセスすることが可能にな
る。
【0016】また、選択接続回路8a,8bがともにリ
セット側Rに接続されているときには、インストラクシ
ョンデコーダ4のD11,D12に対する出力が“1”とな
ったときに、それによりD11,D12がリセットされ、D
11,D12の値がともに“0”となる。したがって、こと
ときにプログラムカウンタ7により指定されるアドレス
は、上位の6ビットが“100111”となるアドレス
空間の範囲である。その最終アドレスは“37FFF”
となる。これは、図3の(b)に示すように、16kバ
イトのROM1の最後部の512バイトに設定されたデ
ータテーブル12をアクセスする場合である。
セット側Rに接続されているときには、インストラクシ
ョンデコーダ4のD11,D12に対する出力が“1”とな
ったときに、それによりD11,D12がリセットされ、D
11,D12の値がともに“0”となる。したがって、こと
ときにプログラムカウンタ7により指定されるアドレス
は、上位の6ビットが“100111”となるアドレス
空間の範囲である。その最終アドレスは“37FFF”
となる。これは、図3の(b)に示すように、16kバ
イトのROM1の最後部の512バイトに設定されたデ
ータテーブル12をアクセスする場合である。
【0017】ここで、前記(a)の16kバイトのRO
Mが実装されたときと同じデータテーブル参照命令のマ
イクロプログラムがROM1に実装されているとする
と、これを実行してデータテーブル参照命令がデコード
されたときには出力信号9は、プログラムカウンタ7の
上位の6ビットのD8 〜D13のデータをすべて“1”と
する。しかしこのとき、実際のプログラムカウンタ7の
値は、その上位の6ビットが“100111”となる。
したがって、前記(a)16kバイトのROMが実装さ
れたときと同じマイクロプログラムを実行してもデータ
テーブル12をアクセスすることができる。
Mが実装されたときと同じデータテーブル参照命令のマ
イクロプログラムがROM1に実装されているとする
と、これを実行してデータテーブル参照命令がデコード
されたときには出力信号9は、プログラムカウンタ7の
上位の6ビットのD8 〜D13のデータをすべて“1”と
する。しかしこのとき、実際のプログラムカウンタ7の
値は、その上位の6ビットが“100111”となる。
したがって、前記(a)16kバイトのROMが実装さ
れたときと同じマイクロプログラムを実行してもデータ
テーブル12をアクセスすることができる。
【0018】さらにまた、選択接続回路8bの接続がセ
ット側Sのままであり、選択接続回路8aがリセット側
Rに接続されているときには、インストラクションデコ
ーダ4のD12に対する出力が“1”となったときにD12
がリセットされるので、D12の値が“0”になる。これ
によってこのときにプログラムカウンタ7により指定さ
れるアドレスは、上位の6ビットが“101111”と
なるアドレス空間の範囲である。その最終アドレスは
“1FFF”となる。これは、図3の(c)に示すよう
に、8kバイトのROMの最後部の512バイトに設定
されたデータテーブル13をアクセスする場合である。
しかも、先と同様に前記(a)16kバイトのROMが
実装されたときと同じマイクロプログラムを実行しても
データテーブル13がアクセスされる。
ット側Sのままであり、選択接続回路8aがリセット側
Rに接続されているときには、インストラクションデコ
ーダ4のD12に対する出力が“1”となったときにD12
がリセットされるので、D12の値が“0”になる。これ
によってこのときにプログラムカウンタ7により指定さ
れるアドレスは、上位の6ビットが“101111”と
なるアドレス空間の範囲である。その最終アドレスは
“1FFF”となる。これは、図3の(c)に示すよう
に、8kバイトのROMの最後部の512バイトに設定
されたデータテーブル13をアクセスする場合である。
しかも、先と同様に前記(a)16kバイトのROMが
実装されたときと同じマイクロプログラムを実行しても
データテーブル13がアクセスされる。
【0019】また、選択接続回路8aの接続がセット側
Sのままであり、選択接続回路8bがリセット側Rに接
続されているときには、インストラクションデコーダ4
のD12に対する出力が“1”となったときに、それによ
りD12がリセットされるので、D12の値が“0”とな
る。これにより指定されるアドレスは、上位の6ビット
が“110111”となるアドレス空間の範囲である。
その最終アドレスは“17FF”となる。これは、図3
の(d)に示すように、6kバイトのROMの最後部の
512バイトに設定されたデータテーブル14をアクセ
スする場合である。しかも、先の(a)のときの16k
バイトのROMが実装されたときと同じマイクロプログ
ラムを実行するだけでここをアクセスすることができ
る。なお、以上の場合、最終アドレスから512バイト
手前まで以外のアドレス空間のアクセスについては、リ
セットされる桁位置より1桁下の位置までのデータによ
りアクセスが可能である。したがって、他のアドレス空
間については影響を与えない。
Sのままであり、選択接続回路8bがリセット側Rに接
続されているときには、インストラクションデコーダ4
のD12に対する出力が“1”となったときに、それによ
りD12がリセットされるので、D12の値が“0”とな
る。これにより指定されるアドレスは、上位の6ビット
が“110111”となるアドレス空間の範囲である。
その最終アドレスは“17FF”となる。これは、図3
の(d)に示すように、6kバイトのROMの最後部の
512バイトに設定されたデータテーブル14をアクセ
スする場合である。しかも、先の(a)のときの16k
バイトのROMが実装されたときと同じマイクロプログ
ラムを実行するだけでここをアクセスすることができ
る。なお、以上の場合、最終アドレスから512バイト
手前まで以外のアドレス空間のアクセスについては、リ
セットされる桁位置より1桁下の位置までのデータによ
りアクセスが可能である。したがって、他のアドレス空
間については影響を与えない。
【0020】このように、実装されたROM1のサイズ
に応じてアドレスカウンタ7の所定の桁位置が“0”に
なるように選択接続回路8a,8bによりあらかじめ設
定することにより、16kバイトの後部に配置したデー
タテーブル11をアクセスするデータテーブル参照命令
等の命令を有するマイクロプログラムであっても、アド
レス空間割当てが異なるデータテーブル12,13,1
4をアクセスすることが可能になる。これによりマイク
ロプログラムの変更等を行わなくても済む。
に応じてアドレスカウンタ7の所定の桁位置が“0”に
なるように選択接続回路8a,8bによりあらかじめ設
定することにより、16kバイトの後部に配置したデー
タテーブル11をアクセスするデータテーブル参照命令
等の命令を有するマイクロプログラムであっても、アド
レス空間割当てが異なるデータテーブル12,13,1
4をアクセスすることが可能になる。これによりマイク
ロプログラムの変更等を行わなくても済む。
【0021】ところで、選択接続回路8a,8bは、R
OM1がマスクROMのときにはROMデータと同一層
に形成してそのデータの書込みと同時にそのセット側端
子S,リセット側端子Rのいずれかを選択して接続すれ
ばよい。これにより製造工程のROMのデータ書込みの
際にマスク選択においてオプション処理で選択接続回路
8a,8bの選択接続が容易にできる。しかも、この接
続については、特別な論理回路等を伴うハードウエア回
路が不要である。
OM1がマスクROMのときにはROMデータと同一層
に形成してそのデータの書込みと同時にそのセット側端
子S,リセット側端子Rのいずれかを選択して接続すれ
ばよい。これにより製造工程のROMのデータ書込みの
際にマスク選択においてオプション処理で選択接続回路
8a,8bの選択接続が容易にできる。しかも、この接
続については、特別な論理回路等を伴うハードウエア回
路が不要である。
【0022】次に、インストラクションのデコード動作
について説明すると、まず、電源が投入されると、あら
かじめ設定されたアドレスからあるインストラクション
が読出される。通常、ROM1のアドレスから読出され
るデータは、最初はインストラクションである。そこ
で、初期状態では、セレクタ2は、インストラクション
デコーダ4側に設定される。
について説明すると、まず、電源が投入されると、あら
かじめ設定されたアドレスからあるインストラクション
が読出される。通常、ROM1のアドレスから読出され
るデータは、最初はインストラクションである。そこ
で、初期状態では、セレクタ2は、インストラクション
デコーダ4側に設定される。
【0023】インストラクションデコーダ4が最初のイ
ンストラクションをROM1から受けると、インストラ
クションの命令部分をデコードする。このとき、命令形
態デコーダ5は、そのインストラクションが1バイト命
令のみのときには、識別データ5aの値として“00”
の2ビットのデータをステータスカウンタ6に送出す
る。また、そのインストラクションが1バイト命令+1
バイト定数のときには、識別データ5aの値が“01”
となる2ビットのデータをステータスカウンタ6に送出
する。さらに、そのインストラクションが2バイト命令
のときには、識別データ5aの値が“10”となる2ビ
ットのデータをステータスカウンタ6に送出する。な
お、このような命令形態デコーダ5は、例えば、命令形
態に対応するそれぞれの命令内容(命令部分のデータ)
によりアドレスされ、アドレスされた位置に命令形態に
応じて“00”,“01”,“10”のデータを記憶す
るROMにより構成することができる。
ンストラクションをROM1から受けると、インストラ
クションの命令部分をデコードする。このとき、命令形
態デコーダ5は、そのインストラクションが1バイト命
令のみのときには、識別データ5aの値として“00”
の2ビットのデータをステータスカウンタ6に送出す
る。また、そのインストラクションが1バイト命令+1
バイト定数のときには、識別データ5aの値が“01”
となる2ビットのデータをステータスカウンタ6に送出
する。さらに、そのインストラクションが2バイト命令
のときには、識別データ5aの値が“10”となる2ビ
ットのデータをステータスカウンタ6に送出する。な
お、このような命令形態デコーダ5は、例えば、命令形
態に対応するそれぞれの命令内容(命令部分のデータ)
によりアドレスされ、アドレスされた位置に命令形態に
応じて“00”,“01”,“10”のデータを記憶す
るROMにより構成することができる。
【0024】ステータスカウンタ6は、これら識別デー
タ5aをインストラクションデコーダ4がインストラク
ションをデコードする都度受けて、識別データ5aをカ
ウンタにセットする。このカウンタの値が“00”のと
きには、1バイト命令としてセレクタ2をインストラク
ションデコーダ4側に切替える。これによりプログラム
カウンタ7により次にROM1から読出されるデータが
インストラクションデコーダ4に送出される。また、カ
ウンタの値が“01”のときには、セレクタ2をバス3
側へと切替える。これにより次にプログラムカウンタ7
により読出されたデータがバス3へと送出される。さら
に、カウンタの値が“10”のときには、セレクタ2を
インストラクションデコーダ4側へと切替えて、このと
きには2バイト命令としてROM1からのデータをイン
ストラクションデコーダ4側へと送出するような制御に
なる。
タ5aをインストラクションデコーダ4がインストラク
ションをデコードする都度受けて、識別データ5aをカ
ウンタにセットする。このカウンタの値が“00”のと
きには、1バイト命令としてセレクタ2をインストラク
ションデコーダ4側に切替える。これによりプログラム
カウンタ7により次にROM1から読出されるデータが
インストラクションデコーダ4に送出される。また、カ
ウンタの値が“01”のときには、セレクタ2をバス3
側へと切替える。これにより次にプログラムカウンタ7
により読出されたデータがバス3へと送出される。さら
に、カウンタの値が“10”のときには、セレクタ2を
インストラクションデコーダ4側へと切替えて、このと
きには2バイト命令としてROM1からのデータをイン
ストラクションデコーダ4側へと送出するような制御に
なる。
【0025】このような過程でインストラクションデコ
ード4にデータテーブルをアクセスする命令あるいはこ
の命令を含むマイクロプログラムが発生すると、この命
令がデコードされる。その結果、プログラムカウンタ7
の上位桁D8 〜D13を“1”とするデータがプログラム
カウンタ7に出力される。しかし、先に説明したよう
に、実装されたROMサイズに応じて設定されたデータ
テーブル11,12,13のいずれかについては、あら
かじめプログラムカウンタ7のD11,D12の桁について
図2で説明したようにこれら桁の値を選択的に“0”あ
るいはすべて“0”になるように選択接続回路8a,8
bにより設定されている。そこで、図3(a)〜(d)
に示されるサイズの相違するROMに対してそれぞれ共
通に実装されているプログラムが実行され、その結果と
してテーブル参照命令等がデコードされたとしても、こ
のときには、先の説明から理解できるようにROMサイ
ズに応じた空間に配置されたデータテーブルがアクセス
される。そして、そこから必要なデータを得ることがで
きる。
ード4にデータテーブルをアクセスする命令あるいはこ
の命令を含むマイクロプログラムが発生すると、この命
令がデコードされる。その結果、プログラムカウンタ7
の上位桁D8 〜D13を“1”とするデータがプログラム
カウンタ7に出力される。しかし、先に説明したよう
に、実装されたROMサイズに応じて設定されたデータ
テーブル11,12,13のいずれかについては、あら
かじめプログラムカウンタ7のD11,D12の桁について
図2で説明したようにこれら桁の値を選択的に“0”あ
るいはすべて“0”になるように選択接続回路8a,8
bにより設定されている。そこで、図3(a)〜(d)
に示されるサイズの相違するROMに対してそれぞれ共
通に実装されているプログラムが実行され、その結果と
してテーブル参照命令等がデコードされたとしても、こ
のときには、先の説明から理解できるようにROMサイ
ズに応じた空間に配置されたデータテーブルがアクセス
される。そして、そこから必要なデータを得ることがで
きる。
【0026】以上説明してきたが、実施例では、最大R
OMサイズを16kバイトとして説明しているが、これ
は、一例である。さらに他のサイズのものであってもよ
い。また、実施例では、小さいROMサイズの例として
6kバイトまでしか説明していないが、これは、セッ
ト、リセットする桁位置をさらに下位桁まで伸ばせばよ
く、4kバイトあるいはそれ以下のROMについても適
用できることはもちろんである。実施例では、インスト
ラクション等を記憶したメモリをROMとしているが、
これは、EPROM,EEPROM,RAM等のメモリ
であってもよい。
OMサイズを16kバイトとして説明しているが、これ
は、一例である。さらに他のサイズのものであってもよ
い。また、実施例では、小さいROMサイズの例として
6kバイトまでしか説明していないが、これは、セッ
ト、リセットする桁位置をさらに下位桁まで伸ばせばよ
く、4kバイトあるいはそれ以下のROMについても適
用できることはもちろんである。実施例では、インスト
ラクション等を記憶したメモリをROMとしているが、
これは、EPROM,EEPROM,RAM等のメモリ
であってもよい。
【0027】
【発明の効果】以上の説明から理解できるように、この
発明にあっては、プログラムカウンタ上において命令の
実行によるアクセスアドレス空間を実装されたメモリ上
のアクセスアドレス空間に強制的に変換するようにする
ことで実際に実装されたメモリの最後部の記憶エリアを
命令の変更なしにアクセスすることができる。これによ
りメモリの最後部に配置されるデータをアクセスするマ
イクロプログラムや命令を異なるサイズのメモリにおい
ても共通に搭載することが可能になる。マイクロプログ
ラム等の変更も不要になる。そして、この場合のアドレ
スカウンタに対する配線は、プログラムカウンタの桁位
置についての論理値の設定の変更についてのものである
ので簡単にできる。しかも、先のアドレスカウンタの特
定の桁位置のビットを論理値“0”に設定する配線を製
造過程において実装されるメモリへのデータ設定と同時
に行うようにすれば、その配線が簡単にできる。これに
よれば特別にハードウエアの付加や削除等の変更をする
必要もなく、データテーブルのエリアも十分に確保でき
る。
発明にあっては、プログラムカウンタ上において命令の
実行によるアクセスアドレス空間を実装されたメモリ上
のアクセスアドレス空間に強制的に変換するようにする
ことで実際に実装されたメモリの最後部の記憶エリアを
命令の変更なしにアクセスすることができる。これによ
りメモリの最後部に配置されるデータをアクセスするマ
イクロプログラムや命令を異なるサイズのメモリにおい
ても共通に搭載することが可能になる。マイクロプログ
ラム等の変更も不要になる。そして、この場合のアドレ
スカウンタに対する配線は、プログラムカウンタの桁位
置についての論理値の設定の変更についてのものである
ので簡単にできる。しかも、先のアドレスカウンタの特
定の桁位置のビットを論理値“0”に設定する配線を製
造過程において実装されるメモリへのデータ設定と同時
に行うようにすれば、その配線が簡単にできる。これに
よれば特別にハードウエアの付加や削除等の変更をする
必要もなく、データテーブルのエリアも十分に確保でき
る。
【図1】 図1は、この発明を適用したマイクロコンピ
ュータのコントロール回路を中心とするブロック図であ
る。
ュータのコントロール回路を中心とするブロック図であ
る。
【図2】 図2(a),(b)は、プログラムカウンタ
とこれに設定されるデータテーブルをアクセスするため
のアドレスデータとの関係の説明図である。
とこれに設定されるデータテーブルをアクセスするため
のアドレスデータとの関係の説明図である。
【図3】 図3は、そのマイクロプログラムを記憶する
ROMについてそのサイズに応じて設定されるデータテ
ーブルの位置の説明図である。
ROMについてそのサイズに応じて設定されるデータテ
ーブルの位置の説明図である。
1…ROM、2…セレクタ、3…バス、4…インストラ
クションデコーダ、5…命令形態デコーダ、5a…命令
形態識別データ、6…ステータスカウンタ、7…プログ
ラムカウンタ、8a,8b…選択接続回路、9a,9b
…信号線、10…コントロール回路、11,12,1
3,14…データテーブル。
クションデコーダ、5…命令形態デコーダ、5a…命令
形態識別データ、6…ステータスカウンタ、7…プログ
ラムカウンタ、8a,8b…選択接続回路、9a,9b
…信号線、10…コントロール回路、11,12,1
3,14…データテーブル。
Claims (2)
- 【請求項1】 プログラムカウンタが示すアドレス値に
従ってメモリがアクセスされて前記メモリからデータが
読出され、読出されたデータがインストラクションであ
るときにそれをデコーダによりデコードしてそのデコー
ド結果に応じて前記プログラムカウンタの次の値が決定
されるマイクロコンピュータにおいて、 前記メモリの記憶容量に応じて前記プログラムカウンタ
の特定の桁位置のビットを論理値“0”に設定する配線
を前記プログラムカウンタに接続する関係で設けて、前
記配線により実装可能な最大メモリの最後部の記憶エリ
アをアクセスする命令が実行されたときにアクセスされ
るアドレス空間を前記メモリ上の最後部のアドレス空間
にプログラムカウンタ上において変換するものであっ
て、前記最後部のアドレス空間には前記メモリの記憶容
量にかかわらず共通に使用されるプログラムによりアク
セスされるデータが格納されているマイクロコンピュー
タ。 - 【請求項2】 プログラムカウンタが示すアドレス値に
従ってメモリがアクセスされて前記メモリからデータが
読出され、読出されたデータがインストラクションであ
るときにそれをデコーダによりデコードしてそのデコー
ド結果に応じて前記プログラムカウンタの次の値が決定
されるマイクロコンピュータにおいて、 前記メモリとして実装可能な最大記憶容量のメモリをア
クセスできる桁数のものが前記プログラムカウンタとし
て形成される工程と、 前記メモリにアドレス空間の最後部のあらかじめ決めら
れた記憶容量分のエリアにデータを設定し、かつ、前記
実装可能な最大記憶容量のメモリの最後部の前記記憶容
量分のエリアに配置されるデータをアクセスする命令を
有するプログラムを格納し、前記命令の実行において前
記メモリの最後部の前記記憶容量分のエリアをアクセス
するために前記命令の実行により設定される前記プログ
ラムカウンタの上位の複数桁に発生する論理値“1”の
ビットのうち特定のビットを論理値“0”にする配線を
施す工程とを備えるマイクロコンピュータの製造方法
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30248091A JP3344488B2 (ja) | 1991-10-22 | 1991-10-22 | マイクロコンピュータ及びその製造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30248091A JP3344488B2 (ja) | 1991-10-22 | 1991-10-22 | マイクロコンピュータ及びその製造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05113926A JPH05113926A (ja) | 1993-05-07 |
JP3344488B2 true JP3344488B2 (ja) | 2002-11-11 |
Family
ID=17909463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30248091A Expired - Fee Related JP3344488B2 (ja) | 1991-10-22 | 1991-10-22 | マイクロコンピュータ及びその製造方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3344488B2 (ja) |
-
1991
- 1991-10-22 JP JP30248091A patent/JP3344488B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05113926A (ja) | 1993-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4694394A (en) | Microprocessor system having a multiplexed address/data bus which communicates with a plurality of memory and input/output devices including TTL output gates | |
EP0169565B1 (en) | Microprocessor compatible with any software represented by different types of instruction formats | |
US5335331A (en) | Microcomputer using specific instruction bit and mode switch signal for distinguishing and executing different groups of instructions in plural operating modes | |
US6047347A (en) | Computer system with programmable bus size | |
US20010019509A1 (en) | Memory controller | |
US6986029B2 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
US4445170A (en) | Computer segmented memory management technique wherein two expandable memory portions are contained within a single segment | |
US7162563B2 (en) | Semiconductor integrated circuit having changeable bus width of external data signal | |
US5396639A (en) | One chip microcomputer having programmable I/O terminals programmed according to data stored in nonvolatile memory | |
US5375218A (en) | DMA channel control apparatus capable of assigning independent DMA transfer control line to respective expansion slots | |
US6353880B1 (en) | Four stage pipeline processing for a microcontroller | |
US4649476A (en) | Microcomputer having an internal address mapper | |
US5127096A (en) | Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes | |
US5535349A (en) | Data processing system and method for providing chip selects to peripheral devices | |
US5860028A (en) | I/O bus expansion system wherein processor checks plurality of possible address until a response from the peripheral selected by address decoder using user input | |
JP3344488B2 (ja) | マイクロコンピュータ及びその製造方法 | |
EP0803802B1 (en) | Method of identifying peripheral device employed in a semiconductor device | |
CA2012318C (en) | Microprocessor system having an extended address space | |
EP0878765B1 (en) | Microcontroller utilizing internal and external memory | |
US5355458A (en) | Microcomputer with table address forcing for different size memories | |
JPH1139212A (ja) | マイクロコンピュータ | |
JP2874230B2 (ja) | マイクロコンピュータのメモリアドレッシング方式 | |
JP2518461B2 (ja) | デ―タ検証方法 | |
JP3336624B2 (ja) | 評価用データ処理半導体装置のアクセス対象選択回路 | |
US6507884B1 (en) | Microcomputer with multiple memories for storing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110830 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |