JPH05175829A - データ入出力方法および装置 - Google Patents
データ入出力方法および装置Info
- Publication number
- JPH05175829A JPH05175829A JP33897591A JP33897591A JPH05175829A JP H05175829 A JPH05175829 A JP H05175829A JP 33897591 A JP33897591 A JP 33897591A JP 33897591 A JP33897591 A JP 33897591A JP H05175829 A JPH05175829 A JP H05175829A
- Authority
- JP
- Japan
- Prior art keywords
- flip
- data
- value
- counter
- flop
- 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
Links
Landscapes
- Dram (AREA)
Abstract
(57)【要約】
【目的】 データの高速読み書きを可能にした入出力方
法および装置を提供する。 【構成】 同期型計数器のANDゲートの直列キャリー
ラインに、mビット毎にDフリップフロップを挿入した
計数器1を用いれば、高速動作をさせることが可能であ
るが、上記の計数器1においては、一意的に決定出来な
い数が生じるので、mビット毎にまとめた数をnとした
場合に、n−1以上のOK集合に属する数の内の任意の
一つの値に計数器1の初期値を設定することにより、全
ビットに対応するメモリ2の全ての番地を使用すること
が出来、かつ高速動作を可能にすることが出来る。
法および装置を提供する。 【構成】 同期型計数器のANDゲートの直列キャリー
ラインに、mビット毎にDフリップフロップを挿入した
計数器1を用いれば、高速動作をさせることが可能であ
るが、上記の計数器1においては、一意的に決定出来な
い数が生じるので、mビット毎にまとめた数をnとした
場合に、n−1以上のOK集合に属する数の内の任意の
一つの値に計数器1の初期値を設定することにより、全
ビットに対応するメモリ2の全ての番地を使用すること
が出来、かつ高速動作を可能にすることが出来る。
Description
【0001】
【産業上の利用分野】この発明は、メモリへのデータの
読み出し、書き込みを行なうデータ入出力方法および装
置に関し、特に高速読み書きを可能にする技術に関す
る。
読み出し、書き込みを行なうデータ入出力方法および装
置に関し、特に高速読み書きを可能にする技術に関す
る。
【0002】
【従来の技術】メモリへのデータの読み出し、書き込み
を行なう場合には、一般に、クロック信号を計数器(カ
ウンタ)で計数し、メモリ内で上記計数値に対応した番
地を指定してデータの読み書きを行なうようになってい
る。以下、上記の入出力装置に用いられる計数器につい
て説明する。
を行なう場合には、一般に、クロック信号を計数器(カ
ウンタ)で計数し、メモリ内で上記計数値に対応した番
地を指定してデータの読み書きを行なうようになってい
る。以下、上記の入出力装置に用いられる計数器につい
て説明する。
【0003】図8は、従来の一般的な非同期型カウンタ
の一例図であり、JKフリップフロップを使用した4ビ
ットの2進カウンタを示す。図8において、FF0〜F
F3はそれぞれJKフリップフロップ、CLKは計数す
べき入力パルス信号(クロックパルス)、b0〜b3はそ
れぞれ各ビットの出力を示す。
の一例図であり、JKフリップフロップを使用した4ビ
ットの2進カウンタを示す。図8において、FF0〜F
F3はそれぞれJKフリップフロップ、CLKは計数す
べき入力パルス信号(クロックパルス)、b0〜b3はそ
れぞれ各ビットの出力を示す。
【0004】また、図10は従来の一般的な同期型カウ
ンタの一例図であり、JKフリップフロップとANDゲ
ートを使用した4ビットの2進カウンタを示す。図10
において、A0〜A3はそれぞれANDゲートを示し、そ
の他、図8と同符号は同じものを示す。図10の回路に
おいて、各ビットのJi、Ki入力は、前段のJKフリッ
プフロップからの出力および最下位ビットの入力によっ
て以下のように決定される。 J0=K0=1 J1=K1=b0 J2=K2=b1b0 J3=K3=b2b1b0
ンタの一例図であり、JKフリップフロップとANDゲ
ートを使用した4ビットの2進カウンタを示す。図10
において、A0〜A3はそれぞれANDゲートを示し、そ
の他、図8と同符号は同じものを示す。図10の回路に
おいて、各ビットのJi、Ki入力は、前段のJKフリッ
プフロップからの出力および最下位ビットの入力によっ
て以下のように決定される。 J0=K0=1 J1=K1=b0 J2=K2=b1b0 J3=K3=b2b1b0
【0005】
【発明が解決しようとする課題】しかし、上記のような
従来の計数器においては、第nビットの値を決める入力
の一般項Jn、Knが、 Jn=Kn=bn-1bn-2……b2b1b0 となっているため、計数器の桁数が増加すると、中間結
果の伝播に時間がかかって作動周波数を高めることが出
来ない、という問題点があった。以下、非同期型と同期
型について上記の問題点を詳細に説明する。
従来の計数器においては、第nビットの値を決める入力
の一般項Jn、Knが、 Jn=Kn=bn-1bn-2……b2b1b0 となっているため、計数器の桁数が増加すると、中間結
果の伝播に時間がかかって作動周波数を高めることが出
来ない、という問題点があった。以下、非同期型と同期
型について上記の問題点を詳細に説明する。
【0006】非同期型計数器における問題点 前記図8の回路においては、各JKフリップフロップの
J入力とK入力を共に1とし、最下位のJKフリップフ
ロップFF0のクロック入力端子に計数すべき入力(C
LK)を接続し、以後各JKフリップフロップの出力を
一段上のJKフリップフロップのクロック入力端子に入
力するように構成している。上記の構成において、各J
Kフリップフロップには動作が完結するまでに遅れがあ
るため、計数すべき入力信号の周波数が上記の遅れに対
して相対的に高くなると、計数値に遅れが出て、出力さ
れる2進数の値が、実際の計数値より小さくなるという
問題点がある。例えば、図9は上記の非同期型計数器の
タイミングチャートである。図9においては、各JKフ
リップフロップの遅れτがクロックパルスCLKの半波
長と等しい場合を例示している。この場合、(A)点は
第5番目のパルスが入った時点であり、従って計数値
“b3b2b1b0”は“0100”(10進数で4)でな
ければならない。しかし、図から判るように、上記の遅
れによって実際には、“0010”(10進数で2)ま
たは“0000”(10進数で0)となっている。従っ
て、非同期型計数器を使う場合には、クロックパルスの
周波数が連続したJKフリップフロップの遅れに対して
充分に低くなければならない。
J入力とK入力を共に1とし、最下位のJKフリップフ
ロップFF0のクロック入力端子に計数すべき入力(C
LK)を接続し、以後各JKフリップフロップの出力を
一段上のJKフリップフロップのクロック入力端子に入
力するように構成している。上記の構成において、各J
Kフリップフロップには動作が完結するまでに遅れがあ
るため、計数すべき入力信号の周波数が上記の遅れに対
して相対的に高くなると、計数値に遅れが出て、出力さ
れる2進数の値が、実際の計数値より小さくなるという
問題点がある。例えば、図9は上記の非同期型計数器の
タイミングチャートである。図9においては、各JKフ
リップフロップの遅れτがクロックパルスCLKの半波
長と等しい場合を例示している。この場合、(A)点は
第5番目のパルスが入った時点であり、従って計数値
“b3b2b1b0”は“0100”(10進数で4)でな
ければならない。しかし、図から判るように、上記の遅
れによって実際には、“0010”(10進数で2)ま
たは“0000”(10進数で0)となっている。従っ
て、非同期型計数器を使う場合には、クロックパルスの
周波数が連続したJKフリップフロップの遅れに対して
充分に低くなければならない。
【0007】さらに第二の問題点として、各JKフリッ
プフロップの遅れτがすべて等しいわけではないことに
よる非同期性の問題がある。すなわち、この計数器を含
む全体のシステムを特定のクロックに同期させて動作さ
せる場合、非同期型計数器では、その値の確定時が、各
々一様ではない遅れを有する全てのフリップフロップの
遅れの和によって規定されるため、同期的に値を参照し
ようとすると、その値が不確定となってしまう。例え
ば、前記図9の(A)点において、その値が“001
0”になるか“0000”になるかの違いが生じるの
は、二番目のJKフリップフロップFF1の動作速度が
僅かに速いか遅いかによるものである。上記と同様の現
象は、図示のように第8番目と第9番目のパルスが入力
した時点でも生じる。
プフロップの遅れτがすべて等しいわけではないことに
よる非同期性の問題がある。すなわち、この計数器を含
む全体のシステムを特定のクロックに同期させて動作さ
せる場合、非同期型計数器では、その値の確定時が、各
々一様ではない遅れを有する全てのフリップフロップの
遅れの和によって規定されるため、同期的に値を参照し
ようとすると、その値が不確定となってしまう。例え
ば、前記図9の(A)点において、その値が“001
0”になるか“0000”になるかの違いが生じるの
は、二番目のJKフリップフロップFF1の動作速度が
僅かに速いか遅いかによるものである。上記と同様の現
象は、図示のように第8番目と第9番目のパルスが入力
した時点でも生じる。
【0008】同期型計数器における問題点 前記図10の回路においては、各JKフリップフロップ
の出力がそれぞれ一つのANDゲートを介して次ビット
のJKフリップフロップの入力に接続され、かつ各AN
Dゲートの出力が次ビットのANDゲートの一方の入力
に接続されてANDゲートの直列キャリーラインを形成
している。図11は、上記の同期型計数器のタイミング
チャートである。図11においては、入力するクロック
パルスはパルス幅nsecが2で周期が6nsecであり、ま
た各ANDゲートは1nsecの遅れを有し、各JKフリ
ップフロップは3nsecの遅れを有するものとしてい
る。すなわち、(A)点における1nsecの遅れは、図
10のANDゲートA0における動作遅れによって発生
したものである。同様に(B)点における遅れは、AN
DゲートA0によって遅れた遷移がさらにANDゲート
A1によって1nsec遅れたものであり、JKフリップフ
ロップFF2の入力信号としては合計2nsecの遅れが出
ている。この(B)点における“0”から“1”への遷
移の後、1nsec後のクロックパルスの立下がりに対応
してJKフリップフロップFF2が動作し、(C)点に
示すようにJKフリップフロップの持つ3nsecの遅れ
の後に、JKフリップフロップFF2の出力は“0”か
ら“1”へと遷移している。上記の一連の動作と同様な
動作の系列が図11中の(D)、(E)、(F)に示さ
れている。(F)点の遅れは図10の回路におけるAN
DゲートA2の遅れに対応しており、JKフリップフロ
ップFF3の入力の遅れは合計1nsec増加して3nsec
になっている。このためJKフリップフロップFF3へ
の入力信号が“0”から“1”へと遷移するのは、クロ
ックパルスが立下がる時点と重なっており、クロックパ
ルスが立下がった時には安定した“1”とはならない。
従ってJKフリップフロップFF3の正常な遷移は期待
できず、(G)の点線で示されるように、たまたまクロ
ックの立下がりが遅れるか、たまたまANDゲート
A0、A1、A2の遅れが少し小さくなるか、あるいはこ
れらの逆が起こることによってJKフリップフロップF
F3の出力が“1”となったり、あるいは“0”のまま
であったりすることになる。上記のような不安定な現象
は、各ANDゲートA0、A1、A2における遅れの総和
がクロックパルスの周期に対して相対的に大きくなり過
ぎたために起こるものであって、図11の例では、各A
NDゲートの遅れの総和がクロックパルスの周期の1/
2に達すると正確な計数が出来なくなる。したがって図
11のタイムチャートに示すごとき遅れの特性とクロッ
クパルスの周期の関係では、高々3ビットまでの計数器
しか構成できないことが判る。上記のように、従来の計
数器においては、桁数が大きくなるとクロックパルスの
周波数を高くした高速の計数器は実現が困難であり、そ
のためメモリからのデータの読み出し、書き込みも高速
化が困難であるという問題があった。
の出力がそれぞれ一つのANDゲートを介して次ビット
のJKフリップフロップの入力に接続され、かつ各AN
Dゲートの出力が次ビットのANDゲートの一方の入力
に接続されてANDゲートの直列キャリーラインを形成
している。図11は、上記の同期型計数器のタイミング
チャートである。図11においては、入力するクロック
パルスはパルス幅nsecが2で周期が6nsecであり、ま
た各ANDゲートは1nsecの遅れを有し、各JKフリ
ップフロップは3nsecの遅れを有するものとしてい
る。すなわち、(A)点における1nsecの遅れは、図
10のANDゲートA0における動作遅れによって発生
したものである。同様に(B)点における遅れは、AN
DゲートA0によって遅れた遷移がさらにANDゲート
A1によって1nsec遅れたものであり、JKフリップフ
ロップFF2の入力信号としては合計2nsecの遅れが出
ている。この(B)点における“0”から“1”への遷
移の後、1nsec後のクロックパルスの立下がりに対応
してJKフリップフロップFF2が動作し、(C)点に
示すようにJKフリップフロップの持つ3nsecの遅れ
の後に、JKフリップフロップFF2の出力は“0”か
ら“1”へと遷移している。上記の一連の動作と同様な
動作の系列が図11中の(D)、(E)、(F)に示さ
れている。(F)点の遅れは図10の回路におけるAN
DゲートA2の遅れに対応しており、JKフリップフロ
ップFF3の入力の遅れは合計1nsec増加して3nsec
になっている。このためJKフリップフロップFF3へ
の入力信号が“0”から“1”へと遷移するのは、クロ
ックパルスが立下がる時点と重なっており、クロックパ
ルスが立下がった時には安定した“1”とはならない。
従ってJKフリップフロップFF3の正常な遷移は期待
できず、(G)の点線で示されるように、たまたまクロ
ックの立下がりが遅れるか、たまたまANDゲート
A0、A1、A2の遅れが少し小さくなるか、あるいはこ
れらの逆が起こることによってJKフリップフロップF
F3の出力が“1”となったり、あるいは“0”のまま
であったりすることになる。上記のような不安定な現象
は、各ANDゲートA0、A1、A2における遅れの総和
がクロックパルスの周期に対して相対的に大きくなり過
ぎたために起こるものであって、図11の例では、各A
NDゲートの遅れの総和がクロックパルスの周期の1/
2に達すると正確な計数が出来なくなる。したがって図
11のタイムチャートに示すごとき遅れの特性とクロッ
クパルスの周期の関係では、高々3ビットまでの計数器
しか構成できないことが判る。上記のように、従来の計
数器においては、桁数が大きくなるとクロックパルスの
周波数を高くした高速の計数器は実現が困難であり、そ
のためメモリからのデータの読み出し、書き込みも高速
化が困難であるという問題があった。
【0009】本発明は、上記のごとき従来技術の問題点
を解決するためになされたものであり、データの高速読
み書きを可能にした入出力方法および装置を提供するこ
とを目的とする。
を解決するためになされたものであり、データの高速読
み書きを可能にした入出力方法および装置を提供するこ
とを目的とする。
【0010】
【課題を解決するための手段】上記の目的を達成するた
め、本発明においては、特許請求の範囲に記載するよう
に構成している。すなわち、請求項1に記載のデータ入
出力方法においては、メモリの番地を指定するための計
数器として、ビット数に対応した数のフリップフロップ
と、それと同数のアンドゲートとを有し、各フリップフ
ロップの出力がそれぞれ一つのアンドゲートを介して次
ビットのフリップフロップの入力に接続され、かつ各ア
ンドゲートの出力が次ビットのアンドゲートの一方の入
力に接続されてアンドゲートの直列キャリーラインを形
成している同期型計数器における上記アンドゲートの直
列キャリーラインに、m(mは正の整数)ビット毎にD
フリップフロップを直列に挿入した構成を有し、予め定
まった複数の所定の値において正常な計数値を出力する
同期型計数器を用い、その計数器で正常な値を出力しな
い数の部分を補うため、請求項1の(1)〜(5)に示
すごとき手順でメモリの番地を指定するように構成して
いる。なお、請求項1に記載の“2↑(m+n)−1”に
おける“↑(m+n)”は2の(m+n)乗を示す。すな
わち2↑(m+n)−1は下記(数1)式で示す内容を有
する。以下同様に、↑( )の符号は括弧内が羃数を示
す。ただし、添字として用いる場合には、2↑(m+n)
−1をXとして表示している。
め、本発明においては、特許請求の範囲に記載するよう
に構成している。すなわち、請求項1に記載のデータ入
出力方法においては、メモリの番地を指定するための計
数器として、ビット数に対応した数のフリップフロップ
と、それと同数のアンドゲートとを有し、各フリップフ
ロップの出力がそれぞれ一つのアンドゲートを介して次
ビットのフリップフロップの入力に接続され、かつ各ア
ンドゲートの出力が次ビットのアンドゲートの一方の入
力に接続されてアンドゲートの直列キャリーラインを形
成している同期型計数器における上記アンドゲートの直
列キャリーラインに、m(mは正の整数)ビット毎にD
フリップフロップを直列に挿入した構成を有し、予め定
まった複数の所定の値において正常な計数値を出力する
同期型計数器を用い、その計数器で正常な値を出力しな
い数の部分を補うため、請求項1の(1)〜(5)に示
すごとき手順でメモリの番地を指定するように構成して
いる。なお、請求項1に記載の“2↑(m+n)−1”に
おける“↑(m+n)”は2の(m+n)乗を示す。すな
わち2↑(m+n)−1は下記(数1)式で示す内容を有
する。以下同様に、↑( )の符号は括弧内が羃数を示
す。ただし、添字として用いる場合には、2↑(m+n)
−1をXとして表示している。
【0011】
【数1】
【0012】また、請求項2の入出力装置においては、
請求項1に記載の方法を実現するための構成、すなわ
ち、メモリと、上記の特殊な同期型計数器と、初期値設
定手段と、制御手段と、を備えている。なお、上記の初
期値設定手段および制御手段は、例えば、コンピュータ
(例えば後記図1の中央処理装置3)の機能で構成する
ことが出来る。
請求項1に記載の方法を実現するための構成、すなわ
ち、メモリと、上記の特殊な同期型計数器と、初期値設
定手段と、制御手段と、を備えている。なお、上記の初
期値設定手段および制御手段は、例えば、コンピュータ
(例えば後記図1の中央処理装置3)の機能で構成する
ことが出来る。
【0013】
【作用】上記のごとく本発明においては、メモリの番地
を指定するための計数器として、上記のごとき特殊な高
速計数器を用いている。上記の同期型計数器において
は、ANDゲートの直列キャリーラインに、mビット毎
にDフリップフロップを挿入したことにより、中間結果
の伝播距離を短くすることが出来るので、作動周波数の
高い高速計数器を実現することが出来る。すなわち、上
記のmビット毎にまとめた部分をステージと名付けれ
ば、Dフリップフロップを各ステージ毎に挿入すると、
Dフリップフロップ間に存在するANDゲートのキャリ
ー長は高々mゲートとなる。つまり、各ステージ毎にD
フリップフロップを挿入して、各ANDゲートにおける
遅れをその点で0にするように構成しているので、直列
キャリーライン上のANDゲートの全体の数が多くて
も、動作に影響する遅れは各ステージ内の遅れのみに押
さえられる。したがって、ステージ内のビット数がmの
場合には、全体のビット数が如何に大きい場合でも、動
作に影響する遅れはANDゲートm個分の遅れになるの
で、クロックパルスの周期を高速にすることが出来る。
を指定するための計数器として、上記のごとき特殊な高
速計数器を用いている。上記の同期型計数器において
は、ANDゲートの直列キャリーラインに、mビット毎
にDフリップフロップを挿入したことにより、中間結果
の伝播距離を短くすることが出来るので、作動周波数の
高い高速計数器を実現することが出来る。すなわち、上
記のmビット毎にまとめた部分をステージと名付けれ
ば、Dフリップフロップを各ステージ毎に挿入すると、
Dフリップフロップ間に存在するANDゲートのキャリ
ー長は高々mゲートとなる。つまり、各ステージ毎にD
フリップフロップを挿入して、各ANDゲートにおける
遅れをその点で0にするように構成しているので、直列
キャリーライン上のANDゲートの全体の数が多くて
も、動作に影響する遅れは各ステージ内の遅れのみに押
さえられる。したがって、ステージ内のビット数がmの
場合には、全体のビット数が如何に大きい場合でも、動
作に影響する遅れはANDゲートm個分の遅れになるの
で、クロックパルスの周期を高速にすることが出来る。
【0014】ただし、上記のように構成すると、直列キ
ャリーライン上にDフリップフロップを挿入したことに
より、真の値と異なる計数値を示す場合が生じる。例え
ばm=2、n=2の場合、すなわち2ビット毎にまとめ
たステージ2個からなる4ビットカウンタの場合には、
0、1、2、3、5、6、7、9、10、11、13、
14、15については正確に計数することが出来るが、
4、8、12については計数値が正常値と異なってい
る。したがって上記のごとき計数器をデータ入出力装置
に用いる場合には、特別な番地指定方法を用いる必要が
ある。すなわち、正常な計数値となる所定の値をOK値
とし、上記Dフリップフロップによって区分けられた段
数をnとした場合に、0から最大Xまで番地付けられた
メモリを使用し、該メモリに書き込みまたは読み出され
るデータの系列をD0、D1、D2、…、Di、…、DXと
した場合に、まず、n−1以上の任意のOK値(上記の
例では、2、3、5、6、7、9、10、11、13、
14、15)の一つを選び、上記同期型計数器の各フリ
ップフロップをセットまたはリセットして上記同期型計
数器の初期値を上記の選択したOK値にセットする。ま
た上記同期型計数器のDフリップフロップは全てリセッ
トする。なお、上記のOK値は予め選択し、その値を初
期設定するように構成しておけばよい。次に、最初のデ
ータD0を上記同期型計数器の値、すなわち上記の初期
値で示される番地に書き込む。
ャリーライン上にDフリップフロップを挿入したことに
より、真の値と異なる計数値を示す場合が生じる。例え
ばm=2、n=2の場合、すなわち2ビット毎にまとめ
たステージ2個からなる4ビットカウンタの場合には、
0、1、2、3、5、6、7、9、10、11、13、
14、15については正確に計数することが出来るが、
4、8、12については計数値が正常値と異なってい
る。したがって上記のごとき計数器をデータ入出力装置
に用いる場合には、特別な番地指定方法を用いる必要が
ある。すなわち、正常な計数値となる所定の値をOK値
とし、上記Dフリップフロップによって区分けられた段
数をnとした場合に、0から最大Xまで番地付けられた
メモリを使用し、該メモリに書き込みまたは読み出され
るデータの系列をD0、D1、D2、…、Di、…、DXと
した場合に、まず、n−1以上の任意のOK値(上記の
例では、2、3、5、6、7、9、10、11、13、
14、15)の一つを選び、上記同期型計数器の各フリ
ップフロップをセットまたはリセットして上記同期型計
数器の初期値を上記の選択したOK値にセットする。ま
た上記同期型計数器のDフリップフロップは全てリセッ
トする。なお、上記のOK値は予め選択し、その値を初
期設定するように構成しておけばよい。次に、最初のデ
ータD0を上記同期型計数器の値、すなわち上記の初期
値で示される番地に書き込む。
【0015】次に、上記同期型計数器が入力パルス信号
を計数して現在の状態から次の状態へ遷移すると、次の
データを上記同期型計数器の計数値で示される番地へ書
き込む。そして、全てのデータ、すなわち最大でDXま
での書き込みが終わるまで、上記の操作を繰り返す。ま
た、データ読み出しの場合も上記と同様の手順でメモリ
の番地を指定し、当該番地のデータを読み出す。例え
ば、後記図2に示す同期型計数器のように、m=2、n
=3で5ビットの計数器を構成した場合において、上記
の初期値として2を選択した場合には、D0〜D31の各
データと書き込まれる番地の関係は図3に示すようにな
る。図3から判るように、0番地には3番目のデータD
2が、1番地には16番目のデータD15が、2番地には
1番目のデータD0が書き込まれるというように、番地
の順序とそこに書き込まれるデータ番号とは順序が異な
っているが、書き込みと読み出しの際に同じ番地を指定
すれば、何ら問題を生じることがない。
を計数して現在の状態から次の状態へ遷移すると、次の
データを上記同期型計数器の計数値で示される番地へ書
き込む。そして、全てのデータ、すなわち最大でDXま
での書き込みが終わるまで、上記の操作を繰り返す。ま
た、データ読み出しの場合も上記と同様の手順でメモリ
の番地を指定し、当該番地のデータを読み出す。例え
ば、後記図2に示す同期型計数器のように、m=2、n
=3で5ビットの計数器を構成した場合において、上記
の初期値として2を選択した場合には、D0〜D31の各
データと書き込まれる番地の関係は図3に示すようにな
る。図3から判るように、0番地には3番目のデータD
2が、1番地には16番目のデータD15が、2番地には
1番目のデータD0が書き込まれるというように、番地
の順序とそこに書き込まれるデータ番号とは順序が異な
っているが、書き込みと読み出しの際に同じ番地を指定
すれば、何ら問題を生じることがない。
【0016】なお、本発明においては、前記のごとく一
部に計数値が正常値と異なる値となる特殊な高速計数器
を使用し、計数器で計数できる全ての数(例えば4ビッ
トなら16個)に対応した番地を全て指定するために、
前記のごとき特別な番地指定方法を用いているが、正常
値と異なる値に相当する番地を欠番とするのであれば、
通常と同様の番地指定方法を用いることが出来る。例え
ば、上記のm=2、n=2の4ビットカウンタの場合
に、0、1、2、3、5、6、7、9、10、11、1
3、14、15の13個の番地のみを使用し、4、8、
12の3個の番地は欠番としてメモリを使用しないので
あれば、通常通りに0番地には1番目のデータD0、1
番地には2番目のデータD1というように指定すればよ
い。
部に計数値が正常値と異なる値となる特殊な高速計数器
を使用し、計数器で計数できる全ての数(例えば4ビッ
トなら16個)に対応した番地を全て指定するために、
前記のごとき特別な番地指定方法を用いているが、正常
値と異なる値に相当する番地を欠番とするのであれば、
通常と同様の番地指定方法を用いることが出来る。例え
ば、上記のm=2、n=2の4ビットカウンタの場合
に、0、1、2、3、5、6、7、9、10、11、1
3、14、15の13個の番地のみを使用し、4、8、
12の3個の番地は欠番としてメモリを使用しないので
あれば、通常通りに0番地には1番目のデータD0、1
番地には2番目のデータD1というように指定すればよ
い。
【0017】
【実施例】本発明のデータ入出力装置について説明する
前に、まず、本発明に用いる特殊な同期型計数器につい
て説明する。図5は、本発明者等が発明した同期型計数
器の一例のブロック図である。
前に、まず、本発明に用いる特殊な同期型計数器につい
て説明する。図5は、本発明者等が発明した同期型計数
器の一例のブロック図である。
【0018】図5において、FF0〜FF3はそれぞれJ
Kフリップフロップ、A0〜A3はそれぞれANDゲー
ト、DF0及びDF1はDフリップフロップ(Delayまた
はDataフリップフロップ)、CLKは計数すべき入力パ
ルス信号(クロックパルス)、b0〜b3はそれぞれ各ビ
ットの出力を示す。図5の回路は、ANDゲートA0〜
A3とJKフリップフロップFF0〜FF3からなる4ビ
ットの同期型計数器において、2ビット毎にまとめた部
分をそれぞれステージと名付ければ、ANDゲートの直
列キャリーライン上の各ステージから次のステージへ移
る出力へDフリップフロップを挿入し、そのDフリップ
フロップの出力を次のステージのキャリー入力とするよ
うに構成したものである。この場合、m=2であり、か
つ、ステージ数をnとすれば、n=2であり、全体のビ
ット数はm×n=4となる。
Kフリップフロップ、A0〜A3はそれぞれANDゲー
ト、DF0及びDF1はDフリップフロップ(Delayまた
はDataフリップフロップ)、CLKは計数すべき入力パ
ルス信号(クロックパルス)、b0〜b3はそれぞれ各ビ
ットの出力を示す。図5の回路は、ANDゲートA0〜
A3とJKフリップフロップFF0〜FF3からなる4ビ
ットの同期型計数器において、2ビット毎にまとめた部
分をそれぞれステージと名付ければ、ANDゲートの直
列キャリーライン上の各ステージから次のステージへ移
る出力へDフリップフロップを挿入し、そのDフリップ
フロップの出力を次のステージのキャリー入力とするよ
うに構成したものである。この場合、m=2であり、か
つ、ステージ数をnとすれば、n=2であり、全体のビ
ット数はm×n=4となる。
【0019】次に作用を説明する。図6は、図5の回路
のタイミングチャートである。図6においては、図5の
回路における各JKフリップフロップの遅れを3nse
c、各ANDゲートの遅れを1nsec、各Dフリップフロ
ップの遅れを2nsecとし、クロックパルスCLKの周
期を6nsecとし、各JKフリップフロップをリセット
した状態から計数を開始した場合における特性を、各出
力の値を縦軸に、時間を横軸に取ったグラフで示してい
る。また、図5の各素子はクロックパルスの立下がりで
起動するものであり、この時の各JKフリップフロップ
FF0〜FF3の値が計数値である。この実施例において
は、Dフリップフロップが2ビット毎に挿入されている
ため、Dフリップフロップ間に存在するANDゲートの
キャリー長は高々2ゲートとなっている。すなわち、各
ステージ毎にDフリップフロップを挿入して、各AND
ゲートにおける遅れをその点で0にするように構成して
いるので、直列キャリーライン上のANDゲートの全体
の数が多くても、動作に影響する遅れは各ステージ内の
遅れのみに押さえられる。したがって図5の例のごと
く、ステージ内のビット数mが2の場合には、全体のビ
ット数が如何に大きい場合でも、動作に影響する遅れは
ANDゲート2個分の遅れになるので、クロックパルス
の周期を図示のごとく6nsecと高速にすることが出来
る。
のタイミングチャートである。図6においては、図5の
回路における各JKフリップフロップの遅れを3nse
c、各ANDゲートの遅れを1nsec、各Dフリップフロ
ップの遅れを2nsecとし、クロックパルスCLKの周
期を6nsecとし、各JKフリップフロップをリセット
した状態から計数を開始した場合における特性を、各出
力の値を縦軸に、時間を横軸に取ったグラフで示してい
る。また、図5の各素子はクロックパルスの立下がりで
起動するものであり、この時の各JKフリップフロップ
FF0〜FF3の値が計数値である。この実施例において
は、Dフリップフロップが2ビット毎に挿入されている
ため、Dフリップフロップ間に存在するANDゲートの
キャリー長は高々2ゲートとなっている。すなわち、各
ステージ毎にDフリップフロップを挿入して、各AND
ゲートにおける遅れをその点で0にするように構成して
いるので、直列キャリーライン上のANDゲートの全体
の数が多くても、動作に影響する遅れは各ステージ内の
遅れのみに押さえられる。したがって図5の例のごと
く、ステージ内のビット数mが2の場合には、全体のビ
ット数が如何に大きい場合でも、動作に影響する遅れは
ANDゲート2個分の遅れになるので、クロックパルス
の周期を図示のごとく6nsecと高速にすることが出来
る。
【0020】ただし、図5の構成では、直列キャリーラ
イン上にDフリップフロップを挿入したことにより、計
数値に次のごとき問題を生じる。図7は、図5の回路に
おける各ビット出力と10進数との対応を示す図表であ
る。図7において、破線で囲んだ部分、つまり、10進
数で4、8、12の点では、Dフリップフロップの値D
Fが“1”となっており、この部分では計数値が誤って
いる。すなわち、本来4=“0100”となるべき値が
“0000”となり、8=“1000”が“0100”
となり、12=“1100”が“1000”となってい
る。上記のように、この4ビット計数器においては、
0、1、2、3、5、6、7、9、10、11、13、
14、15は正確に計数することが出来るが、4、8、
12は計数することが出来ない。上記の正常に計数でき
る数、すなわち計数可能な数の集合をOK集合と名付け
た場合、一般的には、OK集合は下記(数1)式で示さ
れる。
イン上にDフリップフロップを挿入したことにより、計
数値に次のごとき問題を生じる。図7は、図5の回路に
おける各ビット出力と10進数との対応を示す図表であ
る。図7において、破線で囲んだ部分、つまり、10進
数で4、8、12の点では、Dフリップフロップの値D
Fが“1”となっており、この部分では計数値が誤って
いる。すなわち、本来4=“0100”となるべき値が
“0000”となり、8=“1000”が“0100”
となり、12=“1100”が“1000”となってい
る。上記のように、この4ビット計数器においては、
0、1、2、3、5、6、7、9、10、11、13、
14、15は正確に計数することが出来るが、4、8、
12は計数することが出来ない。上記の正常に計数でき
る数、すなわち計数可能な数の集合をOK集合と名付け
た場合、一般的には、OK集合は下記(数1)式で示さ
れる。
【0021】
【数1】
【0022】ただし、上記(数1)式において、Vは下
記(数2)式で示される値である。
記(数2)式で示される値である。
【0023】
【数2】
【0024】上記のOKにおけるVの条件は、直列キャ
リーライン上のDフリップフロップの値が全て0である
ことに相当する。上記のように、図5のごとき計数器に
おいては、高速動作が可能である代わりに、OK集合に
属する数以外の数は正常に計数することが出来ない。し
たがって、このような計数器を入出力装置におけるアド
レス計数用のカウンタとして用いる場合には、正常値と
異なる値に相当する番地を欠番とするのであれば、通常
と同様の番地指定方法を用いることが出来る。例えば、
上記の4ビットカウンタの場合に、0、1、2、3、
5、6、7、9、10、11、13、14、15の13
個の番地のみを使用し、4、8、12の3個の番地は欠
番としてメモリを使用しないのであれば、通常通りに0
番地には1番目のデータD0、1番地には2番目のデー
タD1というように指定すればよい。なお、図5の回路
において、計数値がOK集合に属している場合は全ての
Dフリップフロップの出力が“0”であるから、各Dフ
リップフロップの出力からNOT回路(否定回路)を介
してANDゲートに接続すれば、そのANDゲートの出
力が“1”の場合には、そのときの計数値がOK集合に
属していることを示す。したがって、上記のように欠番
を含む入出力方法の場合には、上記ANDゲートの出力
が“1”のときにのみ、計数値で番地を指定するように
構成すればよい。
リーライン上のDフリップフロップの値が全て0である
ことに相当する。上記のように、図5のごとき計数器に
おいては、高速動作が可能である代わりに、OK集合に
属する数以外の数は正常に計数することが出来ない。し
たがって、このような計数器を入出力装置におけるアド
レス計数用のカウンタとして用いる場合には、正常値と
異なる値に相当する番地を欠番とするのであれば、通常
と同様の番地指定方法を用いることが出来る。例えば、
上記の4ビットカウンタの場合に、0、1、2、3、
5、6、7、9、10、11、13、14、15の13
個の番地のみを使用し、4、8、12の3個の番地は欠
番としてメモリを使用しないのであれば、通常通りに0
番地には1番目のデータD0、1番地には2番目のデー
タD1というように指定すればよい。なお、図5の回路
において、計数値がOK集合に属している場合は全ての
Dフリップフロップの出力が“0”であるから、各Dフ
リップフロップの出力からNOT回路(否定回路)を介
してANDゲートに接続すれば、そのANDゲートの出
力が“1”の場合には、そのときの計数値がOK集合に
属していることを示す。したがって、上記のように欠番
を含む入出力方法の場合には、上記ANDゲートの出力
が“1”のときにのみ、計数値で番地を指定するように
構成すればよい。
【0025】しかし、上記の入出力方法では、メモリ内
に使用出来ない番地が出来るので、不経済である。その
ため、上記のごとき特殊な高速計数器を用い、かつメモ
リの全ての番地を有効に活用することが出来るようにし
たのが本発明の入出力方法である。以下、詳細に説明す
る。図1は、本発明のデータ入出力装置の一実施例のブ
ロック図であり、計数値をアドレスとして用いるマイク
ロプログラムのプログラム・カウンタとして前記のごと
き特殊な高速計数器を用いた例を示す。図1において、
1は前記のごとき特殊な計数器であり、例えば図2に示
すごときm=2、n=3の計数器である。また、2はメ
モリ、3は中央処理装置(CPU)、4はアドレスバ
ス、5はデータバスである。また、S1およびS2は計数
器1内の各フリップフロップをセットするセット信号、
R1およびR2は同じくリセット信号(詳細後述)であ
る。また、CLKはクロック信号、WRはメモリの書き
込み信号である。この書き込み信号WRが“1”の時、
アドレスバス4の値で示される番地にデータバス5上の
値が書き込まれる。また、計数器1の各JKフリップフ
ロップはメモリ2のアドレスバス4に直接接続されてお
り、各JKフリップフロップの計数値が番地を指定する
ものとなる。
に使用出来ない番地が出来るので、不経済である。その
ため、上記のごとき特殊な高速計数器を用い、かつメモ
リの全ての番地を有効に活用することが出来るようにし
たのが本発明の入出力方法である。以下、詳細に説明す
る。図1は、本発明のデータ入出力装置の一実施例のブ
ロック図であり、計数値をアドレスとして用いるマイク
ロプログラムのプログラム・カウンタとして前記のごと
き特殊な高速計数器を用いた例を示す。図1において、
1は前記のごとき特殊な計数器であり、例えば図2に示
すごときm=2、n=3の計数器である。また、2はメ
モリ、3は中央処理装置(CPU)、4はアドレスバ
ス、5はデータバスである。また、S1およびS2は計数
器1内の各フリップフロップをセットするセット信号、
R1およびR2は同じくリセット信号(詳細後述)であ
る。また、CLKはクロック信号、WRはメモリの書き
込み信号である。この書き込み信号WRが“1”の時、
アドレスバス4の値で示される番地にデータバス5上の
値が書き込まれる。また、計数器1の各JKフリップフ
ロップはメモリ2のアドレスバス4に直接接続されてお
り、各JKフリップフロップの計数値が番地を指定する
ものとなる。
【0026】次に、図2は、上記の計数器1の詳細を示
すブロック図である。図2において、FF0〜FF4はJ
Kフリップフロップ、DF0、DF1はDフリップフロッ
プ、A0〜A3はANDゲート、b0〜b4は各JKフリッ
プフロップの出力である。各JKフリップフロップFF
0〜FF4は、セット端子setとリセット端子resetとを有
し、また各DフリップフロップDF0、DF1はリセット
端子resetを有し、後述するごとく初期値を2とする場
合には、中央処理装置3から出力されるセット信号S1
は、JKフリップフロップFF0、FF2、FF3、FF4
のセット端子に与えられ、リセット信号R1はJKフリ
ップフロップFF0、FF2、FF3、FF4のリセット端
子およびDフリップフロップDF0、DF1のリセット端
子に与えられる。一方、セット信号S2はJKフリップ
フロップFF1のセット端子に与えられ、リセット信号
R2はJKフリップフロップFF1のリセット端子に与え
られる。上記のJKフリップフロップおよびDフリップ
フロップにおけるセット機能とリセット機能は非同期で
動作するようになっており、計数器の初期状態を非同期
で任意の値に設定することが出来る。なお、図4は、図
1の回路における信号波形のタイミングチャートであ
る。
すブロック図である。図2において、FF0〜FF4はJ
Kフリップフロップ、DF0、DF1はDフリップフロッ
プ、A0〜A3はANDゲート、b0〜b4は各JKフリッ
プフロップの出力である。各JKフリップフロップFF
0〜FF4は、セット端子setとリセット端子resetとを有
し、また各DフリップフロップDF0、DF1はリセット
端子resetを有し、後述するごとく初期値を2とする場
合には、中央処理装置3から出力されるセット信号S1
は、JKフリップフロップFF0、FF2、FF3、FF4
のセット端子に与えられ、リセット信号R1はJKフリ
ップフロップFF0、FF2、FF3、FF4のリセット端
子およびDフリップフロップDF0、DF1のリセット端
子に与えられる。一方、セット信号S2はJKフリップ
フロップFF1のセット端子に与えられ、リセット信号
R2はJKフリップフロップFF1のリセット端子に与え
られる。上記のJKフリップフロップおよびDフリップ
フロップにおけるセット機能とリセット機能は非同期で
動作するようになっており、計数器の初期状態を非同期
で任意の値に設定することが出来る。なお、図4は、図
1の回路における信号波形のタイミングチャートであ
る。
【0027】以下、作用を説明する。m×nビットの計
数器1によってメモリ2の番地を指定するには、メモリ
2として0から最大2↑(m+n)−1まで番地付けられ
たメモリを使用する。このメモリに記憶されるデータの
系列をD0、D1、D2、…、Di、…、DXとすると、こ
れらのデータのメモリへの書き込みは以下の手順で行な
う。 (1)n−1以上の任意のOK値を一つ選び、計数器1
の各JKフリップフロップをセットまたはリセットして
計数器1の初期値を上記の選択したOK値にセットす
る。また計数器1のDフリップフロップは全てリセット
する。 (2)最初のデータD0を計数器1の値、すなわち上記
の初期値で示される番地に書き込む。 (3)計数器1が入力パルス信号を計数して現在の状態
から次の状態へ遷移すると、次のデータを計数器1の計
数値で示される番地へ書き込む。 (4)全てのデータ、すなわち最大でDXまでの書き込
みが終わるまで、上記(3)を繰り返す。 (5)データ読み出しの場合も上記と同様の手順でメモ
リの番地を指定し、当該番地のデータを読み出す。
数器1によってメモリ2の番地を指定するには、メモリ
2として0から最大2↑(m+n)−1まで番地付けられ
たメモリを使用する。このメモリに記憶されるデータの
系列をD0、D1、D2、…、Di、…、DXとすると、こ
れらのデータのメモリへの書き込みは以下の手順で行な
う。 (1)n−1以上の任意のOK値を一つ選び、計数器1
の各JKフリップフロップをセットまたはリセットして
計数器1の初期値を上記の選択したOK値にセットす
る。また計数器1のDフリップフロップは全てリセット
する。 (2)最初のデータD0を計数器1の値、すなわち上記
の初期値で示される番地に書き込む。 (3)計数器1が入力パルス信号を計数して現在の状態
から次の状態へ遷移すると、次のデータを計数器1の計
数値で示される番地へ書き込む。 (4)全てのデータ、すなわち最大でDXまでの書き込
みが終わるまで、上記(3)を繰り返す。 (5)データ読み出しの場合も上記と同様の手順でメモ
リの番地を指定し、当該番地のデータを読み出す。
【0028】次に、実例として、図2に示すごときm=
2、n=3の計数器によって5ビット、すなわちD0、
D1、…、D31までの32個のデータをメモリ2に書き
込む場合について説明する。なお、この例においては5
ビットとして用いるため、図2においては、第3段目は
JKフリップフロップがFF4の1個だけ接続されてい
るが、第3段目もJKフリップフロップを2個接続すれ
ば、m×n=2×3=6ビットで、最大64個までのデ
ータに用いることが出来る。 (1)n=3、n−1=2であり、2はOK値であるの
で、この値を初期値とする。この初期値を設定するため
に、図4の信号波形におけるS1、R1、S2、R2に示す
ごときセット信号とリセット信号を与える。すなわち、
JKフリップフロップFF0、FF2、FF3、FF4のセ
ット端子には“0”(S1)、JKフリップフロップF
F0、FF2、FF3、FF4のリセット端子およびDフリ
ップフロップDF0、DF1のリセット端子には“1”
(R1)、JKフリップフロップFF1のセット端子には
“1”(S2)、JKフリップフロップFF1のリセット
端子には“0”(R2)を与える。これにより、計数器
1の初期値は“00010”(=2)となる。 (2)計数器1の計数値で示される番地、すなわち2番
地へ最初のデータD0を書き込む。 (3)計数器1がクロック信号CLKを計数して現在の
状態から次の状態へ遷移すると、次のデータを計数器1
の値で示される番地に書き込む。 (4)データが尽きるまで、すなわち32番目のデータ
D31を書き込み終わるまで上記(3)を繰り返す。 初期値を2に設定して計数すると、図2の計数器におけ
るJKフリップフロップの計数値の系列は、2、3、
0、5、6、7、4、9、10、11、8、13、1
4、15、12、1、18、19、16、21、22、
23、20、25、26、27、24、29、30、3
1、28、17となる。したがって、この系列で示され
る番地にD0、D1、D2、…、D31の順でデータが格納
されることになる。図3は、上記の指定番地と入力され
るデータ番号との対応を示す図である。以下、上記のよ
うに初期値を設定することによって5ビット32個の番
地を全て指定することが出来る理由について説明する。
図2の計数器においては、OK集合に属する数は、0、
1、2、3、5、6、7、9、10、11、13、1
4、15、18、19、21、22、23、25、2
6、27、29、30、31の24個であり、OK集合
に属さない数は、4、8、12、16、17、20、2
4、28の8個である。上記のOK集合の24個のう
ち、0と1とを除いた残りの22個は値が一意に決定さ
れるため、それらの値をそのまま番地として用いて支障
を来さない。また、OK集合に属さない8個のうち、
8、12、16、20、24、28の6個に関しては、
その計数値が8は4に相当(すなわち、図2の計数器で
は8のときに4の計数値“00100”となる)し、1
2は8に、16は12に、20は16に、24は20
に、28は24に、それぞれ相当することになり、真の
値とはずれているがそれぞれ一意に決定されるので、番
地の内容を計数値に合わせて変更しておくことによって
支障なく使用することが出来る。例えば、値8は計数値
が4となるため、番地の系列としては3番地の次に8番
地が続き、その後は9、10、11番地となって次に8
番地が来るように内容を入れ換えておけばよい。しか
し、OK集合の0と1およびOK集合に属さない4と1
7に関しては、0と4が同じ計数値0(“0000
0”)となり、1と17が同じ計数値1(“0000
1”)となるので、特別な処置が必要となる。そのた
め、本実施例においては、計数器の初期値を0とせずに
2と設定し、4を0番地、17を1番地に対応させたも
のである。このようにすることにより、図2の計数器に
おけるJKフリップフロップの計数値の系列は、2、
3、0、5、6、7、4、9、10、11、8、13、
14、15、12、1、18、19、16、21、2
2、23、20、25、26、27、24、29、3
0、31、28、17の順序で周回することになる。し
たがって上記の順序で番地を指定すれば、図2のごとき
特殊な高速計数器を用いて、メモリの全ての番地を一意
に指定することが可能となる。上記のように、本実施例
においては、2番地に1番目のデータD0が、3番地に
2番目のデータD1が、0番地に3番目のデータD2が書
き込まれるというように、番地の順序とそこに書き込ま
れるデータ番号とは順序が異なっているが、書き込みと
読み出しの際に同じ番地を指定すれば、何ら問題を生じ
ることがない。なお、前記(1)〜(4)の手順を用い
ることにより、図2の計数器に限らず他のmやnの値お
よび他のビット数の計数器においても、上記と同様に、
メモリの全ての番地を一意に指定することが可能とな
る。
2、n=3の計数器によって5ビット、すなわちD0、
D1、…、D31までの32個のデータをメモリ2に書き
込む場合について説明する。なお、この例においては5
ビットとして用いるため、図2においては、第3段目は
JKフリップフロップがFF4の1個だけ接続されてい
るが、第3段目もJKフリップフロップを2個接続すれ
ば、m×n=2×3=6ビットで、最大64個までのデ
ータに用いることが出来る。 (1)n=3、n−1=2であり、2はOK値であるの
で、この値を初期値とする。この初期値を設定するため
に、図4の信号波形におけるS1、R1、S2、R2に示す
ごときセット信号とリセット信号を与える。すなわち、
JKフリップフロップFF0、FF2、FF3、FF4のセ
ット端子には“0”(S1)、JKフリップフロップF
F0、FF2、FF3、FF4のリセット端子およびDフリ
ップフロップDF0、DF1のリセット端子には“1”
(R1)、JKフリップフロップFF1のセット端子には
“1”(S2)、JKフリップフロップFF1のリセット
端子には“0”(R2)を与える。これにより、計数器
1の初期値は“00010”(=2)となる。 (2)計数器1の計数値で示される番地、すなわち2番
地へ最初のデータD0を書き込む。 (3)計数器1がクロック信号CLKを計数して現在の
状態から次の状態へ遷移すると、次のデータを計数器1
の値で示される番地に書き込む。 (4)データが尽きるまで、すなわち32番目のデータ
D31を書き込み終わるまで上記(3)を繰り返す。 初期値を2に設定して計数すると、図2の計数器におけ
るJKフリップフロップの計数値の系列は、2、3、
0、5、6、7、4、9、10、11、8、13、1
4、15、12、1、18、19、16、21、22、
23、20、25、26、27、24、29、30、3
1、28、17となる。したがって、この系列で示され
る番地にD0、D1、D2、…、D31の順でデータが格納
されることになる。図3は、上記の指定番地と入力され
るデータ番号との対応を示す図である。以下、上記のよ
うに初期値を設定することによって5ビット32個の番
地を全て指定することが出来る理由について説明する。
図2の計数器においては、OK集合に属する数は、0、
1、2、3、5、6、7、9、10、11、13、1
4、15、18、19、21、22、23、25、2
6、27、29、30、31の24個であり、OK集合
に属さない数は、4、8、12、16、17、20、2
4、28の8個である。上記のOK集合の24個のう
ち、0と1とを除いた残りの22個は値が一意に決定さ
れるため、それらの値をそのまま番地として用いて支障
を来さない。また、OK集合に属さない8個のうち、
8、12、16、20、24、28の6個に関しては、
その計数値が8は4に相当(すなわち、図2の計数器で
は8のときに4の計数値“00100”となる)し、1
2は8に、16は12に、20は16に、24は20
に、28は24に、それぞれ相当することになり、真の
値とはずれているがそれぞれ一意に決定されるので、番
地の内容を計数値に合わせて変更しておくことによって
支障なく使用することが出来る。例えば、値8は計数値
が4となるため、番地の系列としては3番地の次に8番
地が続き、その後は9、10、11番地となって次に8
番地が来るように内容を入れ換えておけばよい。しか
し、OK集合の0と1およびOK集合に属さない4と1
7に関しては、0と4が同じ計数値0(“0000
0”)となり、1と17が同じ計数値1(“0000
1”)となるので、特別な処置が必要となる。そのた
め、本実施例においては、計数器の初期値を0とせずに
2と設定し、4を0番地、17を1番地に対応させたも
のである。このようにすることにより、図2の計数器に
おけるJKフリップフロップの計数値の系列は、2、
3、0、5、6、7、4、9、10、11、8、13、
14、15、12、1、18、19、16、21、2
2、23、20、25、26、27、24、29、3
0、31、28、17の順序で周回することになる。し
たがって上記の順序で番地を指定すれば、図2のごとき
特殊な高速計数器を用いて、メモリの全ての番地を一意
に指定することが可能となる。上記のように、本実施例
においては、2番地に1番目のデータD0が、3番地に
2番目のデータD1が、0番地に3番目のデータD2が書
き込まれるというように、番地の順序とそこに書き込ま
れるデータ番号とは順序が異なっているが、書き込みと
読み出しの際に同じ番地を指定すれば、何ら問題を生じ
ることがない。なお、前記(1)〜(4)の手順を用い
ることにより、図2の計数器に限らず他のmやnの値お
よび他のビット数の計数器においても、上記と同様に、
メモリの全ての番地を一意に指定することが可能とな
る。
【0029】
【発明の効果】以上説明したように、この発明によれ
ば、ANDゲートの直列キャリーラインに、mビット毎
にDフリップフロップを挿入した特殊な計数器を用い、
かつ前記(1)〜(4)のごとき手順を用いることによ
り、データ入出力装置の読み出し書き込み速度を大幅に
向上させることが出来る、という優れた効果が得られ
る。
ば、ANDゲートの直列キャリーラインに、mビット毎
にDフリップフロップを挿入した特殊な計数器を用い、
かつ前記(1)〜(4)のごとき手順を用いることによ
り、データ入出力装置の読み出し書き込み速度を大幅に
向上させることが出来る、という優れた効果が得られ
る。
【図1】本発明のデータ入出力装置の一実施例のブロッ
ク図。
ク図。
【図2】図1の装置に用いる同期型計数器の一例のブロ
ック図。
ック図。
【図3】図1に装置における指定番地とデータ番号との
対照を示す図表。
対照を示す図表。
【図4】図1の回路における動作波形を示すタイミング
チャート。
チャート。
【図5】同期型計数器の一例のブロック図。
【図6】図5の回路における動作波形を示すタイミング
チャート。
チャート。
【図7】図5の回路における計数値を示す図表。
【図8】従来の非同期型計数器の一例のブロック図。
【図9】図8の回路における信号波形を示すタイミング
チャート。
チャート。
【10】従来の同期型計数器の一例のブロック図。
【図11】図10の回路における信号波形を示すタイミ
ングチャート。
ングチャート。
1…同期型計数器 2…メモリ 3…中央処理装置 4…アドレスバス 5…データバス FF0〜FF4…JKフリップフロップ A0〜A3…ANDゲート DF0、DF1…Dフリップフロップ CLK…計数すべき入力パルス信号(クロックパルス) b0〜b4…各ビットの出力 WR…書き込み信号 S1…FF0、FF2、FF3、FF4、DF0およびDF1
のセット信号 S2…FF1のセット信号 R1…FF0、FF2、FF3、FF4、DF0およびDF1
のリセット信号 R2…FF1のリセット信号
のセット信号 S2…FF1のセット信号 R1…FF0、FF2、FF3、FF4、DF0およびDF1
のリセット信号 R2…FF1のリセット信号
Claims (2)
- 【請求項1】入力パルス信号を計数器で計数し、メモリ
内の上記計数値に対応した番地を指定してデータの入出
力を行なうデータ入出力方法において、 上記計数器として、ビット数に対応した数のフリップフ
ロップと、それと同数のアンドゲートとを有し、各フリ
ップフロップの出力がそれぞれ一つのアンドゲートを介
して次ビットのフリップフロップの入力に接続され、か
つ各アンドゲートの出力が次ビットのアンドゲートの一
方の入力に接続されてアンドゲートの直列キャリーライ
ンを形成している同期型計数器における上記アンドゲー
トの直列キャリーラインに、m(mは正の整数)ビット
毎にDフリップフロップを直列に挿入した構成を有し、
予め定まった複数の所定の値において正常な計数値を出
力する同期型計数器を用い、 上記正常な計数値となる所定の値をOK値とし、上記D
フリップフロップによって区分けられた段数をnとした
場合に、0から最大2↑(m+n)−1(以下この値をX
と表示)まで番地付けられたメモリを使用し、該メモリ
に書き込みまたは読み出されるデータの系列をD0、
D1、D2、…、Di、…、DXとし、これらのデータのメ
モリへの書き込みまたは読み出しを下記の順序で行なう
ことを特徴とするデータ入出力方法。 (1)n−1以上の任意のOK値を一つ選び、上記同期
型計数器の各フリップフロップをセットまたはリセット
して上記同期型計数器の初期値を上記の選択したOK値
にセットし、かつ上記同期型計数器のDフリップフロッ
プは全てリセットする。 (2)最初のデータD0を上記同期型計数器の値、すな
わち上記の初期値で示される番地に書き込む。 (3)上記同期型計数器が入力パルス信号を計数して現
在の状態から次の状態へ遷移すると、次のデータを上記
同期型計数器の計数値で示される番地へ書き込む。 (4)全てのデータ、すなわち最大でDXまでの書き込
みが終わるまで、上記(3)を繰り返す。 (5)データ読み出しの場合も上記と同様の手順でメモ
リの番地を指定し、当該番地のデータを読み出す。 - 【請求項2】データを記憶するメモリと、 ビット数に対応した数のフリップフロップと、それと同
数のアンドゲートとを有し、各フリップフロップの出力
がそれぞれ一つのアンドゲートを介して次ビットのフリ
ップフロップの入力に接続され、かつ各アンドゲートの
出力が次ビットのアンドゲートの一方の入力に接続され
てアンドゲートの直列キャリーラインを形成している同
期型計数器における上記アンドゲートの直列キャリーラ
インに、m(mは正の整数)ビット毎にDフリップフロ
ップを直列に挿入した構成を有し、予め定まった複数の
所定の値において正常な計数値を出力する同期型計数器
と、 上記正常な計数値となる所定の値をOK値とし、上記D
フリップフロップによって区分けられた段数をnとした
場合に、上記同期型計数器の各フリップフロップをセッ
トまたはリセットすることにより、上記同期型計数器の
初期値をn−1以上の予め選択された一つのOK値にセ
ットし、かつ上記同期型計数器のDフリップフロップは
全てリセットする初期値設定手段と、 最初のデータD0を上記同期型計数器の値、すなわち上
記の初期値で示される番地に書き込み、上記同期型計数
器が入力パルス信号を計数して現在の状態から次の状態
へ遷移すると、次のデータを上記同期型計数器の計数値
で示される番地へ書き込み、上記の操作をデータが尽き
るまで繰り返し、またデータ読み出しの場合も上記と同
様の手順でメモリの番地を指定して当該番地のデータを
読み出す制御手段と、 を備えたことを特徴とするデータ入出力装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33897591A JPH05175829A (ja) | 1991-12-20 | 1991-12-20 | データ入出力方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33897591A JPH05175829A (ja) | 1991-12-20 | 1991-12-20 | データ入出力方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05175829A true JPH05175829A (ja) | 1993-07-13 |
Family
ID=18323095
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33897591A Pending JPH05175829A (ja) | 1991-12-20 | 1991-12-20 | データ入出力方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05175829A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006191530A (ja) * | 2004-12-30 | 2006-07-20 | Hynix Semiconductor Inc | オフチップドライバ制御用カウンタ回路およびこれを用いたオフチップドライバの出力電流値変更方法 |
-
1991
- 1991-12-20 JP JP33897591A patent/JPH05175829A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006191530A (ja) * | 2004-12-30 | 2006-07-20 | Hynix Semiconductor Inc | オフチップドライバ制御用カウンタ回路およびこれを用いたオフチップドライバの出力電流値変更方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5459855A (en) | Frequency ratio detector for determining fixed frequency ratios in a computer system | |
| EP0301383B1 (en) | Pseudo random pattern generating device | |
| EP0416513B1 (en) | Fifo memory device | |
| US3893033A (en) | Apparatus for producing timing signals that are synchronized with asynchronous data signals | |
| US4160154A (en) | High speed multiple event timer | |
| JP2641276B2 (ja) | 2段式同期装置 | |
| JPH02301269A (ja) | キー信号遅延装置 | |
| US5142651A (en) | Uninterrupted, enhanced-rate, event-time recorder with mixed-speed counter modules | |
| JPH05175829A (ja) | データ入出力方法および装置 | |
| US6633966B1 (en) | FIFO memory having reduced scale | |
| KR200155054Y1 (ko) | 카운터 회로 | |
| JP3513399B2 (ja) | シリアルデータによるタイミング可変装置 | |
| JP2783495B2 (ja) | クロック乗せ換え回路 | |
| JPH0683066B2 (ja) | カウンタ回路 | |
| JPH08102658A (ja) | ロード機能付きカウンタ回路 | |
| JP4189729B2 (ja) | タイマーカウント値の非同期読み出し方法及びタイマー | |
| JP2667702B2 (ja) | ポインタリセット方式 | |
| JP2973613B2 (ja) | プログラマブルカウンタ | |
| JP3471275B2 (ja) | 同期化回路 | |
| JPH05175831A (ja) | 同期型計数器および使用方法 | |
| JPS6111803Y2 (ja) | ||
| JP3115756B2 (ja) | デマルチプレクサ回路 | |
| JPH118549A (ja) | カウンタ回路 | |
| SU1182535A1 (ru) | Устройство для вывода информации | |
| KR19980065271A (ko) | 비동기식 카운터 회로 |