JP4988082B2 - マイクロプロセッサ及びデータ処理システム - Google Patents

マイクロプロセッサ及びデータ処理システム Download PDF

Info

Publication number
JP4988082B2
JP4988082B2 JP2000147111A JP2000147111A JP4988082B2 JP 4988082 B2 JP4988082 B2 JP 4988082B2 JP 2000147111 A JP2000147111 A JP 2000147111A JP 2000147111 A JP2000147111 A JP 2000147111A JP 4988082 B2 JP4988082 B2 JP 4988082B2
Authority
JP
Japan
Prior art keywords
address
instruction word
data
input
instruction
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
Application number
JP2000147111A
Other languages
English (en)
Other versions
JP2000357088A (ja
Inventor
鍾 根 安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2000357088A publication Critical patent/JP2000357088A/ja
Application granted granted Critical
Publication of JP4988082B2 publication Critical patent/JP4988082B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Description

【0001】
【発明の属する技術分野】
本発明はマイクロプロセッサ及びデータ処理システムに係り、より具体的には拡張されたメモリ装置をアドレッシングすることができるマイクロプロセッサ及びデータ処理システムに関するものである。
【0002】
【従来の技術】
現在マイクロプロセッサは製造技術の向上と使用者の要求によって次第に高性能に設計されて、それの応用分野も多様になっている。これによって応用プログラム(アプリケーションプログラム)は質的向上だけでなく大きさも増加している。
【0003】
しかし、マイクロプロセッサがアクセスすることができるメモリ装置の大きさには制限がある。例えば、16ビットマイクロプロセッサは最大64Kバイトのメモリをアクセスすることができ、16ビットマイクロプロセッサで1Mバイトのメモリをアクセスするためには16ビットメモリアドレスを20ビットメモリアドレスに拡張すべきである。
【0004】
この分野でよく知られたように、メモリアドレスを拡張するスキムにはセグメンテーションスキム、簡単なバンクスイッチングスキム、そしてメモリマネージメントユニット(Memory Management Unit;MMU)を使用する方法がある。MMUを利用する方法は最も優秀な性能を備えるが、ハードウェアの大きさが増加し、生産費用が増加する短所がある。
【0005】
図1および図2はメモリアドレス拡張のためのセグメンテーションスキムを示す図である。セグメンテーションスキム10で、16ビット論理的セグメントベースアドレスは論理的アドレスバス18を通じて16ビットセグメントベースレジスタ12に伝達される。セグメントベースアドレスは左側に4ビットシフトされ20ビット論理的セグメントベースアドレスに変換される。16ビット論理的オフセットアドレスはオフセットレジスタ14に貯蔵され、16真数‘0’が挿入され20ビット論理的オフセットアドレスに変換される。次に、加算器16によって20ビット論理的セグメントベースアドレスと20ビット論理的オフセットアドレスが加わて20ビット(拡張された)物理的アドレスが発生される。20ビット物理的アドレスは物理的アドレスバス17を通じて外部メモリ(図示せず)に伝達される。しかし、セグメンテーションスキム10は他のアドレス体系を有するマイクロプロセッサには適用することができない短所がある。
【0006】
図3および図4はメモリ拡張のための簡単なバンクスイッチングスキムを示す図である。簡単なバンクスイッチングスキム20において、各メモリバンクには固有のバンク番号が割り当てられる。例えば、メインメモリは16個のメモリバンクに分けられて、16個のメモリバンクのうちの一つを選択するために4ビットのバンク番号が使用される。16ビット論理的ベースアドレスは論理的アドレスバスを通じてアドレスレジスタ22に貯蔵される。オフセットレジスタ23に貯蔵された16ビットオフセットアドレスは加算器26によって16ビット論理的ベースアドレスと加算されて、その結果は結合ロジックブロック27に供給される。結合ロジックブロック27はバンク番号レジスタ24からの4ビット論理的メモリバンクアドレスと加算器26からの16ビット論理的アドレスを結合しその結果を20ビット(拡張された)物理的アドレスとして物理的アドレスバス28に伝達する。簡単なバンクスイッチングスキム20はインタラプトが発生する場合インタラプトサービスのために同一のインタラプトサービスルーチンを全てバンクの同一の位置に貯蔵する方法を使用することや、バンク毎に独立的なプログラムが実行されることを考慮して独立的なスイッチング方法を使用する。かつ、プログラムが実行される途中にメモリバンクがスイッチングされるから各メモリバンクの同一の位置にバンクスイッチングのための連関されたコードを予め動くことができないように制限する。このようなバンクスイッチング方法はインタラプトサービスルーチンを使用するときやバンクスイッチング時に多くの制約が発生する。
【0007】
【発明が解決しようとする課題】
ハーバードアーキテクチュア(Harvard Architecture)は処理速度向上のためにプログラムメモリとデータメモリが分離された構造を有する。しかし従来はこのようなハーバードアーキテクチュアのプログラムメモリ又はデータメモリを拡張して使用することができる方法がなかった。
【0008】
従って、本発明は上記の問題点を解決するために提案されたもので、その目的は拡張されたデータメモリをアクセスすることができるボンノイマン構造のマイクロプロセッサを提供することにある。
【0009】
本発明の他の目的は、拡張されたプログラムメモリ又は拡張されたデータメモリをアクセスすることができるハーバード構造のマイクロプロセッサを提供することにある。
【0010】
本発明の更に他の目的は、上記のマイクロプロセッサを備えたデータ処理システムを提供することにある。
【0011】
【課題を解決するための手段】
本発明の特徴によると、マイクロプロセッサは、外部から提供される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別しそれによるシステム制御動作を実行する制御ユニットと、ノーマルアドレスモード及び拡張アドレスモードの間に制御ユニットによる制御のもと第1アドレスを発生するプログラムカウンタと、アドレス転送のためのアドレスバスと、拡張アドレスモードの間だけ制御ユニットによる制御のもと第2アドレスを発生するアドレス発生器と、データ転送のためのデータバスとを含む。この時、第1アドレスはアドレスバスを通じて外部に伝達され、第2アドレスはデータバスを通じて外部に伝達される。
【0012】
アドレスインタフェース手段はデータバスから第2アドレスを受け入れて外部に伝達する。
【0013】
好ましい形態として、アドレスインタフェース手段は、データバスから入力される第2アドレスを貯蔵するためのアドレスレジスタと、このアドレスレジスタに貯蔵された第2アドレスをラッチするラッチ手段とを含む。
【0014】
好ましい形態として、制御ユニットは外部から提供される命令語が拡張アドレスモード用命令語である時、第1及び第2アドレスが各々アドレスバス及びデータバスを通じて外部に伝達される時までインタラプトをディセーブル(disable)する。
【0015】
本発明の他の特徴によると、データ処理システムは、マイクロプロセッサ及びアドレスインタフェース手段を含む。マイクロプロセッサは、外部から提供される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別しそれによるシステム制御動作を実行する制御ユニットと、ノーマルアドレスモード及び拡張アドレスモードの間に制御ユニットによる制御のもと第1アドレスを発生するプログラムカウンタと、アドレス転送のためのアドレスバスと、拡張アドレスモードの間だけ制御ユニットによる制御のもと第2アドレスを発生するアドレス発生器と、データ転送のためのデータバスとを含む。第1アドレスはアドレスバスを通じて外部に伝達され、第2アドレスはデータバスを通じて外部に伝達される。アドレスインタフェース手段は、マイクロプロセッサ内のデータバスから出力される第2アドレスを受け入れて外部に伝達する。
【0016】
好ましい形態として、アドレスインタフェース手段は、データバスから入力される第2アドレスを貯蔵するためのアドレスレジスタと、このアドレスレジスタに貯蔵された第2アドレスをラッチするラッチ手段とを含む。
【0017】
本発明の更に異なる特徴によると、マイクロプロセッサは、外部から提供される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別しそれによるシステム制御動作を実行する制御ユニットと、ノーマルアドレスモード及び拡張アドレスモードの間に制御ユニットによる制御のもと第1命令語アドレスを発生するプログラムカウンタと、命令語アドレス転送のための命令語アドレスバスと、ノーマルアドレスモード及び拡張アドレスモードの間に制御ユニットによる制御のもと第1データアドレスを発生し、拡張アドレスモードの間だけ制御ユニットによる制御のもと第2命令語アドレス及び第2データアドレスを発生するアドレス発生器と、データアドレス転送のためのデータアドレスバスと、データ転送のためのデータバスとを含み、第1命令語アドレスは命令語アドレスバスを通じて外部に伝達され、第1データアドレスはデータアドレスバスを通じて外部に伝達され、第2命令語アドレス及び第2データアドレスはデータバスを通じて外部に伝達される。ここでこマイクロプロセッサはハーバード構造を有する。
【0018】
好ましい形態としては、データバスから第2命令語アドレス及びデータアドレスを受け入れて外部に伝達するアドレスインタフェース手段を付加的に含む。
【0019】
アドレスインタフェース手段は、データバスから入力される第2命令語アドレスを貯蔵するための命令語アドレスレジスタと、このアドレスレジスタに貯蔵された命令語アドレスをラッチするラッチ手段と、データバスから入力される第2データアドレスを貯蔵するためのデータアドレスレジスタと、このデータアドレスレジスタに貯蔵されたデータアドレスをラッチする第2ラッチ手段とを含む。
【0020】
好ましい形態として、制御ユニットは外部から提供される命令語が拡張アドレスモード用命令語である時、第1命令語アドレス、第1データアドレスそして第2命令語アドレスおよび第2データアドレスが各々アドレスバス及びデータバスを通じて外部に伝達される時まで外部から入力されるインタラプトをディセーブルする。
【0021】
【発明の実施の形態】
以下本発明の実施の形態を添付された図5ないし図18を参照して詳細に説明する。以下の説明で図面中に付した同一または類似の参照番号及び符号は、同一または類似の構成要素を示す。
【0022】
マイクロプロセッサのメモリアドレス拡張において、重要なことは、既存のマイクロプロセッサとの互換性を維持することである。例えば、16ビット(2バイト)のビット幅を有するアドレスを指定する命令語だけを使用するマイクロプロセッサの場合、アドレス拡張のために命令語を24ビット(3バイト)命令語に修正すると既存のコードとの互換性を維持することができなくなる。既存のマイクロプロセッサとの互換性を維持しながらアドレスを拡張することができる方法には大きく二通りがある。即ち、拡張アドレスモード用命令語を新設する方法と、既存命令語の組み合わせにアドレス拡張を誘導する方法である。
【0023】
まず、拡張アドレスモード用命令語を新設する方法は既存の命令語を変更しなくても互換性を維持することができるが、メモリアドレッシングに関連した全ての命令語を新設することや使用頻度が高い命令語と関連した命令語セットを定義すべきである。この方法は殆ど全ての命令語がメモリ参照を実行するCISC(Complex Instructions Set Computer)タイプのマイクロプロセッサにおいてハードウェア的な負担を招来する。使用頻度が高い命令語だけを新設する方法はハードウェア的な負担を減少させることができるが、拡張されたアドレスモードを実行することができる命令語の数が制限される短所がある。
【0024】
次に、既存命令の組み合わせで拡張されたメモリをアクセスする方法は“LOAD”命令にバンクレジスタを設定し、バンクレジスタに貯蔵されたアドレスをメモリ最上位アドレスに指定するようにした後、後続命令語は選択されたバンク内だけ実行されるようにするものである。この方法はハードウェア的負担は殆どないが、サブルーチン呼出/リターン(CALL/RET)命令語実行時バンクレジスタのアドレスを貯蔵/復旧(SAVE/RESTORE)するための命令語配列が複雑になり、インタラプト発生時バンクレジスタのアドレスを貯蔵することができないという短所がある。その上に、ハーバードアーキテクチュアのようにプログラムメモリとデータメモリが分離された場合データメモリに対したアクセス方法が提示されていない。
【0025】
従って、本発明では既存の命令語をノーマルアドレスモード用命令語にし、拡張アドレス領域を使用するために拡張アドレスモード用命令語を新設する。マイクロプロセッサ内のプログラム可能なコントロールユニットは外部から入力される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別しそれによるシステム制御動作を実行する。
【0026】
図5は外部メモリ装置の構造を示す図である。図5に図示されたように、外部メモリ装置200はビット幅が8ビットであり、下位4ビットアドレスが‘000h’〜‘ffffh’である16個のバンク(メモリ領域)に分離されている。従って、各バンクは64Kバイトの大きさを持って、メモリ装置200全体の容量は1Mバイトである。
【0027】
図6は図5に図示されたメモリ装置のアドレスを示すプログラムカウンタの構成を示す図である。図6を参照すると、16ビットマイクロプロセッサは16ビットのプログラムカウンタを具備し、プログラムカウンタは外部メモリ装置200の下位16ビットアドレスを示す。拡張プログラムカウンタ(extra program counter;PCX)は外部メモリ装置200の上位4ビットアドレスを示す。
【0028】
図7は本発明の実施形態によるボンノイマン(von Neumann)構造のマイクロプロセッサの構成を示すブロック図である。
【0029】
図7を参照すると、マイクロプロセッサ100は16ビットのアドレスバスと8ビットのデータバスを持って、外部メモリ装置200に接続される。外部メモリ装置200は8ビットのビット幅を持って、全体の大きさは1Mバイトである。マイクロプロセッサ100は16ビットのアドレスバスを通じて外部メモリ装置200の20ビットアドレス中の下位16ビットを指定し、拡張された4ビットアドレスは外部メモリ装置200の上位4ビットを指定する。
【0030】
マイクロプロセッサ100はプログラマブルコントロールユニット102、命令語デコーダ104、命令語レジスタ106、バスタイミングコントローラ108、レジスタファイル110、インタラプトコントローラ112、ALU(Arithmetic Logic Unit)114、プログラムカウンタ(program counter;PC)116、拡張アドレスインタフェース120、8ビットデータバスDB[7:0]、16ビットアドレスバスA[15:0]、コントロールバスCONTROL BUS、そしてレジスタアドレスバスRA[7:0]を含む。
【0031】
命令語レジスタ106はフェッチ段階でデータバスDB[7:0]を通じてメモり装置200から入力される命令語を貯蔵する。命令語デコーダ104は実行段階で命令語レジスタ106に貯蔵された命令語を受け入れデコーディングした後命令語に対応するアドレスを出力する。プログラマブルコントロールユニット102はマイクロコードロム(micro―code ROM)等で構成され命令語デコーダ104から入力されるアドレスに対応する制御信号を出力する。プログラマブルコントロールユニット102から出力される制御信号はバスタイミングコントローラ108、レジスタファイル110、インタラプトコントローラ112、ALU114、及びプログラムカウンタ116を制御するための信号である。レジスタファイル110はデータ又はアドレスを臨時的に貯蔵するために使用されるレジスタの集団で、この実施形態でレジスタファイルはスタックに動作する。インタラプトコントローラ112は外部から入力されるインタラプト信号に応答してマイクロプロセッサ100の全般的なインタラプト制御を実行する。ALU114はプログラマブルコントロールユニット102からの制御信号と命令語デコーダ104からの入力データ又はアドレスを受け入れ算術論理演算を実行する。プログラムカウンタ116はメモリ装置の下位16ビットアドレスを示すが、この実施形態でプログラムカウンタは各々が64Kバイトの大きさを有するメモリバンクのアドレスを示す。
【0032】
拡張アドレスインタフェース120は図8に図示されたように、拡張プログラムカウンタ(以下PCXと言う)122、拡張データアドレスカウンタ(extra data address counter、以下DCXと言う)124、マルチプレックス126、そしてラッチ回路128を含む。
【0033】
ボンノイマン構造はプログラムメモリとデータメモリが分離されていないので、必要によってPCX122とDCX124をアドレスバスに載せる方式でメモリ装置のプログラム領域又はデータ領域をアクセスすることができる。即ち、メモリ装置から命令語をフェッチする場合にはPCX122をアドレスバスの上位ビットに出力させ、メモリからデータをフェッチする場合にはアクセスタイミングに合わせてアドレスバスの上位ビットにDCX124を出力することでデータをアクセスすることができる。プログラム可能なコントロールユニット102でこのようなタイミング信号を作ることは通常の技術で容易に具現することができる。マルチプレックス126の選択信号ADDR/はプログラマブルコントロールユニット102から入力される。
【0034】
本発明で特に留意する点は、ノーマルアドレスモード命令語が入力されるとメモリ装置200のアドレスがプログラムカウンタ116からアドレスバスA[15:0]を通じてメモリ装置200に提供され、拡張アドレスモード命令語が入力されるとメモリ装置200の下位16ビットアドレスがプログラムカウンタ116からアドレスバスA[15:0]を通じてメモリ装置200に提供され、メモリ装置200の上位4ビットアドレスはデータバスDB[7:0]を通じて拡張アドレスインタフェース120でラッチされた後メモリ装置200に提供される点である。この時、メモリ装置200の上位4ビットアドレスがまず設定されラッチされた後下位16ビットアドレスが出力される時20ビットアドレスが同時にメモリ装置200に提供される。
【0035】
上述したようなマイクロプロセッサの拡張アドレスモード命令語は次のような特徴を有する。例えば、プログラムの制御順序が変更されるジャンプ(JUMP)又はサーブルーチン呼出(CALL)と同じような命令によって拡張プログラムカウンタのアドレスが変更される場合、拡張アドレスモード命令語のマイクロオペレーションが変更される。
【0036】
図9ないし図11は外部メモリ装置のバンク1から命令語が順次に入力されているときにアドレス‘0001h’の‘LCALL 4h、TARGET’と言う拡張アドレスモード命令語が入力されることを例示している。‘LCALL4h、TARGET’命令語はバンク4のサブルーチン‘TARGET’に分岐しろと言う命令語である。命令語が入力されると次のようなマイクロプログラムが実行される。
LD PCX、4h
CALL TARGET
【0037】
マイクロプログラムによってPCX122にはバンク4が設定され、プログラムカウンタはレイブル‘TARGET’の番地である‘1521h’が入力される。この時、現在のPCX122とプログラムカウンタ116のアドレスに1を加えた‘0002h’はデータバスを通じてマイクロプロセッサ100のレジスタファイル110に貯蔵される。バンク4の‘1521h’から次拡張アドレスモード命令語が入力される時までPCX122の値は変更されなくプログラムカウンタ116の値だけ増加されプログラムが実行される。バンク4から命令語が入力されているときにリターン命令‘RET’が入力されるとレジスタファイル110に貯蔵されたリターンアドレス即ち、バンク1の‘0002h’アドレスがPCX122とプログラムカウンタ116にポップされる。従って、プログラムカウンタはサブルーチン呼出が実行されたバンク1の‘0001h’の次アドレスである‘0002h’を示す。
【0038】
従来はサブルーチン分岐時拡張されたPCX122のアドレスを貯蔵する方法がなかったが、本発明ではサブルーチン分岐又はインタラプト発生時拡張されたPCX122のアドレスをレジスタファイル110にプッシュした後サブルーチンリターン又はインタラプト実行終了時にレジスタファイル110に貯蔵されたアドレスをポップして元来のアドレスに復帰させることができるようにした。このような方法はRET(Return)/IRET(Interrupt Return)/FINT(Fast Interrupt)等にも同様に適用される。従って、メモリのいずれの領域でも他の領域のプログラム又はデータをアクセスすることができる。
【0039】
次に、図12を参照して拡張されたメモリ領域にあるデータをアクセスする拡張アドレスモード命令語の一例が説明される。‘LADD 4h、[RRO]、RO’はバンク4のアドレス‘RRO’のデータにROを加えろと言う命令語である。この命令語のマイクロプログラムは次のようである。
LD DCX、4h
ADD [RRO]、RO
【0040】
拡張されたメモリ領域のデータをアクセスする前に‘LD DCX、4h’命令を実行してDCX124をバンク4に設定した後、‘ADD’命令語によってアドレスRROがアドレスバスを通じて出力される時DCX124に貯蔵された値を同時に出力する。従って、DCX124とアドレスRROによって拡張されたメモリ領域をアクセスすることができる。
【0041】
表1は三星電子のマイクロプロセッサ‘SAM87RC’でノーマルアドレスモード命令語によるマイクロプログラムの実行サイクルとノーマルアドレスモード命令語を拡張アドレスモード命令語に変更した時のマイクロプログラムの実行サイクルを比較して示している。
【表1】
Figure 0004988082
【0042】
表1で分かるように、ノーマルアドレスモード命令語を拡張アドレスモード命令語に変更した時PCX122をレジスタファイルにプッシュ/ポップする動作によって実行サイクルが2サイクル程度増加する。これはデータバスが8ビットであるからである。
【0043】
次に、表2は三星電子のマイクロプロセッサ‘SAM87RC’で使用される命令語の使用頻度に関した統計資料のうち上位80%を占める19個のノーマルアドレスモード命令語の使用頻度とノーマルアドレスモード命令語を拡張アドレスモード命令語に変更した時の実行サイクル、そしてノーマルアドレスモード命令語を拡張アドレスモード命令語に変更した時の遅延率を示している。
【表2】
Figure 0004988082
【0044】
表2を参照すると、拡張アドレスモード命令語を使用する時約17%程度実行サイクルが増加することが分かる。これは使用頻度が高い‘JMP’、‘CALL’命令語前に‘LOAD’命令語を実行すべきだからである。しかし、FASTインタラプトは動作中にプログラムカウンタの値をスタックに貯蔵しないのでノーマルアドレスモード命令語と同様に速い速度でインタラプト処理を実行することができる。
【0045】
ここで、一つ留意すべきことは、相対アドレスモード又はインデックスアドレスモード命令語でオフセットアドレスを使用することである。命令語を上記の方法と同一に適用するとベースアドレスからオフセットアドレスを加えることや減算する演算を実行することになる。この時、メモリバンクの境界(boundary)アドレスを越える場合が発生するにも係わらずバンクアドレスは変更されず正しいバンクスイッチングが行われない問題点がある。この問題点を解決するために従来は専用加算器を利用する方法とマイクロプロセッサ内部のALUを利用して演算する方法を使用した。専用加算器を利用する方法はベースアドレスとオフセットアドレスを加えることや引く時発生するキャリ(carry)やブロウ(borrow)信号利用してバンクアドレスを変更する方法である。内部ALUを利用する方法はコンディションコードのキャリビット/ブロウビットを利用してバンクアドレスを自動的に変更する方法である。しかし、二つ方法はバンクアドレスを増加又は減少させるための加算器を必要としこれを制御するための信号を作らなければならない負担がある。
【0046】
従って、本発明ではアセンブラ又はコンパイラがオフセットアドレスを使用するアドレスモード命令語を識別し、ベースアドレスにオフセットアドレスを加えることや引く時バンク境界を越えるかを判断するようにアセンブラ又はコンパイラを変更する方法を使用する。
【0047】
この方法によると、オフセットアドレスを使用するアドレスモード命令語によってプログラムカウンタのアドレスがバンク境界を越えるかを容易に識別することができ、別度のアダーを具備しなくてもPCX122のアドレスを自動的に又は手動で容易に変更することができる。この時、アセンブラ又はコンパイラには相対アドレスモード命令語又はインデックスアドレスモード命令語であるかの可否を判断した後バンク境界を越えると警告メッセージを出力した後該当命令語前に自動でバンクスイッチングのための‘LD’命令を挿入する。又は使用者が警告メッセージを見て手動で‘LD’命令を挿入する。現在大部分のマイクロプロセッサがアセンブラ言語でプログラミングされたコードによって動作するので、使用者がコンパイラの助けを受けなくても容易にバンクアドレスを変更することもできる。
【0048】
プログラムが実行される途中に外部からインタラプトが発生すると、現在のプログラムカウンタとPCX122のアドレスをレジスタファイル110に貯蔵しインタラプト処理ルーチンに分岐する。しかし、拡張アドレスモード命令語が入力されPCX122又はDCX124を設定し次命令を処理する前にインタラプトが発生する場合には問題が発生する。例えば、‘LCALL 4h、TARGET’命令語が入力されマイクロプログラム‘LOAD PCX、4h’が実行された後マイクロプログラム‘CALL TARGET’が実行される前にインタラプトが発生しPCX122のアドレスがバンク5を示すように変更される場合、インタラプトサービスルーチンを終了しリターンする時は‘CALL TARGET’にリターンすることになる。この時、‘TARGET’はバンク4のアドレスであるがこの場合にはバンク5の‘TARGET’を指定することになる。即ち、PCX122又はDCX124を設定し次命令を処理する前にインタラプトが発生するとPCX122又はDCX124に貯蔵されたアドレスが変更されることになる。
【0049】
従って、拡張アドレスモード命令語が入力されるとプログラマブルコントロールユニットインタラプトマスキング信号(INT_MASK)を発生してPCX122又はDCX124を設定し次命令語が実行される時まで外部インタラプトが入力されないようにする。
【0050】
図13は拡張アドレスモード命令語が実行される時外部から入力されるインタラプト要求信号をマスキングするためのプログラマブルコントロールユニット及びインタラプトコントロール構成を示す図であり、図14は拡張アドレスモード命令語が実行される時のタイミング図である。
【0051】
図13を参照すると、プログラマブルコントロールユニット102は命令語デコーダ104(図7参照)から入力された命令語が拡張アドレスモード命令語であるかの可否を判断し、拡張アドレスモード命令語である時それに対応するマイクロプログラムを実行する。プログラマブルコントロールユニット102は例えば、‘LCALL4h、TARGET’と言う拡張アドレスモード命令語が入力されると‘LOAD PCX、4h’が実行される時点から‘CALL TARGET’が実行される時までハイレベル(論理‘1’)のインタラプトマスキング信号INT_MASK)を発生してインタラプトコントローラ112に提供する。インタラプトコントローラ112はアンドゲートAND_Gを含む。アンドゲートAND_Gの一入力端子には反転されたインタラプトマスキング信号INT_MASKが入力され、他入力端子には外部インタラプト要求信号IRQ_INが入力される。従って、インタラプトマスキング信号INT_MASKがハイレベルであると、インタラプト要求信号IRQ_INがイネーブルされるとしてもマイクロプロセッサ100の各ブロックに提供されるインタラプト要求信号IRQはディセーブルされる。
【0052】
次に考慮する事項はバンク境界間の連続性を具現することである。本発明ではベースアドレスにアドレスオフセットを加えるときや引く時バンクスイッチングのための専用加算器を別度に具備しないからバンク境界では次のような方法で命令語を挿入する。第1の方法はバンクの最終アドレスからPCX122を1ほど増加させジャンプ命令語を使用して次バンクの一番目アドレスに移動させる方法である。第2の方法はスイッチング命令語LD PCX、xhを使用してPCX122を変更した後バンクの最終アドレスまでノーオペレーション(NOP)命令を挿入する方法である。これはプログラム進行にどんな影響も及ぼさないのでプログラム使用者の便宜によって選択的に使用することができる。
【0053】
図15は本発明の他の実施形態によるデータ処理システムの構成を示す図である。図15に図示されたマイクロプロセッサ300はボンノイマン(von Neumann)構造であり図7に図示されたマイクロプロセッサ100との差異点は拡張アドレスインタフェース400がマイクロプロセッサ300の外部に構成されていることである。拡張アドレスインタフェース400はマイクロプロセッサ300と外部メモリ装置200間の拡張アドレスインタフェースとして作用し、マイクロプロセッサ300のデータバスDB[7:0]、コントロールバスCONTROL BUS、そしてレジスタアドレスバスRA[7:0]と接続される。マイクロプロセッサ300及び拡張アドレスインタフェース400を具備したデータ処理システムの動作は図7に図示されたマイクロプロセッサと同一なので詳細な説明は省略する。
【0054】
図16は本発明の実施形態によるハーバード(Harvard)構造のマイクロプロセッサの構成を示すブロック図である。
【0055】
図16を参照すると、ハーバード構造のマイクロプロセッサ500は外部メモリ装置がプログラムメモリ装置600とデータメモリ装置650に分離されている。マイクロプロセッサ500は図7に図示されたマイクロプロセッサ100と同一の構成を有するがアドレスバスが16ビットの命令語アドレスバスIA[15:0]と16ビットのデータアドレスバスDA[15:0]で構成される。データアドレスバスはALU114で発生される。
【0056】
図17は図16に図示された拡張アドレスインタフェース120の構成を詳細に示すブロック図である。図17を参照すると、拡張アドレスインタフェース120は拡張プログラムカウンタ522、拡張データアドレスカウンタ536、そしてラッチ回路524,528を含む。
【0057】
ハーバード構造ではプログラムメモリとデータメモリが各々分離されて構成されており、それによって命令語アドレスバスとデータアドレスバスが分離されている。従って、ハーバード構造ではPCX522のアドレスをラッチ回路524でラッチした後命令語アドレスバスIA[19:16]を通じてプログラムメモリ装置600に伝達し、DCX536のアドレスをラッチ回路528でラッチした後データアドレスバスDA[19:16]を通じてデータメモリ装置650に伝達する。
【0058】
図18はPCX/DCXを利用したバンクスイッチング方法をより拡張させインタラプトサービスルーチン位置、スタックポインタ、ファストインタラプトサービスルーチンを貯蔵するレジスタを別度に構成した拡張アドレスインタフェース800を示すブロック図である。
【0059】
図18に図示されたように、拡張アドレスインタフェース800は、IPCX802、IPX804、SPX808に予め設定されたバンクでインタラプト、ファストインタラプト、スタックプッシュ/ポップ動作を実行することができるので、インタラプトサービスルーチンとスタックをメモリの特徴領域に限定しなくてもよい。
【0060】
実施形態を利用して本発明を説明したが、本発明の範囲は開示された実施形態に限定されないことがよく理解される。むしろ、本発明の範囲には多様な変形例及びその類似な構成が全て含まれる。従って、請求範囲はそのような変形例及びその類似な構成全てを含むように可能な限り広く解析されるべきである。
【0061】
【発明の効果】
以上のように本発明によると、ハードウェア変更及び新設を最小化しながらも拡張されたメモリ装置をアクセスすることができるマイクロプロセッサが具現される。特に、ベースアドレスにオフセットアドレスを加えることや減算する時、別途の加算器を具備しなくてもよいので生産費用を減少できる。
【図面の簡単な説明】
【図1】メモリアドレス拡張のためのセグメンテーションスキムを示す図。
【図2】メモリアドレス拡張のためのセグメンテーションスキムを示す図。
【図3】メモリ拡張のための簡単なバンクスイッチングスキムを示す図。
【図4】メモリ拡張のための簡単なバンクスイッチングスキムを示す図。
【図5】外部メモリ装置の構造を示す図。
【図6】図5に図示されたメモリ装置のアドレスを示すプログラムカウンタの構成を示す図。
【図7】本発明の実施形態によるボンノイマン構造のマイクロプロセッサの構成を示すブロック図。
【図8】図7に図示された拡張アドレスインタフェースの構成を示すブロック図。
【図9】メモリ装置に貯蔵された拡張アドレスモード命令語の例を示す図。
【図10】メモリ装置に貯蔵された拡張アドレスモード命令語の例を示す図。
【図11】メモリ装置に貯蔵された拡張アドレスモード命令語の例を示す図。
【図12】メモリ装置に貯蔵された拡張アドレスモード命令語の例を示す図。
【図13】拡張アドレスモード命令語が実行される時外部から入力されるインタラプト要求信号をマスキングするためのプログラマブルコントロールユニット及びインタラプトコントロールの構成を示す図。
【図14】拡張アドレスモード命令語が実行される時のタイミング図。
【図15】本発明の他の実施形態によるデータ処理システムの構成を示す図。
【図16】本発明の実施形態によるハーバード構造のマイクロプロセッサの構成を示すブロック図。
【図17】図16に図示された拡張アドレスインタフェースの構成を詳細に示すブロック図。
【図18】PCX/DCXを利用したバンクスイッチング方法をより拡張させインタラプトサービスルーチン位置、スタックポインタ、ファストインタラプトサービスルーチンを貯蔵するレジスタを別度に構成した拡張アドレスインタフェースを示すブロック図。
【符号の説明】
100 マイクロプロセッサ
102 プログラマブルコントロールユニット
104 命令語デコーダ
106 命令語レジスタ
108 バスタイミングコントローラ
110 レジスタファイル
112 インタラプトコントローラ
114 ALU
116 プログラムカウンタ
120 拡張アドレスインタフェース
122 拡張プログラムカウンタ
124 拡張データアドレスカウンタ
126 マルチプレックス
128 ラッチ回路
200 メモリ装置

Claims (8)

  1. マイクロプロセッサにおいて、
    外部から入力される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別し、制御信号を発生する制御ユニットと、
    前記制御ユニットからの出力に応じて、前記ノーマルアドレスモード用命令語が入力されたと識別された場合及び前記拡張アドレスモード用命令語が入力されたと識別された場合のどちらの場合においても第1命令語アドレスを発生するプログラムカウンタと、
    前記制御ユニットからの出力に応じて、前記拡張アドレスモード用命令語が入力されたと識別された場合にのみ第命令語アドレスを変更して発生するアドレス発生器と、
    アドレス転送のための第1及び第2アドレスバスと、
    データ転送のためのデータバスと、を備え、
    前記第1命令語アドレスは前記第1アドレスバスを通じて外部に伝達され、前記第2命令語アドレスは前記第2アドレスバスを通じて外部に伝達され
    前記ノーマルアドレスモード用命令語が前記制御ユニットに入力されたと識別された場合には、前記第2命令語アドレスは変更されずに前記第2アドレスバスを通じて外部に伝達されるものであり、
    前記拡張アドレスモード用命令語は、拡張する先の前記第2命令語アドレスを設定する第1マイクロ令と、拡張する先の前記第1命令語アドレスを指定して実行する第2マイクロ令とを有し、
    前記制御ユニットは、前記外部から入力される命令語が前記拡張アドレスモード用命令語であると識別したとき、前記第1マイクロ令が実行された後かつ前記第2マイクロ令が実行される前に外部インタラプトが入力されないようにマスキング信号を発生することを特徴とするマイクロプロセッサ。
  2. 前記データバスを介して前記第2命令語アドレスを受け入れ外部に伝達するアドレスインタフェース回路を備えることを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記アドレスインタフェース回路は、
    前記データバスを介して入力される前記第2命令語アドレスを貯蔵するためのアドレスレジスタと、
    前記アドレスレジスタに貯蔵された前記第2命令語アドレスを留保するラッチ回路と
    を備えることを特徴とする請求項2に記載のマイクロプロセッサ。
  4. データ処理システムにおいて、
    マイクロプロセッサを備え、
    前記マイクロプロセッサは、
    外部から入力される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別し、制御信号を発生する制御ユニットと、
    前記制御ユニットからの出力に応じて、前記ノーマルアドレスモード用命令語が入力されたと識別された場合及び前記拡張アドレスモード用命令語が入力されたと識別された場合のどちらの場合においても第1命令語アドレスを発生するプログラムカウンタと、
    前記制御ユニットからの出力に応じて、前記拡張アドレスモード用命令語が入力されたと識別された場合にのみ第命令語アドレスを変更して発生するアドレス発生器と、
    アドレス転送のための第1及び第2アドレスバスと、
    データ転送のためのデータバスと、
    前記マイクロプロセッサ内の前記データバスを介して前記第2命令語アドレスを受け入れ外部に伝達するアドレスインタフェース回路と、を備え、
    前記第1命令語アドレスは前記第1アドレスバスを通じて外部に伝達され、前記第2命令語アドレスは前記第2アドレスバスを通じて外部に伝達され
    前記ノーマルアドレスモード用命令語が前記制御ユニットに入力されたと識別された場合には、前記第2命令語アドレスは変更されずに前記第2アドレスバスを通じて外部に伝達されるものであり、
    前記拡張アドレスモード用命令語は、拡張する先の前記第2命令語アドレスを設定する第1マイクロ令と、拡張する先の前記第1命令語アドレスを指定して実行する第2マイクロ令とを有し、
    前記制御ユニットは、前記外部から入力される命令語が前記拡張アドレスモード用命令語であると識別したとき、前記第1マイクロ令が実行された後かつ前記第2マイクロ令が実行される前に外部インタラプトが入力されないようにマスキング信号を発生することを特徴とするデータ処理システム。
  5. 前記アドレスインタフェース回路は、
    前記データバスを介して入力される前記第2命令語アドレスを貯蔵するためのアドレスレジスタと、
    前記アドレスレジスタに貯蔵された前記第2命令語アドレスを留保するラッチ回路と
    を備えることを特徴とする請求項4に記載のデータ処理システム。
  6. マイクロプロセッサにおいて、
    外部から入力される命令語がノーマルアドレスモード用命令語であるか又は拡張アドレスモード用命令語であるかを識別し、制御信号を発生する制御ユニットと、
    前記制御ユニットからの出力に応じて、前記制御ユニットに入力される命令語がデータへのアクセスを行うための命令語ではない場合には、前記ノーマルアドレスモード用命令語が入力されたと識別された場合及び前記拡張アドレスモード用命令語が入力されたと識別された場合のどちらの場合においても第1命令語アドレスを発生するプログラムカウンタと、
    前記制御ユニットからの出力に応じて、前記制御ユニットに入力される命令語がデータへのアクセスを行うための命令語である場合には、前記ノーマルアドレスモード用命令語が入力されたと識別された場合及び前記拡張アドレスモード用命令語が入力されたと識別された場合のどちらの場合においても第1データアドレスを発生し、前記制御ユニットに入力される命令語がデータへのアクセスを行うための命令語ではない場合で、かつ、前記拡張アドレスモード用命令語が入力されたと識別された場合にのみ第2命令語アドレスを変更して発生し、前記制御ユニットに入力される命令語がデータへのアクセスを行うための命令語である場合で、かつ、前記拡張アドレスモード用命令語が入力されたと識別された場合にのみ第2データアドレスを変更して発生するアドレス発生器と、
    前記第1及び第2命令語アドレス転送のための第1及び第2命令語アドレスバスと、
    前記第1及び第2データアドレス転送のための第1及び第2データアドレスバスと、
    データ転送のためのデータバスと、を備え、
    前記第1命令語アドレスは前記第1命令語アドレスバスを通じて外部に伝達され、前記第1データアドレスは前記第1データアドレスバスを通じて外部に伝達され、前記第2命令語アドレスは前記第2命令語アドレスバスを通じて外部に伝達され、前記第2データアドレスは前記第2データアドレスバスを通じて外部に伝達され、
    前記ノーマルアドレスモード用命令語が前記制御ユニットに入力されたと識別された場合には、前記第2命令語アドレスは変更されずに前記第2命令語アドレスバスを通じて外部に伝達されるものであり、
    前記ノーマルアドレスモード用命令語が前記制御ユニットに入力されたと識別された場合には、前記第2データアドレスは変更されずに前記第2データアドレスバスを通じて外部に伝達されるものであり、
    前記拡張アドレスモード用命令語は、拡張する先の前記第2命令語アドレスまたは前記第2データアドレスを設定する第1マイクロ令と、拡張する先の前記第1命令語アドレスまたは前記第1データアドレスを指定して実行する第2マイクロ令とを有し、
    前記制御ユニットは、前記外部から入力される命令語が前記拡張アドレスモード用命令語であると識別したとき、前記第1マイクロ令が実行された後かつ前記第2マイクロ令が実行される前に外部インタラプトが入力されないようにマスキング信号を発生する
    ことを特徴とするマイクロプロセッサ。
  7. 前記データバスを介して前記第2命令語アドレス及び前記第2データアドレスを受け入れ外部に伝達するアドレスインタフェース回路を備えることを特徴とする請求項6に記載のマイクロプロセッサ。
  8. 前記アドレスインタフェース回路は、
    前記データバスを介して入力される前記第2命令語アドレスを貯蔵するための命令語アドレスレジスタと、
    前記命令語アドレスレジスタに貯蔵された前記第2命令語アドレスを留保する第1ラッチ回路と、
    前記データバスを介して入力される前記第2データアドレスを貯蔵するためのデータアドレスレジスタと、
    前記データアドレスレジスタに貯蔵された前記第2データアドレスを留保する第2ラッチ回路と
    を備えることを特徴とする請求項7に記載のマイクロプロセッサ。
JP2000147111A 1999-05-20 2000-05-18 マイクロプロセッサ及びデータ処理システム Expired - Fee Related JP4988082B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1999P-18342 1999-05-20
KR10-1999-0018342A KR100496856B1 (ko) 1999-05-20 1999-05-20 어드레스 확장이 가능한 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
JP2000357088A JP2000357088A (ja) 2000-12-26
JP4988082B2 true JP4988082B2 (ja) 2012-08-01

Family

ID=19586924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000147111A Expired - Fee Related JP4988082B2 (ja) 1999-05-20 2000-05-18 マイクロプロセッサ及びデータ処理システム

Country Status (3)

Country Link
US (1) US6564283B1 (ja)
JP (1) JP4988082B2 (ja)
KR (1) KR100496856B1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496856B1 (ko) * 1999-05-20 2005-06-22 삼성전자주식회사 어드레스 확장이 가능한 데이터 처리 시스템
US6754364B1 (en) * 1999-10-28 2004-06-22 Microsoft Corporation Methods and systems for fingerprinting digital data
KR100353814B1 (ko) * 2000-08-18 2002-09-27 주식회사 하이닉스반도체 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치
US20020073295A1 (en) * 2000-12-13 2002-06-13 Bowers Thomas Earl Enhanced memory addressing capability
DE10122309A1 (de) * 2001-05-08 2002-11-21 Systemonic Ag Adressgeneriereinheit
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
EP1278120A1 (de) * 2001-07-18 2003-01-22 Infineon Technologies AG Controller und Verfahren zum Ansteuern einer zentralen Verarbeitungseinheit für eine Speicheradressierung
TWI284806B (en) * 2003-02-27 2007-08-01 Mediatek Inc Method for managing external memory of a processor and chip for managing external memory
TWI243994B (en) * 2003-09-08 2005-11-21 Mediatek Inc Method and apparatus for protecting a specific memory section
US20060136608A1 (en) * 2004-12-22 2006-06-22 Gilbert Jeffrey D System and method for control registers accessed via private operations
EP2150889A1 (en) * 2007-04-10 2010-02-10 Cambridge Consultants Limited Data processing apparatus
KR100979744B1 (ko) * 2008-06-26 2010-09-02 에스디씨마이크로 주식회사 메모리 주소 확장 기능을 가지는 씨피유 메모리 결합어셈블리
WO2010004240A1 (en) 2008-07-10 2010-01-14 Cambridge Consultants Limited Data processing apparatus, for example using modes
WO2010116536A1 (en) * 2009-04-06 2010-10-14 Hitachi, Ltd. Storage subsystem and its control method
JP7284619B2 (ja) * 2019-04-08 2023-05-31 株式会社藤商事 遊技機

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51149735A (en) * 1975-06-17 1976-12-22 Fujitsu Ltd Microprocessor with program,memory and address expansion hunction
US4340932A (en) * 1978-05-17 1982-07-20 Harris Corporation Dual mapping memory expansion unit
JPS5591030A (en) * 1978-12-29 1980-07-10 Fujitsu Ltd Address extending system of microprocessor
JPS55121561A (en) * 1979-03-14 1980-09-18 Toshiba Corp Information processing system
JPS59106048A (ja) * 1982-12-09 1984-06-19 Nec Corp マイクロプロセツサシステム
JPS6250941A (ja) * 1985-08-30 1987-03-05 Hitachi Ltd マイクロコンピユ−タ装置
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
JPH01173143A (ja) * 1987-12-26 1989-07-07 Toshiba Corp メモリマネージメントユニット
KR940009821B1 (ko) * 1990-08-31 1994-10-17 금성정보통신주식회사 마이크로 프로세서의 입출력 기능을 이용한 어드레스 확장회로
KR100272622B1 (ko) * 1991-05-08 2000-11-15 가나이 쓰도무 데이타 처리장치
JPH0553920A (ja) * 1991-08-26 1993-03-05 Toshiba Corp 構造化アドレス生成装置
JPH07334420A (ja) * 1994-06-07 1995-12-22 Shinko Seisakusho Co Ltd 拡張メモリ制御回路
US5555424A (en) * 1994-10-06 1996-09-10 The Dow Chemical Company Extended Harvard architecture computer memory system with programmable variable address increment
US5680598A (en) * 1995-03-31 1997-10-21 International Business Machines Corporation Millicode extended memory addressing using operand access control register to control extended address concatenation
GB2304232A (en) * 1995-08-04 1997-03-12 Schneider Ltd Electrical switching apparatus
US6233659B1 (en) * 1998-03-05 2001-05-15 Micron Technology, Inc. Multi-port memory device with multiple modes of operation and improved expansion characteristics
KR100496856B1 (ko) * 1999-05-20 2005-06-22 삼성전자주식회사 어드레스 확장이 가능한 데이터 처리 시스템
GB2365734A (en) * 2000-08-07 2002-02-20 Argo Interactive Group Plc Allocation of labels to associated user input elements

Also Published As

Publication number Publication date
JP2000357088A (ja) 2000-12-26
KR100496856B1 (ko) 2005-06-22
US6564283B1 (en) 2003-05-13
KR20000074425A (ko) 2000-12-15

Similar Documents

Publication Publication Date Title
JP3649470B2 (ja) データ処理装置
JP4988082B2 (ja) マイクロプロセッサ及びデータ処理システム
EP0138419B1 (en) Central processing unit for a digital computer
US6230259B1 (en) Transparent extended state save
EP0405318A2 (en) Microprocessor having cash bypass signal terminal
EP0438961A2 (en) Hardware data string operation controller
US20080077911A1 (en) Using breakpoints for debugging in a RISC microprocessor architecture
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
EP0199173A2 (en) Data processing system
US5255382A (en) Program memory expander for 8051-based microcontrolled system
US6687808B2 (en) Data processor using indirect register addressing
US6014739A (en) Increasing general registers in X86 processors
KR19980069757A (ko) 마이크로프로세서 및 멀티프로세서 시스템
EP1143333B1 (en) Microprocessor for supporting reduction of program codes in size
JP3616402B2 (ja) 拡張可能なレジスタを提供するデータ処理システムおよびその方法
EP0338317B1 (en) Information processor operative both in direct mapping and in bank mapping and the method of switching the mapping schemes
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
KR100277805B1 (ko) 데이타처리장치
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
JP2002157115A (ja) データ処理装置
JPS6273333A (ja) エミュレーション制御装置
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
US6243798B1 (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
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
EP0149858A2 (en) Data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110322

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees