US5815169A - Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses - Google Patents

Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses Download PDF

Info

Publication number
US5815169A
US5815169A US08/613,673 US61367396A US5815169A US 5815169 A US5815169 A US 5815169A US 61367396 A US61367396 A US 61367396A US 5815169 A US5815169 A US 5815169A
Authority
US
United States
Prior art keywords
address
bank
frame memory
memory
addresses
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.)
Expired - Lifetime
Application number
US08/613,673
Inventor
Mamoru Oda
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Assigned to SHARP KABUSHIKI KAISHA reassignment SHARP KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ODA, MAMORU
Application granted granted Critical
Publication of US5815169A publication Critical patent/US5815169A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/123Frame memory handling using interleaving

Definitions

  • the present invention relates to a frame memory device for graphics for use in computer graphics technology, and in particular to a frame memory device for graphics in which access to a frame memory is accelerated.
  • Computer graphics created by graphics systems using computers have been widely used in various fields. Typical fields of applications include CAD systems for a design, simulation systems for aviation, controls and the like, and video games. Computer graphics produce two-or three-dimensional pictorial images on the visual screen by processing image data stored in frame memories.
  • FIG. 5 is a block diagram showing a conventional standard graphics display apparatus.
  • This display apparatus includes: a frame memory 50 which is composed of a DRAM (Dynamic Random Access Memory) and stores image data consisting of digital signals; a pulse generator 51 generating a clock signal; a memory controller 52 producing control signals in conformity with the clock signal from the pulse generator 51 and sending it toward the frame memory 50; and a D/A converter 53 converting the digital signals from the frame memory 50 into analog signals (video signals).
  • a frame memory 50 which is composed of a DRAM (Dynamic Random Access Memory) and stores image data consisting of digital signals
  • a pulse generator 51 generating a clock signal
  • a memory controller 52 producing control signals in conformity with the clock signal from the pulse generator 51 and sending it toward the frame memory 50
  • a D/A converter 53 converting the digital signals from the frame memory 50 into analog signals (video signals).
  • access to the frame memory 50 is done by serial access. Specifically, the address number at the time of accessing to the frame memory 50 sequentially increases up to the number of a predetermined horizontal resolution (the number of pixels) of the display screen. When the selected address reaches the value of the predetermined horizontal resolution, the operation goes to the next line (raster). Thus, the access to the frame memory 50 is performed by successively supplying column-addresses to the frame memory 50. Accordingly, the row-address forms the upper digits over the column-address.
  • a synchronous DRAM is a memory device which is designed to accelerate sequential access to addresses along the horizontal direction. This memory is characterized by its needlessness of specifying the row and column addresses every time access to the memory is to be made. Once the starting address is specified, a predetermined number of data can be written or read in synchronism with the clock signal output from a pulse generator.
  • a memory of this kind has a pair of cell blocks which are called ⁇ bank ⁇ .
  • This configuration makes it possible to select the address in one of the banks while the other bank is being accessed. Since the addresses are assigned alternately, it is possible to perform continuous access to the memory. For example, as in an address arrangement shown in FIG. 6, addresses in first and second banks A and B are arranged alternately in every column. That is, address B0 will be selected during the period in which access address A0 is being made, whereby it is possible to access address B0 continuously after the completion of the access to address A0.
  • the operation in the conventional display apparatus for graphics shown in FIG.5 is carried out by selecting an address of data for the frame memory 50, accessing the address thus designated, reading image data from the frame memory 50, converting the image data into analog signals (video signals) in the D/A converter 53, and thus the image is displayed on the display screen.
  • FIG. 7 shows a pixel arrangement on the display screen. This figure shows a case in which a triangle is rendered.
  • locations of pixels on the screen can be designated by screen addresses (row and column addresses). Addresses on the frame memory are arranged in correspondence with the screen addresses of pixels so as to store the data on individual pixels.
  • graphics display apparatuses of rendering the polygon have frequent occasions for rendering pictorial drawings in both horizontal and vertical directions as shown in FIG. 7.
  • the conventional display apparatus is made up of a frame memory using serial access as stated above, which is mainly designed to draw images in the horizontal direction.
  • the display apparatus aiming at drawing of three-dimensional graphics, it is necessary to designate row and column addresses by means of the memory controller every time the display image is moved in the vertical (raster) direction. This makes the address control complicated and retards the drawing speed.
  • a frame memory device for graphics which includes a frame memory having a matrix of addresses arranged on plural lines in correspondence with pixels arranged on a display screen, the frame memory being logically partitioned into four banks A through D, addresses on the banks A and B are arranged alternately on odd lines in the matrix while addresses on the banks C and D are arranged alternately on even lines; and a controller for controlling the frame memory, the controller selecting addresses horizontally and vertically adjacent to an address currently being accessed.
  • the frame memory includes a first memory logically partitioned into the bank A and the bank B; and a second memory logically partitioned into the bank C and the bank D
  • the controller includes a first address adder for converting an access address into a next address; a first selector setting up an offset value with reference to the number of memory banks defining the horizontal size of the frame memory; a second address adder for adding the offset value to the next address converted in the first address adder; a second selector selecting one of output values from the first address adder and the second address adder based on which line in the matrix the access address belongs to, and the address selection in the bank A or the bank B is performed by defining the output value from the second selector as an address while the address selection in the bank C or the bank D is performed by defining the output value from the first address adder as an address.
  • the frame memory is logically partitioned into the four banks A through D, and addresses in the banks A and B are alternately arranged on odd lines in the matrix while addresses in the banks C and D are alternately arranged on even lines.
  • the controller selects both addresses horizontally and vertically adjacent to an address being currently accessed.
  • the pictorial drawing can be done in either direction, horizontal or vertical direction without needing to select the row and column addresses in the frame memory every time access is made. That is, the access to predetermined addresses can be done in a moment, whereby it is possible to improve the drawing speed.
  • address selection in the bank A or bank B is done by setting up the output value from the second selector as its address while address selection in the bank C or bank D is done by setting up the output value from the first address adder as its address. In this way, the addresses horizontally and vertically adjacent to an address being currently accessed can be selected.
  • FIG. 1 is a block diagram showing an embodiment of a frame memory device for graphics in accordance with the invention
  • FIG. 2 is a diagram showing an arrangement of bank addresses in a frame memory in accordance with the invention
  • FIG. 3 is a diagram showing an arrangement of bank addresses when the horizontal size of a frame memory is two times as large as the size of a bank;
  • FIG. 4 is a diagram showing an arrangement of bank addresses when the horizontal size of a frame memory is four times as large as the size of a bank;
  • FIG. 5 is a block diagram showing a conventional display apparatus for graphics
  • FIG. 6 is a diagram showing an arrangement of bank addresses in a conventional frame memory.
  • FIG. 7 is a diagram showing an arrangement of pixels for displaying the polygon.
  • FIG. 1 is a block diagram showing an embodiment of a frame memory device for graphics in accordance with the invention.
  • This frame memory device for graphics includes a frame memory made up of a pair of first and second memories 10 and 11, and a memory controller 12 as a controlling means for controlling the frame memory.
  • This memory controller 12 is composed of a first address adder 13, a second address adder 14, a first selector 16, a second selector 15 and a third selector 17.
  • FIG. 2 shows an arrangement diagram of bank addresses in this frame memory.
  • the first and second memories 10 and 11 are made up of synchronous DRAMs. Each of the memories 10 and 11 is logically partitioned into two banks, namely, first bank A and second bank B. As shown in FIG. 2, A and B in frames indicate bank names and their numerals designate addresses in the banks. Addresses in the frame memory is allocated in the following manner. That is, addresses on the first bank A and second bank B in the first memory 10 are arranged alternately on odd lines while addresses on the first bank A and second bank B in the second memory 11 are arranged alternately on even lines. Further, along the vertical direction, addresses on first banks A and second banks B are arranged in an alternate manner, to thereby form a checker pattern with the addresses on the first and second banks A and B.
  • a certain address on a bank is being currently accessed, it is impossible to simultaneously select another address on the same bank. For this reason, in order to realize continuous accesses, one of banks is currently being accessed while an address on the other bank is selected. More specifically, while in the same memory the first bank A is being accessed, a certain address on the second bank B is selected so as to perform continuous data access. On the other hand, while data of the second bank B is being accessed, a certain address on the first bank A is selected so as to perform the next data access. Further, when the neighboring bank is addressed, the bank address (on the next line) right below the address being currently accessed is selected to enable continuous data access in vertical direction even if the polygonal-pictorial rendering is moved vertically.
  • the bank address currently accessed (to be referred to as an access address) is converted into an address to be designated next by the first address adder 13. This next address thus converted is supplied to 0-input of the second selector 15.
  • An offset value is set up in the first selector 16 based on the number of memory banks defining the horizontal size of the frame memory. This value may be set at 0 or 2, for example. Detailed description as to this value will be made later. If the raster-address (address in the vertical direction) on an odd line is accessed, the offset value is supplied from the first selector 16 to the second address adder 14, and the offset value is added to the next address output from the first address adder 13. This added value is supplied to 1-input of the second selector 15.
  • the least significant bit of the raster-address is input as a selection signal to the second selector 15. Therefore, if a raster-address on an odd line is accessed, the next address is selected, while if a raster-address on an even line is accessed, the address made of the next address plus the offset value is selected and supplied to the first memory 10.
  • the next address is input from the first address adder 13 to the second memory 11.
  • Data is input to the third selector 17 through the data bus.
  • the third selector 17 is further supplied with the least significant bit of the raster-address as a selection signal. Accordingly, when a raster-address on an odd line is accessed, the first memory 10 is selected. When a raster-address on an even line is accessed, the second memory 11 is selected. Thus, the data is selected for input.
  • the first and second memories 10 and 11 each have a horizontal size of 512 addresses with a bank size of 256 addresses. Therefore, once either of the banks is accessed by selecting a bank address, 256 addresses can be successively accessed without selecting the address one by one. In this case, the number of memory banks is two.
  • the arrangement of addresses in this frame memory is shown in FIG. 3.
  • the first address adder 13 When a raster-address on an odd line is accessed, for example, if a bank address A1 in the first memory 10 is accessed, the first address adder 13 generates a next bank address B2. At this moment, the least significant bit of the raster-address is 0, the second selector 15 selects 0-input so that the next address B2 is selected in the first memory 10. At the same time, the address B2 is also selected in the second memory 11.
  • the first address adder 13 When a raster-address on an even line is accessed, for example, if a bank address B2 in the second memory 11 is accessed, the first address adder 13 generates a next bank address A3. Accordingly, the bank address A3 is selected in the second memory 11. At this moment, since the least significant bit of the raster-address is 1, the second selector 15 selects 1-input so that the value output from the second address adder 14 is set up as the address.
  • the offset value of the first selector 16 is to be set at 0. This offset value is added to the next bank address in the second address adder 14 so that the address A3 is selected in the first memory 10.
  • the offset value is set at 2. For example, if a bank address B2, which is a raster-address on an even line, in the second memory 11 is accessed, A3 is selected as the bank address in the second memory 11 while the output value from the second address adder 14 is set up as the address in the first memory 10. That is, A5 which is created by adding the next bank address A3 and the offset value ⁇ 2 ⁇ is selected in the first memory 10.
  • the next data access can smoothly be done.
  • the polygon is successively rendered in the horizontal direction or the polygon is rendered moving a next raster (row).
  • the address on the bank B in the first memory 10 is selected, and at the same time the address which is located right below the currently accessed address on the bank A in the first memory 10 and belongs to the bank B in the second memory 11 is selected.
  • a single frame memory may be logically partitioned into four banks or a plurality of frame memories may be logically partitioned into four banks.

Abstract

A frame memory device for graphics includes a frame memory made up of a pair of memories and a memory controller for controlling the frame memory and is able to smoothly access the frame memory and is improved in its rendering speed. Each memory is logically divided into two banks A and B. Addresses in the thus divided bank are arranged in a checker pattern. The memory controller simultaneously selects bank addresses horizontally and vertically adjacent to a bank address currently being accessed.

Description

BACKGROUND OF THE INVENTION
(1) Field of the Invention
The present invention relates to a frame memory device for graphics for use in computer graphics technology, and in particular to a frame memory device for graphics in which access to a frame memory is accelerated.
(2) Description of the Prior Art
In recent years, computer graphics created by graphics systems using computers have been widely used in various fields. Typical fields of applications include CAD systems for a design, simulation systems for aviation, controls and the like, and video games. Computer graphics produce two-or three-dimensional pictorial images on the visual screen by processing image data stored in frame memories.
FIG. 5 is a block diagram showing a conventional standard graphics display apparatus. This display apparatus includes: a frame memory 50 which is composed of a DRAM (Dynamic Random Access Memory) and stores image data consisting of digital signals; a pulse generator 51 generating a clock signal; a memory controller 52 producing control signals in conformity with the clock signal from the pulse generator 51 and sending it toward the frame memory 50; and a D/A converter 53 converting the digital signals from the frame memory 50 into analog signals (video signals).
In general, access to the frame memory 50 is done by serial access. Specifically, the address number at the time of accessing to the frame memory 50 sequentially increases up to the number of a predetermined horizontal resolution (the number of pixels) of the display screen. When the selected address reaches the value of the predetermined horizontal resolution, the operation goes to the next line (raster). Thus, the access to the frame memory 50 is performed by successively supplying column-addresses to the frame memory 50. Accordingly, the row-address forms the upper digits over the column-address.
In view of the above background, a device called synchronous DRAM has been proposed which is to effect sequential access operations. A synchronous DRAM is a memory device which is designed to accelerate sequential access to addresses along the horizontal direction. This memory is characterized by its needlessness of specifying the row and column addresses every time access to the memory is to be made. Once the starting address is specified, a predetermined number of data can be written or read in synchronism with the clock signal output from a pulse generator.
A memory of this kind has a pair of cell blocks which are called `bank`. This configuration makes it possible to select the address in one of the banks while the other bank is being accessed. Since the addresses are assigned alternately, it is possible to perform continuous access to the memory. For example, as in an address arrangement shown in FIG. 6, addresses in first and second banks A and B are arranged alternately in every column. That is, address B0 will be selected during the period in which access address A0 is being made, whereby it is possible to access address B0 continuously after the completion of the access to address A0.
Thus, by accessing the frame memory with skipped addresses at regular intervals in place of accessing the memory with sequential continuous addresses, it can be avoided that read and write of data to a frame memory occur in the same frame memory and therefore it is possible to realize efficient access to the frame memory. This accessing scheme is called interleaving technique. Here, it should be understood that as to the read and write operations, various techniques such as of changing control signals supplied to the memory (Japanese Patent Application Laid-Open Hei 06 No.27,932) or providing buffers (Japanese Patent Application Laid-Open Hei 06 No.175,646) have been proposed in order to avoid the simultaneous access to the frame memory.
To sum up, the operation in the conventional display apparatus for graphics shown in FIG.5, is carried out by selecting an address of data for the frame memory 50, accessing the address thus designated, reading image data from the frame memory 50, converting the image data into analog signals (video signals) in the D/A converter 53, and thus the image is displayed on the display screen.
Computer display technology for displaying three-dimensional graphics often uses so-called polygons or polygonal-pictorial representations. The polygon is divided into triangles and each of the thus produced triangles is filled with pixels with a certain color to represent objects on the display screen. FIG. 7 shows a pixel arrangement on the display screen. This figure shows a case in which a triangle is rendered. Here, locations of pixels on the screen can be designated by screen addresses (row and column addresses). Addresses on the frame memory are arranged in correspondence with the screen addresses of pixels so as to store the data on individual pixels.
In general, graphics display apparatuses of rendering the polygon have frequent occasions for rendering pictorial drawings in both horizontal and vertical directions as shown in FIG. 7. However, the conventional display apparatus is made up of a frame memory using serial access as stated above, which is mainly designed to draw images in the horizontal direction. For this reason, in the display apparatus aiming at drawing of three-dimensional graphics, it is necessary to designate row and column addresses by means of the memory controller every time the display image is moved in the vertical (raster) direction. This makes the address control complicated and retards the drawing speed.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide a frame memory device for graphics in which access to a frame memory is smoothly performed to improve the speed of drawing.
In accordance with an aspect of the invention, there is provided a frame memory device for graphics which includes a frame memory having a matrix of addresses arranged on plural lines in correspondence with pixels arranged on a display screen, the frame memory being logically partitioned into four banks A through D, addresses on the banks A and B are arranged alternately on odd lines in the matrix while addresses on the banks C and D are arranged alternately on even lines; and a controller for controlling the frame memory, the controller selecting addresses horizontally and vertically adjacent to an address currently being accessed.
In the above configuration, the frame memory includes a first memory logically partitioned into the bank A and the bank B; and a second memory logically partitioned into the bank C and the bank D the controller includes a first address adder for converting an access address into a next address; a first selector setting up an offset value with reference to the number of memory banks defining the horizontal size of the frame memory; a second address adder for adding the offset value to the next address converted in the first address adder; a second selector selecting one of output values from the first address adder and the second address adder based on which line in the matrix the access address belongs to, and the address selection in the bank A or the bank B is performed by defining the output value from the second selector as an address while the address selection in the bank C or the bank D is performed by defining the output value from the first address adder as an address.
As stated above, in accordance with the invention, the frame memory is logically partitioned into the four banks A through D, and addresses in the banks A and B are alternately arranged on odd lines in the matrix while addresses in the banks C and D are alternately arranged on even lines. The controller selects both addresses horizontally and vertically adjacent to an address being currently accessed. As a result, when the polygon is rendered, the pictorial drawing can be done in either direction, horizontal or vertical direction without needing to select the row and column addresses in the frame memory every time access is made. That is, the access to predetermined addresses can be done in a moment, whereby it is possible to improve the drawing speed. Accordingly, if access in the vertical direction is to be made upon the use of the memory capable of high-speed serial access, it is no longer necessary to perform address-selection of row and column every time the access is to be made, whereby it is possible to realize a further improved high-speed access.
When memories such as synchronous DRAMs and the like whose memory area is originally partitioned into two banks is used, it is possible to readily realize the high-speed access stated above.
When the controller including the first address adder, the first selector, the second address adder and the second selector is used, address selection in the bank A or bank B is done by setting up the output value from the second selector as its address while address selection in the bank C or bank D is done by setting up the output value from the first address adder as its address. In this way, the addresses horizontally and vertically adjacent to an address being currently accessed can be selected.
Further advantages and features of the invention as well as the scope, nature and utilization of the invention will become apparent to those skilled in the art from the description of the preferred embodiments of the invention set forth below.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing an embodiment of a frame memory device for graphics in accordance with the invention;
FIG. 2 is a diagram showing an arrangement of bank addresses in a frame memory in accordance with the invention;
FIG. 3 is a diagram showing an arrangement of bank addresses when the horizontal size of a frame memory is two times as large as the size of a bank;
FIG. 4 is a diagram showing an arrangement of bank addresses when the horizontal size of a frame memory is four times as large as the size of a bank;
FIG. 5 is a block diagram showing a conventional display apparatus for graphics;
FIG. 6 is a diagram showing an arrangement of bank addresses in a conventional frame memory; and
FIG. 7 is a diagram showing an arrangement of pixels for displaying the polygon.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Embodiments of the invention will hereinafter be described with reference to the accompanying drawings.
FIG. 1 is a block diagram showing an embodiment of a frame memory device for graphics in accordance with the invention. This frame memory device for graphics includes a frame memory made up of a pair of first and second memories 10 and 11, and a memory controller 12 as a controlling means for controlling the frame memory. This memory controller 12 is composed of a first address adder 13, a second address adder 14, a first selector 16, a second selector 15 and a third selector 17.
FIG. 2 shows an arrangement diagram of bank addresses in this frame memory.
The first and second memories 10 and 11 are made up of synchronous DRAMs. Each of the memories 10 and 11 is logically partitioned into two banks, namely, first bank A and second bank B. As shown in FIG. 2, A and B in frames indicate bank names and their numerals designate addresses in the banks. Addresses in the frame memory is allocated in the following manner. That is, addresses on the first bank A and second bank B in the first memory 10 are arranged alternately on odd lines while addresses on the first bank A and second bank B in the second memory 11 are arranged alternately on even lines. Further, along the vertical direction, addresses on first banks A and second banks B are arranged in an alternate manner, to thereby form a checker pattern with the addresses on the first and second banks A and B.
In a synchronous DRAM, if a certain address on a bank is being currently accessed, it is impossible to simultaneously select another address on the same bank. For this reason, in order to realize continuous accesses, one of banks is currently being accessed while an address on the other bank is selected. More specifically, while in the same memory the first bank A is being accessed, a certain address on the second bank B is selected so as to perform continuous data access. On the other hand, while data of the second bank B is being accessed, a certain address on the first bank A is selected so as to perform the next data access. Further, when the neighboring bank is addressed, the bank address (on the next line) right below the address being currently accessed is selected to enable continuous data access in vertical direction even if the polygonal-pictorial rendering is moved vertically.
Now, description will be made on the operation of the frame memory device for graphics.
The bank address currently accessed (to be referred to as an access address) is converted into an address to be designated next by the first address adder 13. This next address thus converted is supplied to 0-input of the second selector 15. An offset value is set up in the first selector 16 based on the number of memory banks defining the horizontal size of the frame memory. This value may be set at 0 or 2, for example. Detailed description as to this value will be made later. If the raster-address (address in the vertical direction) on an odd line is accessed, the offset value is supplied from the first selector 16 to the second address adder 14, and the offset value is added to the next address output from the first address adder 13. This added value is supplied to 1-input of the second selector 15. The least significant bit of the raster-address is input as a selection signal to the second selector 15. Therefore, if a raster-address on an odd line is accessed, the next address is selected, while if a raster-address on an even line is accessed, the address made of the next address plus the offset value is selected and supplied to the first memory 10. The next address is input from the first address adder 13 to the second memory 11. Data is input to the third selector 17 through the data bus. The third selector 17 is further supplied with the least significant bit of the raster-address as a selection signal. Accordingly, when a raster-address on an odd line is accessed, the first memory 10 is selected. When a raster-address on an even line is accessed, the second memory 11 is selected. Thus, the data is selected for input.
Next, a specific example will be shown. Suppose that the first and second memories 10 and 11 each have a horizontal size of 512 addresses with a bank size of 256 addresses. Therefore, once either of the banks is accessed by selecting a bank address, 256 addresses can be successively accessed without selecting the address one by one. In this case, the number of memory banks is two. The arrangement of addresses in this frame memory is shown in FIG. 3.
When a raster-address on an odd line is accessed, for example, if a bank address A1 in the first memory 10 is accessed, the first address adder 13 generates a next bank address B2. At this moment, the least significant bit of the raster-address is 0, the second selector 15 selects 0-input so that the next address B2 is selected in the first memory 10. At the same time, the address B2 is also selected in the second memory 11.
When a raster-address on an even line is accessed, for example, if a bank address B2 in the second memory 11 is accessed, the first address adder 13 generates a next bank address A3. Accordingly, the bank address A3 is selected in the second memory 11. At this moment, since the least significant bit of the raster-address is 1, the second selector 15 selects 1-input so that the value output from the second address adder 14 is set up as the address. Here, since the horizontal size of the frame memory is two times as large as the bank size, the offset value of the first selector 16 is to be set at 0. This offset value is added to the next bank address in the second address adder 14 so that the address A3 is selected in the first memory 10.
If the horizontal size of the frame memory is four times as large as the bank size as shown in FIG. 4, or if the number of memory banks is four, the offset value is set at 2. For example, if a bank address B2, which is a raster-address on an even line, in the second memory 11 is accessed, A3 is selected as the bank address in the second memory 11 while the output value from the second address adder 14 is set up as the address in the first memory 10. That is, A5 which is created by adding the next bank address A3 and the offset value `2` is selected in the first memory 10.
As the selection of an address in the frame memory is thus performed, the next data access can smoothly be done. In other words, when data on a bank A in the first memory 10 is accessed, there are two cases, i.e. the polygon is successively rendered in the horizontal direction or the polygon is rendered moving a next raster (row). Accordingly, the address on the bank B in the first memory 10 is selected, and at the same time the address which is located right below the currently accessed address on the bank A in the first memory 10 and belongs to the bank B in the second memory 11 is selected. By this scheme, continuous access to the neighboring bank can be performed and at the same time even if the access to the data is moved in the vertical direction continuous access becomes possible without stopping the operation.
The present invention should not be limited to the above configuration. A single frame memory may be logically partitioned into four banks or a plurality of frame memories may be logically partitioned into four banks.

Claims (14)

What is claimed is:
1. A frame memory device for graphics comprising:
a frame memory having a matrix of addresses arranged on plural lines in correspondence with pixels arranged on a display screen, said frame memory being logically partitioned into four banks A through D, addresses on the banks A and B are arranged alternately on odd lines in said matrix while addresses on the banks C and D are arranged alternately on even lines; and
controlling means for controlling said frame memory, said controlling means simultaneously selecting addresses horizontally and vertically adjacent to an address currently being accessed.
2. A frame memory device for graphics according claim 1, wherein said frame memory comprises: a first memory logically partitioned into said bank A and said bank B; and a second memory logically partitioned into said bank C and said bank D.
3. A frame memory device for graphics according to claim 2, wherein said controller adds an offset address to a next address for said first memory when said address currently being accessed is the said second memory.
4. A frame memory device for graphics according to claim 3, wherein said offset is determined in accordance with a horizontal size of said frame memory.
5. A frame memory device for graphics according to claim 1, wherein said controller performs said selecting in accordance with a horizontal size of said frame memory.
6. A frame memory device for graphics comprising:
a frame memory having a matrix of addresses arranged on plural lines in correspondence with pixels arranged on a display screen, said frame memory being logically partitioned into four banks A through D, addresses on the banks A and B are arranged alternately on odd lines in said matrix while addresses on the banks C and D are arranged alternately on even lines; and
controlling means for controlling said frame memory, said controlling means selecting addresses horizontally and vertically adjacent to an address currently being accessed, wherein said controlling means comprises:
a first address adder for converting an access address into a next address;
a first selector setting up an offset value with reference to the number of memory banks defining the horizontal size of said frame memory;
a second address adder for adding the offset value to the next address converted in said first address adder;
a second selector selecting one of output values from said first address adder and said second address adder based on which line in said matrix the access address belongs to, and the address selection in said bank A or said bank B is performed by defining the output value from said second selector as an address while the address selection in said bank C or said bank D is performed by defining the output value from said first address adder as an address.
7. A frame memory device for graphics according to claim 6, wherein said frame memory comprises:
a first memory logically partitioned into said bank A and said bank B; and
a second memory logically partitioned into said bank C and said bank.
8. A method for accelerating access to a frame memory for graphics comprising:
arranging a matrix of addresses of the frame memory on plural lines in correspondence with pixels arranged on a display screen;
logically partitioned the frame memory into four banks A through D, arranging addresses on the banks A and B alternately on odd lines in said matrix and arranging addresses on the banks C and D alternately on even lines; and
controlling the frame memory including simultaneously selecting addresses horizontally and vertically adjacent to an address currently being accessed.
9. The method according claim 8, further comprising dividing the frame memory into a first memory logically partitioned into said bank A and said bank B, and a second memory logically partitioned into said bank C and said bank D.
10. The method according claim 9, wherein said controlling includes:
converting an access address into a next address, setting up an offset value with reference to the number of memory banks defining the horizontal size of the frame memory;
adding the offset value to the next address output by said converting;
selecting one of output values by said converting and said adding based on which line in said matrix the access address belongs to;
performing address selection in said bank A or said bank B by defining the output value by said adding as an address; and
performing address selection in said bank C or said bank D by defining the output value by said converting as an address.
11. The method according to claim 9, wherein said controlling includes adding an offset address to a next address for said first memory when said address currently being accessed is the said second memory.
12. The method according to claim 11, further comprising determining said offset in accordance with a horizontal size of said frame memory.
13. The method according claim 8, wherein said controlling includes:
converting an access address into a next address, setting up an offset value with reference to the number of memory banks defining the horizontal size of the frame memory;
adding the offset value to the next address output by said converting;
selecting one of output values by said converting and said adding based on which line in said matrix the access address belongs to;
performing address selection in said bank A or said bank B by defining the output value by said adding as an address; and
performing address selection in said bank C or said bank D by defining the output value by said converting as an address.
14. The method according to claim 8, wherein said selecting is in accordance with a horizontal size of said frame memory.
US08/613,673 1995-04-10 1996-03-11 Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses Expired - Lifetime US5815169A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7-084167 1995-04-10
JP07084167A JP3138173B2 (en) 1995-04-10 1995-04-10 Frame memory device for graphics

Publications (1)

Publication Number Publication Date
US5815169A true US5815169A (en) 1998-09-29

Family

ID=13822945

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/613,673 Expired - Lifetime US5815169A (en) 1995-04-10 1996-03-11 Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses

Country Status (4)

Country Link
US (1) US5815169A (en)
EP (1) EP0737956B1 (en)
JP (1) JP3138173B2 (en)
DE (1) DE69633477T2 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091783A (en) * 1997-04-25 2000-07-18 International Business Machines Corporation High speed digital data transmission by separately clocking and recombining interleaved data subgroups
US6301649B1 (en) * 1997-04-07 2001-10-09 Oki Electric Industry Co., Ltd. Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions
US20020109698A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using memory blocks
US20020109695A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using state addressing
US20020109692A1 (en) * 2001-02-15 2002-08-15 Sony Corporation Dynamic buffer pages
US20020109699A1 (en) * 2001-02-15 2002-08-15 Mark Champion Pixel pages optimized for GLV
US20020109694A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing
US20020109696A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using memory bank alternation
US20020109792A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages using memory bank alternation
US20020109691A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages using state addressing
US20020109791A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages
US20020109693A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages
US20020110351A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer
US20020109690A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using memory bank alternation
US20020109689A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using sequential memory locations
US20020110030A1 (en) * 2001-02-15 2002-08-15 Mark Champion Swapped Pixel pages
US20020113904A1 (en) * 2001-02-15 2002-08-22 Mark Champion Two-dimensional buffer pages using bit-field addressing
US20020130876A1 (en) * 2001-02-15 2002-09-19 Sony Corporation, A Japanese Corporation Pixel pages using combined addressing
US20020149596A1 (en) * 2001-02-15 2002-10-17 Mark Champion Checkerboard buffer using more than two memory devices
US20030058368A1 (en) * 2001-09-24 2003-03-27 Mark Champion Image warping using pixel pages
US20030151609A1 (en) * 2002-02-14 2003-08-14 Mark Champion Multi-sequence burst accessing for SDRAM
US6947100B1 (en) * 1996-08-09 2005-09-20 Robert J. Proebsting High speed video frame buffer
CN1295617C (en) * 2004-01-05 2007-01-17 索尼株式会社 Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
US20110134133A1 (en) * 2008-08-15 2011-06-09 Panasonic Corporation Image processing device
US20120098843A1 (en) * 2010-10-24 2012-04-26 Chun-Yu Chiu Apparatus for controlling memory device and related method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496192B1 (en) * 1999-08-05 2002-12-17 Matsushita Electric Industrial Co., Ltd. Modular architecture for image transposition memory using synchronous DRAM
JP5233543B2 (en) * 2008-09-17 2013-07-10 株式会社リコー Data processing circuit, image processing apparatus, and data processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4460958A (en) * 1981-01-26 1984-07-17 Rca Corporation Window-scanned memory
EP0422299A1 (en) * 1989-10-12 1991-04-17 International Business Machines Corporation Memory with page mode
US5321809A (en) * 1992-09-11 1994-06-14 International Business Machines Corporation Categorized pixel variable buffering and processing for a graphics system
US5404448A (en) * 1992-08-12 1995-04-04 International Business Machines Corporation Multi-pixel access memory system
US5561777A (en) * 1993-08-30 1996-10-01 Xerox Corporation Process for sequentially reading a page from an image memory in either of two directions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449199A (en) * 1980-11-12 1984-05-15 Diasonics Cardio/Imaging, Inc. Ultrasound scan conversion and memory system
US4758881A (en) * 1987-06-02 1988-07-19 Eastman Kodak Company Still video frame store memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4460958A (en) * 1981-01-26 1984-07-17 Rca Corporation Window-scanned memory
EP0422299A1 (en) * 1989-10-12 1991-04-17 International Business Machines Corporation Memory with page mode
US5404448A (en) * 1992-08-12 1995-04-04 International Business Machines Corporation Multi-pixel access memory system
US5321809A (en) * 1992-09-11 1994-06-14 International Business Machines Corporation Categorized pixel variable buffering and processing for a graphics system
JPH06175646A (en) * 1992-09-11 1994-06-24 Internatl Business Mach Corp <Ibm> Frame buffer and raster processor for graphic system and method for buffering pixel variable
US5561777A (en) * 1993-08-30 1996-10-01 Xerox Corporation Process for sequentially reading a page from an image memory in either of two directions

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947100B1 (en) * 1996-08-09 2005-09-20 Robert J. Proebsting High speed video frame buffer
US6640295B2 (en) 1997-04-07 2003-10-28 Oki Electric Industry Co., Ltd. Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions
US6301649B1 (en) * 1997-04-07 2001-10-09 Oki Electric Industry Co., Ltd. Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions
US7219200B2 (en) 1997-04-07 2007-05-15 Oki Electric Industry Co., Ltd. Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions
US20050226082A1 (en) * 1997-04-07 2005-10-13 Atsushi Takasugi Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions
US6920536B2 (en) 1997-04-07 2005-07-19 Oki Electric Industry Co., Ltd. Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions
US20040062122A1 (en) * 1997-04-07 2004-04-01 Atsushi Takasugi Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions
US6246726B1 (en) 1997-04-25 2001-06-12 International Business Machines Corporation High speed digital data transmission by separately clocking and recombining interleaved data subgroups
US6091783A (en) * 1997-04-25 2000-07-18 International Business Machines Corporation High speed digital data transmission by separately clocking and recombining interleaved data subgroups
US6803917B2 (en) * 2001-02-15 2004-10-12 Sony Corporation Checkerboard buffer using memory bank alternation
US6831649B2 (en) 2001-02-15 2004-12-14 Sony Corporation Two-dimensional buffer pages using state addressing
US20020109791A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages
US20020109693A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages
US20020110351A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer
US20020109690A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using memory bank alternation
US20020109689A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using sequential memory locations
US20020110030A1 (en) * 2001-02-15 2002-08-15 Mark Champion Swapped Pixel pages
US20020113904A1 (en) * 2001-02-15 2002-08-22 Mark Champion Two-dimensional buffer pages using bit-field addressing
US20020130876A1 (en) * 2001-02-15 2002-09-19 Sony Corporation, A Japanese Corporation Pixel pages using combined addressing
US20020149596A1 (en) * 2001-02-15 2002-10-17 Mark Champion Checkerboard buffer using more than two memory devices
US8547384B2 (en) 2001-02-15 2013-10-01 Sony Corporation Checkerboard buffer
US7830391B2 (en) 2001-02-15 2010-11-09 Sony Corporation Checkerboard buffer using two-dimensional buffer pages
US20020109792A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages using memory bank alternation
US20020109696A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using memory bank alternation
US6765579B2 (en) 2001-02-15 2004-07-20 Sony Corporation Pixel pages using combined addressing
US6765580B2 (en) 2001-02-15 2004-07-20 Sony Corporation Pixel pages optimized for GLV
US6768490B2 (en) 2001-02-15 2004-07-27 Sony Corporation Checkerboard buffer using more than two memory devices
US6791557B2 (en) 2001-02-15 2004-09-14 Sony Corporation Two-dimensional buffer pages using bit-field addressing
US6795079B2 (en) 2001-02-15 2004-09-21 Sony Corporation Two-dimensional buffer pages
US6801204B2 (en) * 2001-02-15 2004-10-05 Sony Corporation, A Japanese Corporation Checkerboard buffer using memory blocks
US20020109694A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing
US20040233206A1 (en) * 2001-02-15 2004-11-25 Sony Corporation, A Japanese Corporation Pixel pages optimized for GLV
US6828977B2 (en) 2001-02-15 2004-12-07 Sony Corporation Dynamic buffer pages
US20040246258A1 (en) * 2001-02-15 2004-12-09 Sony Corporation Swapped pixel pages
US6831650B2 (en) * 2001-02-15 2004-12-14 Sony Corporation Checkerboard buffer using sequential memory locations
US6831651B2 (en) * 2001-02-15 2004-12-14 Sony Corporation Checkerboard buffer
US20020109691A1 (en) * 2001-02-15 2002-08-15 Mark Champion Two-dimensional buffer pages using state addressing
US6850241B2 (en) 2001-02-15 2005-02-01 Sony Corporation Swapped pixel pages
US20050024368A1 (en) * 2001-02-15 2005-02-03 Xiping Liu Two dimensional buffer pages
US20050057572A1 (en) * 2001-02-15 2005-03-17 Sony Corporation Checkerboard buffer
US20050104890A1 (en) * 2001-02-15 2005-05-19 Sony Corporation Dynamic buffer pages
US20020109699A1 (en) * 2001-02-15 2002-08-15 Mark Champion Pixel pages optimized for GLV
US20020109692A1 (en) * 2001-02-15 2002-08-15 Sony Corporation Dynamic buffer pages
US20020109695A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using two-dimensional buffer pages and using state addressing
US7573483B2 (en) 2001-02-15 2009-08-11 Sony Corporation, A Japanese Corporation Dynamic buffer pages
US7038691B2 (en) 2001-02-15 2006-05-02 Sony Corporation Two-dimensional buffer pages using memory bank alternation
US7046249B2 (en) 2001-02-15 2006-05-16 Sony Corporation Swapped pixel pages
US7068281B2 (en) 2001-02-15 2006-06-27 Sony Corporation Pixel pages optimized for GLV
US7088369B2 (en) 2001-02-15 2006-08-08 Sony Corporation Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing
US7129953B2 (en) 2001-02-15 2006-10-31 Sony Corporation Two dimensional buffer pages
US7379069B2 (en) 2001-02-15 2008-05-27 Sony Corporation Checkerboard buffer using two-dimensional buffer pages
US7205993B2 (en) 2001-02-15 2007-04-17 Sony Corporation Checkerboard buffer using two-dimensional buffer pages and using memory bank alternation
US20020109698A1 (en) * 2001-02-15 2002-08-15 Mark Champion Checkerboard buffer using memory blocks
US20030058368A1 (en) * 2001-09-24 2003-03-27 Mark Champion Image warping using pixel pages
US6965980B2 (en) 2002-02-14 2005-11-15 Sony Corporation Multi-sequence burst accessing for SDRAM
US20030151609A1 (en) * 2002-02-14 2003-08-14 Mark Champion Multi-sequence burst accessing for SDRAM
CN1295617C (en) * 2004-01-05 2007-01-17 索尼株式会社 Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program
US20110134133A1 (en) * 2008-08-15 2011-06-09 Panasonic Corporation Image processing device
US8902240B2 (en) 2008-08-15 2014-12-02 Panasonic Corporation Image processing device
US20120098843A1 (en) * 2010-10-24 2012-04-26 Chun-Yu Chiu Apparatus for controlling memory device and related method
US8564603B2 (en) * 2010-10-24 2013-10-22 Himax Technologies Limited Apparatus for controlling memory device and related method
TWI451400B (en) * 2010-10-24 2014-09-01 Himax Tech Ltd Apparatus for controlling memory device and related method

Also Published As

Publication number Publication date
DE69633477D1 (en) 2004-11-04
EP0737956A3 (en) 1997-05-28
EP0737956A2 (en) 1996-10-16
JP3138173B2 (en) 2001-02-26
JPH08278779A (en) 1996-10-22
EP0737956B1 (en) 2004-09-29
DE69633477T2 (en) 2006-02-23

Similar Documents

Publication Publication Date Title
US5815169A (en) Frame memory device for graphics allowing simultaneous selection of adjacent horizontal and vertical addresses
EP0087868B1 (en) Graphics display refresh memory architecture offering rapid access speed
US5170468A (en) Graphics system with shadow ram update to the color map
US5131080A (en) Graphics frame buffer with RGB pixel cache
US4965751A (en) Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
US5056044A (en) Graphics frame buffer with programmable tile size
US5233689A (en) Methods and apparatus for maximizing column address coherency for serial and random port accesses to a dual port ram array
US5029105A (en) Programmable pipeline for formatting RGB pixel data into fields of selected size
US4961153A (en) Graphics frame buffer with strip Z buffering and programmable Z buffer location
US5550961A (en) Image processing apparatus and method of controlling the same
US5247612A (en) Pixel display apparatus and method using a first-in, first-out buffer
US5457482A (en) Method and apparatus for utilizing off-screen memory as a simultaneously displayable channel
CA1220293A (en) Raster scan digital display system
US5959638A (en) Method and apparatus for constructing a frame buffer with a fast copy means
US5621866A (en) Image processing apparatus having improved frame buffer with Z buffer and SAM port
US5404448A (en) Multi-pixel access memory system
EP0480564B1 (en) Improvements in and relating to raster-scanned displays
EP0525986B1 (en) Apparatus for fast copying between frame buffers in a double buffered output display system
US4626839A (en) Programmable video display generator
JPH0782747B2 (en) Memory array having random access port and serial access port
US5519413A (en) Method and apparatus for concurrently scanning and filling a memory
JP3001763B2 (en) Image processing system
JPH0361199B2 (en)
US5812829A (en) Image display control system and memory control capable of freely forming display images in various desired display modes
JP2741710B2 (en) Memory write control method and device

Legal Events

Date Code Title Description
AS Assignment

Owner name: SHARP KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ODA, MAMORU;REEL/FRAME:007906/0679

Effective date: 19960216

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12