Image memory

Abstract: An image memory has a random access memory array (1) capable of being randomly accessed; a serial access memory array (2) partitioned into n power of 2 (n > 1) divisional areas cyclically and serially accessed in asynchronism with the random access memory; data transfer unit (3) for transferring data between the random access memory array and the serial access memory array; a determined unit (4) for determining a row of data to be transferred from the random access memory array to each of the divisional areas; and a designating unit (5) for designating at least one of a top serial access address and a last serial access address respectively of each divisional area, wherein the data transfer unit (3) executes data transfer from the random access memory array to the serial access memory array in accordance with outputs from the determining unit (4) and the designating unit (5).

Description: BACKGROUND OF THE INVENTION This invention relates to an image memory. As memories suitable for high speed data processing in engineering work stations (EWSs) or computer graphics (CG), etc. and display thereof, attention in recent years is being drawn to dual port video RAMs (hereinafter referred to as DPRAMs). Such DPRAMs are provided with a random access port (hereinafter referred to as a RAM port) including a memory array accessible at random (e.g., a DRAM), and a serial access port (hereinafter referred to as a SAM port) including a serial access memory cyclically and serially accessed asynchronously with the RAM port. In such DPRAMs, since transfer of data is made between the RAM port and the SAM port, it is necessary that the timing at the RAM port and the timing at the SAM port should be made synchronous with each other only at the time of this transfer cycle. The timings in this transfer cycle will be described with reference to Figs. 6A and 6B. In the case of data transfer of a certain row R of a memory array 1 of the RAM port to a serial access memory 2 of the SAM port which is incessantly making a serial access (see Fig. 6A), a procedure is taken to make first external signal DT for controlling transfer (see time T 1 of Fig. 6B) fall. If the external signal DT is at "L" level at the time when the signal RAS falls, the operational mode enters the transfer cycle. In this transfer cycle, in the same manner as that in an ordinary RAM cycle, a row address and a column address are given synchronously with falls of RAS and CAS (see times T 2 and T 3 of Fig. 6B), respectively. Unlike from the ordinary RAM cycle, the row address indicates a row of the memory array 1 to be transferred, and the column address indicates a TAP address serving as a position initiating a new serial cycle after completion of transfer. From the next serial cycle (see time T 6 of Fig. 6B) when the external signal DT has risen, transferred data is outputted with the TAP address being as a leading address. It is necessary that the rise timing (time T 5 ) of the external signal DT should be given for a time period from the rise (time t 4 ) of the serial clock signal SC to the next rise thereof (time t 6 ). Accordingly, there are a restrictions in the time intervals t 1 (= T 5 - T 4 ) and t 2 (= T 6 - T 5 ). Furthermore, since the cycle time of the serial clock signal SC is 30 to 40 nsec, restrictions on the time intervals t 1 and t 2 are severe in application. To relax this, a split transfer system has been proposed. This system is briefly described in NIKKEI ELECTRONICS No. 431, p. 126, October 5, 1987. This split transfer system will be described with reference to Figs. 7A and 7B. The serial access memory 2 of the SAM port in which the split transfer system is used is split or divided into two sections of SAM (L) and SAM (U) as shown in Fig. 7A. These split SAM (L) and SAM (U) correspond to "0" and "1" of the most significant bit (hereinafter referred to as MSB) of the TAP address, respectively. Thus, independent data transfer can be made, respectively. Now will be considered the case where a transfer cycle takes place when SAM (L) is subjected to serial access to carry out transfer of the row R of the memory array 1 of the RAM port. In the same manner as in the case of Fig. 6A, the row address indicates the row R. MSB of the TAP address is disregarded and is set to MSB ("1" in this case) on the side where no serial access is conducted. In this case, the SAM (U) on the side of the set MSB carries out the transfer operation. The transferred data is accessed from a TAP address where MSB is newly set when serial access advances to shift from SAM (L) to SAM (U). In the case shown in Figs. 7A and 7B, when a transfer cycle takes place for a time period of the serial addresses 0 to 127, the serial addresses 128 to 255 are subjected to transferring operation from the portion corresponding to the row R. When the serial access advances to 127 to enter the next SC cycle, TAP address is accessed. Serial access is therefore continued further. As stated above, the split serial access memory section where serial access is carried out and the split serial access memory section where transfer is carried out are different from each other, and an address of the preceding cycle where an access to the TAP address is made is predetermined. Accordingly, restriction on the timings as in the case of Figs. 6A and 6B does not exist. Consideration will now be made in connection with the method of constituting a data buffer for implementing high speed processing to display picture data using such a split transfer system. As a random access memory of DPRAM, a DRAM is used. For this reason, by using the page mode of DRAM, it is possible to access data of the same row in a time one half to one third of a time in the case where the row address changes. Further, data of one row corresponds to data serially outputted from the SAM section, and the serial data serves as pixel data of a picture displayed. Therefore, how these pixels are arranged as a picture is important for high speed picture processing. From a viewpoint of processing of picture, an employment of the method capable of processing, at a high speed, pixels in areas close to a square as far as possible permits a high speed processing for any image pattern processing. Namely, high speed picture processing can be made in any direction of longitudinal, lateral, or oblique direction. Thus, how data of one row which can be accessed in the page mode are allocated in a longitudinal direction with respect to the scanning direction of a picture displayed becomes important. The case where a picture is composed of an array including four DPRAMs in a scanning direction and four DPRAMs in a longitudinal direction, i.e., an array of 4×4 is employed as a tile, will now be considered. Figs. 8A and 8B show the case where there is employed a DPRAM of the split transfer system having data of one row of 256 bits and the depth of a serial access memory (hereinafter referred to as a SAM) of 256 bits. Further, the picture size is assumed to be 1536 pixels in a scanning direction for brevity of explanation. In Fig. 8A, R0, R1, R2, ... represent rows of a random access memory (hereinafter referred to as a RAM), respectively. L of 0 to 127 and U of 128 to 255 in the column direction represent columns where data are transferred to bisected SAMs in the split transfer, respectively. Since the section in the scanning direction is composed of four devices M 1 , M 2 , M 3 , and M 4 , 1536 pixels in the scanning direction correspond to data corresponding to three split segmented SAM (= 1536/(4x128)). Accordingly, when L and U of the segmented SAMs are allocated to pixels in a longitudinal direction, it is possible to conduct picture processing of an area closer to a square by an access in a page mode of one row. Namely, data of the RAM section are subjected to a split transfer in order of R0L, R1U, R2L, R0U, R1L, R2U, ... Since data are serially outputted from the SAM section to scan pixels, the configuration of data as a picture is such that the area indicated by slanting lines of Fig. 8B is composed of data of the row R0. This area can be subjected to an access of any portion in the page mode. Accordingly, the picture is covered with tiles of slanting lines shown in Fig. 8B such that it can be accessed in the page mode. Thus, high speed picture processing can be conducted. Further, more detailed consideration of the data configuration in the scanning direction will now be made. How pixels are constructed from serial data of four DPRAMs is shown in Figs. 9A and 9B. Data from the SAM 2 of the devices M1 to M4 are subjected to parallel-to-serial conversion as shown in Fig. 9A, and are outputted as serial data to constitute pixels one by one. Thus, it is sufficient to make a serial access from SAM 2 at a speed one fourth that of the serial out for display of picture, thus making it possible to lessen the load on the SAM 2. Pixel data when such a parallel-to-serial conversion is carried out, are repeated in sequence as data from the DPRAM of M1, M2, M3, and M4 in order (see Fig. 9B). The frame of R0L, etc. of the tile which has been described with reference to Fig. 8B is of such a data structure. Let now consider the case where the picture size is different from that in the above-described case. The case where the number of pixels in a scanning direction is 1024 is shown in Figs. 10A and 10B. When it is assumed that the size of a tile used is 4×4 in the same manner as that in the above-described case, 1024 pixels correspond to the two segmented SAM sections (= 1024/(4×128)). At this time, in order that L and U of split data of one row are caused to correspond to the pixel arrangement in a longitudinal direction, it is necessary to carry out a split transfer in order as shown in Fig. 10A. Namely, when transfer is carried out in order of R0L, R1U, R0U, R1L, ..., the area indicated by slanting lines in Fig. 10B can be desirably accessed in the page mode. However, in the case of transfer at this time, L and U cross each other with respect to SAM. Accordingly, such a transfer cannot be carried out by a conventional DPRAM. Naturally, when the size of the tile is changed, a buffer can be constructed even by this picture size without cross transfer. However, the design of the buffer memory system must be changed for every picture size displayed. Further, since a cross transfer occurs unless the number of tiles in a scanning direction is necessarily odd as seen from the case of Fig. 8B, it cannot be necessarily said to select an optimum tile size of a memory capacity which is not wasteful with respect to a picture size. US-A-4 747 081 discloses a memory circuit in a video-type computer system for adapting the system to CRT screens having different resolutions. The memory circuit includes a bit-mapped RAM unit or chip having sufficient cells to accommodate any CRT screen sought to be used, and also a shift register having taps at a plurality of different locations corresponding to different columns of cells in the RAM unit. When the RAM unit is in serial mode, column address to the RAM unit is also used to instruct and actuate a suitable decoder circuit to select the tap appropriate to unload the portion of the shift register containing only the data bits of interest. SUMMARY OF THE INVENTION Accordingly, an object of this invention is to provide an image memory which has no necessity to vary a buffer memory system for every size of picture displayed. According to the present invention, there is provided an image memory comprising the features of claim 1 of this application. According to the image memory of this invention, determining means determines the order of serial accesses to divisional areas of a serial access memory array and a row of data to be transferred from a random access memory array to each of the divisional areas in such a manner that tiles of a display screen is constituted by one row of the random access memory array. Designating means designates at least one of a top serial access address and a last serial access address respectively of each divisional area. Data transfer means transfers data between the random access memory array and the serial access memory array. With this arrangement of the image memory, it is possible to deal with various sizes of display screens without changing the buffer memory system. Furthermore, in the image memory constructed as above of this invention, the random access memory is partitioned into memory blocks. The determining means determines the order of serial accesses to divisional areas partitioned into n power of 2 (n > 1) of the serial access memory array and a row of data to be transferred from the random access memory array of each of the memory block in such a manner that tiles of a display screen is constituted by the data of the same rows of the memory blocks. The designating means automatically designates at least one of a top serial access address and a last serial access address respectively of each divisional area. The data transfer means transfers data between the random access memory array and the serial access memory array. With this arrangement of the image memory, it is possible to deal with various sizes of display screens without changing the buffer memory system. BRIEF DESCRIPTION OF THE DRAWINGS In the accompanying drawings, Figs. 1A and 1B are schematic diagrams showing an embodiment of an image memory according to this invention; Figs. 2 and 3 are schematic diagrams used for explaining the relationship between transfer data and TAP addresses; Figs. 4A and 4B are schematic diagrams used for explaining the method of processing tiles of the image memory according to the present invention, for the case where a display screen size cannot be filled in with tiles without leaving any space; Figs. 5A and 5B are schematic diagrams used for explaining the method of making the size of a tile fitted to a display screen size, by using the image memory of this invention; Figs. 6A and 6B are explanatory views for describing a conventional image memory, respectively; Figs. 7A and 7B are explanatory views for describing a conventional split transfer system, respectively; Figs. 8A and 8B are explanatory views for describing a conventional transfer method in which a pixel area close to a square as far as possible is accessible in a page mode cycle by the split transfer system, respectively; Figs. 9A and 9B are explanatory views for describing the correspondence between the SAM port and pixels in a scanning direction of four devices, respectively; and Figs. 10A and 10B are explanatory views for describing the problem of a conventional image memory in the case where there is employed a conventional transfer method in which a pixel area close to a square as far as possible is accessible in a page mode cycle by the split transfer system. DESCRIPTION OF THE PREFERRED EMBODIMENTS Figs. 1A and 1B show an embodiment of an image memory according to the present invention. The image memory of this embodiment is constructed of 16 random access memory array devices (hereinafter called RAM) 1i (i = 0, ..., 15), 16 serial access memory array devices 2i (hereinafter called SAM) (i = 0, ..., 15), data transfer means 3, determining means 4, and designating means 5 (see Fig. 1A). The image memory stores display data to be displayed on a display screen 10 having 1024 pixels in the scan direction. Each SAM 2i is serially and cyclically accessed in asynchronism with RAM 1i. SAM 2i is partitioned into four divisional areas in this embodiment. The determining means 4 determines the order of serial accesses to the divisional areas of SAMs 2i and the row of the data to be transferred from RAM 1i to the divisional areas so as to constitute one tile of the display screen 10 by one row data of 16 RAMs 1 1 , ..., 1 16 . The designating means 5 designates the start or last serial access address of each divisional area of SAM 2i. The data transfer means 3 transfers data between RAM 1i and SAM 2i in accordance with the outputs from the determining means 4 and designating means 5. The operation of the above-described embodiment will be described below. The four divisional areas of SAM 2i in each row of RAM 1i are represented by four columns P0, P1, P2, and P3 each composed of 64 bits. The number of pixels 1024 in the scan direction of the display screen 10 therefore corresponds to the number of bits of four (= 1024/(4×64)) divisional areas of SAM 2i. The determining means 4 determines the order of data transfer from RAM 1i to SAM 2i, for example, as R0P0, R1P1, R2P2, R3P3, R0P1, R1P2, R2P3, R3P0, R0P2, R1P3, R2P0, R3P1, R0P3, R1P0, R2P1, and R3P2. R0, R1, R2, and R3 represents the rows of RAM 1i. Thus, R0P0 for example represents the column P0 of the row R0 of RAM 1i. The designating means 5 designates the start or last serial access address of each divisional area of SAM 2i. However, in this example, the screen can be filled with tiles without leaving any space as described later, so that an output from the designating means 5 is neglected. As the order of data transfer from RAM 1i to SAM 2i is determined by the determining means as described above, the data transfer means 3 transfers data in accordance with this determined order. The data transfer from SAM 2i to the display screen is then carried out in the following manner. First, four R0P0 data transferred from RAM 1i (i = 0, ..., 3) to SAM 2i (i = 0, ..., 3) is serial-parallel converted and transferred to the display screen 10 as illustrated in Fig. 9. Thereafter, four RJPK data (J, K = 0, ..., 3) transferred from RAM 1i (i = 4, ..., 7) to SAM 2i (i = 4, ..., 7) is serial-parallel converted and transferred to the display screen 10, and this operation is repeated as many times as necessary. Similarly, in accordance with the data transfer order determined by the determining means, data transferred from RAM 1i (i = 4, ..., 7) to SAM 2i (i = 4, ..., 7) is transferred to the display screen 10. Similar operation is repeated until data transferred from RAM 1i (i = 12, ..., 15) to SAM 2i (i = 12, ..., 15) has been transferred to the display screen 10. In the above manner, a tile (an area indicated by hatched lines in Fig. 1B) is constituted by the data corresponding to one row of 16 RAM 1i (i = 0, ..., 15). Accordingly, this tile can be accessed at a high speed in a page mode. In the above embodiment, the size of the display screen 10 has been assumed to have 1024 pixels in the scan direction. Whatever the size of the display screen is, the pixels in the scan direction can be constituted by a suitable combination of 64 bit divisional areas of SAM 2i. Furthermore, since data transfer can be controlled independently from each divisional area, it is not necessary to execute the cross split transfer. Next, the description will be given for the case where the screen cannot be filled in with tiles without leaving any space and it becomes necessary to precisely control TAP addresses designated by the designating means 5 for the data transfer to each divisional area. Figs. 2 and 3 show examples of the relationship between the transfer data and TAP addresses. Fig. 2 illustrates the case where when an access to SAM 2i advances to a new divisional area, the top serial address of the new divisional area is indicated by a TAP address. While SAM (P0) having data already transferred from a row R0 and having serial addresses 0 to 63 is being accessed, if an instruction to transfer data from a row R2 is entered while designating a TAP 0 of SAM (P2), then data is transferred from the row R2 to SAM (P2) and after reading data up to the serial address 63, the serial address jumps to TAP 0. Next, while SAM (P2) having serial addresses TAP 0 to 191 is being accessed, if an instruction to transfer data from a row R3 is entered while designating a TAP 2 of SAM (P1), then data is transferred from the row R3 to SAM (P1) and after reading data up to the serial address 191, the serial address jumps to TAP 2. Next, while SAM (P1) having serial addresses TAP 2 to 127 is being accessed, if an instruction to transfer data from the row R1 is entered while designating a TAP 1 of SAM (P3), then data is transferred from the row R1 to SAM (P3) and after reading data up to the serial address 127, the serial address jumps to TAP 1. While SAM (P3) is being accessed, if there is no transfer instruction, after reading data up to the serial address 255, the serial address circulates back to the serial address 0. Fig. 3 illustrates the case where when an access to SAM 2i advances to a new divisional area, the last serial address of the new divisional area is indicated by a TAP address. While SAM (P0) having data already transferred from a row R0 and having serial addresses 0 to 63 is being accessed, if an instruction to transfer data from a row R2 is entered while designating a TAP 0 of SAM (P2), then data is transferred from the row R2 to SAM (P2) and after reading data up to the serial address 63, the serial address jumps to an address 128. Next, while SAM (P2) having serial addresses 128 to TAP 0 is being accessed, if an instruction to transfer data from a row R3 is entered while designating a TAP 2 of SAM (P1), then data is transferred from the row R3 to SAM (P1) and after reading data up to the serial address TAP 0, the serial address jumps to an address 63. Next, while SAM (P1) having serial addresses 64 to TAP 2 is being accessed, if an instruction to transfer data from the row R1 is entered while designating a TAP 1 of SAM (P3), then data is transferred from the row R1 to SAM (P3) and after reading data up to the serial address TAP 2, the serial address jumps to an address 192. After the serial address TAP 1, the access circulates back to the serial address 0. In the above description, either a top address or a last address is designated by a TAP address. It is obvious that both addresses may be selectively designated at each data transfer. With the above TAP address control, it becomes possible to deal with a display screen having an optional size. In the case where the display screen cannot be filled in with tiles without leaving any space in the scan direction as shown in Figs. 4A and 4B, it becomes possible to make the number of pixels coincide with the number of serial accesses, by selecting suitable top TAP addresses for the last tile as shown in CASE 1 (refer to Fig. 4A) or by selecting suitable last TAP addresses for the last tile as shown in CASE 2 (refer to Fig. 4B). Alternatively, the size of tiles may be changed to fill tiles in a display screen without leaving any space, as shown in Figs. 5A and 5B. It becomes possible to realize divisional areas of SAM 2i having the number of serial accesses coincident with the number of pixels of changed tiles, by selecting suitable top TAP addresses for the tiles as shown in CASE 1 (refer to Fig. 5A) or by selecting suitable last TAP addresses for the tiles as shown in CASE 2 (refer to Fig. 5B). The number of tiles in the scan direction in both the cases may be even or odd without any restriction, so that it is possible to use a memory capacity most suitable for a display screen size. Lastly, the case where a TAP address designated during the transfer cycle is at the divisional area of SAM 2i which is now being serially accessed will be considered. In this case, the divisional area of SAM 2i under serial access is the same divisional area of SAM 2i to which data transfer is carried out. In order to avoid such conditions, one of the following three approaches is made. (1) Timings of data transfer are synchronized as conventional to execute the transfer from RAM 1i to SAM 2i and the serial output from SAM 2i. (2) Transfer from RAM 1i to SAM 2i is neglected. (3) As to the bits of a TAP address, the contents of bits designating a divisional area of SAM 2i are neglected, and the bits for the next divisional area to that of SAM 2i under serial access are set. The next divisional area herein means a divisional area to be accessed next when there is no transfer cycle and the serial accesses are sequentially executed. In the above description, SAM 2i has been partitioned into four divisional areas. It is obvious that the number of divisions may take n power of 2 (n > 1). As the number of divisions increases, the number of transfer gates will increase. The optimum number is therefore 4, 8, 16 or so. Furthermore, in the foregoing description, data at a row of RAM 1i is divisionally transferred to a divisional area of SAM 2i. A divisional RAM 1i may be provided in correspondence with each divisional area of SAM 2i. In such a case, although each divisional RAM 1i is designated by the sane row address, data from each divisional RAM 1i is controlled to be selectively transferred. In this case, the bit structure of RAM 1i and SAM 2i becomes different (e.g., × 16 for RAM 1i, and × 4 for SAM 2i). Reference signs in the claims are intended for better understanding and shall not limit the scope.

Claims: An image memory comprising: a random access memory array (li) and a serial access memory array (2i), said random access memory array being partitioned into N divisional RAM areas, each of said divisional RAM areas being comprised of a plurality of memory cells arranged in matrix, all cells at a same row being accessed simultaneously, wherein N = 2 n , n is greater than or equal to 2, and N is an integer of 4 or greater ; said serial access memory array being partitioned into N divisional SAM areas cyclically and serially accessed asynchronously with said random access memory array, each of said divisional SAM areas corresponding to one of said divisional RAM areas and temporarily storing data corresponding to the cells at one row of a matrix of the divisional RAM areas; data transfer means (3) for transferring data between said random access memory array and said serial access memory array; determining means (4) for determining a divisional RAM area and a row of data to be transferred from said random access memory array to each of said N divisional SAM areas of said serial access memory array; and designating means (5) for designating at least one of a top or a last address of serial access in each of said N divisional SAM areas; said data transfer means (3) executing data transfer from said random access memory array to each of said N divisional SAM areas of said serial access memory array, and serial access of a next divisional SAM area starting when serial access of a current divisional SAM area reaches an address which is either a boundary address of said current divisional SAM area to the next divisional SAM area or an address designated by said designating unit as the last address of the current divisional SAM area of said serial access memory array which is being serially addressed. An image memory according to claim 1, wherein if at least one of the top address and the last address designated by said designating means is at said divisional area of said serial access memory array which is being serially accessed, a serial output from said serial access memory array is executed after data transfer from said random access memory array to said serial access memory array has been completed. An image memory according to claim 1, wherein if at least one of said top or said last address of serial access designated by said designating means is at a divisional SAM area of said serial access memory array which is being serially accessed, said data transfer means executes no data transfer from said random access memory array to said divisional SAM area of said serial access memory. An image memory according to claim 1, wherein if at least one of the top address and the last address designated by said designating means is at said divisional area of said serial access memory array which is being serially accessed, said designating means cancels a designation, and designates said divisional area of said serial access memory array next to be sequentially accessed.

Inventors: TODA HARUKI, TODA, HARUKI
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1991
Main classification: G11C7
IPC codes: G11C11, G11C7, G11C8