JPH11283362A - FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路 - Google Patents

FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路

Info

Publication number
JPH11283362A
JPH11283362A JP10086722A JP8672298A JPH11283362A JP H11283362 A JPH11283362 A JP H11283362A JP 10086722 A JP10086722 A JP 10086722A JP 8672298 A JP8672298 A JP 8672298A JP H11283362 A JPH11283362 A JP H11283362A
Authority
JP
Japan
Prior art keywords
control circuit
signal
data
read
empty
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.)
Pending
Application number
JP10086722A
Other languages
English (en)
Inventor
Yutaka Fujita
豊 藤田
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.)
Toshiba TEC Corp
Original Assignee
Toshiba TEC Corp
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 Toshiba TEC Corp filed Critical Toshiba TEC Corp
Priority to JP10086722A priority Critical patent/JPH11283362A/ja
Publication of JPH11283362A publication Critical patent/JPH11283362A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

(57)【要約】 【課題】 データの読取時間を短縮し、システムパフォ
ーマンスを向上する。 【解決手段】 デュアルポートRAM31と、このRA
M31への書込信号に基づいて書込アドレスを発生する
書込アドレス回路32と、RAM31への読出信号に基
づいて読出アドレスを発生する読出アドレス回路33、
RAM31へ書込信号が与えられるごとにカウントアッ
プ動作を行い、読出信号が与えられるごとにカウントダ
ウン動作を行うアップダウンカウンタ35と、ワンチッ
プCPUからの制御信号(CS、CNTS)によりアッ
プダウンカウンタのカウント値とRAM31からの読出
データを選択的に切換えて出力するデータバス制御回路
とを設け、ワンチップCPUがデータバス制御回路から
のアップダウンカウンタのカウント値に基づいてこれか
ら読出すデータ数を決定し、連続してデータを読出すこ
とができるようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、各種の電子機器に
搭載されるFiFoメモリ制御回路及びこの制御回路を
使用したマイクロプロセッサ制御回路に関する。
【0002】
【従来の技術】従来、この種のFiFoメモリ制御(F
irst−in:First−out(先入れ先出し
型);コンピュータのスタックメモリなど順序をもって
データの書込みと読出しを行うメモリ制御の1つで、最
も早く書込んだデータをその処理の順番がきたときに最
初に処理する制御)を行うFiFoメモリ制御回路5
は、図4に示すように、メモリとしてのkワード構成の
デュアルポートRAM1、デュアルポートRAM1の書
込アドレスを発生する書込アドレス回路2、デュアルポ
ートRAM1の読出アドレスを発生する読出アドレス回
路3、読出アドレス回路3の出力である読出アドレス信
号(RA)及び書込アドレス回路2の出力である書込ア
ドレス信号(WA)からデュアルポートRAM1内の有
効データの状態を示すFull−Empty制御回路4
から構成される。
【0003】書込アドレス回路2には、初期化のために
外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路3には初期化のために外部からリ
セット信号(RESET)が接続されている。また、読
出アドレス信号(RA)はデュアルポートRAM1の読
出アドレス端子(RA端子)に接続されており、書込ア
ドレス信号(WA)はデュアルポートRAM1の書込ア
ドレス端子(WA端子)に接続されている。また、上記
読出アドレス信号(RA)及び書込アドレス信号(W
A)はFull−Empty制御回路4に接続されてい
る。
【0004】Full−Empty制御回路4からは、
上記書込アドレス回路2への書込アドレス信号(W
A)、読出アドレス回路3の読出アドレス信号(RA)
に基づいてデュアルポートRAM1内の有効データの状
態を示すフル信号(Full)とエンプティ信号(Em
pty)が外部に出力されている。このフル信号(Fu
ll)は、デュアルポートRAM1が満杯のときに出力
され、エンプティ信号(Empty)は、デュアルポー
トRAM1が空のときに出力される。具体的には、上記
フル信号(Full)はデュアルポートRAM1にkワ
ードのデータが書込まれた時にアサートされ、エンプテ
ィ信号(Empty)はデュアルポートRAM1に0ワ
ードのデータが書込まれた時にアサートされる。
【0005】外部から入力されるFiFoメモリ書込信
号(WR)は、デュアルポートRAM1の書込端子(W
R端子)と書込アドレス回路2に接続されている。ま
た、外部から入力されるFiFoメモリ読出信号(R
D)は、デュアルポートRAM1の読出端子(RD端
子)と読出アドレス回路3に接続されている。さらに、
外部から入力されるFiFoメモリチップセレクト信号
(CS)はデュアルポートRAM1のチップセレクト端
子(CS端子)に接続されている。
【0006】また、外部へデータを出力するデータバス
20は、デュアルポートRAM1の読出データバス端子
(RDATA)に接続されており、外部からの書込デー
タを入力するデータバス21はデュアルポートRAM1
の書込データバス端子(WDATA端子)に接続されて
いる。
【0007】次に、上記FiFoメモリ制御回路5を使
用した一般的なマイクロプロセッサ制御回路の構成を図
5に示す。
【0008】上記マイクロプロセッサ制御回路は、CP
U(中央処理装置)コア11と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)12と
ワークRAM(ランダム・アクセス・メモリ)13とI
/Oポート(入出力ポート)14、計時タイマ割込発生
回路15を内蔵したワンチップCPU(1チップCP
U)10を備える。上記CPUコア11と、制御用RO
M12、ワークRAM13、I/Oポート14、計時タ
イマ割込発生回路15とは、バスラインで接続されてい
る。また、上記計時タイマ割込発生回路15の出力は、
CPUコア11のタイマ割込端子(TMINT)に接続
されている。
【0009】また、マイクロプロセッサ制御回路は、F
iFoメモリ制御回路5、FiFo書込回路16、この
FiFo書込回路16から出力されるFiFoメモリ制
御回路用チップセレクト信号(CS1)、ワンチップC
PU10から出力されるFiFoメモリ制御回路用チッ
プセレクト信号(CS2)を入力とする論理積回路18
を備える。
【0010】上記論理積回路18はFiFoメモリ制御
回路5のチップセレクト端子(CS端子)に接続されて
いる。また、上記リセット信号(RESET)はワンチ
ップCPU10とFiFoメモリ制御回路5のリセット
端子(RESET端子)に接続されている。
【0011】上記ワンチップCPU10のデータバス2
0は、メモリ制御回路10の読出データバス端子(RD
ATA端子)に接続されており、FiFo書込回路16
のデータバス21はFiFoメモリ制御回路5の書込デ
ータバス端子(WDATA端子)に接続されている。
【0012】上記ワンチップCPU10のデータリード
信号(RD)はFiFoメモリ制御回路5のRD端子に
接続されており、FiFoメモリ制御回路5のフル信号
(Full)、エンプティ信号(Empty)は、それ
ぞれワンチップCPU10のI/Oポート14のInP
ort(n),InPort(m)に接続されている。
また、FiFoメモリ制御回路5のフル信号(Ful
l)はFiFo書込み回路16に接続されている。
【0013】上記フル信号(Full)はFiFoメモ
リ制御回路5のデュアルポートRAM1にkワードのデ
ータが書込まれたときにアサートされる。また、上記エ
ンプティ信号(Empty)は上記デュアルポートRA
M1に0ワード目のデータが書込まれたときにネゲート
され、デュアルポートRAM1から0ワード目のデータ
が読出されたときアサートされる。
【0014】上記FiFo書込回路16から出力される
書込信号(WR)は、FiFoメモリ制御回路5の書込
端子(WR端子)に接続されている。このFiFo書込
回路16は、FiFoメモリ制御回路5に書込むべきデ
ータが存在し、かつそのFiFoメモリ制御回路5のフ
ル信号(Full)がネゲートされているときにデータ
をFiFoメモリ制御回路5に書込むようになってい
る。
【0015】次に、上記マイクロプロセッサ制御回路の
動作をメインルーチンの制御を示す図6を参照しながら
説明する。先ず、ワンチップCPU10のCPUコア1
1は、マイクロプロセッサ制御回路に電源が供給される
と、St(ステップ)1にてリセット信号(RESE
T)がアサートされ、ワンチップCPU10、FiFo
メモリ制御回路5、FiFo書込回路16が初期化され
る。
【0016】続いてSt2にてリセット信号(RESE
T)がネゲートされ、St3にてワンチップCPU10
はFiFoメモリ制御回路5、FiFo書込回路16を
初期化する。そして、St4にてワンチップCPU10
は、計時タイマ割込をイネーブルとして、St5にて待
機状態となる。
【0017】この状態で、上記ワンチップCPU10の
計時タイマ割込発生回路15によってタイマ割込が発生
し、タイマ割込端子(TMINT)がアサートされると
ワンチップCPU10は図7に示すようなタイマ割込処
理ルーチンを実行する。
【0018】ここでは、先ずFiFo書込回路16がF
iFoメモリ制御回路5にデータを全く書込まない状態
で計時タイマ割込が発生した場合について説明する。ワ
ンチップCPU10は、先ずSt11にてI/Oポート
14のInPort(n)からエンプティ信号(Emp
ty)の状態を読込み、St12にてエンプティ信号
(Empty)がアサートされているかネゲートされて
いるか判断する。この場合、エンプティ信号(Empt
y)はネゲートされているため、FiFoメモリ制御回
路5の中には読出すデータが無いと判断しメインルーチ
ンヘ戻る。すなわち、図6に示す待機状態に戻る。
【0019】上記FiFo書込回路16は、FiFoメ
モリ制御回路5に書込むデータが存在し、フル信号(F
ull)がネゲートされていれば、データをデータバス
21に乗せ、チップセレクト信号(CS1)と書込信号
(WR)をアサートする。すると、FiFoメモリ制御
回路5はデュアルポートRAM1にデータを書込む。続
いて、FiFo書込回路16はチップセレクト信号(C
S1)と書込信号(WR)をネゲートする。これによ
り、FiFoメモリ制御回路5の書込アドレス回路2の
アドレス値は+1される。そして、FiFoメモリ制御
回路5はエンプティ信号(Empty)をネゲートす
る。このような動作を繰返してFiFo書込回路16は
FiFoメモリ制御回路5にjワードのデータを書込
む。そして、FiFoメモリ制御回路5は、デュアルポ
ートRAM1にデータを書込むアドレス空間が無くなる
とフル信号(Full)をアサートする。
【0020】次に、FiFo書込回路16がFiFoメ
モリ制御回路5にjワードのデータを書込んだ状態で計
時タイマ割込が発生した場合について説明する。ワンチ
ップCPU10は、先ずSt11にてI/Oポート14
のInPort(n)からエンプティ信号(Empt
y)の状態を読取り、St12にてエンプティ信号(E
mpty)がアサートされているかネゲートされている
か判断する。この場合、エンプティ信号(Empty)
がネゲートされているため、St13の処理に移る。
【0021】St13にてワンチップCPU10はFi
Foメモリ制御回路5から読出したデータをワークRA
M13に書込むアドレス(デスティネーションアドレ
ス)をワンチップCPU10内のレジスタにセットす
る。この場合、エンプティ信号(Empty)はネゲー
トされているので、St14にてワンチップCPU10
はチップセレクト信号(CS2)とデータリード信号
(RD)をアサートする。
【0022】上記FiFoメモリ制御回路5はデュアル
ポートRAM1内のデータをデータバス21に出力す
る。すると、ワンチップCPU10はデータバス21の
データを読込み、チップセレクト信号(CS2)とデー
タリード信号(RD)をネゲートし、FiFoメモリ制
御回路5は読出アドレス回路3のアドレス値を+1す
る。
【0023】続いて、ワンチップCPU10はFiFo
メモリ制御回路5から1ワードのデータを読出し、ワー
クRAM13に読出したデータを書込む。上記FiFo
メモリ制御回路5はデュアルポートRAM1にデータを
書込むアドレス空間が生じるとフル信号(Full)を
ネゲートし、デュアルポートRAM1にデータが無くな
るとエンプティ信号(Empty)をアサートする。
【0024】次に、ワンチップCPU10は、St15
にて上記デスティネーションアドレスをインクリメント
し、St16にてI/Oポート14のInPort
(n)からエンプティ信号(Empty)の状態を読取
る。
【0025】続いて、ワンチップCPU10は、St1
7にてエンプティ信号(Empty)がアサートされて
いるかネゲートされているかを判断する。このとき、エ
ンプティ信号(Empty)がアサートされていればF
iFoメモリ制御回路5の中には読み出すデータが無い
と判断し、メインルーチンヘ戻る。すなわち、図6に示
す待機状態に戻る。また、St17にてエンプティ信号
(Empty)がネゲートされていればSt14へ戻
る。このような処理によってワンチップCPU10はF
iFoメモリ制御回路5内のjワードのデータをワーク
RAM13に書き終える。
【0026】次に、上記タイマ割込処理ルーチンにおけ
るワンチップCPU10のマシンサイクルの動作を説明
する。St11にてワンチップCPU10はエンプティ
信号(Empty)を読込む命令のオペコードをフェッ
チし、エンプティ信号(Empty)のアドレスのオペ
ランドをフェッチする。これにより、ワンチップCPU
10は上記命令を解釈して、エンプティ信号(Empt
y)を読込む。
【0027】St12にてワンチップCPU10はエン
プティ信号(Empty)を判断する命令のオペコード
をフェッチし、エンプティ信号(Empty)を判断す
る命令のオペランドをフェッチし、エンプティ信号(E
mpty)がアサートされているかネゲートされている
かを判断する。これにより、St12にてエンプティ信
号(Empty)がアサートされていると判断した場合
は、メインルーチンヘ戻る命令のオペコードをフェッチ
し、メインルーチンヘ戻る。
【0028】St13にてワンチップCPU10はFi
Foメモリ制御回路5から読出したデータをワークRA
M13に書込むアドレス(デスティネーションアドレ
ス)をワンチップCPU10内のレジスタにセットする
命令のオペコードをフェッチする。そして、FiFoメ
モリ制御回路5から読出したデータをワークRAM13
に書込むアドレス(デスティネーションアドレス)をワ
ンチップCPU10内のレジスタにセットする命令のオ
ペランドをフェッチする。これにより、ワンチップCP
U10はFiFoメモリ制御回路5から読出したデータ
をワークRAM13に書込むアドレス(デスティネーシ
ョンアドレス)をワンチップCPU10内のレジスタに
セットする。
【0029】St14にてワンチップCPU10はFi
Foメモリ制御回路5から1ワードのデータを読出し、
ワークRAM13に読出したデータを書込む命令のオペ
コードをフェッチする。そして、FiFoメモリ制御回
路5のアドレスのオペランドをフェッチし、ワークRA
M13のアドレスのオペランドをフェッチする。これに
より、ワンチップCPU10はFiFoメモリ制御回路
5から1ワードのデータを読出し、ワークRAM13に
書込む。
【0030】St15にてワンチップCPU10はデス
ティネーションアドレスをインクリメントする命令のオ
ペコードをフェッチする。これにより、ワンチップCP
U10はデスティネーションアドレスをインクリメント
する。
【0031】St16にてワンチップCPU10はエン
プティ信号(Empty)を読込む命令のオペコードを
フェッチし、エンプティ信号(Empty)のアドレス
のオペランドをフェッチする。これにより、ワンチップ
CPU10は上記命令を解釈し、エンプティ信号(Em
pty)を読込む。
【0032】St17にてワンチップCPU10はエン
プティ信号(Empty)を判断する命令のオペコード
をフェッチし、エンプティ信号(Empty)を判断す
る命令のオペランドをフェッチする。これにより、ワン
チップCPU10はエンプティ信号(Empty)がア
サートされているかネゲートされているかを判断する。
このとき、エンプティ信号(Empty)がネゲートさ
れていればFiFoメモリ制御回路5の中には読出すデ
ータが無いと判断してメインルーチンヘ戻る命令のオペ
コードをフェッチする。これにより、ワンチップCPU
10はメインルーチンヘ戻る。また、エンプティ信号
(Empty)がアサートされていればSt14の処理
へ戻る。
【0033】
【発明が解決しようとする課題】しかし、このようなF
iFoメモリ制御回路においては、デュアルポートRA
M1内に記憶されているワード数の情報をワンチップC
PUが取得する手段がなかったため、1ワード読出すた
びにエンプティ信号(Empty)をチェックしながら
デュアルポートRAM1内のすべてのデータをタイマ割
込処理ルーチン内で読出していた。このように、エンプ
ティ信号(Empty)を1ワード読出すたびにエンプ
ティ信号(Empty)をチェックしたのでは、時間が
かかり、システムのパフォーマンスが低下するという問
題があった。
【0034】また、昨今、オートインクリメント、デク
リメントデータカウントレジスタをCPUに内蔵し、こ
れらの機能を使ってオペコードフェッチ、オペランドフ
ェッチを少くするものが主流になっているが、上述した
ようなFiFoメモリ制御回路では1ワード読出すたび
にエンプティ信号(Empty)をチェックするような
処理を行うので、そのような機能を適用することもでき
ない。
【0035】そこで、本発明は、デュアルポートRAM
内に記憶されているワード数の情報を外部へ出力できる
ようにし、これを外部のマイクロプロセッサで監視する
ことによって1ワードを読出すごとにエンプティ信号
(Empty)をチェックすることなく、複数ワード分
まとめて読出すことができ、システムのパフォーマンス
を向上できるFiFoメモリ制御回路及びこの制御回路
を使用したマイクロプロセッサ制御回路を提供しようと
するものである。
【0036】
【課題を解決するための手段】請求項1の本発明は、デ
ータの読出し書込みが可能なメモリと、このメモリへの
書込信号に基づいて書込アドレスを発生する書込アドレ
ス回路と、メモリへの読出信号に基づいて読出アドレス
を発生する読出アドレス回路とを備えたFiFoメモリ
制御回路において、メモリへ書込信号が与えられるごと
にカウントアップ動作を行い、メモリへ読出信号が与え
られるごとにカウントダウン動作を行うアップダウンカ
ウンタと、外部からの制御信号によりアップダウンカウ
ンタのカウント値とメモリからの読出データを選択的に
切換えて出力する出力制御回路とを設けたことを特徴と
するFiFoメモリ制御回路である。
【0037】請求項2の本発明は、データの読出し書込
みが可能なメモリと、このメモリへの書込信号に基づい
て書込アドレスを発生する書込アドレス回路と、メモリ
への読出信号に基づいて読出アドレスを発生する読出ア
ドレス回路とを備えたFiFoメモリ制御回路と、この
FiFoメモリ制御回路に書込信号を供給してデータを
書込むとともに、読出信号を供給してデータを読出すマ
イクロプロセッサとを備えたマイクロプロセッサ制御回
路において、FiFoメモリ制御回路は、メモリへ書込
信号が与えられるごとにカウントアップ動作を行い、メ
モリへ読出信号が与えられるごとにカウントダウン動作
を行うアップダウンカウンタと、外部からの切換制御信
号によりアップダウンカウンタのカウント値とメモリか
らの読出データを選択的に切換えて出力する出力制御回
路とを設け、マイクロプロセッサは、FiFoメモリ制
御回路からデータを読出すのに先立って、FiFoメモ
リ制御回路に切換制御信号を供給してアップダウンカウ
ンタのカウント値を読出し、このカウント値に基づいて
これから読出すデータ数を決定し、FiFoメモリ制御
回路に切換制御信号を供給してその読出データ数分だけ
連続して読出す処理を行うことを特徴とするFiFoメ
モリ制御回路を使用したマイクロプロセッサ制御装置で
ある。
【0038】
【発明の実施の形態】以下、本発明の実施の形態を図1
ないし図3を参照して説明する。図1は、本発明にかか
るFiFoメモリ制御回路の構成を示す図である。この
FiFoメモリ制御回路30は、kワード構成のデュア
ルポートRAM31、デュアルポートRAM31の書込
アドレスを発生する書込アドレス回路32、デュアルポ
ートRAM31の読出アドレスを発生する読出アドレス
回路33、読出アドレス回路33の出力である読出アド
レス信号(RA)及び書込アドレス回路の出力である書
込アドレス信号(WA)からデュアルポートRAM31
内の有効データの状態を示すFull−Empty制御
回路34、デュアルポートRAM31へ書込信号(W
R)が与えられるごとにカウントアップ動作を行い、デ
ュアルポートRAM31へ読出信号(RD)が与えられ
るごとにカウントダウン動作を行うアップダウンカウン
タ35を備える。
【0039】また、FiFoメモリ制御回路30は、上
記アップダウンカウンタ35の出力端子(CNTQ)か
らのカウント値と、デュアルポートRAM31からの読
出データとを選択的にワンチップCPU60に接続する
データバス40へ出力するデータバス制御回路36を備
える。このデータバス制御回路36は、2入力オアゲー
ト37aとトライステートバッファ37bとで構成さ
れ、デュアルポートRAM31の読出データについてデ
ータバス40に対しての出力を制御する読出データ出力
制御回路37、2入力オアゲート38aとトライステー
トバッファ38bとで構成されたアップダウンカウンタ
35のカウント値についてデータバス40に対しての出
力を制御するカウント値出力制御回路38を備える。
【0040】書込アドレス回路32には、初期化のため
に外部からリセット信号(RESET)が接続されてお
り、読出アドレス回路33には初期化のために外部から
リセット信号(RESET)が接続されている。また、
アップダウンカウンタ35には初期化のために外部から
リセット信号(RESET)が接続されている。
【0041】また、読出アドレス信号(RA)はデュア
ルポートRAM31の読出アドレス端子(RA端子)に
接続されており、書込アドレス信号(WA)はデュアル
ポートRAM31の書込アドレス端子(WA端子)に接
続されている。さらに、上記読出アドレス信号(RA)
及び書込アドレス信号(WA)はFull−Empty
制御回路34に接続されている。
【0042】Full−Empty制御回路34から
は、上記書込アドレス回路32への書込アドレス信号
(WA)、読出アドレス回路33の読出アドレス信号
(RA)に基づいてデュアルポートRAM31内の有効
データの状態を示すフル信号(Full)とエンプティ
信号(Empty)が外部に出力されている。このフル
信号(Full)は、デュアルポートRAM31が満杯
のときに出力され、エンプティ信号(Empty)は、
デュアルポートRAM31が空のときに出力される。具
体的には、上記フル信号(Full)はデュアルポート
RAM31にkワードのデータが書込まれたときにアサ
ートされ、エンプティ信号(Empty)はデュアルポ
ートRAM31に0ワードのデータが書込まれたときに
アサートされる。 外部から入力されるFiFoメモリ
書込信号(WR)は、デュアルポートRAM31の書込
端子(WR端子)と書込アドレス回路32とアップダウ
ンカウンタ35のUP端子に接続されている。また、外
部から入力されるFiFoメモリ読出信号(RD)は、
デュアルポートRAM31の読出端子(RD端子)、読
出アドレス回路33、アップダウンカウンタ35のDO
WN端子、及び上記データバス制御回路36の各2入力
オアゲート37a,38aの一方の入力端子に接続され
ている。
【0043】外部から入力されるFiFoメモリチップ
セレクト信号(CS)はデュアルポートRAM31のチ
ップセレクト端子(CS端子)及び読出データ出力制御
回路37の2入力オアゲート37aの他方の入力端子に
接続されている。この2入力オアゲート37aの出力は
トライステートバッファ37bのコントロール端子に接
続されている。また、トライステートバッファ37bの
入力端子は、上記デュアルポートRAM31の読出デー
タバス端子(RD)に接続されており、トライステート
バッファ37bの出力端子は外部へ出力されるデータバ
ス40に接続されている。
【0044】外部から入力されるアップダウンカウンタ
チップセレクト信号(CNTCS)はカウント値出力制
御回路38の2入力オアゲート38aに接続されてい
る。この2入力オアゲート38aの出力はトライステー
トバッファ38bのコントロール端子に接続されてい
る。また、トライステートバッファ38bの入力端子は
アップダウンカウンタ35の出力端子(CNTQ)に接
続されており、トライステートバッファ38bの出力端
子は、外部へ出力されるデータバス40に接続されてい
る。
【0045】次に、上記FiFoメモリ制御回路30を
使用した一般的なマイクロプロセッサ制御回路の構成を
図2に示す。上記マイクロプロセッサ制御回路は、CP
U(中央処理装置)コア61と実行プログラムなどを記
憶した制御用ROM(リ−ド・オンリ・メモリ)62と
ワークRAM(ランダム・アクセス・メモリ)63とI
/Oポート(入出力ポート)64と計時タイマ割込発生
回路65とを内蔵したワンチップCPU(1チップCP
U)60を備える。上記CPUコア61と、制御用RO
M62、ワークRAM63、I/Oポート64、計時タ
イマ割込発生回路65とは、バスラインで接続されてい
る。また、上記計時タイマ割込発生回路65の出力は、
CPUコア61のタイマ割込端子(TMINT)に接続
されている。
【0046】また、FiFoメモリ制御回路30、Fi
Fo書込制御回路からなるFiFoメモリ書込回路6
6、このFiFoメモリ書込回路66から出力されるF
iFoメモリ制御回路用チップセレクト信号(CS
1)、ワンチップCPU60から出力されるFiFoメ
モリ制御回路用チップセレクト信号(CS2)を入力と
する論理積回路68を備える。
【0047】上記論理積回路68はFiFoメモリ制御
回路30のチップセレクト端子(CS端子)に接続され
ている。また、上記リセット信号(RESET)はワン
チップCPU60とFiFoメモリ制御回路30のリセ
ット端子(RESET端子)に接続されている。
【0048】上記ワンチップCPU60のデータバス4
0は、FiFoメモリメモリ制御回路30の読出データ
バス端子(RDATA端子)に接続されており、FiF
oメモリ書込回路66のデータバス41はFiFoメモ
リ制御回路30の書込データバス端子(WDATA端
子)に接続されている。
【0049】上記ワンチップCPU60のデータリード
信号(RD)はFiFoメモリ制御回路30のRD端子
に接続されており、FiFoメモリ制御回路30のフル
信号(Full)、エンプティ信号(Empty)は、
それぞれワンチップCPU60のI/Oポート64のI
nPort(n),InPort(m)に接続されてい
る。また、FiFoメモリ制御回路30のフル信号(F
ull)はFiFo書込回路66に接続されている。
【0050】上記フル信号(Full)はFiFoメモ
リ制御回路30のデュアルポートRAM31にkワード
のデータが書込まれたときにアサートされる。また、上
記エンプティ信号(Empty)は上記デュアルポート
RAM31に0ワード目のデータが書込まれたときにネ
ゲートされ、デュアルポートRAM31から0ワード目
のデータが読出されたときアサートされる。
【0051】上記ワンチップCPU60から出力される
アップダウンカウンタチップセレクト信号(CNTC
S)は、FiFoメモリ制御回路30のCNTCS端子
に接続されている。
【0052】上記FiFoメモリ書込回路66から出力
される書込信号(WR)は、FiFoメモリ制御回路3
0の書込端子(WR端子)に接続されている。このFi
Foメモリ書込回路66は、FiFoメモリ制御回路3
0に書込むべきデータが存在し、かつそのFiFoメモ
リ制御回路30のフル信号(Full)がネゲートされ
ているときにデータをFiFoメモリ制御回路30に書
込むようになっている。
【0053】次に、上記マイクロプロセッサ制御回路の
動作を図3を参照しながら説明する。なお、本実施の形
態におけるメインルーチンについては、図6に示すもの
と同様であるため、その動作の説明を省略する。
【0054】図6に示す待機状態にあるとき、上記ワン
チップCPU60の計時タイマ割込発生回路65によっ
てタイマ割込が発生し、タイマ割込端子(TMINT)
がアサートされるとワンチップCPU60は図3に示す
ようなタイマ割込処理ルーチンを実行する。
【0055】ここでは、先ずFiFo書込回路16がF
iFoメモリ制御回路10にデータを全く書込まない状
態で計時タイマ割込が発生した場合について説明する。
ワンチップCPU60は、先ずST(ステップ)11
にてI/Oポート64のInPort(n)からエンプ
ティ信号(Empty)の状態を読取り、ST12にて
エンプティ信号(Empty)がアサートされているか
ネゲートされているか判断する。この場合、エンプティ
信号(Empty)はネゲートされているため、FiF
oメモリ制御回路30の中には読出すデータがないと判
断しメインルーチンヘ戻る。すなわち、図6に示す待機
状態に戻る。
【0056】上記FiFoメモリ書込回路66は、Fi
Foメモリ制御回路30に書込むデータが存在し、フル
信号(Full)がネゲートされていれば、データをデ
ータバス21に乗せ、チップセレクト信号(CS1)と
書込信号(WR)をアサートする。すると、FiFoメ
モリ制御回路30はデュアルポートRAM31にデータ
を書込む。続いて、FiFoメモリ書込回路66はチッ
プセレクト信号(CS1)と書込信号(WR)をネゲー
トする。これにより、FiFoメモリ制御回路30の書
込アドレス回路32のアドレス値は+1される。そし
て、FiFoメモリ制御回路30はエンプティ信号(E
mpty)をネゲートする。このような動作を繰返して
FiFoメモリ書込回路66はFiFoメモリ制御回路
30にjワードのデータを書込む。そして、FiFoメ
モリ制御回路30は、デュアルポートRAM31にデー
タを書込むアドレス空間が無くなるとフル信号(Ful
l)をアサートする。
【0057】次に、FiFoメモリ書込回路66がFi
Foメモリ制御回路30にjワードのデータを書込んだ
状態で計時タイマ割込が発生した場合について説明す
る。ワンチップCPU60は、先ずST11にてI/O
ポート14のInPort(n)からエンプティ信号
(Empty)の状態を読取り、ST12にてエンプテ
ィ信号(Empty)がアサートされているかネゲート
されているか判断する。この場合、エンプティ信号(E
mpty)がネゲートされているため、ST13の処理
に移る。
【0058】ST13にてワンチップCPU60はFi
Foメモリ制御回路30から読出したデータをワークR
AM62に書込むアドレス(デスティネーションアドレ
ス)をワンチップCPU60内のレジスタにセットす
る。この場合、エンプティ信号(Empty)はネゲー
トされているので、ST14の処理に移る。
【0059】ST14にてワンチップCPU60はアッ
プダウンカウンタチップセレクト信号(CNTCS)と
データリード信号(RD)をアサートする。すると、上
記FiFoメモリ制御回路30では、カウント値出力制
御回路38の2入力オアゲート38aの出力に応じてト
ライステートバッファ38bを介してアップダウンカウ
ンタ35のカウント値がデータバス40に出力する。そ
して、ワンチップCPU60はデータバス40のデータ
を読取り、オートインクリメント、デクリメントデータ
カウントレジスタにセットする。また、ワンチップCP
U60はアップダウンカウンタチップセレクト信号(C
NTCS)とデータリード信号(RD)をネーゲトす
る。
【0060】この場合、エンプティ信号(Empty)
はネゲートされているので、ST15にてワンチップC
PU60はチップセレクト信号(CS)とデータリード
信号(RD)をアサートする。すると、上記FiFoメ
モリ制御回路30では読出データ出力制御回路37の2
入力オアゲート37aの出力に応じてトライステートバ
ッファ37bを介してデュアルポートRAM1内のデー
タがデータバス40に出力する。そして、ワンチップC
PU60はデータバス40のデータを読込み、チップセ
レクト信号(CS)とデータリード信号(RD)をネー
ゲトする。上記FiFoメモリ制御回路30は読出アド
レス回路33のアドレス値を+1する。
【0061】ワンチップCPU60はFiFoメモリ制
御回路30から1ワードのデータを読出し、ワークRA
M63に読出したデータを書込み、オートインクリメン
ト、デクリメントデータカウントレジスタの値を−1
し、デスティネーションアドレスレジスタの値を+1す
る。
【0062】上記FiFoメモリ制御回路30はデュア
ルポートRAM1にデータを書込むアドレス空間が生じ
るとフル信号(Full)をネゲートする。そしてオー
トインクリメント、デクリメントデータカウントレジス
タの値が0になるまでST15の処理を繰返す。
【0063】そして、上記ワンチップCPU60はST
15の処理が終了すると、メインルーチンヘ戻る。すな
わち、図6に示す待機状態に戻る。こうして、ワンチッ
プCPU60はFiFoメモリ制御回路30内のjワー
ドのデータをワークRAM63に書終える。
【0064】次に、上記タイマ割込処理ルーチンにおけ
るワンチップCPU60のマシンサイクルの動作を説明
する。ST11にてワンチップCPU60はエンプティ
信号(Empty)を読込む命令のオペコードをフェッ
チし、エンプティ信号(Empty)のアドレスのオペ
ランドをフェッチする。これにより、ワンチップCPU
60は上記命令を解釈してエンプティ信号(Empt
y)を読込む。
【0065】ST12にてワンチップCPU60はエン
プティ信号(Empty)を判断する命令のオペコード
をフェッチし、エンプティ信号(Empty)を判断す
る命令のオペランドをフェッチし、エンプティ信号(E
mpty)がアサートされているかネゲートされている
かを判断する。これにより、ST12にてエンプティ信
号(Empty)がアサートされていると判断した場合
は、メインルーチンヘ戻る命令のオペコードをフェッチ
し、メインルーチンヘ戻る。
【0066】ST13にてワンチップCPU60はFi
Foメモリ制御回路30から読出したデータをワークR
AM63に書込むアドレス(デスティネーションアドレ
ス)をワンチップCPU60内のレジスタにセットする
命令のオペコードをフェッチする。そして、ワンチップ
CPU60はFiFoメモリ制御回路30から読出した
データをワークRAM63に書込むアドレス(デスティ
ネーションアドレス)をワンチップCPU60内のレジ
スタにセットする命令のオペランドをフェッチする。こ
れにより、ワンチップCPU60はFiFoメモリ制御
回路30から読出したデータをワークRAM63に書込
むアドレス(デスティネーションアドレス)をワンチッ
プCPU60内のレジスタにセットする。
【0067】ST14にてワンチップCPU60はFi
Foメモリ制御回路30のアップダウンカウンタ35の
カウント値を読出す命令のオペコードをフェッチし、そ
のカウント値を読出す命令のオペランドをフェッチす
る。これにより、ワンチップCPU60はアップダウン
カウンタの値を読取り、オートインクリメント、デクリ
メントデータカウントレジスタにセットする。
【0068】ST15にてワンチップCPU60はFi
Foメモリ制御回路30から1ワードのデータを読出
し、ワークRAM63に読出したデータを書込み、オー
トインクリメント、デクリメントデータカウントレジス
タの値を−1し、デスティネーションアドレスレジスタ
の値を+1する命令のオペコードをフェッチし、FiF
oメモリ制御回路30のアドレスのオペランドをフェッ
チする。これにより、ワンチップCPU60はFiFo
メモリ制御回路30から1ワードのデータを読出し、読
出したデータをワークRAM63に書込む。そして、ワ
ンチップCPU60はデスティネーションアドレスをイ
ンクリメントし、オートインクリメント、デクリメント
データカウントレジスタをデクリメントする。このよう
なST15の処理をオートインクリメント、デクリメン
トデータカウントレジスタの値が0になるまで繰返す。
そして、ST15の処理が終了すると、ワンチップCP
U60はメインルーチンヘ戻る命令のオペコードをフェ
ッチする。これにより、ワンチップCPU60はメイン
ルーチンヘ戻る。
【0069】このように、本発明の実施の形態において
は、FiFoメモリ制御回路60において、デュアルポ
ートRAM31へ書込信号が与えられるごとにカウント
アップ動作を行い、デュアルポートRAM31へ読出信
号が与えられるごとにカウントダウン動作を行うアップ
ダウンカウンタ35を設けるとともに、ワンチップCP
U60からのアップダウンカウンタチップセレクト信号
(CNTCS)に基づいてアップダウンカウンタ35の
カウント値をデータバス40へ出力し、ワンチップCP
U60からのチップセレクト信号(CS)に基づいてデ
ュアルポートRAM31からの読出データをデータバス
40へ出力するデータバス制御回路36を設け、ワンチ
ップCPU60がデータバス40の出力からデュアルポ
ートRAM内に記憶されているワード数の情報を知るこ
とができるようにしたため、1ワードの書込みごとにエ
ンプティ信号(Empty)をチェックすることなく、
複数ワード分まとめて読出すことができる。
【0070】具体的には、ワンチップCPU60がアッ
プダウンカウンタ35をアクセスすることによりデュア
ルポートRAM31内に記憶された有効データの値をワ
ンチップCPU60のオートインクリメント、デクリメ
ントデータカウントレジスタに設定することにより、タ
イマ割込処理ルーチン内で1ワード読出すたびにエンプ
ティ信号(Empty)をチェックすることなく、その
ワード数分のデータをまとめてデュアルポートRAM3
1内から読出すことができ、しかもデータ読取ときのオ
ペコードフェッチ、オペランドフェッチを少くすること
ができる。これにより、データ読取処理にかかる時間を
短縮させることができ、システムのパフォーマンスを向
上させることができる。
【0071】
【発明の効果】以上詳述したように本発明によれば、メ
モリへ書込信号が与えられるごとにカウントアップ動作
を行い、メモリへ読出信号が与えられるごとにカウント
ダウン動作を行うアップダウンカウンタと、外部からの
制御信号によりアップダウンカウンタのカウント値とメ
モリからの読出データを選択的に切換えて出力する出力
制御回路とを設けることにより、マイクロプロセッサな
どが出力制御回路の出力からメモリに記憶されているワ
ード数の情報を知ることができる。
【0072】従って、マイクロプロセッサが上記出力制
御回路からのアップダウンカウンタのカウント値に基づ
いてこれから読出すデータ数を決定し、その読出データ
数分だけ連続して読出すようにすれば、1ワードを読出
すごとにエンプティ信号(Empty)をチェックする
必要がない。これにより、メモリからのデータ読取処理
にかかる時間を短縮させることができ、システムのパフ
ォーマンスを向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるFiFoメモリ制
御回路の構成を示すブロック図。
【図2】図1に示すFiFoメモリ制御回路を使用した
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
【図3】図2に示すマイクロプロセッサ制御回路につい
て、ワンチップCPU60が行うタイマ割込処理ルーチ
ンを示す流れ図。
【図4】従来のFiFoメモリ制御回路の構成を示すブ
ロック図。
【図5】図4に示すFiFoメモリ制御回路を使用した
一般的なマイクロプロセッサ制御回路の構成を示すブロ
ック図。
【図6】図5に示すマイクロプロセッサ制御回路につい
て、ワンチップCPUが行う処理のメインルーチンを示
す流れ図。
【図7】図5に示すマイクロプロセッサ制御回路につい
て、ワンチップCPUが行うタイマ割込処理ルーチンを
示す流れ図。
【符号の説明】
30…FiFoメモリ制御回路 31…デュアルポートRAM 32…書込アドレス回路 33…読出アドレス回路 34…Full−Empty制御回路 35…アップダウンカウンタ 36…データバス制御回路 37…読出データ出力制御回路 38…カウント値出力制御回路 40…データバス 60…ワンチップCPU 65…計時タイマ割込発生回路 66…FiFo書込回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データの読出し書込みが可能なメモリ
    と、このメモリへの書込信号に基づいて書込アドレスを
    発生する書込アドレス回路と、前記メモリへの読出信号
    に基づいて読出アドレスを発生する読出アドレス回路と
    を備えたFiFoメモリ制御回路において、 前記メモリへ書込信号が与えられるごとにカウントアッ
    プ動作を行い、前記メモリへ読出信号が与えられるごと
    にカウントダウン動作を行うアップダウンカウンタと、
    外部からの制御信号により前記アップダウンカウンタの
    カウント値と前記メモリからの読出データを選択的に切
    換えて出力する出力制御回路とを設けたことを特徴とす
    るFiFoメモリ制御回路。
  2. 【請求項2】 データの読出し書込みが可能なメモリ
    と、このメモリへの書込信号に基づいて書込アドレスを
    発生する書込アドレス回路と、前記メモリへの読出信号
    に基づいて読出アドレスを発生する読出アドレス回路と
    を備えたFiFoメモリ制御回路と、このFiFoメモ
    リ制御回路に書込信号を供給してデータを書込むととも
    に、読出信号を供給してデータを読出すマイクロプロセ
    ッサとを備えたマイクロプロセッサ制御回路において、 前記FiFoメモリ制御回路は、前記メモリへ書込信号
    が与えられるごとにカウントアップ動作を行い、前記メ
    モリへ読出信号が与えられるごとにカウントダウン動作
    を行うアップダウンカウンタと、外部からの切換制御信
    号により前記アップダウンカウンタのカウント値と前記
    メモリからの読出データを選択的に切換えて出力する出
    力制御回路とを設け、 前記マイクロプロセッサは、前記FiFoメモリ制御回
    路からデータを読出すのに先立って、前記FiFoメモ
    リ制御回路に切換制御信号を供給して前記アップダウン
    カウンタのカウント値を読出し、このカウント値に基づ
    いてこれから読出すデータ数を決定し、前記FiFoメ
    モリ制御回路に切換制御信号を供給してその読出データ
    数分だけ連続して読出す処理を行うことを特徴とするF
    iFoメモリ制御回路を使用したマイクロプロセッサ制
    御装置。
JP10086722A 1998-03-31 1998-03-31 FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路 Pending JPH11283362A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10086722A JPH11283362A (ja) 1998-03-31 1998-03-31 FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10086722A JPH11283362A (ja) 1998-03-31 1998-03-31 FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路

Publications (1)

Publication Number Publication Date
JPH11283362A true JPH11283362A (ja) 1999-10-15

Family

ID=13894775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10086722A Pending JPH11283362A (ja) 1998-03-31 1998-03-31 FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路

Country Status (1)

Country Link
JP (1) JPH11283362A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020055117A (ko) * 2000-12-28 2002-07-08 엘지전자 주식회사 비동기전송모드에서의 업/다운 카운터 회로
JP2006040403A (ja) * 2004-07-27 2006-02-09 Matsushita Electric Ind Co Ltd 多ポートメモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020055117A (ko) * 2000-12-28 2002-07-08 엘지전자 주식회사 비동기전송모드에서의 업/다운 카운터 회로
JP2006040403A (ja) * 2004-07-27 2006-02-09 Matsushita Electric Ind Co Ltd 多ポートメモリ

Similar Documents

Publication Publication Date Title
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
US3896418A (en) Synchronous multi-processor system utilizing a single external memory unit
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
CN113495861A (zh) 用于计算的***和方法
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
US5410721A (en) System and method for incrementing a program counter
EP0581698A1 (en) Programmable microprocessor booting technique
WO1996008769A1 (en) Computer instruction prefetch system
US6986028B2 (en) Repeat block with zero cycle overhead nesting
US6738837B1 (en) Digital system with split transaction memory access
EP0729604B1 (en) Register status protection during read-modify-write operation
US5909588A (en) Processor architecture with divisional signal in instruction decode for parallel storing of variable bit-width results in separate memory locations
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US4896264A (en) Microprocess with selective cache memory
US5499363A (en) Microprocessor coupled to coprocessor by coprocessor bus separate from system bus to external memory for increased efficiency
JPH11283362A (ja) FiFoメモリ制御回路及びこの制御回路を使用したマイクロプロセッサ制御回路
JP2680828B2 (ja) ディジタル装置
JPH05181789A (ja) ディジタル回路
JPH03271829A (ja) 情報処理装置
US5734900A (en) Information handling system including efficient power on initialization
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
US6219740B1 (en) Information processing device
CN110245096B (zh) 一种实现处理器直接连接扩展计算模块的方法
US6009483A (en) System for dynamically setting and modifying internal functions externally of a data processing apparatus by storing and restoring a state in progress of internal functions being executed