JPH02288925A - Memory controller - Google Patents

Memory controller

Info

Publication number
JPH02288925A
JPH02288925A JP1041356A JP4135689A JPH02288925A JP H02288925 A JPH02288925 A JP H02288925A JP 1041356 A JP1041356 A JP 1041356A JP 4135689 A JP4135689 A JP 4135689A JP H02288925 A JPH02288925 A JP H02288925A
Authority
JP
Japan
Prior art keywords
memory
data
vertical
horizontal
mode
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
JP1041356A
Other languages
Japanese (ja)
Inventor
Makoto Sato
誠 佐藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP1041356A priority Critical patent/JPH02288925A/en
Publication of JPH02288925A publication Critical patent/JPH02288925A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To access word data of continuous bits in the subscanning direction in one memory cycle by assigning n-number of bit data constituting one arbitrary longitudinal word and one arbitrary transverse word in a memory block to n-number of memory chips without overlapping. CONSTITUTION:The mode is switched to the longitudinal mode for access of one-byte data continuous in the transverse direction or the transverse mode for access of one-byte data continuous in the longitudinal direction by a longitudinal/transverse mode select signal line 7 inputted to a memory address conversion unit 4. Thus, arbitrary one-byte data (PnV.0, PnV.1 to PnV.7) continuous in the transverse direction and arbitrary one-byte data (P0nH, P1nH to P7nH) continuous in the longitudinal direction are accessed with addresses [(8A+nv).H +B] and [(8B+nH) V+A] respectively in one memory cycle.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 本発明はアドレスによってランダム・アクセス可能なメ
モリ回路のメモリ制御装置に関するもので、特にメモリ
空間を2次元的に使用する例えば画像データを格納する
だめのメモリ制御装置に関する。 〔従来の技術〕 近年メモリ・チップの大容量、高集積化が進むにつれフ
ァクシミリ装置等において定形用紙1ペ一ジ分の画像デ
ータを格納し得る画像メモリを搭載することが低コスト
で実現可能となり、これによってページ単位での画像処
理等の種々のアプリケーションが行なわれている。 従来この種の装置では、メモリのアドレッシングは普通
定形用紙の主査方向に連続的に割り当てられていて、こ
のアドレッシングは固定化されていた。 〔発明が解決しようとしている課題〕 そのため従来この種の装置で副走査方向に連続する画像
データをアクセスすることは困難を要し、一般に数ステ
ップのソフトウェアで実行しており、特に2次元的な画
像処理演算においてそのパフォーマンスの低下の原因の
ひとつになっていた。 〔課題を解決するための手段〕 本発明によれば2次元メモリ空間をある一定のワード(
nビット)長毎に縦横に区切ることによって生じるn×
n個のビット・データから成るメモリ・ブロック内のい
かなる縦1ワードあるいは横1ワド・データを選択して
も、前記ワード・データを構成するn個のビット・デー
タがn個のメモリ・チップにそれぞれ重複かつ欠漏する
ことなく割り当てる手段を有することにより、従来数ス
テップのソフトウェアで実行していた副走査方向にビッ
ト連続するワード・データのアクセスが1回のメモリ・
ザイクルで可能にしたものである。 さらに各々n個のメモリ・チップに与えるメモリ・アド
レスを、アクセス要求されたワード・データが横(主走
査線)方向にビット連続(縦モード)であるか縦(副走
査線)方向にビット連続(横モード)であるかを表わす
縦/横モード選択信号線の状態及びあらかじめ設定され
ている横方向のバイト数、縦方向のバイト数の各定数を
用いて、前記ワード・データに対する外部より与えられ
た仮のアドレスから各々n個のメモリ・チップに与える
メモリ・アドレスを生成する手段とn個のメモリ・チッ
プと外部データ・バスを構成するn個のデータ線との接
続パターンを決定する手段を有することにより、メモリ
・サイクル毎に異なったモードで任意の1ワード・デー
タのアクセスを可能にしたものである。 さらにアクセス要求されたワード・データのメモリ・ブ
ロック内での位置を算出する手段を有することと、n個
のメモリ・チップと外部データ・ハスを構成するn個の
データ線との接続パターンが前記縦/横モードの設定に
よらず、前記算出された位置によってのみ決定され得る
接続パターンを用いることにより、メモリ回路の構成を
単純化したものである。 〔実施例〕 第1図から第15図は本発明のメモリ回路の実施例及び
その動作原理を表わしている。 第1図は本発明のメモリ回路の実施例のブロック図であ
る。この図において1はメモリ・チップで8個使用して
いる。1個のメモリ・チップ1は、1ビットのデータ入
出力ポートを持つ(ワード幅が1ビツトであるところの
)DRAMチップ等で構成され得る。8個のメモリ・チ
ップ1にはそれぞれco−07のチップ番号がつけられ
ている。2はメモリ・チップ1をアドレッシングするた
めのメモリ・アドレス・バスであり、8個のメモリ・チ
ップ1のメモリ・アドレス・バス2はそれぞれ独立に供
給されている。3はメモリ・チップ1のデータ入出力ボ
ートに接続されるメモリ・データ線である。4はメモリ
・アドレス変換ユニットである。このメモリ・アドレス
変換ユニット4にはCPUアドレス・バス5、定形用紙
サイズ選択信号線6及び縦/横モード選択信号線7が入
力され、前記8組のメモリ・アドレス・バス2の他にデ
ータ・バス変換指示侶υ線8が出力される。9はメモリ
・データ変換ユニットてあり、10はCPUデータ・バ
スである。 第2図は本実施例のメモリ回路で、1画素を1ビツトで
表わした画像データを格納した場合に縦モードを選択し
たときのメモリ・アドレスを表わしている。図中Vは縦
方向のライン数、Hは横方向の画素数を8ビツト(1バ
イト)単位で区切った場合のバイト数である。ここで横
方向の画素数は8の倍数で、バイト単位で余り無く区切
ることが可能であるように設定されている。メモリ・ア
ドレス
[Industrial Application Field] The present invention relates to a memory control device for a memory circuit that can be randomly accessed by addresses, and more particularly to a memory control device for storing image data, which uses memory space two-dimensionally. [Prior Art] In recent years, as memory chips have become larger in capacity and more highly integrated, it has become possible to install image memory capable of storing image data for one page of standard paper in facsimile machines and the like at low cost. With this, various applications such as image processing on a page basis are performed. Conventionally, in this type of apparatus, memory addressing is normally allocated continuously in the main scanning direction of regular-sized paper, and this addressing is fixed. [Problem to be solved by the invention] Conventionally, it has been difficult for this type of device to access continuous image data in the sub-scanning direction, and this has generally been done using several steps of software. This was one of the causes of performance deterioration in image processing operations. [Means for Solving the Problems] According to the present invention, a two-dimensional memory space is divided into certain words (
n bits) generated by dividing vertically and horizontally
No matter which vertical 1 word or horizontal 1 word data in a memory block consisting of n bit data is selected, the n bit data constituting the word data will be transferred to n memory chips. By having means for allocating data without duplication or omission, accessing word data with consecutive bits in the sub-scanning direction, which was conventionally performed by several steps of software, can now be accessed in one memory.
This is made possible by Zaikle. Furthermore, the memory address given to each n memory chip is determined whether the requested word data is bit continuous in the horizontal (main scanning line) direction (vertical mode) or bit continuous in the vertical (sub scanning line) direction. (horizontal mode), the state of the vertical/horizontal mode selection signal line, and the preset constants for the number of bytes in the horizontal direction and the number of bytes in the vertical direction. means for generating memory addresses to be given to each of the n memory chips from the temporary addresses obtained; and means for determining a connection pattern between the n memory chips and the n data lines constituting the external data bus. By having this, it is possible to access any one word of data in different modes for each memory cycle. The method further includes means for calculating the position of the word data requested for access within the memory block, and the connection pattern between the n memory chips and the n data lines constituting the external data lot is determined as described above. The configuration of the memory circuit is simplified by using a connection pattern that can be determined only by the calculated position, regardless of the vertical/horizontal mode settings. [Embodiment] FIGS. 1 to 15 show an embodiment of the memory circuit of the present invention and its operating principle. FIG. 1 is a block diagram of an embodiment of a memory circuit of the present invention. In this figure, 1 is a memory chip, and eight memory chips are used. One memory chip 1 may be composed of a DRAM chip or the like (with a word width of 1 bit) having a 1-bit data input/output port. Each of the eight memory chips 1 is assigned a chip number of co-07. 2 is a memory address bus for addressing the memory chips 1, and the memory address buses 2 of the eight memory chips 1 are independently supplied. 3 is a memory data line connected to the data input/output port of the memory chip 1; 4 is a memory address conversion unit. A CPU address bus 5, a standard paper size selection signal line 6, and a portrait/horizontal mode selection signal line 7 are input to this memory address conversion unit 4, and in addition to the eight sets of memory address buses 2, data A bus conversion instruction υ line 8 is output. 9 is a memory data conversion unit, and 10 is a CPU data bus. FIG. 2 shows the memory circuit of this embodiment, and shows the memory addresses when the vertical mode is selected when image data in which one pixel is represented by one bit is stored. In the figure, V is the number of lines in the vertical direction, and H is the number of bytes when the number of pixels in the horizontal direction is divided into 8-bit (1 byte) units. Here, the number of pixels in the horizontal direction is a multiple of 8, and is set so that it can be divided into bytes without remainder. memory address

〔0〕は最も上のラインの左から数えて最初の8
ビツト(1バイト)データを指し、最も下のラインの最
も右に位置する1バイト・データは最大メモリ・アドレ
スl:v−H−1)に割り当てられている。 この縦モードで任意の1バイト・データは上から数えた
縦ライン番号a(0≦a≦v−1)と左から数えたバイ
ト番号B(0≦B≦H−1)を用いて〔a・■(+](
[0)≦lea −H+] ≦〔v−H−1〕)でアド
レッシングされる。 第3図は本実施例のメモリ回路で1画素を1ビツトで表
わした画像データを格納した場合に横モードを選択した
ときのメモリ・アドレスを表わしている。図中Vは縦方
向の画素数を8ビツト(1バイト)単位で区切った場合
のバイト数であり、hは横方向のライン数である。ここ
で縦方向の画素数は8の倍数で、バイト単位で余り無く
区切ることが可能であるように設定されている。メモリ
・アドレス
[0] is the first 8 counting from the left of the top line
Refers to bit (1 byte) data, and the rightmost 1 byte data on the bottom line is assigned to the maximum memory address 1:vH-1). In this vertical mode, any 1-byte data can be generated using vertical line number a (0≦a≦v-1) counted from the top and byte number B (0≦B≦H-1) counted from the left.・■(+](
[0)≦lea −H+] ≦[v−H−1]). FIG. 3 shows the memory addresses when the horizontal mode is selected in the case where image data in which one pixel is represented by one bit is stored in the memory circuit of this embodiment. In the figure, V is the number of bytes when the number of pixels in the vertical direction is divided into units of 8 bits (1 byte), and h is the number of lines in the horizontal direction. Here, the number of pixels in the vertical direction is a multiple of 8, and is set so that it can be divided into bytes without remainder. memory address

〔0〕は最も左のラインの上から数えて最初
の8ビツト(1バイト)データを指し、最も右のライン
の最も下に位置する1バイト・データは最大メモリ・ア
ドレス(h−V−1)に割り当てられている。 この横モードで任意の1バイト・データは左から数えた
横ライン番号b(o≦b≦h)と、上から数えたバイト
番号A (0≦A≦V−1)を用いて、(b−V+A)
MO) ≦(b−V+A] ≦(h−V−1))でアド
レッシングされる。 同一の定形用紙サイズならば第2図及び第3図における
各パラメータ間には次の関係が成り立つ。 縦方向のライン(画素)数とバイト数 :  v=8V
横方向のライン(画素)数とバイト数 :  h=8H
最大アト1./ス :  〔V−H−1)E [h−V
−1)E (8V−H−1)第4図は本実施例のメモリ
回路においてメモリ・ブロックの概念を表わしたもので
ある。図中Vは縦方向のバイト数(画素数÷8)、Hは
横方向のバイト数(画素数÷8)である。メモリ・ブロ
ックは縦横8ビツトの計64ビットのまとまりで、最も
左上のメモリ・ブロックをM。、。で最も右下のメモリ
・ブロックをM V−1,H−1で表わしている。任意
のメモリ・ブロックは上から数えた縦バイト番号A(0
≦A≦v−i)と、左から数えた横バイト番号B(0≦
B≦H−1)を用いてMA、8で表わすことができる。 ひとつのメモリ・ブロックは8バイトのデータで構成さ
れている。 第5図は縦モードにおけるメモリ・ブロックMA。 8の8個のバイト・データのアドレスをそれぞれ示した
ものである。これら8個のアドレスはすべて[:(8A
十n y) ・H+B)(0≦nV≦7)で表わすこと
ができる。ここでnVはそのバイト・データのメモリ・
ブロックMA、B内での上から数えた位置を表わしてい
る。 第6図は前記メモリ・ブロックM A 、 Bを横モー
ドにおいてアクセスするときの8個のバイト・データの
アドレスをそれぞれ示したものである。これら8個のア
ドレスはすべて[:(8B+nH)・V+A](0≦n
H≦7)で表わすことができる。ここでnHはそのバイ
ト・データのメモリ・ブロックMA、B内での左から数
えた位置を表わしている。 第7図はひとつのメモリ・ブロック内の64個のビット
・データの配置を表わしている。メモリ・ブロック内の
任意の1ビツト・データは上から数えたビット数ny(
0≦nv≦7)と、左から数えたビット数nH(0≦n
H≦7)を用いてPnV、nH(=0または])で表わ
すことができる。 第8図は縦モード及び横モードでアクセスした任意の1
バイト・データ内に含まれる8ビツトのデータをそれぞ
れ表わしたものである。ひとつのメモリ・ブロック内の
任意の1ビツト・データPny。 n Hは縦モードではアドレス((8A+nV)弓−T
十B:]によって、また横モードではアドレス((8B
+n。)・V十A)によってアクセスされる。例えばメ
モリ・ブロックMA、B内のビット・データP2,5は
縦モードではアドレス[(8A +2 )・H十B )
で示されるバイト・データのビットD2でアクセスする
ことができ、横モードではアドレス[(8B+5)・V
+Alで示されるバイト・データのビットD5でアクセ
スすることができる。 第9図はメモリ・アドレス変換ユニット4の構成を表わ
すブロック図である。図中2はメモリ・アドレス・バス
、5はCPUアドレス・バス、6は定形用紙サイズ選択
信号線、7は縦/横モート選択信号線、8はデータ・バ
ス変換指示信号線、11は縦/横バイト数レジスタ、1
2は除算器、13は除算器12のための除数ライン、1
4は除算器I2の商ライン、15は除算器12の余りラ
イン、16は商ライン14のうちの下位3ピット幅のデ
ータ・ハス変換指示信号線8を除いた上位ビット・ライ
ン、J7は減算器、I8は減算器17の差ライン、19
は乗算器、20は3ピツI・幅の差ライン18を下位に
、余りライン15を上位にそれぞれ結合した乗算器19
のための被乗数ライン、21は乗算器19のための乗数
ライン、22は乗算器19の積ライン、23は加算器、
24は加算器23の和ライン、25はマルチプ1ノクザ
である。 第10図は縦モード選択時に前記第9図に示ずメモリ・
アドレス変換ユニット4内の各信号線上の内容を表わし
たものである。 第1]図は横モード選択時に前記第9図に示すメモリ・
アドレス変換ユニット4内の各信号線上の内容を表わし
たものである。 第12図は前記第9図に示すメモリ・アドレス変換ユニ
ット4内の縦/横バイト数レジスタ11に格納されてい
る縦バイト数■及び横バイト数Hと定形用紙サイズ選択
信号線6上で表わされるコードとの対応を示したもので
ある。前記信号線6は4ピツト幅であり、図中“コード
′°の欄の数値を4ピツトで表わし、レジスタ11に入
力することにより図中の縦バイト数Vあるいは横バイト
数Hが得られる。 第13図は本実施例のメモリ回路で縦モードを選択した
ときのCPUデータ・バス10の各ビットD7〜DOと
メモリ・セル1のセル番号C8〜C7との対応をデータ
・バス変換指示信号線8の示すコードnV(0≦ny≦
7)毎にそれぞれ表わしたものである。 第14図は同様に横モードを選択したときのCPUデー
タ・バス10の各ビットD7〜Doと、メモリ・セル1
のセル番号C8−07との対応をデータ・バス変換指示
信号線8の示ずコードn14(0≦n H≦7)毎にそ
れぞれ表わしたものである。 第15図はメモリ・データ変換ユニット9の構成を表わ
すブロック図である。図中3はメモリ・データ線、8は
データ・バス変換指示信号線、10はCPUデータ・バ
ス、31はデコーダ、32はデコーダ31によってデー
タ・バス変換指示信号線8をデコートして得られるとこ
ろの8組のバッファ・イネーブル信号、33は双方向の
トランシーバ・バッファである。 続いて上記の第1図から第15図をもとに本実施例のメ
モリ回路の動作を説明する。 最初に縦モードにおいて前記メモリ・ブロックMA、B
内の任意の1バイト・データのアクセスが発生した場合
の動作について説明する。まず前もって縦/横モード選
択信号線7は“縦モード″に定形用紙サイズ選択信号線
6上には第12図に従って所定のコードがそれぞれ設定
されているものとする。 CPUアドレス・バス5を通じて縦モードにおけるメモ
リ・ブロックM A 、 B内の任意の1バイト・デー
タを指し示すアトl/ス〔(8A + n v ) ・
H+ B :](0≦ny≦7)(第10図参照)がメ
モリ・アドレス変換ユニット4に入力されると、メモリ
・アドレス変換ユニット4は前記入力されたアドレスを
そのままマルチ・プレクサ25を通じてメモリ・アドレ
ス・バス2に送出する。こに場合、すべてのメモリ・チ
ップI Co−C7に同一の内容のメモリ・アドレスが
送出される。 メモリ・アドレス変換ユニット4内の縦/横バイト・レ
ジスタ11は定形用紙サイズ選択信号線6の内容に応じ
て第12図に示されるように横バイト数Hを除算器12
のための除数ライン】3に送出している。除算器12は
被除数であるところの前記メモリ・アドレス[:(8A
+n v、)# H+B)に対して、横バイト数〔H〕
による除算を実行し、商であるところの[8A+nv]
を商ライン14に余りであるところの〔B〕を余りライ
ン15にそれぞれ出力する。縦モードでは前記筒(8A
+nV)のうち下位3ビツトの内容[nv:l(0≦n
y≦7)が必要とされ、データ・バス変換指示信号線8
を通じてメモリ・データ変換ユニット9に送られる。 メモリ・データ変換ユニット9はデータ・バス変換指示
信号線8を通じて入力されたコード〔nV〕(0≦nV
≦7)をデコーダ31を用いてデコードし、第13図に
従ったメモリ・データ線3とCPUデータ・バス10と
の対応を実現すべ(8個の双方向のトランシーバ・バッ
ファのうちのひとつに対しバッファ・イネーブル信号3
2をアサートする。 以上の操作によってメモリ・チップ1のC8〜C7には
メモリ・アドレス((8A+n v) ・H+B)が供
給され、メモリ・データ線3もそれぞれCPUデータ・
バス10の各ビットD7〜Doに接続され第8図に示す
ようなメモリ・アクセスが可能になる。 次に横モードにおいて前記メモリ・ブロックM A、B
内の任意の1バイト・データのアクセスが発生した場合
の動作について説明する。まず前もって縦/横モード選
択信号線7は“横モード″に、定形用紙サイズ選択信号
6上には第12図に従って所定のコードがそれぞれ設定
されているものとする。 横モードにおけるメモリ・ブロックMA、B内の任意の
1バイトデータを構成する各々のビット・データP。、
nH−P7.nH(第8図参照)は、それぞれメモリ・
チップlのC8からC7のいずれかのチップにひとつず
つ重複すること無く割り当てられているが、各メモリ・
チップ1へのアドレスはそれぞれ異なっている。これは
メモリ・チップlへのアドレス方法は縦モードを基準に
しているためで、第5図に示すように8個のメモリ・チ
ップ1のco−07にはそれぞれ縦モード時のメモリ・
アドレスを与えなければならない。 つまり、横モード時のメモリ・アドレス〔(8B十nH
)・V + A )から縦モード時の8個のメモリ・ア
ドレス((8A+O)・H+B)〜((8A+7)・H
+ B )を生成し、各々のメモリ・チップ1のC6〜
C7に与える必要がある。8個の縦モード時のメモリ・
アドレスへの変換は定数■(縦バイト数)及び定数H(
横バイト数)が得られれば可能である。一方、8個の縦
モード時のメモリ・アドレスをそれぞれどのメモリ・チ
ップ1に与えるかを決定するためには、第13図と第1
4図に示すところの、縦/横それぞれのモードにおける
メモリ・チップ]とデータ・バス10との対応表の相関
関係を用いる。 例えば横モードにおけるメモリ・ブロックMA。 8内の1バイト・データ〈P’ O+ 3 、Pl +
 3 、”’P7,3〉はアドレスI:(8E+3)・
V+A)によってアクセス要求される。ここで、このバ
イト・データの横モードにおけるメモリ・ブロックMA
、B内での左から数えた位置は3であるからnH=3と
なる。nH=3の場合1バイト・データ(PO+3、P
113、・・・P7,3>の各ビット・データがメモリ
・チップlのC8−07のいずれに割り当てられるかは
第14図に示すようにP。、3→C4、PI、3→C3
、P7,3→C5となる。メモリ・チップ1の04に割
り当てられたビット・データP。、3は第7図に示すよ
うにメモリ・ブロックM A 、 B内では最も上に位
置する横方向のバイト・データに含まれている。この上
から数えて0番目のバイト・データは縦モードにおいて
はアドレスI:(8A+O)・H十B)によってアドレ
ッシングされている(第5図参照)。つまりメモリ・チ
ップlの04にはアドレス((8A+O)・H+B:l
を与えれば良いことになる。この場合のny(メモリ・
ブロックM A 、 B内での上から数えた位置)は0
である。 同様にメモリ・セルlの03に割り当てられたビット・
データP3,3は第7図に示すようにメモリ・ブロック
M A 、 B内ではnV=1に位置する横方向のバイ
ト・データに含まれているので、メモリ・デツプ1の0
3には第5図に示すようにアドレス((8A+1)・H
+ B )を与えれば良いことになる。従って各々のメ
モリ・チップI Co−07に8個の縦モード時のメモ
リ・アドレスをどのように与えるかは各メモリ・チップ
l Co−C7に割り当てられているビット・データP
 nv+ nHの上から数えた位置ずなわちnyを導出
すれば良いことがわかる。 上記の例の場合nH= 3であり、そのときC4nV=
o、C3: nv ==l、 +++、C3: ny 
=7という関係が成り立つ。この例と、第13図及び第
14図から各メモリ・セルlのC6−C7に対してそれ
ぞれCo : nv 4−H,=7、C,:ny→−n
H=6 (mod8)、=C7: ny+nH:=0 
(mod8)の相関関係が成り立つことがわかる。ny
+nHの値がメモリ・チップ1毎に固有ならば各々のメ
モリ・チップ1に与えるメモリ・アドレスはn HO値
だ(プで決定され得る。 すなわちnVとnHの和をd (mod8)とするとn
 V==mod8 (d−n )l )となり、目的の
メモリ・アドレス((8A十nv)・I−(+ B :
lが得られる。 横モード時のメモリ・アドレスl’:(8B+nH)・
V 十A )から縦モード時の8個のメモリ・アドレス
((8A十〇)・H+B’l〜[: (8A +7 )
・H十B”Jを生成するメモリ・アドレス変換ユニット
4の動作を中心に横モード時における本実施例のメモリ
回路の動作の説明を枝番プて述べる。 CPUアドレス・バス5を通じて横モードにお(プるメ
モリ・ブロックMA2.3内の任意の1バイト・データ
を指し示すアドレス〔(8B十〇H)・V +A )(
0≦n H≦7)(第10図参照)がメモリ・アト1ノ
ス変換ユニツト4に入力されると、メモリ・アドレス変
換ユニット4は次のように動作する。メモリ・アドレス
変換ユニット4内の縦/横バイ)・・レジスタ11は定
形用紙サイズ選択信号線6の内容に応じて第12図に示
されるような縦バイト数■を除算器12のための除数ラ
イン13に、横バイト数FIを乗算器19のための乗数
ライン21にそれぞれ送出している。 除算器12は被除数であるところの前記メモリ。 アドレス[(8B+n H) ・V+A]に対して、縦
バイl−1:Vlによる除算を実行し、商であるところ
の18B+n+(]を商ラうン14に、余りであるとこ
ろの[A]を余りライン15にそれぞれ出力する。 前記商[8B+nI(]は下位3ビットの内容[r+、
、]とその残りの上位ビット[B]とに分けられ、[n
、4]は減算器17に入力されると同時に、データ・バ
ス変換指示信号線8を通じてメモリ・データ変換ユニッ
ト9に送られる。 一方[B]は」−位ラインI6を通じて加算器23に入
力される。減算器17では前述のnyとn Hの相関関
係に基づ<nvの導出を実現している。メモリ・セル]
のセル番号C8〜C7毎に固有の定数dから[n、、]
を減することによって差ライン18に「nV]を出力す
る。この差ライン18は前記除算器12の余りライン1
5と結合され、その内容[8A −+−n v ]か重
乗算器9のための被乗数ライン20によって乗算器19
に入力される。乗算器19は被乗数であるところの[3
(ハ+n1べに対して、横ハイド数[I−1]により乗
算を実行し、積であるところの[(8A−4−nv)・
11]を積ライン22に送出する。 次に加算器23は前記商の上位ライン16の内容[B]
と前記積ライン22の内容[(8A+n v) ・H]
とを加算し、その結果[(8A+n V) ・H+B]
を和ライン24に出力する。この和ラインの内容は8個
のマルチ・プレクサ25を通じて各々のメモリ・アドレ
ス・バス2に送出される。 メモリ・データ変換ユニット9はデータ・バス変換指示
信号線8を通じて入力されたコード[n、、、](θ≦
n H≧7)をデコーダ31を用いてデコードし、第1
4図に従ったメモリ・データ線3とCPUデータ・バス
10との対応を実現すべく、8個の双方向のトランシー
バ・バッファのうちのひとつに対し、バッファ・イネー
ブル信号32をアサ−1・する。以上の操作によってメ
モリ・チップ1のC8〜C7にはメモリ・アドレス[(
8A+n V) ・H十B](チップ毎にnyの値が異
なる)が供給され、メモリ・データ線3もそれぞれCI
) Uデータ・バス10の各ビットD7〜DOに接続さ
れ、第8図に示すようなメモリ・アクセスが可能になる
。 第13図及び第14図かられかるようにメモリ・セル1
のC3NC7とCPUデーデーバス10の 各ビットD
7〜Doとの対応づけはデータ・ハス変換指示信号線8
上のコードnyまたはnHで一意に決定され、縦/横モ
ードには依存しない。そのためメモリ・データ変換ユニ
ット9はいずれのモードであるかによらず、常にデータ
・バス変換指示信号線8の内容に従って動作する。 本実施例では以上説明してきたように、1つのメモリ・
ブロックMA、B内の8×8ビツトの64個のビット・
データPnVlnH(θ≦ny≦7.θ≦nH≦7)の
うち任意の横方向に連続する1バイト・データ(P n
V+ O、”nv + 1”’、Pny+ 7 )をア
ドレス[(8A + nv ) ・H+B]で、また任
意の縦方向に連続する1バイト・データ(POnH% 
PI+nH+  ”’、P71  nH)をアドレス[
(8B十nH)・V+A]でそれぞれ1回のメモリ・サ
イクルでアクセスすることが可能である。 この場合横方向に連続する1バイト・データをアクセス
する縦モードと、縦方向に連続する1バイト・データを
アクセスする横モードとの切替えは、メモリ・アドレス
変換ユニット4に入力される縦/横モード選択信号線7
によって即座に変更可能なので、余分なCPUアドレス
線にこの縦/横モード選択信号線7を接続することで、
メモリ・サイクル毎に異なったモードで任意の1バイト
・データのアクセスが可能になる。 またメモリ・チップ1のC6〜C7とCPUデータ・バ
ス10の各ビットD7〜Doとの対応パターンを両方の
モードで同一にすることにより、メモリ・データ変換ユ
ニット9はメモリ・アドレス変換ユニット4により供給
されるデータ・バス変換指示信号線8上のコードによっ
てのみその動作が決定され、現在の縦あるいは横と言っ
たモードに依存しないのでメモリ・データ変換ユニット
9の構成は単純になる。 尚、前記実施例においてはメモリのバス幅を8ビツトに
したが、16ビツト幅に拡張しても同様の効果が得られ
る。 〔発明の効果〕 以上説明したようにメモリ・ブロック内の任意の縦1ワ
ード、及び横1ワードを構成するn個のビット・データ
をn個のメモリ・チップに重複することなく割り当てる
ことにより、従来数ステップのソフトウェアで実行して
いた副走査線方向にビット連続するワード・データのア
クセスが1回のメモリ・サイクルで可能になる。 また横(主走査線)方向をアドレス連続とする縦モード
と、縦(副走査線)方向をアドレス連続する横モードと
の切替えが1本の信号線により即座に変更可能なので、
余分なCPUアドレス線と接続することにより、メモリ
・サイクル毎に異なったモードで任意の1ワード・デー
タのアクセスが可能となる。 さらにメモリ・チップとCPUデータ・バスの各ビット
の対応を縦/横のいずれのモードに依存しないパターン
を用いることにより、メモリ回路の構成がより単純にな
るという効果がある。
[0] refers to the first 8 bits (1 byte) of data counting from the top of the leftmost line, and the 1 byte of data located at the bottom of the rightmost line corresponds to the maximum memory address (h-V-1 ) is assigned to. In this horizontal mode, any 1-byte data can be obtained by using the horizontal line number b (o≦b≦h) counted from the left and the byte number A (0≦A≦V-1) counted from the top. -V+A)
MO) ≦(b-V+A] ≦(h-V-1)). If the standard paper size is the same, the following relationship holds between the parameters in FIGS. 2 and 3. Number of vertical lines (pixels) and number of bytes: v=8V
Number of horizontal lines (pixels) and number of bytes: h=8H
Maximum at 1. /S: [V-H-1)E [h-V
-1)E (8V-H-1) FIG. 4 shows the concept of memory blocks in the memory circuit of this embodiment. In the figure, V is the number of bytes in the vertical direction (number of pixels divided by 8), and H is the number of bytes in the horizontal direction (number of pixels divided by 8). A memory block is a group of 64 bits, 8 bits horizontally and vertically, and the upper leftmost memory block is M. ,. The lower right memory block is represented by MV-1 and H-1. Any memory block has vertical byte number A (0
≦A≦v−i) and the horizontal byte number B (0≦
B≦H-1), it can be expressed as MA, 8. One memory block consists of 8 bytes of data. FIG. 5 shows memory block MA in vertical mode. 8 shows the addresses of 8 byte data. All these 8 addresses are [:(8A
It can be expressed as 10ny) H+B) (0≦nV≦7). Here, nV is the memory value of that byte data.
It represents the position counted from the top within blocks MA and B. FIG. 6 shows the addresses of eight byte data when the memory blocks M A and B are accessed in the horizontal mode. All these eight addresses are [:(8B+nH)・V+A](0≦n
H≦7). Here, nH represents the position of the byte data in memory blocks MA, B, counting from the left. FIG. 7 shows the arrangement of 64 bit data within one memory block. Any 1-bit data in a memory block is the number of bits ny (counted from the top)
0≦nv≦7) and the number of bits counted from the left nH (0≦n
H≦7) and can be expressed as PnV, nH (=0 or ]). Figure 8 shows any 1 accessed in portrait mode and landscape mode.
Each represents 8-bit data included in byte data. Any 1-bit data Pny within one memory block. nH is the address ((8A+nV) bow-T
10B: ], and in landscape mode, the address ((8B
+n. )・V1A). For example, bit data P2, 5 in memory blocks MA, B is at the address [(8A + 2) · H + B) in vertical mode.
It can be accessed with bit D2 of the byte data indicated by , and in horizontal mode, the address [(8B+5)・V
It can be accessed by bit D5 of the byte data indicated by +Al. FIG. 9 is a block diagram showing the configuration of the memory address conversion unit 4. In the figure, 2 is a memory address bus, 5 is a CPU address bus, 6 is a standard paper size selection signal line, 7 is a vertical/horizontal mode selection signal line, 8 is a data bus conversion instruction signal line, and 11 is a vertical/horizontal mode selection signal line. Horizontal byte count register, 1
2 is a divider, 13 is a divisor line for divider 12, 1
4 is the quotient line of the divider I2, 15 is the remainder line of the divider 12, 16 is the upper bit line of the quotient line 14 excluding the lower 3 bit width data/lotus conversion instruction signal line 8, and J7 is the subtraction line. I8 is the difference line of the subtractor 17, 19
is a multiplier, and 20 is a multiplier 19 in which the 3-pitch I/width difference line 18 is connected to the lower part and the remainder line 15 is connected to the upper part.
21 is a multiplier line for the multiplier 19, 22 is a product line for the multiplier 19, 23 is an adder,
24 is a sum line of the adder 23, and 25 is a multiplexer. Figure 10 shows that when the vertical mode is selected, the memory
This shows the contents on each signal line in the address conversion unit 4. 1] Figure 1 shows the memory shown in Figure 9 above when the horizontal mode is selected.
This shows the contents on each signal line in the address conversion unit 4. FIG. 12 shows the number of vertical bytes (■) and the number of horizontal bytes (H) stored in the vertical/horizontal byte number register 11 in the memory address conversion unit 4 shown in FIG. This shows the correspondence with the code. The signal line 6 has a width of 4 pits, and by representing the numerical value in the column of "code" in the figure with 4 pits and inputting it to the register 11, the number of vertical bytes V or the number of horizontal bytes H in the figure can be obtained. FIG. 13 shows the correspondence between each bit D7 to DO of the CPU data bus 10 and the cell numbers C8 to C7 of the memory cell 1 when the vertical mode is selected in the memory circuit of this embodiment. The code indicated by line 8 is nV (0≦ny≦
7) respectively. Similarly, FIG. 14 shows each bit D7 to Do of the CPU data bus 10 and the memory cell 1 when the horizontal mode is selected.
The correspondence with cell number C8-07 is shown for each code n14 (0≦nH≦7) of the data bus conversion instruction signal line 8. FIG. 15 is a block diagram showing the configuration of the memory/data conversion unit 9. In the figure, 3 is a memory data line, 8 is a data bus conversion instruction signal line, 10 is a CPU data bus, 31 is a decoder, and 32 is a part obtained by decoding the data bus conversion instruction signal line 8 by the decoder 31. 8 sets of buffer enable signals, 33 is a bidirectional transceiver buffer. Next, the operation of the memory circuit of this embodiment will be explained based on FIGS. 1 to 15 above. Initially in the vertical mode the memory blocks MA, B
The operation when an arbitrary 1-byte data access occurs will be explained. First, it is assumed that the portrait/horizontal mode selection signal line 7 is set to "portrait mode" and a predetermined code is set on the standard paper size selection signal line 6 in accordance with FIG. 12. An address pointing to arbitrary 1-byte data in the memory blocks MA, B in the vertical mode through the CPU address bus 5 [(8A + nv) .
When H+B: ] (0≦ny≦7) (see FIG. 10) is input to the memory address conversion unit 4, the memory address conversion unit 4 directly converts the input address to the memory via the multiplexer 25. - Send to address bus 2. In this case, a memory address with the same content is sent to all memory chips ICo-C7. The vertical/horizontal byte register 11 in the memory address conversion unit 4 divides the horizontal byte number H into a divider 12 according to the contents of the standard paper size selection signal line 6 as shown in FIG.
The divisor line for [3] is sent. The divider 12 selects the memory address [:(8A
+n v, )#H+B), number of horizontal bytes [H]
Execute division by and get the quotient [8A+nv]
[B], which is the remainder on the quotient line 14, is output on the remainder line 15, respectively. In vertical mode, the cylinder (8A
+nV), the contents of the lower 3 bits [nv:l(0≦n
y≦7) is required, and the data bus conversion instruction signal line 8
The data is sent to the memory data conversion unit 9 through the memory data conversion unit 9. The memory data conversion unit 9 receives a code [nV] (0≦nV) input through the data bus conversion instruction signal line 8.
7) using the decoder 31 to realize the correspondence between the memory data line 3 and the CPU data bus 10 according to FIG. Buffer enable signal 3
Assert 2. Through the above operations, the memory address ((8A+n v) ・H+B) is supplied to C8 to C7 of memory chip 1, and the memory data line 3 is also supplied with CPU data and
It is connected to each bit D7-Do of the bus 10, allowing memory access as shown in FIG. Next, in the transverse mode, the memory blocks M A, B
The operation when an arbitrary 1-byte data access occurs will be explained. First, it is assumed that the portrait/horizontal mode selection signal line 7 is set to "horizontal mode" and that a predetermined code is set on the standard paper size selection signal 6 in accordance with FIG. 12. Each bit data P constituting arbitrary 1-byte data in memory blocks MA and B in the horizontal mode. ,
nH-P7. nH (see Figure 8) are memory and
Each memory is allocated to one of chips C8 to C7 of chip l without duplication.
The addresses to chip 1 are different. This is because the addressing method for memory chip l is based on the vertical mode, and as shown in FIG.
address must be given. In other words, the memory address in horizontal mode [(8B0nH
)・V + A) to 8 memory addresses in vertical mode ((8A+O)・H+B) to ((8A+7)・H
+B) and generate C6~ of each memory chip 1
It is necessary to give it to C7. 8 memory in vertical mode
Conversion to address is done by constant ■ (number of vertical bytes) and constant H (
This is possible if the number of horizontal bytes) can be obtained. On the other hand, in order to determine which memory chip 1 to give each of the eight memory addresses in the vertical mode, it is necessary to
The correlation in the correspondence table between memory chips in vertical/horizontal modes and the data bus 10 shown in FIG. 4 is used. For example, memory block MA in transverse mode. 1 byte data in 8〈P' O+ 3, Pl +
3, “'P7,3> is address I: (8E+3)・
Access is requested by V+A). Here, the memory block MA in the horizontal mode of this byte data
, the position counted from the left in B is 3, so nH=3. When nH=3, 1 byte data (PO+3, P
As shown in FIG. 14, each bit data of 113, . . . P7, 3> is assigned to C8-07 of memory chip l. , 3→C4, PI, 3→C3
, P7,3→C5. Bit data P assigned to 04 of memory chip 1. , 3 are included in the uppermost horizontal byte data in memory blocks M A and B, as shown in FIG. The 0th byte data counting from the top is addressed by address I: (8A+O).H+B) in the vertical mode (see FIG. 5). In other words, 04 of memory chip l has address ((8A+O)・H+B:l
It would be a good idea to give In this case, ny (memory
The position (counting from the top in block M A, B) is 0
It is. Similarly, the bit assigned to 03 of memory cell l
Data P3, 3 is included in the horizontal byte data located at nV=1 in memory blocks MA, B as shown in FIG.
3 has the address ((8A+1)・H) as shown in Figure 5.
+B). Therefore, how to give eight vertical mode memory addresses to each memory chip ICo-07 depends on the bit data P assigned to each memory chip ICo-C7.
It can be seen that it is sufficient to derive the position counted from above nv+nH, that is, ny. In the above example, nH=3, then C4nV=
o, C3: nv == l, +++, C3: ny
=7 holds true. From this example and FIGS. 13 and 14, Co: nv 4-H,=7, C,:ny→-n for C6-C7 of each memory cell l, respectively.
H=6 (mod8), =C7: ny+nH:=0
It can be seen that the correlation (mod 8) holds true. ny
If the value of +nH is unique for each memory chip 1, the memory address given to each memory chip 1 is the n HO value (can be determined by
V==mod8 (d-n)l), and the target memory address ((8A+nv)・I-(+B:
l is obtained. Memory address l' in horizontal mode: (8B+nH)・
V 10A) to 8 memory addresses in vertical mode ((8A 10)・H+B'l~[: (8A +7)
・The operation of the memory circuit of this embodiment in the horizontal mode will be explained in detail, focusing on the operation of the memory address conversion unit 4 that generates H1B"J. Address pointing to any 1-byte data in memory block MA2.3 [(8B10H)・V+A)(
0≦n H≦7) (see FIG. 10) is input to the memory address conversion unit 4, the memory address conversion unit 4 operates as follows. The vertical/horizontal byte (vertical/horizontal byte) register 11 in the memory address conversion unit 4 converts the number of vertical bytes (■) as shown in FIG. The number of horizontal bytes FI is sent to a line 13 and a multiplier line 21 for a multiplier 19, respectively. The memory in which the divider 12 is the dividend. Execute division by the vertical bye l-1:Vl for the address [(8B+n H) ・V+A], put the quotient 18B+n+(] in the quotient line 14, and put the remainder [A] are output to the remainder line 15. The quotient [8B+nI(] is the content of the lower 3 bits [r+,
, ] and the remaining upper bits [B], [n
, 4] are input to the subtracter 17 and simultaneously sent to the memory data conversion unit 9 via the data bus conversion instruction signal line 8. On the other hand, [B] is input to the adder 23 through the negative line I6. The subtracter 17 realizes the derivation of <nv based on the correlation between ny and nH described above. memory cell]
Unique constants d to [n,,] for each cell number C8 to C7 of
"nV" is output to the difference line 18 by subtracting "nV".This difference line 18 is the remainder line 1 of the divider 12.
5 and its contents [8A −+−n v ] are combined with the multiplier 19 by the multiplicand line 20 for the double multiplier 9.
is input. Multiplier 19 multiplicand [3
(Execute multiplication for C+n1be by the horizontal Hyde number [I-1], and obtain the product [(8A-4-nv)・
11] to the product line 22. Next, the adder 23 outputs the content [B] of the upper line 16 of the quotient.
and the contents of the product line 22 [(8A+n v) ・H]
and the result is [(8A+n V) ・H+B]
is output to the sum line 24. The contents of this sum line are sent through eight multiplexers 25 to each memory address bus 2. The memory/data conversion unit 9 receives the code [n,,,](θ≦
n H≧7) using the decoder 31, and
To achieve the correspondence between the memory data line 3 and the CPU data bus 10 according to Figure 4, the buffer enable signal 32 is asserted to one of the eight bidirectional transceiver buffers. do. Through the above operations, memory address [(
8A+nV) ・H1B] (the value of ny is different for each chip), and the memory data line 3 is also connected to CI
) are connected to each bit D7-DO of the U data bus 10, allowing memory access as shown in FIG. As shown in FIGS. 13 and 14, memory cell 1
C3NC7 and each bit D of CPU data bus 10
The correspondence with 7 to Do is data/lotus conversion instruction signal line 8
It is uniquely determined by the above code ny or nH and does not depend on the vertical/horizontal mode. Therefore, the memory/data conversion unit 9 always operates according to the contents of the data/bus conversion instruction signal line 8 regardless of which mode it is in. In this embodiment, as explained above, one memory
64 bits of 8x8 bits in blocks MA, B
Any horizontally continuous 1-byte data (P n
V + O, "nv + 1"', Pny + 7) at address [(8A + nv) ・H + B], and 1 byte data (POnH%
PI+nH+ ”', P71 nH) to address [
(8B0nH).V+A], each can be accessed in one memory cycle. In this case, switching between the vertical mode in which 1-byte data consecutive in the horizontal direction is accessed and the horizontal mode in which 1-byte data consecutive in the vertical direction is accessed is performed using the vertical/horizontal input input to the memory address conversion unit 4. Mode selection signal line 7
By connecting this vertical/horizontal mode selection signal line 7 to the extra CPU address line,
Any one byte of data can be accessed in different modes for each memory cycle. Furthermore, by making the correspondence pattern between C6 to C7 of the memory chip 1 and each bit D7 to Do of the CPU data bus 10 the same in both modes, the memory data conversion unit 9 can be used by the memory address conversion unit 4. Since its operation is determined only by the code on the supplied data bus conversion instruction signal line 8 and does not depend on the current vertical or horizontal mode, the configuration of the memory data conversion unit 9 is simple. In the above embodiment, the memory bus width is 8 bits, but the same effect can be obtained even if the width is expanded to 16 bits. [Effects of the Invention] As explained above, by allocating n bit data constituting one vertical word and one horizontal word in a memory block to n memory chips without duplication, Access to word data with consecutive bits in the sub-scanning line direction, which was conventionally performed by several steps of software, becomes possible in one memory cycle. In addition, it is possible to instantly switch between the vertical mode, in which addresses are continuous in the horizontal (main scanning line) direction, and the horizontal mode, in which addresses are continuous in the vertical (sub-scanning line) direction, using a single signal line.
By connecting to an extra CPU address line, any one word of data can be accessed in different modes every memory cycle. Furthermore, by using a pattern that does not depend on either the vertical or horizontal mode for the correspondence between the memory chip and each bit of the CPU data bus, there is an effect that the configuration of the memory circuit becomes simpler.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明のメモリ回路の実施例のブロック図。 第2図は縦モードにおけるメモリ・アドレスを表わした
図。 第3図は横モードにおけるメモリ・アドレスを表わした
図。 第4図はメモリ・ブロックの概念を表わした図。 第5図は縦モードにおけるメモリ・ブロックMA。 8の8個のバイト・データのアドレスをそれぞれ表わし
た図。 第6図は横モードにおけるメモリ・ブロックMA。 8の8個のバイト・データのアドレスをそれぞれ表わし
た図。 第7図はメモリ・ブロック内の64個のビット・データ
の配置を表わした図。 第8図は縦および横モードにおける1バイト・データの
ビット構成を表わした図。 第9図はメモリ・アドレス変換ユニットの構成を表わし
た図。 第10図は縦モードにおけるメモリ・アドレス変換ユニ
ツI・内の各信号線上の内容を表わした図。 第11図は横モードにお(するメモリ・アドレス変換ユ
ニット内の各信号線上の内容を表わした図。 第12図は縦/横バイト・レジスタの内容を表わした図
。 第13図は縦モードにお(プるデータ・バスとメモリ・
チップの対応を表わした図。 第14図は横モードにおけるデータ・バスとメモリ・チ
ップの対応を表わした図。 第15図はメモリ・データ変換ユニットの構成を表わし
た図である。 1はメモリ・チップ、 4(Aメモリ・アドレス変換ユニット、7は縦/横モー
ド選択信号線、 8はデータ・バス変換指示信号線、 9はメモリ・データ変換ユニット、 1]は縦/横バイト数レジスタである。
FIG. 1 is a block diagram of an embodiment of a memory circuit according to the present invention. FIG. 2 is a diagram showing memory addresses in vertical mode. FIG. 3 is a diagram showing memory addresses in horizontal mode. FIG. 4 is a diagram showing the concept of memory blocks. FIG. 5 shows memory block MA in vertical mode. 8 is a diagram showing the addresses of 8 byte data of 8, respectively. FIG. 6 shows memory block MA in transverse mode. 8 is a diagram showing the addresses of 8 byte data of 8, respectively. FIG. 7 is a diagram showing the arrangement of 64 bit data in a memory block. FIG. 8 is a diagram showing the bit configuration of 1-byte data in vertical and horizontal modes. FIG. 9 is a diagram showing the configuration of a memory address conversion unit. FIG. 10 is a diagram showing the contents on each signal line in the memory address conversion unit I in the vertical mode. Figure 11 is a diagram showing the contents on each signal line in the memory address conversion unit in horizontal mode. Figure 12 is a diagram showing the contents of the vertical/horizontal byte register. Figure 13 is in vertical mode. data bus and memory
A diagram showing chip correspondence. FIG. 14 is a diagram showing the correspondence between data buses and memory chips in horizontal mode. FIG. 15 is a diagram showing the configuration of the memory/data conversion unit. 1 is a memory chip, 4 (A memory address conversion unit, 7 is a vertical/horizontal mode selection signal line, 8 is a data bus conversion instruction signal line, 9 is a memory data conversion unit, 1] is a vertical/horizontal byte It is a number register.

Claims (3)

【特許請求の範囲】[Claims] (1)メモリ空間を2次元的に使用するメモリ回路のメ
モリ制御装置であって、前記メモリの2次元メモリ空間
をある一定のワード(nビット)長毎に縦横に区切るこ
とによって生じるn×n個のビット・データから成るメ
モリ・ブロック内のいかなる縦1ワードあるいは横1ワ
ード・データを選択しても、前記ワード・データを構成
するn個のビット・データがn個のメモリ・チップにそ
れぞれ重複かつ欠漏することなく割り当てる手段を有す
ることを特徴とするメモリ制御装置。
(1) A memory control device for a memory circuit that uses a memory space two-dimensionally, the n×n generated by dividing the two-dimensional memory space of the memory vertically and horizontally into every certain word (n bits) length. No matter which vertical word or horizontal word data is selected in a memory block consisting of bit data, the n bit data constituting the word data will be stored in each of the n memory chips. A memory control device characterized by having means for allocating without duplication or omission.
(2)特許請求の範囲第(1)項のメモリ制御装置であ
って、各々n個のメモリ・チップに与えるメモリ・アド
レスを、アクセス要求されたワード・データが横(主走
査線)方向にビット連続(縦モード)であるか縦(副走
査線)方向にビット連続(横モード)であるかを表わす
縦/横モード選択信号線の状態及びあらかじめ設定され
ている横方向のバイト数、縦方向のバイト数の各定数を
用いて、前記ワード・データに対する外部より与えられ
た仮のアドレスから各々n個のメモリ・チップに与える
メモリ・アドレスを生成する手段と、n個のメモリ・チ
ップと外部データ・バスを構成するn個のデータ線との
接続パターンを決定する手段を有することを特徴とする
メモリ制御装置。
(2) The memory control device according to claim (1), wherein the memory address given to each of the n memory chips is controlled so that the word data to which access is requested is in the horizontal (main scanning line) direction. The state of the vertical/horizontal mode selection signal line indicating whether bits are continuous (vertical mode) or bits are continuous in the vertical (sub-scanning line) direction (horizontal mode), the preset number of bytes in the horizontal direction, and the vertical means for generating a memory address given to each of the n memory chips from a temporary address given externally for the word data using each constant of the number of bytes in the direction; A memory control device comprising means for determining a connection pattern with n data lines constituting an external data bus.
(3)特許請求の範囲第(2)項のメモリ制御装置であ
って、前記アクセス要求されたワード・データのメモリ
・ブロック内での位置を算出する手段を有し、さらに前
記n個のメモリ・チップと外部データ・バスを構成する
n個のデータ線との接続パターンが前記縦/横モードの
設定によらず前記算出された位置によってのみ決定され
得る接続パターンを用いることを特徴とするメモリ制御
装置。
(3) The memory control device according to claim (2), further comprising means for calculating a position within a memory block of the word data to which access is requested, and - A memory characterized in that a connection pattern between a chip and n data lines constituting an external data bus uses a connection pattern that can be determined only by the calculated position regardless of the settings of the vertical/horizontal mode. Control device.
JP1041356A 1989-02-20 1989-02-20 Memory controller Pending JPH02288925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1041356A JPH02288925A (en) 1989-02-20 1989-02-20 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1041356A JPH02288925A (en) 1989-02-20 1989-02-20 Memory controller

Publications (1)

Publication Number Publication Date
JPH02288925A true JPH02288925A (en) 1990-11-28

Family

ID=12606215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1041356A Pending JPH02288925A (en) 1989-02-20 1989-02-20 Memory controller

Country Status (1)

Country Link
JP (1) JPH02288925A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7446399B1 (en) 2004-08-04 2008-11-04 Altera Corporation Pad structures to improve board-level reliability of solder-on-pad BGA structures

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7446399B1 (en) 2004-08-04 2008-11-04 Altera Corporation Pad structures to improve board-level reliability of solder-on-pad BGA structures

Similar Documents

Publication Publication Date Title
JPH05113930A (en) Flexible n-way-memory interleaving method
US5585863A (en) Memory organizing and addressing method for digital video images
EP0674266A2 (en) Method and apparatus for interfacing with ram
JP3166447B2 (en) Image processing apparatus and image processing method
JPH0425554B2 (en)
JPH02288925A (en) Memory controller
JPH09120371A (en) Memory controller
JP6884530B2 (en) Image processing device and first adjustment circuit
JPH0855060A (en) Ram access method
JP2001274975A (en) Image forming device
JPH0695272B2 (en) Image display device
JPH05257458A (en) Address generating circuit for memory
JPH10262206A (en) Resolution converter
JPH04297935A (en) Input device and output device
JP3051189B2 (en) Method and apparatus for controlling frame memory
JP2005209060A (en) System including address generation apparatus and address generation apparatus
JPH10243243A (en) Method and device for image-compressing processing
JPH08147458A (en) Memory control unit
GB2287808A (en) Addressing and accessing RAM and data buffering
JPH07319762A (en) Data transfer address generator
JPS6242276A (en) Image editing device
JPH07230543A (en) Picture data compressing device
JP2005122376A (en) Data transfer controller
JPH10320582A (en) Three-dimensional image processor
JP2000270207A (en) Image processor and display device using it