JPH04199238A - メモリアクセス方式 - Google Patents

メモリアクセス方式

Info

Publication number
JPH04199238A
JPH04199238A JP31776990A JP31776990A JPH04199238A JP H04199238 A JPH04199238 A JP H04199238A JP 31776990 A JP31776990 A JP 31776990A JP 31776990 A JP31776990 A JP 31776990A JP H04199238 A JPH04199238 A JP H04199238A
Authority
JP
Japan
Prior art keywords
address
memory
data
latch
written
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
JP31776990A
Other languages
English (en)
Inventor
Toshio Tanaka
利男 田中
Tomohisa Kohiyama
智久 小檜山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP31776990A priority Critical patent/JPH04199238A/ja
Publication of JPH04199238A publication Critical patent/JPH04199238A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータのメモリのアドレス境界にまた
がる内容を書き換える処理に好適なメモリのアクセス方
式に関する。
〔従来の技術〕
コンピュータのメモリの読み書きは、一般に、読み書き
したいメモリのアドレスをアドレスバスを介してメモリ
に与え、データバスを介してCPU内のレジスタの内容
をメモリに書き、また、メモリの内容をCPU内レジス
タに読むという手段をとる。データバスはCPUに固有
の幅を持ち、通常8.16.32ビツト等で構成されて
いる。このデータバス幅のビット数を持つデータはワー
ドと呼ばれ、メモリのアクセスはワード単位、または、
バイト(8ビツト)単位で行われる。メモリもワードま
たはバイト単位でアドレス付けされ、メモリの読み書き
は、従来アドレス付けされたワードまたはバイト単位で
行われていた。従って、相隣りあうアドレスの境界にま
たがるワード、または、バイト単位の読み書きを行うに
は、隣接するアドレスの各アドレスごとに内容を読み書
きし、二つのアドレスの内容をビット処理によりワード
、または、バイトにまとめるソフト処理を必要とした。
このソフト処理を不要とするため、従来、第2図に示す
方法が提案されている。第2図中、1はCPU、2は第
一のメモリ、3は第二のメモリ、11はアドレスバス、
12はデータバス、4はデータラッチ、5はデータを任
意のビットシフトさせるシフタ、7はアドレスラッチ、
8はアドレス加算器、9はアドレス選択回路、6はシフ
タ5に与えるシフト量や、□第二のメモリ3への書き込
みを一ビツト単位で制御する情報などを与える制御部で
ある。
以下、第一のメモリ2から読み出したデータを第二のメ
モリ3に書き込む処理を簡単に説明する。
読み出したデータは、第二のメモリ3のアドレス境界(
例えばアドレスnとn+1)にまたがって書き込まれる
とする。まず、CPUIは第一のメモリから−ワードの
データをリードする。次にこのデータを第二のメモリの
n番地に書き込む。この際データはデータラッチ4でラ
ッチされ、シフタ5で任意ビットシフトされ、さらに制
御信号17により不必要なビットをマスクされて第二の
メモリに書き込まれる。この時、第二のメモリへのアド
レスは、アドレス選択回路9により、n番地に対応する
アドレス15が与えられる。次にCPUは次のデータを
第一のメモリからリードする。これと同時に、第二のメ
モリには前回のデータの残りの部分が書き込まれる。こ
の際、アドレスは、アドレス選択回路9により、n+1
番地に対応するアドレス16が与えられる。次にCPU
は第二のメモリのn+1番地への書き込み命令を実行す
る。
以下、データの数だけこの処理を繰り返すことにより、
アドレス境界にまたがる領域へのデータ転送を終了する
。このように、データ転送時に、CPUのリードとライ
トが連続して行われることに着目し、第二のメモリのn
番地とn+1番地への書き込みを、実質−回のメモリサ
イクルで行うことができた。
〔発明が解決しようとする課題〕
上記従来技術は、アドレス境界にまたがる位置へのデー
タ転送を行う用途、例えば、デイスプレィ装置において
、ビットマツプメモリの任意の位置に文字データを展開
する場合や、画面のある領域から別の領域へのコピーを
行う場合には、データの転送は連続して行われるため、
冗長なメモリ書き込みサイクルを増やすことなく、高速
にデータ転送が行える。
この方法では、CPUによるデータのリードを並行して
、第二のメモリへのライトを行うため、CPUのリード
/ライトサイクルから見れば、実質−回のサイクルでデ
ータ転送が終了する。しかし、メモリのアクセスという
観点から見れば、第二のメモリのn番地とn+1番地へ
の書き込みは二回に分けて行われる。データ転送の際の
実行時間は、このメモリのアクセスに左右されるため、
メモリのアクセス回数をいかに少なくするかが、高速化
のためのポイントとなる。
一方、従来技術は、あるメモリから別のメモリへの転送
や、一つのメモリ内である領域から別の領域へのコピー
などのように、リードとライトが連続しておこる場合に
は有効であるが、領域の塗りつぶしなどのように、ライ
トだけが連続する用途については考慮されていなかった
本発明の目的は、メモリのアクセス回数をより少なくす
ることにより、上に述べたような用途、すなわち、アド
レス境界にまたがる位置へのデータ転送を高速に行うメ
モリアクセス方式を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明によるメモリアクセ
ス回路は、第一のメモリと、前記第一のメモリから読み
出したデータを書き込む第二のメモリと、前記第二のメ
モリに書き込むデータを一時保持するデータラッチと、
前記データラッチから出力されたデータを任意ビットシ
フトするシフタとを備えたメモリアクセス回路において
、前記第二のメモリを一つに分割し、その一方をアドレ
スの偶数番地に対応させ、他方を奇数番地に対応させる
。さらに、前記第二のメモリに与えるアドレスを一時保
持するアドレスラッチと、前記アドレスラッチから出力
されるアドレス情報を単位アドレスだけ変更するアドレ
ス変更手段と、前記アドレスラッチまたは前記アドレス
変更手段のいずれかから出力されるアドレス情報を選択
するアドレス選択手段を、前記第一のメモリに対応して
二組持ち、前記シフタのシフト量や、前記アドレス選択
手段の選択動作および、前記第二のメモリのビット単位
の書き込みマスクを制御する制御手段とを具備したもの
である。
〔作用〕
第一のメモリから読み出したデータを、第二のメモリの
アドレス境界にまたがる位置に書き込む処理を考える。
前記第一のメモリから読み出されたデータは、データラ
ッチでラッチされた後、シフタにより、書き込むべき位
置に対応する量だけシフトされて、第二のメモリに与え
られる。
一方、アドレスは、アドレスラッチでラッチされたアド
レスと、アドレス選択手段により、前記アドレスラッチ
から出力されるアドレスを単位アドレスだけ変更された
アドレスが、アドレス選択手段で選択されて第二のメモ
リに与えられる。この際、偶数番地から始まる位置のア
ドレス境界に書き込みを行う場合には、偶数番地に対応
するメモリには、アドレスラッチから出力したアドレス
が与えられ、奇数番地に対応するメモリには、アドレス
変更手段から出力したアドレスが与えられるように、ア
ト1ノス選択手段は動作する。そして、シフタでシフト
された書き込みデータは、制御部から出力される書き込
みマスク信号により不必要なビットはマスクされて第二
のメモリに書き込まれる。この時、偶数番地に対応する
メモリと奇数番地に対応するメモリへの書き込みマスク
信号は、逆になるように与えられる。これより、アドレ
ス境界にまたがる位置への書き込み動作を、−回のメモ
リアクセスで行うことができる。なお、本方式によるメ
モリアクセスは、メモリへの物理的な書き込み処理を一
回のアドレスで行えるため、リードとライトが連続しな
い場合、例えば、領域の塗りつぶしなどの用途にも同様
の効果が得られる。
〔実施例〕
以下、本発明の実施例を図を用いて説明する。
第1図は本発明の一実施例を表す図である。1はCPU
、2はデータ転送時にソースとなるメモリ、3はディス
ティネーションとなるメモリ、4はデータラッチ、5は
書き込みデータの任意ビットのシフトを行うシフタ、7
はアドレスラッチ、8はアドレスラッチにラッチされた
アドレス情報に1を加えるアドレス加算器、91および
92はアドレス選択回路、6はシフタ5に与えるシフト
量や、アドレス選択回路91.92に与える制御信号、
メモリ3への書き込みを1ビット単位で制御する書き込
みマスク信号などを与える制御部である。メモリ3は、
アドレスの偶数番地に対応するメモリ31と、奇数番地
に対応するメモリ32に分割されており、これらのメモ
リに対して、それぞれアドレス選択回路91.92から
のアドレス情報が入力する。
第3図ないし第5図を用いて第1図の実施例の動作を説
明する。ここではデータバス12のデータ幅はへビット
とし、メモリのアクセスはへビット単位で行われるもの
として説明する、第3図は、メモリ2として、文字のパ
ターンデータが格納されたフォトメモリ、メモリ3とし
てデイスプレィ装置のグラフィック表示メモリ(ビット
マツプメモリ)とした例を示す。同図(a)がフォント
メモリであり、文字フォントのデータは、アドレスが増
える方向(S、S+I、S−4−2−・・)に、順次、
格納されているものとする。同図(b)はグラフィック
表示メモリであり、アドレスは向かって左から水平方向
に一番地ずつ増えてゆき(0,1゜2・・・)、図示し
ていない右端まで到達すると一列下に下がり、再び、左
端から右方向にアドレスが増加するものとする。縦線α
はワード(この例ではへビット)境界を示している。な
お、グラフィック表示メモリは、偶数番地(0,2・・
・)がメモリ31に対応し、奇数番地(1,3−・・)
がメモリ32に対応するようにアドレス付けされている
。図に示すように、フォントメモリのデータは、グラフ
ィック表示メモリのワード境界にまたがって(右側に三
ビットあるいは五ビットシフトして)転送されるものと
する、1 第4図は、−ワードのデータの転送について説明したも
のである。フォントメモリ(以下CGと記す)から読み
出したデータを、グラフィック表示メモリ(以下V’R
AMと記す)のD番地とD+1番地にまたがる位置に書
き込むものとする。ここでDは偶数であり、データは偶
数番地から始まる位置に書き込まれる。 C,、P t
Jは、CGからデータSを読み出した後、V RA、 
MのD番地への書き込み命令を行う。ここでデータSは
、左側がMSB1右側がLSBを表し、D7〜Doはデ
ータビットを表している。、CPUによる書き込み命令
が発せられると、データSはシフタ5により三ビット右
にシフトされてS′となりV RA、 Mに入力する。
制御部6は、VRAMに対する書き込みマスク信号17
を出力する。このマスク信号は、メモリ31に対しては
そのままのマスク情報M1が与えられるが、メモリ32
に対しては、反転回路61により反転されたマスク情報
M2が与えられる。ここで、マスク情報は、0に対応す
るビットは書き込みが行われず、1に対応するビットの
みが書き込まれることを表わしている。シフト後のデー
タS′は、このマスク情報によりマスクされて、書き込
みデータWO,WlとしてVRAMに書き込まれる。
WOはメモリ31に対する書き込みデータ、Wlはメモ
リ32に対する書き込みデータであることはいうまでも
ない。一方、VRAMのD番地への書き込み命令が発せ
られると、アドレスバス11上のアドレスはアドレスラ
ッチ7およびアドレスラッチから出力したアドレス情報
に1を加えるアドレス加算器8を経由して、アドレス選
択回路91.92に入力する。データは偶数番地から始
まる位置に書き込まれるため、アドレス選択回路91は
、アドレスラッチ7の出力15を選択し、アドレス選択
回路92は、アドレス加算器8の出力16を選択して、
それぞれメモリ31、メモリ32に与えるように動作す
る。これにより、メモリ31にはD番地、メモリ32に
はD+1番地のアドレス情報が与えられ、前述した書き
込みデータWl、W2が書き込まれることになる。その
結果がD′である。ここで、空白の部分は、書き込みが
行われなかったことを表わしている。このように、アド
レス境界にまたがる位置への書き込み動作を一回のメモ
リアクセスで行うことができる。なお、シフタでのシフ
ト量は、制御部6からの開側信号19で与えられる。こ
れらのシフト量や、書き込みマスク信号等の情報は、あ
らかじめCPUにより設定しておく。
第3図の転送動作を時間を追って説明したのが第5図で
ある。第3図のblは、CGから読み出したデータをV
RAMの偶数番地から始まる位置に三ビット右側にシフ
トして書き込む場合の動作を説明したものである。この
場合、アドレス選択回路91は、アドレスラッチ7の出
力15を選択し、アドレス選択回路92は、アドレス加
算器8の出力16を選択して、それぞれメモリ31.メ
モリ32に与えるように動作する。まず、CPUが最初
のデータROをCGのS番地から読み出し、このデータ
をVRAMのD番地に書き込む命令を発する。これによ
り、データR1は、シフタ5で三ビットシフトされ、デ
ータW00としてVRAMのD番地に書き込まれる、と
同時にデータWO1がVRAMのD−→−1番地に書き
込まれる。ここで、データWOOの下位五ビット、およ
び、データWOIの下位五ビットは実際の書き込みは行
われない、これは前述したように、制御部6からの書き
込みマスク信号17によるものである。次に、CPUが
次のデータR1をCGのS」−1番地から読み出し、そ
のデータをV RA、 MのD + n番地に書き込む
命令を実行すると、データR1の下位五ビットが、D+
n番地のr位置ビットに書き込まれ、R1の下位五ビッ
トが、D+n+1番地の下位五ビットに書き込まれる。
以下はこの操作の繰り返しで必要なデータ転送を実行で
きる。
第3図の1)2は、CGから読み出したデータをV R
A、 Mの奇数番地から始まる位置に、五ビット右側に
シフトして書き込む場合の動作を説明したものである。
この場合、アドレス選択回路91は、アドレス加算器8
の出力16を選択し、アドレス選択回路92は、アドレ
スラッチ7の出力15を選択して、それぞれメモリ31
.メモリ32に与えるように動作する。これは、上で述
べた偶数番地から始まる位置に書き込む場合とは逆の関
係にな−)でいる。
CGからVRAMへの転送動作は前述したのと同様に行
える。すなわち、CPUがCGのS番地からデータRO
を読み出し、これをVRAMの■)−・m −n 4−
1番地に書き込む命令を実行すると、データROの下位
五ビットが、G4−m−n−1−1番地の下位五ビット
に書き込まれ、データROの下位五ビットが、D+m−
n→2番地のL位置ビットに書き込まれる。これを必要
なデータ数だけ繰り返すことにより、データ転送を終了
する。
本実施によれば、アドレス境界にまたがる位置へのデー
タ転送を一回のメモリアクセスで行えるため、不必要な
書き込みサイクルを削減でき、高速なデータ転送が行え
る。なお、第3図では、第1図のメモリ2とメモリ3と
が異なる場合を例に説明したが、この二つのメモリは同
一のものであってもよい。
次に、第6図により、本発明の第二の実施例を説明する
。これは、領域の塗りつぶしなどのように、同一のデー
タを、アドレス境界にまたがって、順次、転送するもの
である。ソースとなるデータSDはCPU内のレジスタ
にあり、このデータをV RA、 Mのワード境界から
三ビットシフトして転送する様子を示している。この際
、CPUは、■RA、MのD番地、D→−n番地、D+
2n番地・・・への書き込み命令を順次発行する。前述
したのと同様に、データSDはシフタ5によりシフトさ
れ、不必要なビットはマスクされて、VRAMのDおよ
びD+1番地、D+nおよびD+n+1番地・・・に、
順次、書き込まれる。これを必要な回数繰り返すことに
より、データ転送を終了する。このように、CPUによ
るリードとライトが連続しない場合にも高速なデータ転
送が行える。
以上の説明では、−ワードをへビットとしてきたが、こ
れは何ビット(例えば16ビツトや32ビツト)であっ
ても構才)ない。
(発明の効果〕 本発明によれば、アドレスの境界にまたがる位置へのデ
ータ転送を行う際に、転送先のメモリを偶数番地に対応
する部分と奇数番地に対応する部分に分け、それぞれに
与えるアドレス情報を、CP Uからのアドレスと、こ
れを単位アドレスだけ変更したアドレスとを選択して与
えることにより、メモリアクセスを効率よく行え、高速
なデータ転送を実行することができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るメモリアクセス回路を
使用したメモリシステムのブロック図、第2図は従来の
メモリシステムのブロック図、第3図、第4図および第
5図は第1図のメモリシステムの動作の説明図、第6図
は本発明の第二の実施例の説明図である。 l・・・CPU        2・・・メモリ3・・
・メモリ      5・・・シフタ6・・・制御部 
     8・・・アドレス加算器91、92・・・ア
ドレス選択回路 11・・・アドレスバス   ]2・・・データパス5
2 図 罵4回 0輻ト・工tジ      )ト′】喪%      
0+I*までジ軍 5 回 (b2) 駕 ち 側

Claims (1)

  1. 【特許請求の範囲】 1、第一の記憶領域から複数ワードのデータを、順次、
    読み出し、前記複数ワードのデータをアドレスの境界に
    またがる第二の記憶領域に、順次、書き込むメモリアク
    セス方式であって、第一のメモリと、前記第一のメモリ
    から読み出したデータを書き込む第二のメモリと、前記
    第二のメモリに書き込むデータを一時保持するデータラ
    ッチと、前記データラッチから出力されたデータを任意
    ビットシフトするシフタとを備えたメモリアクセス回路
    において、 前記第二のメモリを二つに分割し、一方をアドレスの偶
    数番地に対応させ、他方を奇数番地に対応させ、前記第
    二のメモリに与えるアドレス情報を一時保持するアドレ
    スラッチと、前記アドレスラッチから出力されるアドレ
    ス情報を単位アドレスだけ変更するアドレス変更手段と
    、前記アドレスラッチまたは前記アドレス変更手段から
    出力されるアドレス情報を選択するアドレス選択手段を
    前記第二のメモリに対応して二組持ち、前記シフタのシ
    フト量や、前記アドレス選択手段の選択動作、および、
    前記第二のメモリのビット単位の書き込みマスクを制御
    する制御手段とを具備し、 前記第一のメモリから読み出したデータを、前記アドレ
    スの境界に応じてシフトし、シフトされた前記データの
    一部を前記アドレス境界の一方のアドレスに書き込み、
    同時に、前記シフトされたデータの他の部分を前記アド
    レス境界の他方のアドレスに書き込むことを特徴とする
    メモリアクセス方式。 2、請求項1において、同一データをアドレスの境界に
    またがる記憶領域に、順次、書き込む場合も、前記メモ
    リアクセス回路を用いて、高速にデータ転送を行うメモ
    リアクセス方式。
JP31776990A 1990-11-26 1990-11-26 メモリアクセス方式 Pending JPH04199238A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31776990A JPH04199238A (ja) 1990-11-26 1990-11-26 メモリアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31776990A JPH04199238A (ja) 1990-11-26 1990-11-26 メモリアクセス方式

Publications (1)

Publication Number Publication Date
JPH04199238A true JPH04199238A (ja) 1992-07-20

Family

ID=18091849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31776990A Pending JPH04199238A (ja) 1990-11-26 1990-11-26 メモリアクセス方式

Country Status (1)

Country Link
JP (1) JPH04199238A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62171052A (ja) * 1986-01-22 1987-07-28 Ricoh Co Ltd メモリ構造

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62171052A (ja) * 1986-01-22 1987-07-28 Ricoh Co Ltd メモリ構造

Similar Documents

Publication Publication Date Title
JPH077260B2 (ja) 画像データ回転処理装置及びその方法
US4879666A (en) Information output device having data buffer for performing both character positioning and character expansion/compression
JPS5847741B2 (ja) パタ−ン発生器
JPS6312072A (ja) メモリ制御装置
KR920005739B1 (ko) 기억부(memoryunit)에 사용되는 부분기입 제어회로.
JPH0289132A (ja) 論理アドレス生成方式
JPH04199238A (ja) メモリアクセス方式
JPS62299892A (ja) キヤラクタジエネレ−タメモリのアクセス方式
JP2573711B2 (ja) マイクロサブルーチン制御方式
JPH0766349B2 (ja) シフタ回路
JPH0422476Y2 (ja)
JPS6019258A (ja) 記憶装置
JP2771350B2 (ja) 画像処理装置
JPH03273592A (ja) キャッシュメモリ装置
JPS63304293A (ja) 表示メモリ制御回路
JPS6375986A (ja) ビツトマツプメモリシステム
JPS6180331A (ja) 可変長デ−タ処理装置
JPS6217790A (ja) 文字パタ−ン発生回路
JPH0350297B2 (ja)
JPS6261136A (ja) 制御装置
JPS63217477A (ja) 表示装置におけるグラフイツクメモリ制御装置
JPS6190195A (ja) パタ−ン発生装置
JPH0241583A (ja) ビットマップ描画装置
Takakubo et al. A bitmap memory bank which allows block accesses
JPS61145631A (ja) 情報処理装置