JPS6362741A - メモリアクセス回路 - Google Patents
メモリアクセス回路Info
- Publication number
- JPS6362741A JPS6362741A JP20677486A JP20677486A JPS6362741A JP S6362741 A JPS6362741 A JP S6362741A JP 20677486 A JP20677486 A JP 20677486A JP 20677486 A JP20677486 A JP 20677486A JP S6362741 A JPS6362741 A JP S6362741A
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- ram
- bit
- shifted
- 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
- Storing Facsimile Image Data (AREA)
- Editing Of Facsimile Originals (AREA)
- Dot-Matrix Printers And Others (AREA)
- Laser Beam Printer (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
ca業上の利用分野)
本発明はランダムアクセスメモリに、例えば多ビツトイ
メージデータのようなデータをビットシフトして書き込
むメモリアクセス回路に関するものである。
メージデータのようなデータをビットシフトして書き込
むメモリアクセス回路に関するものである。
ホストコンピュータ等から送られてくるコードデータ等
の文章情報を、内部のランダムアクセスメモリ(RAk
l)上にビットイメージとして展開し、然る後これを読
み出して出力する方式のレーザービームプリンタ等の文
章出力装置では、印字位置を任意に定めるために、前記
RAMへ書き込むビットイメージデータはビットシフト
されたものである必要がある。
の文章情報を、内部のランダムアクセスメモリ(RAk
l)上にビットイメージとして展開し、然る後これを読
み出して出力する方式のレーザービームプリンタ等の文
章出力装置では、印字位置を任意に定めるために、前記
RAMへ書き込むビットイメージデータはビットシフト
されたものである必要がある。
例えば、 5ビツトシフトの場合を第6図に示す。
第6図において、60はもとの 1バイトのデータであ
り、 1バイトデータ80を5ビット右にシフトすると
、61.62の如く 2バイトに分割される。従つてア
ドレスn番地に第1バイト目、続< (n+1)番地に
第2バイト目のデータが書き込まれることになる。
り、 1バイトデータ80を5ビット右にシフトすると
、61.62の如く 2バイトに分割される。従つてア
ドレスn番地に第1バイト目、続< (n+1)番地に
第2バイト目のデータが書き込まれることになる。
もし文章出力装置が低速で、 CP[Iの処理速度が十
分に間に合うものであれば、ソフトウェアによる CP
Uの演算によりビットシフトを実現できるが、レーザー
ビームプリンタ等の高速の文章出力装置では間に合わず
、通常、別のビットシフト回路を用意している。
分に間に合うものであれば、ソフトウェアによる CP
Uの演算によりビットシフトを実現できるが、レーザー
ビームプリンタ等の高速の文章出力装置では間に合わず
、通常、別のビットシフト回路を用意している。
第7図(a)にビットシフト回路としてリードオンリメ
モリ(ROM)を使用した例を示す。
モリ(ROM)を使用した例を示す。
第7図(a)はIビットシフト回路のブロツ久図で、7
0はROM 、 71はビットシフトが行なわれる入力
データ(17〜10) 、72はビットシフトされた出
力が第1バイト目であるか第2バイト目であるかを選択
する選択信号、73は何ビットシフトするかを決めるシ
フト値入力 (52〜SO)である。また、74は前記
入力データ71、選択信号72およびシフト偏入カフ3
の入力により、ROM70から出力される1バイトのビ
ットシフトされた出力データ (07〜00)である。
0はROM 、 71はビットシフトが行なわれる入力
データ(17〜10) 、72はビットシフトされた出
力が第1バイト目であるか第2バイト目であるかを選択
する選択信号、73は何ビットシフトするかを決めるシ
フト値入力 (52〜SO)である。また、74は前記
入力データ71、選択信号72およびシフト偏入カフ3
の入力により、ROM70から出力される1バイトのビ
ットシフトされた出力データ (07〜00)である。
さらに第7図(b)は入力データ71がrD7、D6、
D5、D4、D3、D2、DI、 DOJであった場合
の、選択信号72およびシフト偏入カフ3の変化に応じ
たビットシフト出力の出カバターンを示す。
D5、D4、D3、D2、DI、 DOJであった場合
の、選択信号72およびシフト偏入カフ3の変化に応じ
たビットシフト出力の出カバターンを示す。
CPuはビットシフトを行なう場合、 CP[のライト
サイクルにおいて、ビットシフトされるべきデータを、
前記ビットシフト回路を経由させてビットシフトを行な
った後にRAMに書き込む、すなわち、前記ビットシフ
ト回路に入力データおよびシフト値入力を入力した後に
RAMにライト信号を出してRAMに書くわけである。
サイクルにおいて、ビットシフトされるべきデータを、
前記ビットシフト回路を経由させてビットシフトを行な
った後にRAMに書き込む、すなわち、前記ビットシフ
ト回路に入力データおよびシフト値入力を入力した後に
RAMにライト信号を出してRAMに書くわけである。
さて、このようにビットシフトを行なう場合、ビットシ
フトされた 1バイトのイメージデータは、ビットシフ
トにより、前述したように2バイトとなり、RAM上の
2つの連続するアドレスに書き込まれる。従ってビット
シフトを行なう 1回のライトサイクルにおいて、 R
AMを2回アクセスしなければならない。
フトされた 1バイトのイメージデータは、ビットシフ
トにより、前述したように2バイトとなり、RAM上の
2つの連続するアドレスに書き込まれる。従ってビット
シフトを行なう 1回のライトサイクルにおいて、 R
AMを2回アクセスしなければならない。
第8図(a)および(b)にビットシフトしない通常の
場合と、ビットシフトを行なった場合のタイミングチャ
ートを示す。
場合と、ビットシフトを行なった場合のタイミングチャ
ートを示す。
第8図(a)はシフト値73が0、すなわちビットシフ
トを行なわない場合のタイミングチャートで、80〜8
4はCPUより与えられる信号で、80はシフト値で前
記73に対応している。81はアドレスバス、82はデ
ータバス、83はビットシフトされたデータを選択する
選択信号で、第7図(a)の信号72に対応している。
トを行なわない場合のタイミングチャートで、80〜8
4はCPUより与えられる信号で、80はシフト値で前
記73に対応している。81はアドレスバス、82はデ
ータバス、83はビットシフトされたデータを選択する
選択信号で、第7図(a)の信号72に対応している。
84はRAMへのライト信号、85はビットシフト回路
の出力データである。第8図(a)ではビットシフトが
行なわれないため、出力データ85はデータバス82の
データと同じものとなっている。
の出力データである。第8図(a)ではビットシフトが
行なわれないため、出力データ85はデータバス82の
データと同じものとなっている。
一方、第8図(b)のビットシフトサイクルにおいても
、第8図(a)の場合と同様に、アドレスバス81.デ
ータバス82が出力される。更に、選択信号83が適当
なタイミングでLOIIIレベルからHレベルにされ、
シフト値80は第8図(a) と異なり M≠0の値
が出力される。この時、ビットシフト回路からの出力デ
ータ85はビットシフトが行なわれるためデータバス8
2とは異なり、 2バイトに分割され、選択信号83に
対応して各バイトデータが出力される。
、第8図(a)の場合と同様に、アドレスバス81.デ
ータバス82が出力される。更に、選択信号83が適当
なタイミングでLOIIIレベルからHレベルにされ、
シフト値80は第8図(a) と異なり M≠0の値
が出力される。この時、ビットシフト回路からの出力デ
ータ85はビットシフトが行なわれるためデータバス8
2とは異なり、 2バイトに分割され、選択信号83に
対応して各バイトデータが出力される。
従ってCPUは所定のRAMのアクセス時間後、ライト
信号84を出し、 N番地に第 1バイト目5D(N)
をライトした後、次にアドレスバス81を+1して(N
+1)番地にして、再び所定のアクセス時間後ライト信
号84を出力し、(N+1)番地に第2バイト目SD
(N+1)を書き込まれなければならない。
信号84を出し、 N番地に第 1バイト目5D(N)
をライトした後、次にアドレスバス81を+1して(N
+1)番地にして、再び所定のアクセス時間後ライト信
号84を出力し、(N+1)番地に第2バイト目SD
(N+1)を書き込まれなければならない。
また、たとえ第2バイト目5D(N+1)が全て0、す
なわち、RAMに書く必要がない場合であっても、(N
+1)番地をアクセスして第2バイト目5ol(N+1
)を書き込まなければならなかった。
なわち、RAMに書く必要がない場合であっても、(N
+1)番地をアクセスして第2バイト目5ol(N+1
)を書き込まなければならなかった。
〔発明が解決しようとする問題点3
以上のように、ビットシフトを行なった場合、CPUは
RAMに対して2回アクセスしなければならず、ビット
シフトを行なわない場合の書き込みサイクルに比べ、
2倍の時間がかかつてしまうという欠点を有していた。
RAMに対して2回アクセスしなければならず、ビット
シフトを行なわない場合の書き込みサイクルに比べ、
2倍の時間がかかつてしまうという欠点を有していた。
本発明は前記従来例に鑑みなされたもので、ビットシフ
トされたデータをRAM上の連続するアドレスに展開す
る場合、ビットシフトによるRAMのアクセス回数を最
小限におさえ、以てCPuの処理速度を著しく向上させ
るようにしたメモリアクセス回路を提供することを目的
とする。
トされたデータをRAM上の連続するアドレスに展開す
る場合、ビットシフトによるRAMのアクセス回数を最
小限におさえ、以てCPuの処理速度を著しく向上させ
るようにしたメモリアクセス回路を提供することを目的
とする。
上述した目的を達成するために、本発明は、アドレス情
報に基づいてメモリのアドレスデータを出力するアドレ
ス手段と、メモリへの入力データのシフト量を指示する
指示手段と、シフト量に対応して入力データをシフトす
るシフト手段と、シフト手段によりシフトされたデータ
が全て“O”であることを検出する検出手段と、入力デ
ータのシフトにより入力データと異なるアドレス空間に
シフトされたビット情報を記憶する記憶手段と、ビット
情報と、ビット情報と同じアドレス空間に入力されるデ
ータとの論理和をとる論理相手段とを備え、指示された
メモリのアドレスより順次に入力データをシフト手段に
より所定量だけシフトして、記憶手段に記憶できるよう
にしたことな特徴とする。
報に基づいてメモリのアドレスデータを出力するアドレ
ス手段と、メモリへの入力データのシフト量を指示する
指示手段と、シフト量に対応して入力データをシフトす
るシフト手段と、シフト手段によりシフトされたデータ
が全て“O”であることを検出する検出手段と、入力デ
ータのシフトにより入力データと異なるアドレス空間に
シフトされたビット情報を記憶する記憶手段と、ビット
情報と、ビット情報と同じアドレス空間に入力されるデ
ータとの論理和をとる論理相手段とを備え、指示された
メモリのアドレスより順次に入力データをシフト手段に
より所定量だけシフトして、記憶手段に記憶できるよう
にしたことな特徴とする。
ここで、このように、第1図に示す本発明実施例のメモ
リリード/ライト回路は、アドレス手段としてのカウン
タとタイミング発生回路と、指示手段としてのデータバ
スおよびラッチ回路と、シフト手段としてのビットシフ
ト回路およびタイミング発生回路と、記憶手段としての
ラッチ回路と、論理和手段としてのOR回路と、データ
が全て0”であることを検出する比較回路とを具備する
。
リリード/ライト回路は、アドレス手段としてのカウン
タとタイミング発生回路と、指示手段としてのデータバ
スおよびラッチ回路と、シフト手段としてのビットシフ
ト回路およびタイミング発生回路と、記憶手段としての
ラッチ回路と、論理和手段としてのOR回路と、データ
が全て0”であることを検出する比較回路とを具備する
。
(作 用)
かかる第1図の構成において、CPuより指示されたア
ドレスがカウンタにセットされる。またCPUはラッチ
回路にデータのシフト量をセットして、シフトされるデ
ータをデータバスに出力する。ビットシフト回路は指定
された分だけデータをシフトして、その結果をバスに出
力する。ラッチ回路は最初クリアされているため、OR
回路の出力はバスのデータそのものである。
ドレスがカウンタにセットされる。またCPUはラッチ
回路にデータのシフト量をセットして、シフトされるデ
ータをデータバスに出力する。ビットシフト回路は指定
された分だけデータをシフトして、その結果をバスに出
力する。ラッチ回路は最初クリアされているため、OR
回路の出力はバスのデータそのものである。
次にタイミング発生回路より選択信号が出力されると、
シフトされた次のアドレスに書かれるべきデータがバス
に出力され、タイミング発生回路よりのラッチ信号によ
り、ラッチ回路にシフトによりはみ出した分が格納され
る。 CPuより次のアドレスと、シフトされるべきデ
ータが出力されると、ビットシフト回路はそのデータを
シフトしてバスに出力する。この時ラッチ回路には、前
のアドレスで出力されたデータのシフトによりはみ出し
た分が格納されているため、OR回路によって、そのデ
ータと現在のシフトデータとの和がとられてRAM4に
入力される。このようにラッチ回路にはシフトアウトさ
れたデータが順次格納され、OR回路によって次のアド
レスのデータと論理和がとられて、RAMに入力されて
いく。
シフトされた次のアドレスに書かれるべきデータがバス
に出力され、タイミング発生回路よりのラッチ信号によ
り、ラッチ回路にシフトによりはみ出した分が格納され
る。 CPuより次のアドレスと、シフトされるべきデ
ータが出力されると、ビットシフト回路はそのデータを
シフトしてバスに出力する。この時ラッチ回路には、前
のアドレスで出力されたデータのシフトによりはみ出し
た分が格納されているため、OR回路によって、そのデ
ータと現在のシフトデータとの和がとられてRAM4に
入力される。このようにラッチ回路にはシフトアウトさ
れたデータが順次格納され、OR回路によって次のアド
レスのデータと論理和がとられて、RAMに入力されて
いく。
CPUより最後のデータであることがLMCYMC上よ
って指示されると、タイミング発生回路はカウンタを+
1するとともに、選択信号を出力してシフトアウトデー
タをRAMに入力し、R/W信号を出力してRAMへの
書込みを行う。
って指示されると、タイミング発生回路はカウンタを+
1するとともに、選択信号を出力してシフトアウトデー
タをRAMに入力し、R/W信号を出力してRAMへの
書込みを行う。
一方、1.McY信号により最後のデータであることが
指示されていても、比較回路によるシフトによりはみ出
したデータが全て0であった場合には、R/W信号は出
力せず、cpuに終了信号を出力する。
指示されていても、比較回路によるシフトによりはみ出
したデータが全て0であった場合には、R/W信号は出
力せず、cpuに終了信号を出力する。
本発明によれば、少ないアクセス回数でビットシフトし
たデータをメモリに書き込める。
たデータをメモリに書き込める。
以下、添付図面に従って本発明の実施例を詳細に説明す
る。
る。
(メモリリード/ライト回路を適用した装置の例(第2
図)) 第2図は本発明の一実施例としてのメモリリード/ライ
ト回路を適用した装置のブロック図である。
図)) 第2図は本発明の一実施例としてのメモリリード/ライ
ト回路を適用した装置のブロック図である。
100は装置全体の制御を行なう CPIIで、ROM
103に制御プログラムが内蔵されている。101はメ
モリであるRAM102のリード/ライトを制御するメ
モリリード/ライト回路、104は例えば文章情報な−
どのデータを入力するデータ入力部、105は入力され
たデータの可視表示出力を行なうデータ出力部である。
103に制御プログラムが内蔵されている。101はメ
モリであるRAM102のリード/ライトを制御するメ
モリリード/ライト回路、104は例えば文章情報な−
どのデータを入力するデータ入力部、105は入力され
たデータの可視表示出力を行なうデータ出力部である。
〔メモリリード/ライト回路の説明(第1図)〕第1図
は本発明の一実施例のメモリリード/ライト回路のブロ
ック図である。
は本発明の一実施例のメモリリード/ライト回路のブロ
ック図である。
第1図において、矢印は信号又は情報を示し、矢印の途
中に斜線と共に記された数字は、その信号または情報が
何ビットで構成されているかを示している。
中に斜線と共に記された数字は、その信号または情報が
何ビットで構成されているかを示している。
ここでlはCPU100よりの起動信号2、リード/ラ
イト(R/W)信号3により起動されるタイミング発生
回路で、メモリリード/ライト回路のタイミング制御を
行なう。
イト(R/W)信号3により起動されるタイミング発生
回路で、メモリリード/ライト回路のタイミング制御を
行なう。
4はRAMで、例えばビットイメージデータ等が展開さ
れる。
れる。
5はRAM4のメモリリードライト信号で、HI G
Hレベルで読み出し、LOWレベルで書き込みが行なわ
れる。
Hレベルで読み出し、LOWレベルで書き込みが行なわ
れる。
6はRAM4のデータ7を読み出すトライステートバッ
ファである。
ファである。
8はCPU100よりのデータバス10のデータと、ラ
ッチ信号18によりビットシフト回路9におけるデータ
のシフト数をラッチする、例えば3ビツトのラッチ回路
である。
ッチ信号18によりビットシフト回路9におけるデータ
のシフト数をラッチする、例えば3ビツトのラッチ回路
である。
9は従来例で述べたのと同様の動作を行なうビットシフ
ト回路、11はクリア入力付の8ビツトラッチ回路で、
シフトアウトされたデータをラッチする。
ト回路、11はクリア入力付の8ビツトラッチ回路で、
シフトアウトされたデータをラッチする。
12はラッチ回路11の出力13と、ビットシフト回路
9の出力14との論理和をとるOR回路で、OR回路1
2の出力データはRAM4の入力データ15となってい
る。
9の出力14との論理和をとるOR回路で、OR回路1
2の出力データはRAM4の入力データ15となってい
る。
16はCPU100よりRA旧への連続アクセス時の、
最後のサイクルであることを示す信号(LMCY)、1
7はタイミング発生回路1よりCPUへの終了信号であ
る。
最後のサイクルであることを示す信号(LMCY)、1
7はタイミング発生回路1よりCPUへの終了信号であ
る。
19はCPU100よりのアドレスバス、20はRAM
4のアドレスカウンタ、21はRAM4のアドレスデー
タである。
4のアドレスカウンタ、21はRAM4のアドレスデー
タである。
22はカウンタ20にアドレスをロードするアドレスロ
ード信号、23はカウンタ20を+1するインクリメン
ト信号である。
ード信号、23はカウンタ20を+1するインクリメン
ト信号である。
24はビットシフト回路9の出力が第1バイト目である
か、第2バイト目であるかを選択する選択信号である。
か、第2バイト目であるかを選択する選択信号である。
25はトライステートバッファ6の出力イネーブル信号
、26はラッチ回路11のクリア信号、27はラッチ回
路11のラッチ信号である。
、26はラッチ回路11のクリア信号、27はラッチ回
路11のラッチ信号である。
29はデータが全てOであるかを検出する比較回路であ
り、例えばコンパレータもしくはOR回路で構成できる
。30は比較回路29の出力信号である。
り、例えばコンパレータもしくはOR回路で構成できる
。30は比較回路29の出力信号である。
このように、第1図に示す本発明実施例のメモリリード
/ライト回路は、アドレス手段として、のカウンタ20
とタイミング発生回路1と、指示手段としてのデータバ
ス10およびラッチ回路8と、シフト手段としてのビッ
トシフト回路9およびタイミング発生回路lと、記憶手
段としてのラッチ回路11と、論理和手段としてのOR
回路12と、データが全て“0″であることを検出する
比較回路29とを具備する。
/ライト回路は、アドレス手段として、のカウンタ20
とタイミング発生回路1と、指示手段としてのデータバ
ス10およびラッチ回路8と、シフト手段としてのビッ
トシフト回路9およびタイミング発生回路lと、記憶手
段としてのラッチ回路11と、論理和手段としてのOR
回路12と、データが全て“0″であることを検出する
比較回路29とを具備する。
かかる第1図の構成において、cpuより指示されたア
ドレスがカウンタ20にセットされる。またCPUはラ
ッチ回路8にデータのシフト量をセットして、シフトさ
れるデータをデータバスに出力する。ビットシフト回路
9は指定された分だけデータをシフトして、その結果を
バス14に出力する。
ドレスがカウンタ20にセットされる。またCPUはラ
ッチ回路8にデータのシフト量をセットして、シフトさ
れるデータをデータバスに出力する。ビットシフト回路
9は指定された分だけデータをシフトして、その結果を
バス14に出力する。
ラッチ回路11は最初クリアされているため、OR回路
12の出力はバス14のデータそのものである。
12の出力はバス14のデータそのものである。
次にタイミング発生回路1より選択信号24が出力され
ると、シフトされた次のアドレスに書かれるべきデータ
がバス14に出力され、タイミング発生回路1よりのラ
ッチ信号27により、ラッチ回路11にシフトによりは
み出した分が格納される。
ると、シフトされた次のアドレスに書かれるべきデータ
がバス14に出力され、タイミング発生回路1よりのラ
ッチ信号27により、ラッチ回路11にシフトによりは
み出した分が格納される。
CPUより次のアドレスと、シフトされるべきデータが
出力されると、ビットシフト回路9はそのデータをシフ
トしてバス14に出力する。この時ラッチ回路11には
、前のアドレスで出力されたデータのシフトによりはみ
出した分が格納されているため、OR回路12によって
、そのデータと現在のシフトデータとの和がとられてR
AM4に入力される。このようにラッチ回路11にはシ
フトアウトされたデータが順次格納され、OR回路12
によって次のアドレスのデータと論理和がとられて、R
AM4に入力されていく。
出力されると、ビットシフト回路9はそのデータをシフ
トしてバス14に出力する。この時ラッチ回路11には
、前のアドレスで出力されたデータのシフトによりはみ
出した分が格納されているため、OR回路12によって
、そのデータと現在のシフトデータとの和がとられてR
AM4に入力される。このようにラッチ回路11にはシ
フトアウトされたデータが順次格納され、OR回路12
によって次のアドレスのデータと論理和がとられて、R
AM4に入力されていく。
CPUより最後のデータであることがLMCY信号16
によって指示されると、タイミング発生回路lはカウン
タ20を◆lするとともに、選択信号24を出力してシ
フトアウトデータをRAM4に入力し、R/W信号5を
出力してRAM4への書込みを行う。
によって指示されると、タイミング発生回路lはカウン
タ20を◆lするとともに、選択信号24を出力してシ
フトアウトデータをRAM4に入力し、R/W信号5を
出力してRAM4への書込みを行う。
一方、LMCY信号16により最後のデータであること
が指示されていても、比較回路29によるシフトにより
はみ出したデータが全て0であった場合には、R/W信
号5は出力せず、CPUに終了信号17を出力する。
が指示されていても、比較回路29によるシフトにより
はみ出したデータが全て0であった場合には、R/W信
号5は出力せず、CPUに終了信号17を出力する。
(ビットシフトを行なわない時の動作説明(第3図))
第3図はビットシフトを行なわない時のCPU100の
動作フローチャートである。
動作フローチャートである。
ビットシフトをしない場合というのは、ラッチ回路8の
シフト値28がOであるということであり、CPU10
0は予めデータバス10およびシフト値ラッチ信号18
により、ラッチ回路8に0をセットしておく(ステップ
51)。
シフト値28がOであるということであり、CPU10
0は予めデータバス10およびシフト値ラッチ信号18
により、ラッチ回路8に0をセットしておく(ステップ
51)。
続いて、ステップS2でCPU100は、アドレスバス
19およびデータバス10に、 RAM4のアドレスお
よびデータを出力する。
19およびデータバス10に、 RAM4のアドレスお
よびデータを出力する。
そしてステップS3でタイミング回路起動信号2を真(
低レベル)に、ステップS4でリードライト信号3をラ
イト、すなわち低レベルにする。これによりタイミング
発生回路1は、アドレスロード信号22を低レベルにし
てアドレスカウンタ20にアドレスをロードし、RAM
4のアドレスとして出力する。また、選択信号24を低
レベルにするとともに、ラッチクリア信号26を低レベ
ルにしてラッチ回路11をクリアする。
低レベル)に、ステップS4でリードライト信号3をラ
イト、すなわち低レベルにする。これによりタイミング
発生回路1は、アドレスロード信号22を低レベルにし
てアドレスカウンタ20にアドレスをロードし、RAM
4のアドレスとして出力する。また、選択信号24を低
レベルにするとともに、ラッチクリア信号26を低レベ
ルにしてラッチ回路11をクリアする。
ビットシフト回路9はシフト値28がOであるから、シ
フト動作を行わず入力されたデータバス10と全く同じ
データを出力する。一方、ラッチ出力13はクリアされ
ているため、全てOのデータとなる。
フト動作を行わず入力されたデータバス10と全く同じ
データを出力する。一方、ラッチ出力13はクリアされ
ているため、全てOのデータとなる。
群って、ラッチ出力13とビットシフトデータ14のO
R出力15は、バス14のビットシフトデータ、すなわ
ちデータバス10の値と等しいものとなり、CPU10
0からのライトデータと全く等しいデータが、RAM4
の入力データとなる。
R出力15は、バス14のビットシフトデータ、すなわ
ちデータバス10の値と等しいものとなり、CPU10
0からのライトデータと全く等しいデータが、RAM4
の入力データとなる。
タイミング発生回路lは、然る後に、RAM4のライト
信号を低レベルにして、RAM4にデータを書籾込むと
共に、終了信号17を低レベルにして、CPU100に
ライトサイクルが終了したことを伝える。これによりC
PU100は、ステップs5でライトサイクルを終了す
る。以上によりRAMJ上には、シフト値が0、すなわ
ち、ビットシフトされないデータが書き込まれたことに
なる。
信号を低レベルにして、RAM4にデータを書籾込むと
共に、終了信号17を低レベルにして、CPU100に
ライトサイクルが終了したことを伝える。これによりC
PU100は、ステップs5でライトサイクルを終了す
る。以上によりRAMJ上には、シフト値が0、すなわ
ち、ビットシフトされないデータが書き込まれたことに
なる。
〔ビットシフトを行なう時の動作説明
(第4図、第5図)〕
第4図は本実施例におけるビットシフトを行なってRA
Mに書き込む場合のcPUの動作フローチャートであり
、第5図はRAM4の連続するアドレスにビットシフト
を行なってデータを書き込む時の、各信号のタイミング
を示すタイミングチャートである。
Mに書き込む場合のcPUの動作フローチャートであり
、第5図はRAM4の連続するアドレスにビットシフト
を行なってデータを書き込む時の、各信号のタイミング
を示すタイミングチャートである。
まず、ステップSlにおいて、ラッチ回路8にシフト値
をラッチする。但し、このシフト値28は0ではない。
をラッチする。但し、このシフト値28は0ではない。
CPU100は、第3図の場合と同様に、アドレスバス
19およびデータバスlOに、それぞれアドレスおよび
データを出力する(ステップSl)。そしてステップ5
12で起動信号2を出力し、ステップ513で、リード
ライト信号3によりタイミング発生回路lに起動をかけ
る。これは第5図のタイミングT1に対応している。
19およびデータバスlOに、それぞれアドレスおよび
データを出力する(ステップSl)。そしてステップ5
12で起動信号2を出力し、ステップ513で、リード
ライト信号3によりタイミング発生回路lに起動をかけ
る。これは第5図のタイミングT1に対応している。
これらの信号を入力すると、タイミング発生回路1はカ
ウンタロード信号22を低レベルにして、アドレスカウ
ンタ20にアドレスをロードし、アドレスバス21にア
ドレスバス19のアドレスデータが出力される(タイミ
ングT2)。
ウンタロード信号22を低レベルにして、アドレスカウ
ンタ20にアドレスをロードし、アドレスバス21にア
ドレスバス19のアドレスデータが出力される(タイミ
ングT2)。
次に選択信号24およびラッチクリア信号26を各々低
レベルにする。ビットシフト回路9はシフト値入力28
に応じてシフトした、第1バイト目のデータをバス14
に出力する(タイミングT3)。
レベルにする。ビットシフト回路9はシフト値入力28
に応じてシフトした、第1バイト目のデータをバス14
に出力する(タイミングT3)。
最初、ラッチ回路11はクリアされているため、前記シ
フト値0の場合と同様に、RAM4の入力データ15は
ビットシフト回路9の出力バス14と等しいデータとな
る。然る後、タイミング発生回路1はRAMライト信号
5を低レベルにして(タイミングT4) 、 RAM4
にビットシフトされた第1バイト目のデータを書き込む
と共に、CPIJlooに終了信号17を返す(タイミ
ングT5)。
フト値0の場合と同様に、RAM4の入力データ15は
ビットシフト回路9の出力バス14と等しいデータとな
る。然る後、タイミング発生回路1はRAMライト信号
5を低レベルにして(タイミングT4) 、 RAM4
にビットシフトされた第1バイト目のデータを書き込む
と共に、CPIJlooに終了信号17を返す(タイミ
ングT5)。
CPUIGOはステップS14でこの終了信号17を受
は取ると、ステップS15に進み起動信号2をオフにす
る(タイミングT6)。
は取ると、ステップS15に進み起動信号2をオフにす
る(タイミングT6)。
一方、タイミング発生回路1は、リードライト信号5を
高レベルにするとともに、クリア信号26、選択信号2
4を共に高レベルにする(タイミングT7)。
高レベルにするとともに、クリア信号26、選択信号2
4を共に高レベルにする(タイミングT7)。
これによりビットシフト回路9は、第2バイト目のデー
タをバス14に出力する。ここでタイミング発生回路1
はラッチ信号27を出力して、ビットシフトされた第2
バイト目のデータをラッチ回路11にラッチする。
タをバス14に出力する。ここでタイミング発生回路1
はラッチ信号27を出力して、ビットシフトされた第2
バイト目のデータをラッチ回路11にラッチする。
これにより、ビットシフトされたデータの第1バイト目
はRAM4のN番地に書き込まれ、第2バイト目はラッ
チ回路11にラッチされたことになる。
はRAM4のN番地に書き込まれ、第2バイト目はラッ
チ回路11にラッチされたことになる。
このようにして1サイクルの書き込みが終了すると、C
PIIlooはステップ516に進み、最後の1バイト
データの出力かをみる。最後の1バイトデータの出力で
ない時はステップ518に進み、全データの出力が終了
したかを調べる。全データの出力が終了していれば処理
を終了するが、終了していない時は再びステップSit
に戻り、次のアドレスおよびデータを出力する。
PIIlooはステップ516に進み、最後の1バイト
データの出力かをみる。最後の1バイトデータの出力で
ない時はステップ518に進み、全データの出力が終了
したかを調べる。全データの出力が終了していれば処理
を終了するが、終了していない時は再びステップSit
に戻り、次のアドレスおよびデータを出力する。
このようにして、CPU100は次のデータをN÷1番
地に書くべく、アドレスバス19およびデータバス10
にデータを出力すると共に、タイミング発生回路1に起
動をかける。
地に書くべく、アドレスバス19およびデータバス10
にデータを出力すると共に、タイミング発生回路1に起
動をかける。
すると、前述したところと同様に、選択信号24は1回
目のライトサイクルの終了時に低レベルになっているた
め、ビットシフト回路の出力バス14には第1バイト目
のデータが出力される。一方、ラッチ回路11の出力1
3には前回のライトサイクルの第2バイト目データが保
持されている。
目のライトサイクルの終了時に低レベルになっているた
め、ビットシフト回路の出力バス14には第1バイト目
のデータが出力される。一方、ラッチ回路11の出力1
3には前回のライトサイクルの第2バイト目データが保
持されている。
従ってRAMの入力データ15は、OR回路12により
前回のライトサイクルの第2バイト目と、今回のライト
サイクルの第1バイト目の論理和がとられる。
前回のライトサイクルの第2バイト目と、今回のライト
サイクルの第1バイト目の論理和がとられる。
次にタイミング発生回路1はRAMライト信号5を低レ
ベルにし、N+1番地にこの論理和データを書込み(タ
イ°ミングT8) 、CPt1100に終了信号17を
出力する(タイミングT9)。
ベルにし、N+1番地にこの論理和データを書込み(タ
イ°ミングT8) 、CPt1100に終了信号17を
出力する(タイミングT9)。
このようにして(N+1)番地への書き込みが終了する
と、選択信号24を高レベルにし、ビットシフト回路9
が第2バイト目を出力したら、ラッチ信号27を真にし
て、第2バイト目をラッチする。
と、選択信号24を高レベルにし、ビットシフト回路9
が第2バイト目を出力したら、ラッチ信号27を真にし
て、第2バイト目をラッチする。
以後このサイクルの繰返しにより、その時の第1バイト
目と前回の第2バイト目のORデータをRAM4に書き
込み、また第2バイト目はラッチ回路11にラッチされ
ることになる。
目と前回の第2バイト目のORデータをRAM4に書き
込み、また第2バイト目はラッチ回路11にラッチされ
ることになる。
連続するアドレスの最後のアドレスにライトする場合(
例えばN◆n番地の場合)は、CPU100はステップ
517に進み、LMCY信号16を出力する。これによ
りタイミング発生回路1は、 1回目のライトにおいて
終了信号17をCPt1lOOに返さず、アドレスカウ
ンタ20にインクリメント信号23を出力する(タイミ
ング丁10)、これによりRAM4のアドレス21は(
N+n+1) となる。
例えばN◆n番地の場合)は、CPU100はステップ
517に進み、LMCY信号16を出力する。これによ
りタイミング発生回路1は、 1回目のライトにおいて
終了信号17をCPt1lOOに返さず、アドレスカウ
ンタ20にインクリメント信号23を出力する(タイミ
ング丁10)、これによりRAM4のアドレス21は(
N+n+1) となる。
またラッチ回路11には第2バイト目がラッチされるが
、ビットシフト回路9の出力データ14と、ラッチ回路
11の出力データ13は等しいため、OR回路12の出
力15は変化せず、そのままRAMJ内に第2バイト目
のデータが入力される。
、ビットシフト回路9の出力データ14と、ラッチ回路
11の出力データ13は等しいため、OR回路12の出
力15は変化せず、そのままRAMJ内に第2バイト目
のデータが入力される。
ここでタイミング発生回路1がライト信号5を低レベル
にすることにより(タイミング丁11 )、RAM4の
(N+n+1)番地に第2バイト目のデータが書き込ま
れる。そして、ラッチ回路11をクリアすると共に、終
了信号17を出力して、連続アドレスのアクセスの終了
となる。
にすることにより(タイミング丁11 )、RAM4の
(N+n+1)番地に第2バイト目のデータが書き込ま
れる。そして、ラッチ回路11をクリアすると共に、終
了信号17を出力して、連続アドレスのアクセスの終了
となる。
一方、LMCY信号16が出力され、 1回目のライト
が終了し、第2バイト目が出力された時、その第2バイ
ト目のデータが全て0であった場合には、比較回路29
の出力信号である比較信号30が低レベルとなる。この
場合、タイミング回路1はライト信号5を出力せず、R
AM4にデータを書き込まない。そして、ラッチ回路1
1をクリアすると共に、終了信号17を出力して、連続
アドレスのアクセスの終了となる。
が終了し、第2バイト目が出力された時、その第2バイ
ト目のデータが全て0であった場合には、比較回路29
の出力信号である比較信号30が低レベルとなる。この
場合、タイミング回路1はライト信号5を出力せず、R
AM4にデータを書き込まない。そして、ラッチ回路1
1をクリアすると共に、終了信号17を出力して、連続
アドレスのアクセスの終了となる。
以上のように、ビットシフトしたデータをRAMの連続
するアドレスにnバイトにわたって書き込む場合、多く
ともn+1回、最後のシフトデータが全て0の場合、n
回、RAMにアクセスすることでかかる書き込みを行な
うことがで暫る。
するアドレスにnバイトにわたって書き込む場合、多く
ともn+1回、最後のシフトデータが全て0の場合、n
回、RAMにアクセスすることでかかる書き込みを行な
うことがで暫る。
さて、RAM4のデータを読み出す場合は、CPt1L
QQからの起動信号2およびリードライト信号3に、基
づいて、タイミング発生回路1はRAMリードライト信
号5を、リード、すなわち高レベルにし、トライステー
トバッファ6のイネーブル信号25を低レベルにして、
トライステートバッファ6をイネーブルにし、RAM4
からのデータをデータバス10に読出して、CPt11
00に終了信号17を返すことにより行なわれる。
QQからの起動信号2およびリードライト信号3に、基
づいて、タイミング発生回路1はRAMリードライト信
号5を、リード、すなわち高レベルにし、トライステー
トバッファ6のイネーブル信号25を低レベルにして、
トライステートバッファ6をイネーブルにし、RAM4
からのデータをデータバス10に読出して、CPt11
00に終了信号17を返すことにより行なわれる。
なお、本実施例においてはビットシフト回路をROMと
して説明したが、かかるビットシフト回路は、シフトレ
ジスタ回路、またはマイクロプロセッサのような演算装
置で構成してもよいことは言うまでもない。
して説明したが、かかるビットシフト回路は、シフトレ
ジスタ回路、またはマイクロプロセッサのような演算装
置で構成してもよいことは言うまでもない。
また、本実施例では、右方向シフトのみについて説明し
たが、左方向のシフトであってもかまわず、その場合に
は、例えば第1図のアドレスカウンタ20をデクリメン
トすればよいことになる。
たが、左方向のシフトであってもかまわず、その場合に
は、例えば第1図のアドレスカウンタ20をデクリメン
トすればよいことになる。
また、RAMのアドレスのコントロールをロード入力端
子付カウンタ20で説明したが、これに限るものではな
く、加算器であってもかまわないし、タイミング発生回
路の代りにCPUが直接コントロールしてもかまわない
。
子付カウンタ20で説明したが、これに限るものではな
く、加算器であってもかまわないし、タイミング発生回
路の代りにCPUが直接コントロールしてもかまわない
。
以上説明したように、本実施例によれば、nバイトのデ
ータを連続するRAMアドレス上にビットシフトして展
開する場合、通常は少なくとも20回RAMをアクセス
しなければならなかったのに対して、RAMへのアクセ
ス回数がn+1回もしくはn回ですむから、RAMのア
クセスを最小限におさえるご)−Mで矢るーまた、(:
PUlからみたRAMのアクセス回数はn回ですむため
、処理速度を著しく向上できるという効果もある。
ータを連続するRAMアドレス上にビットシフトして展
開する場合、通常は少なくとも20回RAMをアクセス
しなければならなかったのに対して、RAMへのアクセ
ス回数がn+1回もしくはn回ですむから、RAMのア
クセスを最小限におさえるご)−Mで矢るーまた、(:
PUlからみたRAMのアクセス回数はn回ですむため
、処理速度を著しく向上できるという効果もある。
また、本実施例では、比較回路29によるデータが全て
0であることの検出を、最後のデータについてのみ行な
りているが、かかる検出を各データについて毎回行なう
ことにより、書か込みデータが0であった場合にはRA
M4へのアクセスは行なわず、直ちにCPUに終了信号
17を出力してもよいことは言うまでもない。この場合
、さらにRAMへのアクセス回数は少なくなり、処理速
度を著しく向上させることができるという効果もある。
0であることの検出を、最後のデータについてのみ行な
りているが、かかる検出を各データについて毎回行なう
ことにより、書か込みデータが0であった場合にはRA
M4へのアクセスは行なわず、直ちにCPUに終了信号
17を出力してもよいことは言うまでもない。この場合
、さらにRAMへのアクセス回数は少なくなり、処理速
度を著しく向上させることができるという効果もある。
(発明の効果〕
以上に述べたところから明らかなように、本発明によれ
ば、少ないアクセス回数でビットシフトしたデータをメ
モリに書き込めるどう効果がある。
ば、少ないアクセス回数でビットシフトしたデータをメ
モリに書き込めるどう効果がある。
第1図は本発明の実施例のメモリリードライト回路のブ
ロック図、 第2図は本実施例回路を採用した装置の一実施例の構成
を示すブロック図、 第3図はビットシフトを行なわない時のCPuの制御手
順の一例を示すフローチャート、第4図はビットシフト
を行なう時のCPUの制御手順の一例を示すフローチャ
ート、 第5図(a)および(b)は本発明の実施例の制御手順
の一例を示すタイミングチャート、第6図は従来のビッ
トシフト処理例の説明図、 第7図(a)はROMによる従来のビットシフト回路の
一例を示すブロック図、 第7図Jf (b)はその出力データを例示する表面、 第8図(a)および(b)は従来例によるビットシフト
処理のタイミング例を示すタイミングチャートである。 1・・・タイミング発生回路、 2・・・起動信号、 4−RAM 。 8 、 ll−・・ラッチ回路、 9・・・ビットシフト回路、 12−OR回路、 16−LMCY。 17−・・終了信号、 20・・・カウンタ、 24・・・選択信号、 29−・・比較回路、 100−CPIJ 。 101・・・メモリリード/ライト回路。 第2図 第3図 ROM&:j64林のピーン)シフト回謔ト0−令9と
示Tフb1ノ図第7図(d、) 第7[Z(a)の二カナータ2イク11:f、する表面
第7図(b) イ疋釆イ多13b二Xろヒーットシフトメこylr>タ
イミン2X列をホすタイミンブサに一ト第8図(d−) 第8図(b)
ロック図、 第2図は本実施例回路を採用した装置の一実施例の構成
を示すブロック図、 第3図はビットシフトを行なわない時のCPuの制御手
順の一例を示すフローチャート、第4図はビットシフト
を行なう時のCPUの制御手順の一例を示すフローチャ
ート、 第5図(a)および(b)は本発明の実施例の制御手順
の一例を示すタイミングチャート、第6図は従来のビッ
トシフト処理例の説明図、 第7図(a)はROMによる従来のビットシフト回路の
一例を示すブロック図、 第7図Jf (b)はその出力データを例示する表面、 第8図(a)および(b)は従来例によるビットシフト
処理のタイミング例を示すタイミングチャートである。 1・・・タイミング発生回路、 2・・・起動信号、 4−RAM 。 8 、 ll−・・ラッチ回路、 9・・・ビットシフト回路、 12−OR回路、 16−LMCY。 17−・・終了信号、 20・・・カウンタ、 24・・・選択信号、 29−・・比較回路、 100−CPIJ 。 101・・・メモリリード/ライト回路。 第2図 第3図 ROM&:j64林のピーン)シフト回謔ト0−令9と
示Tフb1ノ図第7図(d、) 第7[Z(a)の二カナータ2イク11:f、する表面
第7図(b) イ疋釆イ多13b二Xろヒーットシフトメこylr>タ
イミン2X列をホすタイミンブサに一ト第8図(d−) 第8図(b)
Claims (1)
- 【特許請求の範囲】 アドレス情報に基づいてメモリのアドレスデータを出力
するアドレス手段と、 前記メモリへの入力データのシフト量を指示する指示手
段と、 前記シフト量に対応して前記入力データをシフトするシ
フト手段と、 該シフト手段によりシフトされたデータが全て“0”で
あることを検出する検出手段と、 前記入力データのシフトにより当該入力データと異なる
アドレス空間にシフトされたビット情報を記憶する記憶
手段と、 前記ビット情報と、該ビット情報と同じアドレス空間に
入力されるデータとの論理和をとる論理和手段とを備え
、指示されたメモリのアドレスより順次に入力データを
前記シフト手段により所定量だけシフトして、前記記憶
手段に記憶できるようにしたことを特徴とするメモリア
クセス回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20677486A JPS6362741A (ja) | 1986-09-04 | 1986-09-04 | メモリアクセス回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20677486A JPS6362741A (ja) | 1986-09-04 | 1986-09-04 | メモリアクセス回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6362741A true JPS6362741A (ja) | 1988-03-19 |
Family
ID=16528864
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20677486A Pending JPS6362741A (ja) | 1986-09-04 | 1986-09-04 | メモリアクセス回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6362741A (ja) |
-
1986
- 1986-09-04 JP JP20677486A patent/JPS6362741A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
| US7191310B2 (en) | Parallel processor and image processing apparatus adapted for nonlinear processing through selection via processor element numbers | |
| JP2916045B2 (ja) | Fifoモジュール | |
| US5046040A (en) | Microprogram control apparatus using don't care bits as part of address bits for common instructions and generating variable control bits | |
| JP3166447B2 (ja) | 画像処理装置及び画像処理方法 | |
| US4575796A (en) | Information processing unit | |
| US5748555A (en) | Memory address preview control circuit | |
| US5265204A (en) | Method and apparatus for bit operational process | |
| US4641278A (en) | Memory device with a register interchange function | |
| CN1004306B (zh) | 信息处理装置 | |
| USRE34635E (en) | Method and apparatus for bit operational process | |
| JPS6362741A (ja) | メモリアクセス回路 | |
| US5875323A (en) | Processor using implicit register addressing | |
| US6552730B1 (en) | Method and apparatus for bit operational process | |
| US5175816A (en) | Method and apparatus for bit operational process | |
| US5475828A (en) | Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same | |
| JP3046111B2 (ja) | 文字認識方法及びその装置 | |
| JPH0795269B2 (ja) | 命令コードのデコード装置 | |
| JPH06301596A (ja) | マイクロプロセッサ | |
| JP3063694B2 (ja) | ステートマシン制御回路 | |
| US5673216A (en) | Process and system for adding or subtracting symbols in any base without converting to a common base | |
| JP3078138B2 (ja) | 可変長コード生成装置 | |
| JPS62199455A (ja) | メモリアクセス回路 | |
| JP3039554B2 (ja) | メモリアクセス回路及び出力装置 | |
| JPH02128251A (ja) | 描画アドレス演算方式 |