JP3517579B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP3517579B2 JP3517579B2 JP03074998A JP3074998A JP3517579B2 JP 3517579 B2 JP3517579 B2 JP 3517579B2 JP 03074998 A JP03074998 A JP 03074998A JP 3074998 A JP3074998 A JP 3074998A JP 3517579 B2 JP3517579 B2 JP 3517579B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- page
- register
- microprocessor
- accumulator
- 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
- Executing Machine-Instructions (AREA)
Description
いるメモリから命令を読み出して実行するマイクロプロ
セッサに関する。
リの大容量化が進んでおり、それに伴って、広いアドレ
ス空間を取り扱うことができる新型のマイクロプロセッ
サが開発されている。この開発の際には、狭いアドレス
空間を取り扱うことしかできない旧型のマイクロプロセ
ッサをベースに用い、広いアドレス空間を表すアドレス
データの上位桁用のレジスタを新たに設けて、狭いアド
レス空間を拡張することが一般的に行われている。
られているレジスタセット(A)、および新型マイクロ
プロセッサに備えられているレジスタセット(B)の一
例を示す図である。旧型のマイクロプロセッサには、プ
ログラムカウンタ11、汎用DEレジスタ12、汎用H
Lレジスタ13およびスタックポインタ14といったレ
ジスタが備えられている。これらのレジスタそれぞれは
16ビットのビット幅を有しており、この旧型のマイク
ロプロセッサが取り扱うことができるアドレスは16進
数表示で0000h番地からFFFFh番地までのアド
レスである。以下、最後に「h」が付された数字は16
進数表示であるものとする。
16ビットのビット幅を有するプログラムカウンタ1
5、汎用DEレジスタ16、汎用HLレジスタ17およ
びスタックポインタ18が備えられており、更に、それ
ぞれ8ビットのビット幅を有するPPCレジスタ19、
ZPレジスタ20およびXPレジスタ21が備えられて
いる。PPCレジスタ19およびプログラムカウンタ1
5は、両者が組み合わされた1つのレジスタとして用い
られる。また、ZPレジスタ20およびXPレジスタ2
1のうちのいずれか一方が選択されて、汎用DEレジス
タ16、汎用HLレジスタ17およびスタックポインタ
18それぞれと組み合わされて用いられる。これによっ
て、新型のマイクロプロセッサが取り扱うことができる
アドレスは、000000h番地からFFFFFFh番
地までのアドレスとなり、旧型のマイクロプロセッサが
取り扱うことができるアドレス空間を1ページと考える
と、新型のマイクロプロセッサが取り扱うことができる
アドレス空間は、256ページ分のアドレス空間となっ
ている。以下では、アドレス空間およびメモリがそのよ
うなページを有するものとして説明する。ZPレジスタ
20等は、アドレス空間およびメモリが有するページを
示すデータが格納されるページレジスタとして用いられ
る。
クロプロセッサ用に作成されたソフトウェアの蓄積は大
きく、このため、アドレス空間が拡張された新型のマイ
クロプロセッサが、これらのソフトウェアをそのまま利
用することができる、いわゆる互換性を有するマイクロ
プロセッサであることが望ましい。新型のマイクロプロ
セッサがこのような互換性を有するためには、アセンブ
ラ言語の文字列や機械語の命令コードといった、旧型の
マイクロプロセッサ上で使用されている命令表記が、新
型のマイクロプロセッサ上でそのまま使用されるととも
に、新型のマイクロプロセッサ上でそれらの命令表記に
応じて実行される命令内容が、旧型のマイクロプロセッ
サ上でそれらの命令表記に応じて実行されている命令内
容と矛盾しないことが必要である。
のマイクロプロセッサとして、旧型のマイクロプロセッ
サ上で使用されている命令表記および命令内容をそのま
ま使用するとともに、ページレジスタに格納されるデー
タを直接指定するための命令表記および命令内容が新た
に用意された第1のマイクロプロセッサが知られてい
る。このマイクロプロセッサでは、新たな命令表記とし
て、例えば、「LD ZP,A」という文字列およびそ
の文字列に対応する命令コードが用意され、その命令表
記が、「アキュムレータに格納されているデータと同じ
データをZPレジスタに格納する」という命令内容を表
すものとして実行される。
用意される機械語の命令コードは、短いバイトを有する
命令コードが、旧型のマイクロプロセッサ用の命令表記
としてほとんど使用済みであるために、長いバイト長を
有する命令コードとなる。その結果、機械語のプログラ
ムの大きさが大きくなりがちで、実効速度が低下しがち
であるという問題がある。プログラム内では、一般に、
演算結果を用いてページを指定することがしばしば行わ
れるが、この場合には、長いバイト長を有する命令コー
ドの使用頻度が増加して、この問題点が特に顕著にな
る。また、この第1のマイクロプロセッサでは、用意さ
れる新たな命令コードの数が多く、命令コードをデコー
ドするための回路が大きくなるという問題もある。
マイクロプロセッサ上で使用されている命令表記をその
まま使用し、「LD A,A」等といった、旧型のマイ
クロプロセッサにおいて、命令の実行前後で内部状態が
維持される無意味命令を表す命令表記として用いられて
いる命令表記を、例えば「ZPレジスタに格納されてい
るデータを、アクセス可能なページを指定するデータと
して用いる」等という、有意な命令を表す命令表記とし
て用いる第2のマイクロプロセッサも知られている。
は、旧型のマイクロプロセッサ用に作成されたプログラ
ムをサブルーチンとして用いた場合に、このプログラム
の作成時には、無意味命令として実行されることが期待
されていた命令が有意な命令として実行されてしまって
動作異常を生じるおそれがあるという問題がある。本発
明は、上記事情に鑑み、旧型のマイクロプロセッサのア
ドレス空間が拡張された広いアドレス空間を有し、旧型
のマイクロプロセッサ用のソフトウェアがそのまま利用
できるマイクロプロセッサを提供することを目的とす
る。
明のマイクロプロセッサは、複数の命令が格納されるメ
モリから命令を読み出して実行するマイクロプロセッサ
において、上記メモリのページをあらわすデータが格納
される、各所定の命令に対応して備えられた1つ以上の
ページレジスタと、ページレジスタに対応付けられた各
所定の命令とは異なる所定の命令が対応付けられてなる
アキュムレータと、上記1つ以上のページレジスタおよ
びアキュムレータのうちのいずれか1つを選択し、選択
したページレジスタに格納されているデータ、もしくは
選択したアキュムレータの、ページレジスタのビット幅
と同一ビット幅を有する全域若しくは一部領域に格納さ
れているデータを、上記メモリの、アクセス可能なペー
ジを指定するデータとして出力するページ指定回路と、
実行しようとする命令を解釈する命令解釈部とを備え、
命令解釈部が、命令解釈部で解釈した命令が上記1つ以
上のページレジスタのうちのいずれか、あるいはアキュ
ムレータに対応付けられた命令であったときに、ページ
指定回路に、その解釈した命令に対応付けられているペ
ージレジスタ、あるいはアキュムレータを選択させるも
のであることを特徴とする。
リの、実行しようとする命令が格納されているアドレス
が所定の領域内のアドレスであるか否かを判定する判定
回路を備え、上記命令解釈部が、上記判定回路によっ
て、上記所定の領域外のアドレスであると判定され、か
つ、命令解釈部によって解釈した命令が上記アキュムレ
ータに対応付けられた命令である場合に、上記ページ指
定回路にアキュムレータを選択させるものであることが
望ましい。
説明する。図2は、本発明のマイクロプロセッサの一実
施例を示す図である。このマイクロプロセッサ100
は、命令が格納されるメモリ110に、外部バス112
を介して接続されており、このメモリ110は、旧型の
マイクロプロセッサ用に作成されたプログラムが格納さ
れる、000000h番地から00FFFFh番地まで
の2の16乗ビットの互換領域111を含む、2の24
乗ビットのアドレス空間を有する。
0には、それぞれ16ビットのビット幅を有するプログ
ラムカウンタ121、汎用DEレジスタ122、汎用H
Lレジスタ123およびスタックポインタ124が備え
られており、バス130を介してデータがこれらのレジ
スタに格納され、これらのレジスタから取出される。ま
た、このマイクロプロセッサ100には、それぞれ8ビ
ットのビット幅を有するアキュムレータ125、PPC
レジスタ126、ZPレジスタ127およびXPレジス
タ128が備えられており、これらのレジスタのデータ
も、バス130を介して格納され取出される。PPCレ
ジスタ126は、プログラムカウンタ121とともに用
いられるレジスタであり、メモリ110の、実行しよう
とする命令が格納されているページを示すデータが格納
される。ZPレジスタ127は汎用DEレジスタ12
2、汎用HLレジスタ123およびスタックポインタ1
24それぞれとともに用いられるページレジスタであ
り、メモリ110のページを示すデータが格納される。
XPレジスタ128は、ZPレジスタ127と同様のペ
ージレジスタである。
は、命令解釈実行回路140と、アクセス回路170が
備えられており、命令解釈実行回路140によって、メ
モリ110の、PPCレジスタ126およびプログラム
カウンタ121に格納されているデータが示すアドレス
に格納されている命令が、アクセス回路170及び外部
バス112を介して読み込まれ、読み込まれた命令が解
釈され実行されて、外部バス112等を介したメモリ1
10のアクセスや、バス130を介した各種データの格
納・取出・演算が行われる。この命令解釈実行回路14
0が解釈することができる命令表記は、旧型のマイクロ
プロセッサにおいて用いられている命令表記であり、こ
れらの命令表記には、短いバイト長を有する命令コード
が対応する。また、「LD D,D」という命令表記で
表される命令に対してZPレジスタ127が対応付けら
れており、「LD E,E」という命令表記で表される
命令に対してXPレジスタ128が対応付けられてお
り、「LD A,A」という命令表記で表される命令に
対してアキュムレータ125が対応付けられている。命
令解釈実行回路140において、「LD D,D」等と
いう命令表記で表される命令が実行されると、それらの
命令に対応付けられているページレジスタあるいはアキ
ュムレータを示す信号が生成される。
は、判定回路150が備えられており、判定回路150
によって、PPCレジスタ126に格納されているデー
タの値が「00h」であるか否かが判定され、これによ
って、命令解釈実行回路140がメモリ110から読み
込んだ命令が格納されていたアドレスが互換領域内のア
ドレスであるか否かが判定される。この判定結果は、命
令解釈実行回路140に入力される。
は、本発明にいうページ指定回路に相当するマルチプレ
クサ160が備えられており、このマルチプレクサ16
0には、判定回路150によって、メモリ110から読
み込んだ命令が格納されていたアドレスが互換領域外の
アドレスであると判定された場合に、命令解釈実行回路
140によって生成された、ページレジスタあるいはア
キュムレータを示す信号が入力される。また、このマル
チプレクサ160には、ZPレジスタ127、XPレジ
スタ128およびアキュムレータ125が接続されてお
り、マルチプレクサ160は、命令解釈実行回路140
によって生成された信号に従って、ZPレジスタ12
7、XPレジスタ128およびアキュムレータ125の
うちのいずれか1つを選択し、選択したページレジスタ
若しくはアキュムレータに格納されているデータを、ア
クセス回路170および外部バス112を介してメモリ
110のアドレス線の上位8ビット分に出力する。これ
によって、メモリ110の、命令解釈実行回路140に
よるアクセスが可能なページが指定されることとなる。
れる様子を示す図である。図3には、図2に示すメモリ
110が有するアドレス空間が示されており、上述した
ように、000000h番地から00FFFFh番地ま
でが互換領域111である。この互換領域111内に
は、旧型のマイクロプロセッサ用に作成されたサブルー
チンプログラム「_SUB」が格納されており、互換領
域111を除くアドレス空間には、サブルーチンプログ
ラム「_SUB」を利用する、新たに作成されたプログ
ラムが格納されている。これらのプログラムを構成して
いる各命令の命令表記は、全て、旧型のマイクロプロセ
ッサにおいて用いられている命令表記であり、これらの
命令表記に対応する命令コードは、短いバイト長を有す
る命令コードである。
201から実行が開始され、この命令201は互換領域
111外に格納されているので、図2に示すマルチプレ
クサ160によって、ZPレジスタが選択される。次
に、「LD ZP,01h」なる表記で表される命令2
02が実行されてZPレジスタに値「01h」が格納さ
れることにより、図2に示すメモリ110のアドレス線
の上位8ビット分に値「01h」が出力され、値「01
h」が示すページが、アクセス可能なページとして指定
される。
記で表される命令203が実行されて汎用HLレジスタ
に値「8000h」が格納され、「CALL _SU
B」なる表記で表される命令204が実行されて、プロ
グラムの流れが、互換領域111内に格納されているサ
ブルーチンプログラム「_SUB」に移り、「LD
A,A」なる表記で表される命令205が実行される。
この命令205は、互換領域111内に格納されている
ので、命令205は無意味命令として実行され、図2に
示すマルチプレクサ160によるZPレジスタの選択お
よびページ指定は維持される。
令206が実行されてプログラムの流れがリターンし、
「JP(HL)」なる表記で表される命令207が実行
される。命令201および命令202が実行されて指定
されたページは、サブルーチンの実行を経た後も維持さ
れており、命令207が実行されると、ZPレジスタお
よび汎用HLレジスタに格納されている値が示す018
000番地にプログラムの流れがジャンプする。このよ
うに、本実施形態のマイクロプロセッサによれば、旧型
のマイクロプロセッサ用に作成されたプログラムをサブ
ルーチンとして有効に利用することができる。
記で表される命令208が実行されて汎用DEレジスタ
に値「F000h」が格納され、「ADD HL,D
E」なる表記で表される命令209が実行されて、汎用
HLレジスタに格納されている値「8000h」に、汎
用DEレジスタに格納されている値「F000h」が足
され、その計算結果を示す値「7000h」が汎用HL
レジスタに格納される。次に「ADC A,10h」な
る表記で表される命令210が実行されて、命令209
によって生じたキャリーと値「10h」が足された値
「11h」がアキュムレータに格納される。
D A,A」なる表記で表される命令211が実行され
る。この命令211は、互換領域111外に格納されて
いるので、図2に示すマルチプレクサ160によって、
アキュムレータが選択され、メモリ110のアドレス線
の上位8ビット分に、アキュムレータに格納されている
値「11h」が出力される。次に、命令207の命令表
記と同一の「JP(HL)」なる表記で表される命令2
12が実行され、ここでは、アキュムレータに格納され
ている値「11h」によってページが指定されているの
で、プログラムの流れは、117000h番地にジャン
プする。このように、本実施形態のマイクロプロセッサ
によれば、演算結果を用いてページを指定する場合であ
っても、短いバイト長を有する命令コードだけでページ
指定を行うことができる。
0000h番地から00FFFFh番地までの領域であ
るが、本発明にいう所定の領域は、アドレス空間上の他
の領域であっても良い。また、本実施形態では、マルチ
プレクサによって、ページレジスタ若しくはアキュムレ
ータが選択されるが、本発明にいうページ指定回路は、
HレジスタやLレジスタ等も含まれるレジスタ群からレ
ジスタを選択するものであっても良い。
ビット幅とページレジスタのビット幅とは同じビット幅
であるが、本発明にいうアキュムレータはページレジス
タのビット幅よりも大きいビット幅を有するものであっ
ても良く、この場合には、アキュムレータの一部の領域
に格納されているデータが、ページを指定するデータと
して用いられる。
プロセッサは、旧型のマイクロプロセッサのアドレス空
間が拡張された広いアドレス空間を有しており、本発明
のマイクロプロセッサによれば、旧型のマイクロプロセ
ッサ用のソフトウェアがそのまま利用できる。
ジスタセット(A)、および新型マイクロプロセッサに
備えられているレジスタセット(B)の一例を示す図で
ある。
図である。
す図である。
Claims (2)
- 【請求項1】 複数の命令が格納されるメモリから命令
を読み出して実行するマイクロプロセッサにおいて、 前記メモリのページをあらわすデータが格納される、各
所定の命令に対応して備えられた1つ以上のページレジ
スタと、 前記ページレジスタに対応付けられた各所定の命令とは
異なる所定の命令が対応付けられてなるアキュムレータ
と、 前記1つ以上のページレジスタおよび前記アキュムレー
タのうちのいずれか1つを選択し、選択したページレジ
スタに格納されているデータ、もしくは選択したアキュ
ムレータの、前記ページレジスタのビット幅と同一ビッ
ト幅を有する全域若しくは一部領域に格納されているデ
ータを、前記メモリの、アクセス可能なページを指定す
るデータとして出力するページ指定回路と、 実行しようとする命令を解釈する命令解釈部とを備え、 前記命令解釈部が、該命令解釈部で解釈した命令が前記
1つ以上のページレジスタのうちのいずれか、あるいは
前記アキュムレータに対応付けられた命令であったとき
に、前記ページ指定回路に、該命令に対応付けられてい
るページレジスタ、あるいはアキュムレータを選択させ
るものであることを特徴とするマイクロプロセッサ。 - 【請求項2】 前記メモリの、実行しようとする命令が
格納されているアドレスが所定の領域内のアドレスであ
るか否かを判定する判定回路を備え、 前記命令解釈部が、前記判定回路によって、前記所定の
領域外のアドレスであると判定され、かつ、該命令解釈
部によって解釈した命令が前記アキュムレータに対応付
けられた命令である場合に、前記ページ指定回路にアキ
ュムレータを選択させるものであることを特徴とする請
求項1記載のマイクロプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03074998A JP3517579B2 (ja) | 1998-02-13 | 1998-02-13 | マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03074998A JP3517579B2 (ja) | 1998-02-13 | 1998-02-13 | マイクロプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11232099A JPH11232099A (ja) | 1999-08-27 |
JP3517579B2 true JP3517579B2 (ja) | 2004-04-12 |
Family
ID=12312346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03074998A Expired - Fee Related JP3517579B2 (ja) | 1998-02-13 | 1998-02-13 | マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3517579B2 (ja) |
-
1998
- 1998-02-13 JP JP03074998A patent/JP3517579B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11232099A (ja) | 1999-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4608484B2 (ja) | ストレージの無効化、バッファ・エントリの消去 | |
US5826057A (en) | Method for managing virtual address space at improved space utilization efficiency | |
EP0213843A2 (en) | Digital processor control | |
US4937738A (en) | Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction | |
EP0465248B1 (en) | Pseudo-linear bank switching memory expansion | |
US5666510A (en) | Data processing device having an expandable address space | |
CN112631657A (zh) | 用于字符串处理的字节比较方法以及指令处理装置 | |
EP1143333B1 (en) | Microprocessor for supporting reduction of program codes in size | |
KR19990036893A (ko) | 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법 | |
US6467037B1 (en) | Utilizing a program counter with one or more data counters for executing instructions | |
KR19990037573A (ko) | 사용가능한 연산코드를 최대화하고 다양한 어드레싱 모드를 실행하는 프로세서 구조 및 명령 세트 | |
JPH07239780A (ja) | 1クロック可変長命令実行処理型命令読み込み電子計 算機 | |
JP3432532B2 (ja) | データ処理装置 | |
JP3517579B2 (ja) | マイクロプロセッサ | |
KR19990037571A (ko) | 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법 | |
JP3583918B2 (ja) | マイクロプロセッサ | |
US7370159B2 (en) | Microprocessor having an extended addressable space | |
JP2715967B2 (ja) | マイクロコンピュータ | |
US6321319B2 (en) | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction | |
JPH09505428A (ja) | ページアドレスモードを有するマイクロコントローラ | |
KR100897857B1 (ko) | 마이크로컨트롤러 명령어 셋트 | |
US20040098568A1 (en) | Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method | |
JP2637770B2 (ja) | マイクロコンピュータ | |
JPH0666052B2 (ja) | メモリ内容を機械レジスタに自動的に写像する計算機 | |
JP2507314B2 (ja) | リンケ−ジコンベンシヨン方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100130 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110130 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110130 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140130 Year of fee payment: 10 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |