JP4121373B2 - 線形アドレス指定可能空間を有したハーバードアーキテクチャマイクロプロセッサ - Google Patents

線形アドレス指定可能空間を有したハーバードアーキテクチャマイクロプロセッサ Download PDF

Info

Publication number
JP4121373B2
JP4121373B2 JP2002568217A JP2002568217A JP4121373B2 JP 4121373 B2 JP4121373 B2 JP 4121373B2 JP 2002568217 A JP2002568217 A JP 2002568217A JP 2002568217 A JP2002568217 A JP 2002568217A JP 4121373 B2 JP4121373 B2 JP 4121373B2
Authority
JP
Japan
Prior art keywords
access
bus
data
memory
memory space
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
JP2002568217A
Other languages
English (en)
Other versions
JP2004528633A (ja
JP2004528633A5 (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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of JP2004528633A publication Critical patent/JP2004528633A/ja
Publication of JP2004528633A5 publication Critical patent/JP2004528633A5/ja
Application granted granted Critical
Publication of JP4121373B2 publication Critical patent/JP4121373B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Description

本発明は一般的にはマイクロプロセッサに関し、より詳細には、実行可能プログラムの命令を記憶した不揮発性メモリを使用したマイクロプロセッサ、および前記メモリを使用したデータを保存する揮発性メモリに関する。
現在、マイクロプロセッサは2つのメモリ接続アーキテクチャの中の1つを使用することができる。第1のアーキテクチャは、フォンノイマンアーキテクチャと呼ばれるもので、マイクロプロセッサは、全体として1つのアドレスとデータバスを介して複数のメモリに接続している。このため、マイクロプロセッサは、随時、1つのデータ要素か、あるいは1つの命令コードにしかアクセスすることはできない。そこでプログラム実行速度を向上するため、マイクロプロセッサは、別々のメモリに保存されている命令コードとデータ要素に同時にアクセスすることができる、ハーバードアーキテクチャと呼ばれる第2のアーキテクチャが開発された。このアーキテクチャは、1つはプログラムへのアクセス専用で、プログラムを保存したメモリに接続し、もう1つはデータへのアクセス専用で、データメモリに接続した、2つの異なるバスを有したマイクロプロセッサを備えることを必要とする。この方法では、マイクロプロセッサは、プログラムメモリから命令を読込み、同じクロックサイクルでデータメモリからの読込み動作またはデータメモリへの書き込み動作を実行することができる。
この結果、ハーバードアーキテクチャのマイクロプロセッサは同じプログラムを、フォンノイマンアーキテクチャのマイクロプロセッサより少ないクロックサイクルで実行することができる。
しかしながら、ハーバードアーキテクチャには、特に、マイクロプロセッサに接続したメモリを使用する際の柔軟性に欠点がある。
より詳細には、このアーキテクチャは、それぞれ個別のメモリ領域内に、不揮発性に保存する必要のある所定のパラメータまたは動作パラメータを含むプログラム命令および修正不可能なデータを保存する必要がある。マイクロプロセッサが1つの不揮発性メモリと1つの揮発性メモリのみに接続している場合、このアーキテクチャを使用することはできない。さらに、例えばテストの目的などのため、プログラムメモリを揮発性メモリ内に保存することができない。また、実行可能命令コードをデータとしてメモリに書き込むことによりプログラム自体を修正することもできない。
本発明の目的は、フォンノイマンアーキテクチャの手法により得られる、マイクロプロセッサによりアドレス指定可能な空間の線形性に影響を与えることなく、二重バスアーキテクチャを提供することにより上記の欠点を解消することにある。
(課題を解決するための手段)
この目的は、第1バスを介して第1メモリ空間に接続され、第2バスを介して第2メモリ空間に接続されたマイクロプロセッサを提供することにより達成され、実行可能プログラム命令アクセスバスと、データアクセスバスと、を備えた処理装置から構成され、一方の側をプログラム命令アクセスバスとデータアクセスバスに、他方の側を第1および第2バスに接続されたバスインタフェース装置を備え、インタフェースは、処理装置より送られるプログラムアクセス要求に応じてプログラムアクセスバスを第1バスまたは第2バスのいずれかに接続する第1スイッチ手段と、処理装置より送られるデータアクセス要求に応じてデータアクセスバスを第1バスまたは第2バスのいずれかに接続する第2スイッチ手段と、を備えたことを特徴とするマイクロプロセッサを提供することにより達成される。
第1スイッチ手段が第2スイッチ手段と独立しており、インタフェースがさらに、処理装置が同一のメモリ空間に対するデータアクセス要求とプログラム命令アクセス要求を同時に生成すると発生する可能性のあるアクセス競合を仲裁するアクセス制御手段を備えると有利である。
本発明の特徴によると、アクセス制御手段が、メモリ空間に対するアクセスの競合が発生した時、データアクセス要求に優先度を生成するように設計されている。
アクセス制御手段が、2つのメモリ空間のうちの1つのメモリ空間内部のプログラム命令と前記2つのメモリ空間のうちの他の1つのメモリ空間内部のデータ要素に対して同時アクセスを認めるように設計されていることが好ましい。
さらに、アクセス制御手段が、同一のメモリ空間内の命令とデータ要素にアクセスする要求を同時に生成した後に処理装置を拒否する手段を備えることが好ましい。
アクセス制御手段が、処理装置のメモリ空間へのアクセスをメモリ空間がアクセスを許可した期間だけ許可する手段を備えると有利である。
本発明のもう一つの特徴によると、マイクロプロセッサは、プログラムおよびデータアクセスバスに存在するアドレスに応じて、および処理装置により送信されたアクセス要求に応じて選択信号を生成するように設計されたプログラム命令アドレスデコーダとデータアクセスデコーダに接続し、選択信号はインタフェース装置に入力され、さらに、第1メモリ空間および第2メモリ空間それぞれのプログラム命令へのアクセス要求を示す2つの選択信号と、第1メモリ空間および第2メモリ空間それぞれのデータへのアクセス要求を示す2つの選択信号と、を有する。
マイクロプロセッサは、選択信号がそれぞれのメモリ空間のプログラム命令にアクセスする要求を示し、データ要素に対する同時アクセス要求がない場合に、第1スイッチ手段を制御してプログラムアクセスバスを第1または第2バスに接続する制御手段を備えることが好ましい。
マイクロプロセッサは、選択信号が対応するメモリ空間のデータにアクセスする要求を示す場合に、第2スイッチ手段を制御してデータアクセスバスを第1または第2バスに接続する制御手段を備えることが有利である。
本発明のさらにもう一つの特徴によると、第1メモリ空間が不揮発性メモリで、第2メモリ空間が揮発性メモリから構成される。
(発明の実施の形態)
本発明の上述の目的、機能、および長所などについて、添付の図面を参照し以下のマイクロプロセッサの非限定的な記載に基づいてより詳細に説明する。
図1に示されたマイクロプロセッサ1はハーバードアーキテクチャを有している。このため、マイクロプロセッサ1は従来の方法でプログラムアクセスインタフェースとデータアクセスインタフェースを備えた処理装置2を備えている。プログラムアクセスインタフェースは、
― 実行する命令のアドレスを提供するプログラムカウンタ出力ポートPCと、
― 命令バス入力ポートINSと、
― 命令または命令オペランドを読込む必要のある時、クロックサイクル内で使用可能となるプログラム命令要求出力NPRと、
― 命令またはオペランドをメモリから読込む時に生成される必要のある、対応するプログラム命令受取入力NPAと、を有している。データアクセスインタフェースは、
― アクセスするデータ要素のメモリアドレスを提供するアドレス出力ポートAと、
― データ入力ポートDBIと、
― データ出力ポートDBOと、
― ポートAにより提供されるアドレスが、読込みによりアクセスされるのかまたは書込みによりアクセスされるのかを示す読込みまたは書込みアクセスモード出力RWと、
― 読込みまたは書込み動作を実行する必要のある時、1クロックサイクル内で使用可能となるデータ要求出力NDRと、
― メモリによりデータアクセス動作が実行されている時に、使用可能となる必要のある、対応するデータ受取入力NDAと、を有している。
ハーバードアーキテクチャによると、マイクロプロセッサ1は、一方の側でプログラムメモリ4とプログラムメモリアドレスデコーダ6に接続し、他方の側でデータメモリ5とデータメモリアドレスデコーダ7に接続している。
プログラムメモリ4は、例えばROM、EEPROMまたはフラッシュメモリなどの不揮発性であり、データメモリ5は、例えばRAMなどの揮発性である。
処理装置2のPCポートとNPR出力は、アドレスデコーダ6に接続しており、処理装置2のアドレスポートAと出力NDRは、アドレスデコーダ7に接続している。
本発明によると、マイクロプロセッサ1は、一方の側を処理装置2に、他方の側をメモリ4、5に接続したインタフェース装置3を備えており、このインタフェース装置は、マイクロプロセッサ1によるアドレス指定可能メモリ空間への線形アクセスを確実にするように設計されている。さらに、アドレスデコーダ6、7は、プログラムおよびデータメモリ4、5への各種のアクセスモード選択信号を提供するように設計されている。
特に、プログラムメモリのアドレスデコーダ6は、プログラムメモリ4の命令またはオペランドにアクセスする要求を示す選択信号NPPSEL、およびデータメモリ5の命令またはオペランドにアクセスする要求を示す選択信号NPDSELを提供する。データメモリ5用のアドレスデコーダ7は、データメモリ5のデータの1つへのアクセスを示す選択信号NDDSEL、およびプログラムメモリ4のデータアクセスを示す選択信号NDPSELを供給する。これらの選択信号は、メモリ4または5のアドレスに対応するバスAのアドレスかまたはバスPCのアドレスかに応じてのみ、アドレスデコーダ6、7により生成される。さらに、信号NPRとNDRは使用可能な時のみ、それぞれデコーダ6、7を使用可能にする。
図1には、処理装置2の入力NPAに接続したプログラムアクセス制御装置12と、入力NDAに接続したデータアクセス制御装置13と、処理装置2とメモリ4、5の間に接続されたバス多重装置11とを備えたインタフェース装置3が示されている。この他に、処理装置2のデータ出力ポートDBOは、インタフェース装置3のそれぞれの出力DOPとDODを介してメモリ4と5のデータ入力ポートDIに同時に接続されている。
より詳細には、バス多重装置11は処理装置のポートPC、A、DBI、INS、および出力RWに接続されている。それは、それぞれメモリ4、5に接続する同一の2つの接続インタフェースを有している。上述のインタフェースはそれぞれ、メモリ4、5のアドレス入力ポートADに接続される出力ポートAP、ADと、メモリ4、5のデータ出力ポートDOに接続されるデータ入力ポートDIP、DIDと、メモリの対応する入力RWに接続されるアクセスモード出力RWP、RWDと、メモリ4、5の対応する入力CDNに接続されるコンポーネント選択出力RWと、を有している。
さらに、4つの選択信号、NPPSEL、NPDSEL、NDDSEL、およびNDPSELは、バス多重装置11とプログラムアクセス制御装置12に入力され、データメモリ5のアクセスに関係するデータメモリ信号NDDSELとNDPSELのみがデータアクセス制御装置13に入力される。さらに、アクセス制御装置12、13にはそれぞれ信号NPRとNDRが処理装置2から供給される。
上述の信号が、例えば、低レベル(0論理レベル)時にすべて使用可能の場合について説明する。
図2に示されるように、多重装置11は、4つの選択信号NPPSEL、NPDSEL、NDDSEL、およびNDPSELを受け取り、2つのコンポーネント選択信号NCSP、NCSDと、2つの制御信号CMD25、CMD26を2つの入力0および1と1つの出力を有する2つの多重装置25、26に出力するバス制御装置21を備えている。これらの多重装置25、26は両方とも、処理装置2のポートPCとAからアドレスを受け取り、それぞれの制御信号CMD25、CMD26の値に応じて、バス多重装置11のアドレス出力ポートAP、ADにポートPCまたはポートAからアドレスを与える。
プログラムメモリ内のデータ要素またはデータメモリ内の命令を示す選択信号NPDSELおよびNDPSELは、制御信号としてそれぞれ、多重装置11の入力ポートDIPおよびDIDからメモリ4、5で読込まれたデータが与えられる2つの多重装置23、24に送られる。これらの多重装置の出力はそれぞれ、バス多重装置11の出力ポートINSおよびDBOに接続されており、プログラムメモリ4またはデータメモリ5から入力されたデータをこれらのポートに導くようになっている。このようにして、プログラムメモリ内のメモリにアクセスする場合(NDPSEL=0)、プログラムメモリのデータ出力DOに接続されたポートDIPは、多重装置11のデータ出力ポートDBOに接続される。他のアクセスタイプとして、多重装置11のデータ出力ポートDBOに接続されたポートDIDがある。同様に、データメモリ4の命令にアクセスする場合(NPDSEL=0)、多重装置11のポートDIDはその命令出力ポートINSに接続される。この反対の場合は、出力ポートINSに結合された多重装置11のポートDIPがそれとなる。
さらに、バス多重装置11は、プログラムメモリまたはデータメモリ内のデータアクセスに関連する選択信号NDPSELおよびNDDSELに応じて、出力RWPを介して処理装置2からの信号RWをプログラムメモリ4へ、または出力RWDを介してデータメモリ5へ導く信号多重分離装置27を備えている。
図3に示されるように、バス制御装置21は、例えば3つのANDゲート31、32、33を備えている。ゲート31は、選択信号NPPSELとNDPSELを受け取り、信号NCSPを出力する。同様に、ゲート32は、選択信号NPDSELとNDDSELを受け取り、信号NCSDを出力する。このようにして、信号NCSPとNCSDは、選択信号に以下の関係式により関係付けられることになる。
NCSD = NPDSEL AND NDDSEL および
NCSP = NPPSEL AND NDPSEL (1)
第3ANDゲート33は、選択信号NPDSELが与えられる反転入力と、選択信号NDDSELが与えられる順方向入力を有し、図2に示される多重装置26に制御信号CMD26を出力する。これにより、選択信号NDDSELとNPDSELが以下の条件を満たした場合、多重装置26の入力1、すなわちバスPCが選択され、データメモリ5にアクセスするアドレスが定義される。
NPDSEL = 0 AND NDDSEL = 1
この反対の場合は、バスAがデータメモリ5のアドレスポートADに接続される。
また、回路21は、多重装置25へ制御信号CMD25を提供する。この制御信号は信号NDPSELに対応し、信号NDPSEL = 1の場合はデータメモリ5のアドレスポートADをアドレスバスAに接続し、そうでない場合はバスPCに接続する。
図4に、一つの実施の形態の信号多重回路27を示す。この回路は、2つの入力0、1を有する2つの多重装置36と37を備え、入力0は、処理装置2から信号RWを受け取り、入力1はそれぞれ、選択信号NDPSELおよびNDDSELを受け取る。それぞれの多重装置36、37の制御入力はさらに入力1にフィードバックされる。このため、信号NDPSEL = 0の場合、信号RWは入力としてインタフェース11の出力TWP、すなわちプログラムメモリの入力RWへ送られ、信号NDDSEL = 0の場合、インタフェース11の出力RWP、すなわちデータメモリ5の入力RWへ送られる。この反対の場合は出力RWPおよびRWDは強制的に1となる。
図5aは、第1の実施の形態のプログラムアクセス制御装置12を示している。この図で、アクセス制御装置12は、反転入力を有した2つのANDゲート45、46を備えている。第1ゲート45には選択信号NDDSELとNPDSELが送られ、第2ゲート46には選択信号NDPSELとNPPSELが送られる。この2つのゲートは、その出力側が2つの入力0、1を有した多重装置48の制御入力と入力1に接続したORゲート47に接続しており、多重装置の出力側は、処理装置2に入力される信号NPAを送り出し、多重装置の入力0は処理装置から信号NPRを受け取る。このため、以下の条件が満たされた場合(処理装置のプログラムへのアクセスが不可の場合)、信号NPAは1に設定される。そうでない場合は信号NPRと等しくなる。
(NDPSEL = 0 AND NPPSEL = 0) または
(NDPSEL = 0 AND NPDSEL = 0) (3)
図5bは、プログラムメモリ4がアクセス要求肯定信号NPMAを与えるACKNを出力した場合に使用することができる第2の実施の形態のアクセス制御装置12を示している。それがhigh状態の場合、この信号はメモリアクセスがなされていないことを示す。
肯定信号NPMAが存在する場合、アクセス制御装置12に入力される。この図に示される回路は、多重装置48の入力0と信号NPRの入力の間に2つの入力0、1を有した第2多重装置49を備えた点を除いて、図5aに示された回路に対応しており、信号NPRはその入力0に印加されている。さらに、多重装置49は選択信号NPPSELにより制御される。
このようにして、(3)の条件が満たされない場合、選択信号NPPSELが0ならばアクセス制御装置12は信号NPMAを出力し、そうでなければ信号NPRを出力する。
図5cは、データメモリ5だけが肯定信号NDMAに関する出力ACKNを有した場合に使用することができる第3の実施の形態のアクセス制御装置12を示している。この場合、肯定信号はアクセス制御装置12に入力される。この図に示される回路は、信号NPMAではなく信号NDMAが多重装置49の入力0に印加され、多重装置49が信号NPPSELではなく選択信号NPDSELにより制御される点を除いて、図5bに示された回路に対応している。
このようにして、(3)の条件が満たされない場合には、選択信号NPDSELが0ならばアクセス制御装置12は信号NDMAを出力し、そうでなければ信号NPRを出力する。
図5dは、メモリ4、5が両方ともそれぞれ肯定信号NDMA、NPMAに関する出力ACKNを有した場合に使用することができる第4の実施の形態のアクセス制御装置12を示している。この場合、アクセス制御装置12に2つの肯定信号が入力される。この図に示される回路は、多重装置49の入力1と信号NPRの入力の間に2つの入力0、1を有した第3多重装置50を備え、信号NPRは第3多重装置50の入力1に接続し、第3多重装置50の入力0には信号NPMAが、制御入力には信号NPPSELが送られる点を除いて、図5cに示された回路に対応している。
このようにして、(3)の条件が満たされない場合には、アクセス制御装置12は、選択信号NPPSELが0ならば信号NPMAを出力し、選択信号NPDSELが0ならば信号NDMAを出力し、そうでなければ信号NPRを出力する。
メモリ4および5が信号NPMAおよびNDMAを送信しない場合、制御装置13は処理装置2の入力NDAに信号NDRを後者から送出する。
プログラムメモリ4だけが信号NPMAを送出する場合、選択信号NDDSEL=0ならば、入力NDAは信号NPMAを受け取り、そうでなければ信号NDRを受け取る。この機能は、その入力0に信号NPMAを、その入力1に信号NDRを、その制御信号に信号NDDSELを与えた信号分離装置により実行することができる。
同様に、データメモリ5が信号NDMAを送出する場合、選択信号NDPSEL = 0ならば、入力NDAには信号NDMAが与えられ、そうでない場合は信号NDRが与えられる。
信号NPMAとNDMAが両方とも使用可能な場合は、図6に示す方法でアクセス制御装置13を実行することができる。この図では、制御装置13は、2つの入力0、1を有した2つの多重装置61と62を備えている。多重装置61はその入力0で信号NPMAを、その入力1で信号NDRを、その制御入力で信号NDPSELを受け取る。多重装置61の出力は第2多重装置62の入力1に接続しており、第2多重装置62の入力0には信号NDMAが、制御信号入力には信号NDDSELが与えられ、その出力は信号NDAを送出し、処理装置2に入力される。
このようにして、信号NDAは、NDDSEL=0の場合はNDMAと等価となり、NDPSEL=0の場合はNPMAと等価となり、そうでない場合はNDRとなる。
図7は、マイクロプロセッサ1からのクロック信号CKに応じて同期して上記の各種の信号に対するインタフェース装置3の動作をタイミング図により示している。これらの信号は論理レベルが0の時に実行可能状態となる。
この図で示されるフェーズ71は、データメモリ4への拡張アクセスに対応する。このアクセスは、待機サイクルWで表される2つのクロックサイクルの間の実行可能ステートで処理装置2が信号NDRを送出することにより発生する。この場合、アドレスデコーダにより生成される信号NDDSELは信号NDRに対応し、メモリ5により生成される信号NDMAは、信号NDRが実行可能な第2サイクルの間のみ実行可能となる。この結果、フェーズ71の間、信号NDAは、メモリ5へのアクセスが発生する第2クロックサイクルの間のみ実行可能となる。
フェーズ72は、メモリ4、5への標準的な同時アクセスの場合を示す。ここで、データメモリ5のデータ要素にアクセスされ、命令またはオペランドはプログラムメモリ4から読み取られるものとする。この場合、処理装置はアクセス要求を両方のメモリに送信する(NPRおよびNDRは実行可能)。これに応答し、アドレスデコーダ6、7が、アクセスするメモリアドレスに基づいて、選択信号NPPSELとNDDSELを実行可能にする。この結果、バスコントローラ21は、信号NCSPとNCSDにより、メモリ4、5を使用可能にする。信号NDMAとNPMAは実行可能となり、アクセス制御装置12が信号NPMAを処理装置2の入力NPAに送信すると、処理装置2はプログラムメモリ4から命令またはオペランドを読込めるようになる。この間、アクセス制御装置13は信号NPMAを処理装置2の入力NDAに送信し、処理装置2はプログラムメモリ4のデータへのアクセスを許可される。
このフェーズは、プログラムメモリ4から命令を、データメモリ5からデータ要素を読み出す1つのクロックサイクルの間、処理装置2がメモリ4と5に同時にアクセスすることが可能であることを示している。
フェーズ73の間、処理装置2は、プログラムメモリ4にアクセスをしてデータにアクセスする。このため、出力NDRを実行可能にする。これに応答して、アクセスするメモリアドレスにより、アドレスデコーダ7は、選択信号NDPSELを実行可能にする。この結果、バスコントローラ21は、信号NCSPによりメモリ4を使用可能にする。次に、信号NPMAは実行可能になり、アクセス制御装置12は信号NDMAを処理装置2の入力NPAに送出し、処理装置2はプログラムメモリ4のデータへのアクセスを許可される。
フェーズ74の間、処理装置2はデータメモリ5にアクセスをしてプログラム命令またはオペランドを読込む。このため、出力NPRを実行可能にする。これに応答して、アクセスするメモリアドレスにより、アドレスデコーダ6は、選択信号NPDSELを実行可能にする。この結果、バスコントローラ21は信号NCSDによりメモリ5を使用可能にする。次に、信号NDMAは実行可能になり、アクセス制御装置2は信号NDMAを処理装置2の入力NPAに送出し、処理装置2はデータメモリ5から命令を読込むことを許可される。
前の2つのフェーズでは、メモリアクセスの競合が発生しなかったため、処理装置は1つのクロックサイクル内でアクセスを実行することができる。この結果、従来のハーバードアーキテクチャとは反対に、処理サイクルを追加する必要なく、マイクロプロセッサによりアドレス指定可能なメモリ空間全体から、データとプログラムをアクセス可能となる。
フェーズ75は、フェーズ72とは反対に、処理装置がプログラムメモリ4へのデータアクセス要求と、データメモリ5からの命令またはオペランド読込要求を同時に行った場合を示している。信号NPRとNDRは同時に実行可能となる。この場合、アクセスデコーダ6、7は信号NDPSELとNPDSELを実行可能にする。この結果、バスコントローラ21はメモリ4、5を信号NCSPとNCSDにより使用可能にする。次に、信号NDMAとNPMAも実行可能となり、アクセス書魚装置12は信号NDMAを処理装置2の入力NPAに送出し、処理装置2はデータメモリ5から命令またはオペランドを読込めるようになる。この間、アクセス制御装置13は信号NPMAを処理装置2の入力NDAに送信し、処理装置2はプログラムメモリ4のデータへのアクセスを許可される。
このフェーズは、この場合でも、1つのクロックサイクル(信号NPAとNDAが同時に実行可能)内で、メモリ4、5両方への同時アクセスが、競合せずに実行可能であることを示している。これは、以前のアーキテクチャではなかったケースである。
フェーズ76の間、処理装置2は、命令またはオペランド、とデータ要素の両方を読込むために、プログラムメモリ4へのアクセスを試行している。したがって、信号NPRとNDRは同時に実行可能となる。この結果、信号NDPSELとNPPSELも同時に実行可能となり、バスコントローラ21からの信号NCSPも
も、従ってプログラムメモリ4からの信号NPMAも同様となる。信号NDRとNPRが実行可能となる第1クロックサイクルの間、入力NDAには信号NPMAが入力され(NDPSEL=0)、信号NPAは強制的に1となる(実行不可)。この結果、プログラムメモリ内のデータへのアクセスが実行され、命令の読み出しは拒否され、その結果、命令の読み出しは待機サイクルWになる。データアクセスサイクルが終了すると、信号NDRは再び実行不可となり、信号NDPSELとNDAも再び実行不可となる。この場合、信号NDRは制御装置13により入力NDAに送られる。この結果、第2クロックサイクルの間、信号NPAは実行可能(=NPMA)となり、プログラムメモリ4で実行する要求された命令読み出し動作は許可される。
フェーズ77は、データ要素のアクセスと命令読込みのためのデータメモリ5へのアクセスが同時に発生した場合を示している。ここでも、信号NPRとNDRは処理装置2により同時に実行可能となる。この結果、信号NDDSELとNPDSELもまた、同時に実行可能となり、バスコントローラ21からの信号NCSDも、従ってデータメモリ5からの信号NDMAも同様となる。信号NDRとNPRが実行可能となる第1クロックサイクルの間、入力NDAには信号NPMAが入力され(NDPSEL=0)、信号NPAは強制的に1となる(実行不可)。この結果、プログラムメモリ内のデータへのアクセスが実行され、命令の読み出しは拒否され、待機サイクルWが開始する。データアクセスサイクルが終了すると、信号NDRは再び実行不可となり、信号NDPSELとNDAも再び実行不可となる。第2クロックサイクルの間、信号NPAは実行可能(=NPMA)となり、データメモリ5で実行する要求された命令読み出し動作は許可される。
したがって、プログラムメモリまたはデータメモリのいずれかの同じメモリに対する2つの同時要求は、2つのクロックサイクルの間に実行される。前回に読込まれた命令を実行したデータへのアクセス結果による、マイクロプロセッサの動作モードに応じて、データアクセスが最初に行われることに注意する必要がある。このため、次の命令を読み出す前に、前回の命令の実行を完了しておくことが好ましい。
比較的簡単な論理回路により使用可能なインタフェース装置により、本発明は、プログラムとデータのどちらへのアクセスも可能にし、後者は、処理装置によりそれぞれ2つのバスを介して同時にアクセス可能な2つのメモリ空間を任意の方法で分配することができる。
プログラムメモリとデータメモリに接続された、本発明に係るマイクロプロセッサのアーキテクチャを示す概略図である。 図1に示されたアーキテクチャを有した部品の回路図である。 図2に示された回路の1部の図である。 図2に示された回路の1部の図である。 図1に示されたアーキテクチャを有した別の実施の形態の部品の回路を示す図である。 図1に示されたアーキテクチャを有した別の実施の形態の部品の回路を示す図である。 図1に示されたアーキテクチャを有した別の実施の形態の部品の回路を示す図である。 図1に示されたアーキテクチャを有した別の実施の形態の部品の回路を示す図である。 図1に示されたアーキテクチャを有した部品の回路図である。 図1に示されたアーキテクチャで使用される各種信号をタイミング図で示す図である。

Claims (10)

  1. 第1バス(AP、DIP、DOP、RWP)を介して第1メモリ空間(4)と、第2バス(AD、DID、DOD、RWD)を介して第2メモリ空間(5)とに接続されるマイクロプロセッサにおいて、
    実行可能プログラム命令アクセスバス(PC、INS)とデータアクセスバス(A、DBO、DBI、RW)を備えた処理装置(2)と、
    一方の側で前記実行可能プログラム命令アクセスバス(PC、INS)と前記データアクセスバス(A、DBO、DBI、RW)に、他方の側で前記第1バス(AP、DIP、DOP、RWP)と前記第2バス(AD、DID、DOD、RWD)とに接続されたバスインタフェース装置(3)とを備え、
    前記バスインタフェース装置(3)が、
    前記処理装置(2)より送られるプログラムアクセス要求(NPR)に応じて前記第1バスまたは前記第2バスのいずれかに前記プログラムアクセスバスを接続する第1スイッチ手段(23、25、26、27)と、
    前記処理装置より送られるデータアクセス要求(NDR)に応じて前記第1バスまたは前記第2バスのいずれかに前記データアクセスバスを接続する第2スイッチ手段(24、25、26、27)と、
    前記処理装置(2)が同一のメモリ空間に対するデータアクセス要求とプログラム命令アクセス要求を同時に送信するときに発生するアクセス競合を仲裁するアクセス制御手段(12、13)と、を備え、
    前記バスインタフェース装置(3)は、前記第1メモリ空間(4)および前記第2メモリ空間(5)それぞれのプログラム命令へのアクセス要求を示す2つの選択信号(NPPSEL、NPDSEL)と、前記第1メモリ空間(4)および前記第2メモリ空間(5)それぞれのデータ要素へのアクセス要求を示す2つの選択信号(NDPSEL、NDDSEL)とを含む選択信号(NPPSEL、NPDSEL、NDPSEL、NDDSEL)で制御されることを特徴とするマイクロプロセッサ。
  2. 前記第1スイッチ手段(23、25、26、27)と前記第2スイッチ手段(24、25、26、27)とは独立していることを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記アクセス制御手段(12、13)が、メモリ空間(4、5)に対するアクセスの競合が発生した時、データアクセス要求に優先度を生成するように設計されていることを特徴とする請求項2に記載のマイクロプロセッサ。
  4. 前記アクセス制御手段(12、13)が、2つのメモリ空間(4、5)のうちの1つのメモリ空間内部のプログラム命令と前記2つのメモリ空間(4、5)のうちの他の1つのメモリ空間内部のデータ要素に対して同時アクセスを認めるように設計されていることを特徴とする請求項2または請求項3に記載のマイクロプロセッサ。
  5. 前記アクセス制御手段(12、13)が、前記処理装置(2)が前記メモリ空間(4、5)内の一つに対するプログラム命令アクセス要求とデータアクセス要求を同時に送信するときに前記処理装置(2)がプログラム命令にアクセスするのを防止する手段(45、46、47、48)を備えたことを特徴とする請求項2から請求項4までの何れかに記載のマイクロプロセッサ。
  6. 前記アクセス制御手段(12、13)が、前記メモリ空間がアクセスを許可している期間だけ前記処理装置(2)のメモリ空間(4、5)へのアクセスを許可する手段(49、50、61、62)を備えたことを特徴とする請求項2から請求項5までの何れかに記載のマイクロプロセッサ。
  7. 前記プログラム命令アクセスバス(PC、INS)とデータアクセスバス(A、DBO、DBI、RW)に存在するアドレスに応じて、および前記処理装置(2)により送信されたアクセス要求(NPR、NDR)に応じて前記選択信号(NPPSEL、NPDSEL、NDPSEL、NDDSEL)を生成するように設計されたプログラム命令アドレスデコーダ(6)とデータアクセスデコーダ(7)とに接続されることを特徴とする請求項2から請求項6までの何れかに記載のマイクロプロセッサ。
  8. 前記選択信号(NPPSEL、NPDSEL、NDPSEL、NDDSEL)がそれぞれのメモリ空間(4、5)のプログラム命令にアクセスする要求を示し、データ要素に対する同時アクセス要求がない場合に、前記第1スイッチ手段(23、25、26、27)を制御して前記プログラムアクセスバス(PC、INS)を前記第1または第2バスに接続する制御手段を備えたことを特徴とする請求項1から請求項7までの何れかに記載のマイクロプロセッサ。
  9. 前記選択信号(NPPSEL、NPDSEL、NDPSEL、NDDSEL)が対応するメモリ空間(4、5)のデータ要素にアクセスする要求を示す場合に、前記第2スイッチ手段(24、25、26、27)を制御してデータアクセスバス(A、DBO、DBI、RW)を前記第1または第2バスに接続する制御手段を備えたことを特徴とする請求項1から請求項8までの何れかに記載のマイクロプロセッサ。
  10. 前記第1メモリ空間(4)が不揮発性メモリで、前記第2メモリ空間(5)が揮発性メモリから構成されることを特徴とする請求項1から請求項9までのいずれかに記載のマイクロプロセッサ。
JP2002568217A 2001-02-28 2002-02-14 線形アドレス指定可能空間を有したハーバードアーキテクチャマイクロプロセッサ Expired - Fee Related JP4121373B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0102701A FR2821456B1 (fr) 2001-02-28 2001-02-28 Microprocesseur a architecture harvard ayant un espace adreassable lineaire
PCT/FR2002/000556 WO2002069163A1 (fr) 2001-02-28 2002-02-14 Microprocesseur a architecture harvard ayant un espace adressable lineaire

Publications (3)

Publication Number Publication Date
JP2004528633A JP2004528633A (ja) 2004-09-16
JP2004528633A5 JP2004528633A5 (ja) 2005-12-22
JP4121373B2 true JP4121373B2 (ja) 2008-07-23

Family

ID=8860535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002568217A Expired - Fee Related JP4121373B2 (ja) 2001-02-28 2002-02-14 線形アドレス指定可能空間を有したハーバードアーキテクチャマイクロプロセッサ

Country Status (5)

Country Link
US (1) US7120760B2 (ja)
EP (1) EP1364294A1 (ja)
JP (1) JP4121373B2 (ja)
FR (1) FR2821456B1 (ja)
WO (1) WO2002069163A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
CN113595844B (zh) * 2021-08-03 2022-07-08 北京国科天迅科技有限公司 一种数据交互的方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3323824A1 (de) * 1983-07-01 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
US5416914A (en) * 1991-08-09 1995-05-16 Storage Technology Corporation Management of removable media for multiple device types
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
US5577230A (en) 1994-08-10 1996-11-19 At&T Corp. Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
US6154817A (en) * 1996-12-16 2000-11-28 Cheyenne Software International Sales Corp. Device and method for managing storage media
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
JP3943277B2 (ja) * 1999-03-23 2007-07-11 セイコーエプソン株式会社 マイクロコンピュータ及び電子機器

Also Published As

Publication number Publication date
US7120760B2 (en) 2006-10-10
JP2004528633A (ja) 2004-09-16
FR2821456A1 (fr) 2002-08-30
US20040073762A1 (en) 2004-04-15
EP1364294A1 (fr) 2003-11-26
FR2821456B1 (fr) 2003-06-20
WO2002069163A1 (fr) 2002-09-06

Similar Documents

Publication Publication Date Title
CA2018503C (en) Read/write random access memory with data prefetch
EP0812438B1 (en) A method and apparatus for controlling linear and toggle mode burst access sequences using toggle mode increment logic
US20050169061A1 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
KR100341948B1 (ko) 제어된버스트메모리액세스기능을갖는데이타처리기및그방법
JP2004118826A (ja) フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
US20080034132A1 (en) Memory interface for controlling burst memory access, and method for controlling the same
US20150324310A1 (en) Bus connection circuit, semiconductor device and operation method of bus connection circuit for making procedure for switching between a 1-cycle transfer and a 2-cycle transfer unnecessary
US7058779B1 (en) Computer system initialization via boot code stored in a non-volatile memory having an interface compatible with synchronous dynamic random access memory
US5119487A (en) Dma controller having programmable logic array for outputting control information required during a next transfer cycle during one transfer cycle
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
KR100241514B1 (ko) 마이크로 컴퓨터
JP2007299227A (ja) 情報処理装置及び情報処理装置のブート方法
JP4121373B2 (ja) 線形アドレス指定可能空間を有したハーバードアーキテクチャマイクロプロセッサ
US6725346B1 (en) Method and apparatus for overlaying memory in a data processing system
US6292853B1 (en) DMA controller adapted for transferring data in two-dimensional mapped address space
US5317750A (en) Microcontroller peripheral expansion bus for access to internal special function registers
US20050268069A1 (en) Microcomputer with built-in electrically rewritable nonvolatile memory
KR100321745B1 (ko) 외부메모리액세스를위한마이크로컨트롤러유닛
US5345570A (en) Microprogram control circuit
US7047444B2 (en) Address selection for testing of a microprocessor
US5978897A (en) Sequence operation processor employing multi-port RAMs for simultaneously reading and writing
JP2680828B2 (ja) ディジタル装置
JP2004078396A (ja) メモリ装置
US5793991A (en) Method of equalizing loads on a computer bus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080116

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080428

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees