JP3954159B2 - 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 - Google Patents
同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 Download PDFInfo
- Publication number
- JP3954159B2 JP3954159B2 JP15319597A JP15319597A JP3954159B2 JP 3954159 B2 JP3954159 B2 JP 3954159B2 JP 15319597 A JP15319597 A JP 15319597A JP 15319597 A JP15319597 A JP 15319597A JP 3954159 B2 JP3954159 B2 JP 3954159B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- read
- synchronous ram
- write
- 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 - Lifetime
Links
Images
Landscapes
- Advance Control (AREA)
- Static Random-Access Memory (AREA)
Description
【発明の属する技術分野】
本発明は、シングルポート及びデュアルポート同期式RAMのアクセス制御回路、データ処理プロセッサ及びその制御方法に関する。
【0002】
【従来の技術】
クロック信号に同期したタイミングでデータの書き込み及び読み出しが行われる同期式RAMが知られている。同期式RAMのアクセス基本波形は、図8に示すようにライトサイクルでは、ライト信号がイネーブル(ローレベル)となり、1サイクルの間にアドレスとデータが入力されてデータの書き込みが行われる。リードサイクルでは、1クロック目に読み出しアドレスが入力され、次の2クロック目にデータが読み出される。つまり、ライトサイクルは1サイクル、リードサイクルは2サイクルのアクセス時間がかかる。
【0003】
図9は、シングルポート同期式RAM15の入出力ポートを示す図であり、図10はその基本波形を示す図である。シングルポート同期式RAM15は、クロック入力端子CLKと、アドレス入力端子AD、ライト信号入力端子*WT、データ入力端子DI及びデータ出力端子DOを備えている。
【0004】
先ず、ライトサイクルではアドレス入力”X’10”が与えられ、同一サイクルにデータ入力として”X’1000”が与えられる。ライトサイクルとリードサイクルとが連続した場合、ライトサイクルの次のサイクルでは、読み出しアドレス”X’20”が出力されても、このときデータは同期式RAM15から出力されず、その次のサイクルでデータ”X’2000”が出力される。つまり、ライトサイクルの次のサイクルでリードアドレスが指定されても、同期式RAM15の出力データは不定となり、その次のサイクルでデータが確定する。従ってライトサイクルに1クロック、リードサイクルに2クロックのアクセス時間がかかる。
【0005】
次に、図11は、シングルポート同期式RAM15を使用した従来のパイプライン制御方式のデータ処理プロセッサ10のブロック図である。
命令制御部11は、読み出した命令を格納するインストラクションレジスタIRG(instruction register) 12と、その格納された命令をデコードして命令解釈を行う命令デコード13と、デコード13で解釈された命令を格納及び実行するパイプラインレジスタPLR(pipeline register)14とからなる。
【0006】
パイプラインレジスタPLR14は、アドレスデータとライト信号を同期式RAM15に出力し、リード信号とライト信号をデータ処理部16へ出力し、さらに演算部17における演算を指示する命令制御信号を出力する。演算部17は、ACC(accumulator)18とALU(arithmetic logic unit)19とからなる。ALU19は、命令制御信号に従ってACC18のデータとデータ処理部16から出力されるデータに対して演算を行い、演算結果をACC18に出力する。また、ACC18に格納されたデータは、データ処理部16を介して同期式RAM15に書き込まれる。
【0007】
次に、図11のデータ処理プロセッサ10において、同期式RAM15から読み出したデータとACC18のデータとの加算と、その加算結果を同期式RAM15へ書き込む2つの演算を行う場合について、図12の命令実行タイミングチャートを参照して説明する。
【0008】
先ず、サイクルaで同期式RAM15からアドレス”X’10”のデータをリードして、そのデータとACC18のデータとを加算する命令がインストラクションレジスタIRG12に取り込まれ、同じサイクルで命令デコード13により命令がデコードされる。次のサイクルbで、デコード結果がパイプラインレジスタPLR14に格納され、その命令が実行される。しかしながら、リードアドレスが与えられて同期式RAM15から実際にデータが出力されるのは次のサイクルであり、データの読み出しに2サイクル必要であるので、パイプラインレジスタPLR14に格納されている命令はWAIT制御信号により1サイクルウエイトされる。そして、次のサイクルcで、同期式RAM15のアドレス”X’10”から読み出されるデータ”X’200”とACC18に格納されているデータ”X’100”との加算が行われる。
【0009】
次のサイクルdでライトイネーブル信号が出力されると、RAM15のアドレス”X’20”にACC18に格納されている加算結果のデータ”X’300”が書き込まれる。
【0010】
上述したデータ処理プロセッサ10では、同期式RAM15からデータを読み出す処理が2サイクルのアクセス時間を必要とし、ACC18の格納データをRAM15に書き込む処理が1サイクルのアクセス時間を必要とするので合計で3サイクルのアクセス時間が必要であった。
【0011】
次にデュアルポート同期式RAM21における基本動作を図13及び図14を参照して説明する。デュアルポート同期式RAM21は、図13に示すようにA系ポートのアドレス入力端子ADA、データ入力端子DI、ライト信号入力端子WT、データ出力端子DOA、B系ポートのアドレス入力端子ADB、データ出力端子DOBからなり、A系ポートはリード/ライトポート、B系ポートはリード専用ポートである。
【0012】
図14の▲1▼に示すように同一サイクルにA系ポート、B系ポートの同じアドレスに対してリード動作を行う場合には、A系ポート、B系ポートとも支障なくアクセスできる。また、同図▲2▼に示すように同一サイクルで異なるアドレスに対してA系ポートがライト動作で、B系ポートがリード動作の場合も両ポートとも支障無くアクセスできる。しかしながら、同図▲3▼に示すように同一サイクルで同一アドレスに対してA系ポートがライト動作で、B系ポートがリード動作を行う場合、B系ポートの出力データが不定となる。
【0013】
従って、図14の▲3▼のようなアクセスが発生しないようにA系ポートとB系ポートのアクセスを排他制御するためのソフトウェア処理、あるいはハードウェア回路が必要となり、処理時間の増大、あるいはハードウェア回路の複雑化を生じさせるという問題点があった。
【0014】
次に、上記のデュアルポート同期式RAM21をデータ処理プロセッサのワークレジスタとして使用した場合について図15及び図16を参照して説明する。A系ポートをソースレジスタ及びディストネーションレジスタ、B系ポートをソースレジスタとして使用して、▲1▼A系ポートのソースレジスタからデータを読み込み、▲2▼B系ポートのソースレジスタからデータを読み込み、▲3▼それらを加算してA系ポートのディストネーションレジスタに書き込む命令と、▲4▼A系ポートのソースレジスタからデータを読み出し、▲5▼B系ポートのソースレジスタからデータを読み出し、▲6▼それらを加算してA系ポートのディストネーションレジスタに書き込む命令の2つの命令を実行する場合について説明する。
【0015】
デュアルポート同期式RAM21では、1つのポートに対してライトサイクルとリードサイクルを連続して行うことができないので、▲3▼のA系ポートへの書き込みサイクルの次に▲4▼のA系ポートからのデータの読み出しを行うことができない。
【0016】
従って▲1▼+▲2▼=▲3▼と、▲4▼+▲5▼=▲6▼の2つの命令を連続して実行することができないので、従来、プログラムを作成する際に、▲1▼+▲2▼=▲3▼の命令の次に”NOP”を記述して、図16に示すように無処理の期間を設ける必要があった。
【0017】
【発明が解決しようとする課題】
上述したようにシングルポート同期式RAMにおいて、データのリードサイクルが2クロックかかるので、同期式RAMのアクセス時間が長くなるという問題点があった。
【0018】
また、デュアルポート同期式RAMにおいて、アクセスの競合を避けるために排他制御を行う必要があり、そのためにソフトウェア、あるいはハードウェアによるインタロックが必要であり、プログラム及び演算処理時間の増加、あるいは回路規模が増大するという問題点があった。
【0019】
さらに、デュアルポート同期式RAMをワークレジスタとして使用した場合に、1つのポートに対するライトサイクルとリードサイクルを連続して処理できないので、”NOP”等をライトサイクルの次に挿入する必要があり、プログラム量が増え、処理時間が長くなるという問題点があった。
【0020】
本発明の課題は、同期式RAMにおいて、データの読み出しを1クロックで行えるようにすることである。
本発明の他の課題は、デュアルポート同期式RAMにおいて、同一サイクルでライトアドレスとリードアドレスが一致する場合でもデータの読み出しが行えるようにすることである。
【0021】
さらに他の課題は、デュアルポート同期式RAMに対してライトサイクルとリードサイクルを連続して実行できるようにすることである。
【0022】
【課題を解決するための手段】
本発明は、同期式RAMに対するデータのリード及びライトアクセスを制御するアクセス制御回路において、同期式RAMに対するリード及びライトアクセスを行う命令実行部でライト命令を実行する時には、命令実行部から出力されるアドレスをライトアドレスとして同期式RAMに出力し、命令実行部でリード命令を実行する時には、リード命令の実行より1サイクル前に、該リード命令の対象であるリードアドレスを前記同期式RAMに出力することを特徴とする。
【0023】
本発明によれば、リードサイクルでアドレスが出力される従来のタイミングの1サイクル前にリードアドレスが同期式RAMに出力され、その次のサイクルにそのアドレスのデータが読み出されるので、リードサイクルを1サイクルで完了することができ、同期式RAMのアクセス時間を短縮できる。
【0027】
【発明の実施の形態】
以下、本発明を図面を参照して説明する。図1は、本発明の第1の実施の形態のパイプライン制御方式のデータ処理プロセッサ30のブロック図である。このデータ処理プロセッサ30と、図11の従来のデータ処理プロセッサ10で共通するブロックには、同一の符号を付けてそれらの説明は省略する。
【0028】
セレクタ(選択回路)31には、パイプラインレジスタPLR(pipline register)14の入力アドレスと出力アドレスとが入力され、その制御端子にシングルポート同期式RAM15のライト信号が入力されている。
【0029】
セレクタ31は、ライト信号がディセーブル(ローレベル)のとき、つまりリードサイクルのときに、パイプラインレジスタPLR14に入力されるアドレスを選択してシングルポート同期式RAM15に出力し、ライト信号がイネーブルのとき、パイプラインレジスタPLR14の出力アドレスをシングルポート同期式RAM15に出力する。
【0030】
すなわち、リード命令がパイプラインレジスタPLR14に格納されて実行される1サイクル前に、パイプラインレジスタPLR14に入力されるリードアドレスがセレクタ31で選択されてシングルポート同期式RAM15に供給される。従って、パイプラインレジスタPLR14に格納されている命令が実行される1サイクル前にシングルポート同期式RAM15にリードアドレスが出力され、次のサイクルにそのアドレスのデータが読み出されるので、リードサイクルを含む命令が1サイクルで完了する。
【0031】
また、ライトサイクルの場合には、パイプラインレジスタPLR14に格納されているライト命令が実行されるのと同一サイクルに、パイプラインレジスタPLR14から出力されるライトアドレスが、セレクタ31で選択されてシングルポート同期式RAM15に供給され、そのアドレスにデータが書き込まれるので、ライトサイクルを含む命令が1サイクルで完了する。
【0032】
図2は、シングルポート同期式RAM15のアドレス”X’10”のデータとACC(accumrater)18のデータを加算し、加算結果をシングルポート同期式RAM15のアドレス”X’20”に書き込む場合のデータ処理プロセッサ31の命令実行タイミングチャートである。
【0033】
サイクルaでインストラクションレジスタIRG12に格納された命令をデコードして命令解釈を行う。このとき、ライト信号*WTはディセーブルで、リードサイクルであるのでパイプラインレジスタPLR14に入力されるアドレス”X’10”がセレクタ31で選択されてシングルポート同期式RAM15にリードアドレスとして出力される。次のサイクルbでは、1つ前のサイクルaでシングルポート同期式RAM15のアドレス”X’10”が指定されているので、そのアドレス”X’10”のデータ”X’200”の読み出しと、読み出したデータとACC18のデータ”X’100”との加算が行われる。
【0034】
すなわち、リードサイクル時には、セレクタ31により1サイクル前に、同期式RAM15へリードアドレスが出力されるので、次の1サイクルでデータのリードが行われ、データのリードサイクルが実質的に1サイクルで完了する。
【0035】
そして、次のサイクルcで、ACC18に格納された加算結果の”X’300”がシングルポート同期式RAM15のアドレス”X’20”に書き込まれる。この場合、データのライトサイクルは1サイクルで完了する。
【0036】
この第1の実施の形態によれば、リードサイクルでは、パイプラインレジスタPLR14の入力アドレスを、同期式RAM15に供給することにより、実質的に1サイクルで同期式RAM15からのデータの読み出しを完了することができ、データを高速でリード/ライトできる。
【0037】
次に、図3は、デュアルポート同期式RAM41の同一アドレスに対してデータのライトとリードを連続して行えるようにした本発明の第2の実施の形態のパイプライン制御方式のデータ処理プロセッサ40のブロック図である。なお、既に説明した回路ブロックと同一の部分には同じ符号を付けてそれらの説明を省略する。
【0038】
デュアルポート同期式RAM41は、A系ポートとB系ポートの2つのポートを有し、この実施の形態ではA系をライトポート、B系をリードポートとして使用している。
【0039】
セレクタ42には、パイプラインレジスタPLR14aに入力されるアドレスと、パイプラインレジスタLPR14aから出力されるアドレスとが入力されており、セレクタ42の制御端子にはパイプラインレジスタPLR14aから出力されるライト信号が入力している。このセレクタ42は、ライト信号がイネーブルのとき、パイプラインレジスタ14aから出力されるアドレスを選択してデュアルポート同期式RAM41のA系ポートのアドレス入力端子ADAに出力し、ライト信号がディセーブルのときには、パイプラインレジスタPLR14aの入力側のアドレスを選択してA系ポートのアドレス入力端子ADAに出力する。また、セレクタ42の出力はアドレスコンパレータ43に出力されている。
【0040】
これにより、リードサイクルの1サイクル前に、デュアルポートRAM41のA系ポートにリードアドレスが入力され、次のサイクルにそのアドレスのデータが出力されるので、リードサイクルを1サイクルで完了することができる。
【0041】
ライトサイクルのときには、セレクタ42でパイプラインレジスタ14aの出力アドレスが選択されてデュアルポート同期式RAM41のA系ポートに出力され、データ処理部44から出力され、A系ポートのデータ入力端子DIに入力するデータがそのアドレスに書き込まれ、同時にそのデータが補助レジスタ45に書き込まれる。
【0042】
デュアルポートRAM41のB系ポートのアドレス入力端子ADBには、パイプラインレジスタ14bの入力アドレスが入力しており、この入力アドレスはアドレスコンパレータ43の他方の入力端子に入力している。
【0043】
アドレスコンパレータ43は、A系ポートのライトアドレスとB系ポートのリードアドレスとを比較し、両者が一致したとき、ハイレベルの信号をアンドゲート46に出力する。アンドゲート46の他の入力端子にはパイプラインレジスタ14aから出力されるライト信号が入力されており、ライト信号がディセーブル(ハイレベル)で、かつA系ポートのライトアドレスと、B系ポートのリードアドレスとが一致したときハイレベルの信号をアドレス一致フラグレジスタ47に出力する。アドレス一致フラグレジスタ47は、アンドゲート46の出力がハイレベルのときアドレス一致フラグを”1”にする。
【0044】
セレクタ48は、アドレス一致フラグレジスタ47から出力されるアドレス一致フラグの内容によって、デュアルポート同期式RAM41のB系ポートの出力と、補助レジスタ45の出力との一方を選択してデータ処理部49に出力する回路である。アドレス一致フラグが”1”のとき、つまり同一サイクルのライトアドレスとリードアドレスとが一致する場合には、補助レジスタ46に格納されているライトサイクルで書き込まれたデータを選択してデータ処理部49に出力する。
【0045】
これにより、デュアルポート同期式RAM41の異なるポートにライト及びリードが行われ、同一サイクルにおけるライトアドレスとリードアドレスが一致して、デュアルポート同期式RAM41の出力が不定となっても、デュアルポート同期式RAM41の出力データの代わりに補助レジスタ45に格納されているライトデータを出力することで、デュアルポート同期式RAM41の指定されたアドレスに書き込まれたデータを読み出すことができる。
【0046】
他方、アドレス一致フラグレジスタ47のアドレス一致フラグが”0”のときには、セレクタ48はデュアルポート同期式RAM41の出力データを選択してデータ処理部49に出力するので、同一サイクルでライトアドレスとリードアドレスが同一である時以外は、デュアルポート同期式RAM41のデータがデータ処理部49に出力される。
【0047】
図4は、上述した第2の実施の形態のデータ処理プロセッサ40のアクセスタイミングチャートである。
サイクルaでライト信号*WTがイネーブルとなり、A系ポートの入力アドレスとして”x’10”が指定され、A系入力データとして”X’100”が入力されると、デュアルポート同期式RAM41のアドレス”x’10”にデータ”X’100”が書き込まれ、同時に補助レジスタ45にそのデータ”X’100”が格納される。このサイクルaでは同時にB系ポートのリードアドレスとして、ライトアドレスと同じ”X’10”が出力されており、アドレスが一致するのでアドレスコンパレータ43の出力はハイレベルとなる。
【0048】
次のサイクルbでは、ライト信号*WTがディセーブルとなる。また、1サイクル前のライトサイクルでA系ポートのライトアドレスとB系ポートのリードアドレスが共に”X’10”でアドレスが一致し、アドレスコンパレータ43の出力はハイレベルとなっているので、アドレス一致フラグレジスタ47の出力が”1”になる。このとき、B系ポートの出力データは不定となっているが、アドレス一致フラグが”1”であるので、セレクタ48は補助レジスタ45に記憶されているデータ”x’100”、つまり、ライトサイクルで書き込まれたデータを選択してデータ処理部49に出力する。
【0049】
この第2の実施の形態によれば、同一サイクルにおいてライトアドレスとリードアドレスとが一致した場合でも、補助レジスタ45に記憶されているデータを読み出すことで、デュアルポートRAM41の指定されたアドレスのデータと同一のデータを読み出すことができる。従って、デュアルポートRAMに対するアクセスの競合を意識せずにプログラムを作成でき、プログラムも簡素化でき、処理時間も短縮できる。
【0050】
なお、この第2の実施の形態では、パイプラインレジスタPLR14aの入力アドレスをリードアドレスとして出力してリードサイクルを1サイクルで完了させる場合について説明したが、従来のようにパイプラインレジスタPLR14の出力アドレスをリードアドレスとして出力してリードサイクルに2サイクル要する場合にも適用できる。
【0051】
次に、図5は、2個のデュアルポート同期式RAMを使用して、ライトサイクルとリードサイクルを連続して行えるようにした本発明の第3の実施の形態のデータ処理プロセッサ50のブロック図である。同図において、既に説明した回路ブロックと同一の部分には同じ符号を付けて説明を省略する。
【0052】
2個のデュアルポート同期式RAM51,52のA系ポートはライト専用ポートとなっており、B系ポートは読み出し専用ポートとなっており、それぞれ独立にアクセスできる。デュアルポート同期式RAM51,52のA系ポートのアドレス端子ADAにはパイプラインレジスタPLR14から出力されるディストネーション(RD)アドレスが入力し、データ入力端子DIにはALU19の出力データが入力している。つまり2個のデュアルポート同期式RAM51,52の同一のアドレスに同一のデータが同時に書き込まれるようになっている。
【0053】
レジスタRS1として使用されるデュアルポート同期式RAM51のB系ポートのアドレス端子ADBには、デコーダ13から出力されるレジスタRS1のリードアドレスが入力し、出力端子DOBから読み出されるデータがALU19の一方の入力端子に出力される。
【0054】
レジスタRS2として使用されるデュアルポートRAM52のB系ポートのアドレス端子ADBには、デコーダ13から出力されるRS2のリードアドレスが入力し、データ出力端子DOBから読み出されるデータがALU19の他方の入力端子に出力される。
【0055】
以下、第3の実施の形態において、レジスタRS1及びRS2の値を加算してディストネーションレジスタに格納するときの動作を、図6を参照して説明する。
【0056】
デュアルポート同期式RAM51のB系ポートにレジスタRS1のリードアドレスが入力され、そのアドレスのデータがALU19の一方の入力端子に出力される(図6▲1▼)。次にデュアルポート同期式RAM52のB系ポートにレジスタRS2のリードアドレスが入力され、そのアドレスのデータが読み出されてALU19の他方の入力端子に出力される(図6▲2▼)。さらに、デュアルポート同期式RAM51,52のA系ポートにライトアドレスが入力され、レジスタRS1とレジスタRS2の値を加算した結果がデュアルポート同期式RAM51,52のA系ポートの同じアドレスに書き込まれる(図6▲3▼)。
【0057】
次にデュアルポート同期式RAM52のB系ポートにレジスタRS1のリードアドレスが入力され、そのアドレスのデータが読み出されてALU19の一方の入力端子に出力される(図6▲4▼)。
【0058】
この場合、ライトサイクルとリードサイクルが連続しているが、ライト動作がデュアルポート同期式RAM51及び52のA系ポートで、リード動作がデュアルポート同期式RAM52のB系ポートとなっているので、同一のポートに対するライト動作とリード動作ではないので、それらの命令を連続して実行できる。
【0059】
以下同様に、デュアルポート同期式RAM52にレジスタRS2のリードアドレスが入力され、そのアドレスのデータが読み出されてALU19の他方の入力端子に出力される(図6▲5▼)。さらに、ALU19から出力されるレジスタRS1の値とレジスタRS2の値の加算結果(▲1▼+▲2▼)を、パイプラインレジスタPLR14から出力されるアドレスに書き込む(図6▲6▼)。
【0060】
この第3の実施の形態によれば、同一ポートに対してライトサイクルとリードサイクルが連続することがなくなる。従って、従来のようにライトサイクルとリードサイクルとの間にNOPを挿入する必要がなくなるので、その分プログラム量を少なくなり処理時間も短縮される。
【0061】
次に、図7は、デュアルポート同期式RAMに対するライトサイクルとリードサイクルを連続して実行できると共に、同一サイクルの同一アドレスに対するアクセスの競合を防止するようにした本発明の第4の実施の形態のデータ処理プロセッサ60のブロック図である。
【0062】
デュアルポート同期式RAM51,52は、第3の実施の形態で述べたのと同一のものであり、2つのデュアルポート同期式RAM51,52のA系のポートがライト専用で同一のアドレスに同一のデータが書き込まれ、B系のポートがリード専用でそれぞれレジスタRS1、レジスタRS2として独立にアクセスできるようになっている。
【0063】
補助レジスタ61には、デュアルポート同期式RAM51に書き込まれた最新のデータが記憶される。アドレスコンパレータ62は、デュアルポート同期式RAM51のA系ポートのライトアドレスと、B系ポートのレジスタRS1のリードアドレスとを比較し、比較結果をアドレス一致フラグレジスタ63に出力する。アドレス一致フラグレジスタ63は、アドレスコンパレータ62からアドレスの一致を示す信号が入力すると、アドレス一致フラグを”1”にし、その”1”の信号をセレクタ64の制御端子に出力する。
【0064】
セレクタ64は、アドレス一致フラグの内容に従って、デュアルポートRAM51から読み出されるデータと、補助レジスタ61の出力データの一方を選択してALU19に出力する。
【0065】
デュアルポートRAM52にも同様に補助レジスタ65、アドレスコンパレータ66、アドレス一致フラグレジスタ67、セレクタ68が設けられており、デュアルポート同期式RAM52のライトアドレスとレジスタRS2のリードアドレスとを比較し、両者が一致した場合には、補助レジスタ65のデータが選択されてALU19の他方の入力端子に出力される。
【0066】
今、ライトサイクルでデュアルポート同期式RAM51,52のA系ポートの同一アドレスに同一データが書き込まれると、同時に補助レジスタ61,65にも同一のデータが書き込まれる。そして、次のサイクルがリードサイクルであると、リードサイクルの1サイクル前、つまりライトアドレスが出力されるのと同一のサイクルにデコーダ13からリードアドレスが出力される。そして、アドレスコンパレータ62,66でライトアドレスとリードアドレスとが比較され、アドレスコンパレータ62または66がアドレスの一致を検出すると、アドレス一致フラグレジスタ63または67の出力を”1”にセットする。すると、セレクタ64または68が補助レジスタ61または65に格納されているデータを選択してALU19に出力する。
これにより、同一サイクルでライトアドレスとリードアドレスが同一であったときにも、そのアドレスに記憶されているデータと同一のデータが補助レジスタ61(または補助レジスタ65)から出力される。
【0067】
従って、同一サイクルで同一アドレスに対するアクセスが生じないようにアクセスの競合を防止するための制御を行う必要が無くなるので、プログラムが簡素になり処理時間も短くなる。
【0068】
さらに、デュアルポート同期式RAM51、52のA系ポートをライト専用ポートとして同一のアドレスに同一のデータを書き込み、B系ポートをリード専用ポートとしてそれぞれ独立にアクセスするようにしたので、ライトアクセスとリードアクセスが連続する場合でも、NOPを挿入することなくそれらの命令を連続して実行できる。
【0069】
なお、上記の実施の形態は、本発明をパイプライン制御方式のデータ処理プロセッサに適用した場合であるが、一般的なマイクロプログラム制御方式のデータ処理プロセッサに適用することもできる。
【0070】
【発明の効果】
本発明によれば、同期式RAMのリードサイクルが1サイクルで完了するので、同期式RAMのアクセス時間を短縮できる。
【図面の簡単な説明】
【図1】第1の実施の形態のデータ処理プロセッサのブロック図である。
【図2】第1の実施の形態のデータ処理プロセッサの命令実行タイミングチャートである。
【図3】第2の実施の形態のデータ処理プロセッサのブロック図である。
【図4】第2の実施の形態のデータ処理プロセッサのアクセスタイミングチャートである。
【図5】第3の実施の形態のデータ処理プロセッサのブロック図である。
【図6】第3の実施の形態の連続命令実行時の同期式RAMの動作を示す図である。
【図7】第4の実施の形態のデータ処理プロセッサのブロック図である。
【図8】同図(A)、(B)は同期式RAMのアクセスの基本波形を示す図である。
【図9】シングルポート同期式RAMの入出力ポートを示す図である。
【図10】シングルポート同期式RAMの基本波形を示す図である。
【図11】従来のパイプライン制御方式のデータ処理プロセッサのブロック図である。
【図12】従来のパイプライン制御方式のデータ処理プロセッサの命令実行タイミングチャートである。
【図13】デュアルポート同期式RAMの入出力ポートを示す図である。
【図14】デュアルポート同期式RAMの基本波形を示す図である。
【図15】連続命令実行時の同期式RAMの動作を示す図である。
【図16】NOP命令を追加した連続命令実行時の同期式RAMの動作を示す図である。
【符号の説明】
15 シングルポート同期式RAM
41,51,52 デュアルポート同期式RAM
31,42,48、64,68 セレクタ
43,62,66 アドレスコンパレータ
47,63,67 アドレス一致フラグレジスタ
45,61,65 補助レジスタ
Claims (7)
- 同期式RAMに対するデータのリード及びライトアクセスを制御するアクセス制御回路において、
前記同期式RAMに対するリード及びライトアクセスを行う命令実行部でライト命令を実行する時には、該命令実行部から出力されるアドレスをライトアドレスとして前記同期式RAMに出力し、前記命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象であるリードアドレスを前記同期式RAMに出力することを特徴とする同期式RAMのアクセス制御回路。 - 前記命令実行部は、読み出した命令を格納するインストラクションレジスタと、デコーダされた前記命令を実行するパイプラインレジスタとからなり、
前記命令実行部でライト命令を実行する時には前記パイプラインレジスタから出力されるアドレスを選択してライトアドレスとして前記同期式RAMに出力し、前記命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象である前記パイプラインレジスタの入力アドレスを選択し、前記同期式RAMに出力する選択回路とを備えることを特徴とする請求項1記載の同期式RAMのアクセス制御回路。 - 同期式RAMに対するデータのリード及びライトアクセスを制御するアクセス制御回路において、
命令を格納する第1のレジスタと、デコードされた前記命令を実行する第2のレジスタとからなる命令実行部と、
前記命令実行部でライト命令を実行する時には、前記第2のレジスタから出力されるアドレスを選択してライトアドレスとして前記同期式RAMに出力し、前記命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象である前記第2のレジスタの入力アドレスを選択し、前記同期式RAMに出力する選択回路とを備えることを特徴とする同期式RAMのアクセス制御回路。 - 命令を順次実行する命令実行部と、
同期式RAMと、
前記命令実行部でライト命令を実行する時には前記命令実行部から出力されるライトアドレスを選択して前記同期式RAMに出力し、前記命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象であるリードアドレスを選択して前記同期式RAMに出力する選択回路とを備えることを特徴とするデータ処理プロセッサ。 - 前記命令実行部は、命令を格納するインストラクションレジスタと、前記命令をデコードして命令解釈を行うデコーダと、デコード結果を格納すると共に解釈された命令を実行するパイプラインレジスタとからなり、
前記選択回路は、前記パイプラインレジスタの入力アドレスと出力アドレスとを入力し、前記命令実行部でライト命令を実行する時には前記パイプラインレジスタから出力されるアドレスをライトアドレスとして前記同期式RAMに出力し、前記命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象である前記パイプラインレジスタに入力するアドレスを前記同期式RAMに出力することを特徴とする請求項4記載のデータ処理プロセッサ。 - デュアルポート同期式RAMと、
前記デュアルポート同期式RAMの2つのポートに対応して、それぞれライト命令とリード命令を実行する第1及び第2の命令実行部と、
前記第1の命令実行部でライト命令を実行する時には前記第1の命令実行部の出力アドレスを選択してライトアドレスとして前記デュアルポート同期式RAMの一方のポートに出力し、前記第1の命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象であるリードアドレスを前記一方のポートに出力する第1の選択回路と、
前記第2の命令実行部で実行されるリード命令の1サイクル前のアドレスを前記デュアルポート同期式RAMの他方のポートに出力するアドレス出力回路と、
前記デュアルポート同期式RAMのライトデータを記憶する記憶回路と、
同一サイクルにおける前記デュアルポート同期式RAMの一方のポートのライトアドレスと、他方のポートのリードアドレスとを比較するアドレス比較回路と、
前記アドレス比較回路で前記2つのポートのライトアドレスとリードアドレスとの一致が検出されたとき、前記記憶回路に記憶されているデータを選択して前記デュアルポート同期式RAMのリードデータとして出力する第2の選択回路とを備えることを特徴とするデータ処理プロセッサ。 - 同期式RAMに対するデータのリード及びライトアクセスを制御するアクセス制御方法において、
命令実行部でライト命令を実行する時には該命令実行部から出力されるアドレスをライトアドレスとして前記同期式RAMに出力し、命令実行部でリード命令を実行する時には、該リード命令の実行より1サイクル前に、該リード命令の対象であるリードアドレスを前記同期式RAMに出力することを特徴とする同期式RAMのアクセス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15319597A JP3954159B2 (ja) | 1997-06-11 | 1997-06-11 | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15319597A JP3954159B2 (ja) | 1997-06-11 | 1997-06-11 | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH113592A JPH113592A (ja) | 1999-01-06 |
JP3954159B2 true JP3954159B2 (ja) | 2007-08-08 |
Family
ID=15557129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15319597A Expired - Lifetime JP3954159B2 (ja) | 1997-06-11 | 1997-06-11 | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3954159B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6366103B2 (ja) * | 2015-01-23 | 2018-08-01 | 日本電気株式会社 | 半導体装置及びデータ出力方法 |
CN113948135A (zh) * | 2021-11-02 | 2022-01-18 | 苏州宽温电子科技有限公司 | 一种sram存储器的两级流水线架构及其数据读写方法 |
-
1997
- 1997-06-11 JP JP15319597A patent/JP3954159B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH113592A (ja) | 1999-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02130634A (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
JPH0496825A (ja) | データ・プロセッサ | |
JP2620511B2 (ja) | データ・プロセッサ | |
JP2806171B2 (ja) | データ演算装置 | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JP3954159B2 (ja) | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 | |
US5151993A (en) | Data processor performing operation on data having length shorter than one-word length | |
US5734855A (en) | Processor with pipeline processing function having read buffer register and latch for storing register information where the result of external access type instruction is stored | |
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP2636821B2 (ja) | 並列処理装置 | |
JP2591325B2 (ja) | 分岐制御装置 | |
JPH06131180A (ja) | 命令処理方式および命令処理装置 | |
JP2522563B2 (ja) | プログラマブルコントロ―ラ | |
JP2721611B2 (ja) | プログラマブルコントローラ | |
JPS63293638A (ja) | データ処理装置 | |
JP2522564B2 (ja) | プログラマブルコントロ―ラ | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP2927281B2 (ja) | 並列処理装置 | |
JP2601055B2 (ja) | マイクロプログラム・シーケンサ | |
JPH05250156A (ja) | Riscプロセッサ | |
JPH07219771A (ja) | 命令プロセッサ | |
JPH05307483A (ja) | レジスタ書き込み制御方法および回路 | |
JPS61170830A (ja) | レジスタ参照方法 | |
JPS59106048A (ja) | マイクロプロセツサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070327 |
|
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: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070426 |
|
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: 20100511 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140511 Year of fee payment: 7 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |