FR2587520A1 - MEMORY DIRECT ACCESS WINDOW DISPLAY APPARATUS AND METHODS - Google Patents

MEMORY DIRECT ACCESS WINDOW DISPLAY APPARATUS AND METHODS Download PDF

Info

Publication number
FR2587520A1
FR2587520A1 FR8609463A FR8609463A FR2587520A1 FR 2587520 A1 FR2587520 A1 FR 2587520A1 FR 8609463 A FR8609463 A FR 8609463A FR 8609463 A FR8609463 A FR 8609463A FR 2587520 A1 FR2587520 A1 FR 2587520A1
Authority
FR
France
Prior art keywords
data
display
memory
counting means
width
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.)
Granted
Application number
FR8609463A
Other languages
French (fr)
Other versions
FR2587520B1 (en
Inventor
Peter W Costello
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of FR2587520A1 publication Critical patent/FR2587520A1/en
Application granted granted Critical
Publication of FR2587520B1 publication Critical patent/FR2587520B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/14Display of multiple viewports
    • 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

Abstract

LA PRESENTE INVENTION CONCERNE UN APPAREIL POUR TRANSFERER DES DONNEES ENTRE UN DISPOSITIF DE MEMOIRE ET UN AFFICHAGE COMPRENANT: UN MOYEN D'AFFICHAGE 14 POUR AFFICHER DES DONNEES; UN TAMPON DE TRAME 18 COUPLE AU MOYEN D'AFFICHAGE POUR MEMORISER LES DONNEES A AFFICHER, CE MOYEN TAMPON DE TRAME COMPRENANT AU MOINS UNE CARTE DE BITS COMPRENANT UNE PLURALITE DE BITS DE DONNEES, CES BITS REPRESENTANT L'ETAT D'UN ELEMENT D'AFFICHAGE SUR L'AFFICHAGE; UN MOYEN DE MEMOIRE 15 POUR MEMORISER DES DONNEES A AFFICHER, CES DONNEES ETANT MEMORISEES SOUS FORME DE TRAME; UN MOYEN DE COMMANDE 20 POUR LIRE UNE TRAME DE DONNEES A PARTIR DU MOYEN DE MEMOIRE ET TRANSFERER LES DONNEES VERS DES EMPLACEMENTS CHOISIS DU TAMPON DE TRAME, CES EMPLACEMENTS ETANT DEFINIS PAR UNE VALEUR DE LARGEUR ET UN POINT D'ORIGINE, LEDIT MOYEN DE COMMANDE LISANT SEQUENTIELLEMENT LES DONNEES EN COMMENCANT PAR UNE ADRESSE DE BASE; D'OU IL RESULTE QUE LES DONNEES PEUVENT ETRE TRANSFEREES A HAUTE VITESSE VERS L'AFFICHAGE.THE PRESENT INVENTION RELATES TO AN APPARATUS FOR TRANSFERRING DATA BETWEEN A MEMORY DEVICE AND A DISPLAY INCLUDING: A DISPLAY MEANS 14 FOR DISPLAYING DATA; A FRAME BUFFER 18 COUPLES TO THE DISPLAY MEANS FOR STORING THE DATA TO BE DISPLAYED, THIS FRAME BUFFER CONSISTING OF AT LEAST ONE BIT CARD INCLUDING A PLURALITY OF DATA BITS, THESE BITS REPRESENTING THE STATE OF AN ELEMENT OF ' DISPLAY ON DISPLAY; A MEMORY MEANS 15 FOR STORING DATA TO BE DISPLAYED, THIS DATA BEING STORED IN THE FORM OF A FRAME; A COMMAND MEANS 20 FOR READING A DATA FRAME FROM THE MEMORY MEDIA AND TRANSFERRING THE DATA TO SELECTED LOCATIONS OF THE FRAME BUFFER, THESE LOCATIONS BEING DEFINED BY A WIDTH VALUE AND A POINT OF ORIGIN, THEREFORE THE COMMAND MEAN SEQUENTIALLY READING DATA BEGINNING WITH A BASE ADDRESS; AS A RESULT THAT THE DATA CAN BE TRANSFERRED AT HIGH SPEED TO THE DISPLAY.

Description

La présente invention concerne un appareil et desThe present invention relates to an apparatus and

procédés d'affichage d'informations graphiques. Plus particulière-  methods of displaying graphical information. More particular-

ment, la présente invention concerne un appareil et des procédés  The present invention relates to apparatus and methods

d'accès direct en mémoire (DMA) pour produire et traiter des ima-  direct memory access (DMA) to produce and process ima-

ges et des données sur un système d'affichage. Dans l'industrie du traitement de données, il est classique de représenter et de transporter des informations vers un utilisateur par des représentations graphiques. Ces représentations peuvent prendre diverses formes, par exemple des caractères alpha-numériques, des graphiques en coordonnées cartésiennes ou autres, ainsi que des formes d'objets physiques bien connus. Historiquement, des interfaces entre des humains et  ges and data on a display system. In the data processing industry, it is conventional to represent and transport information to a user by graphical representations. These representations can take various forms, for example alpha-numeric characters, graphics in Cartesian or other coordinates, as well as forms of well-known physical objects. Historically, interfaces between humans and

des ordinateurs ont eu lieu par l'intermédiaire de systèmes à com-  computers took place via computer systems

mandes discrètes qui comprennent typiquement une combinaison de texte et de caractères mathématiques symboliques. Les exemples de tels systèmes sont nombreux et comprennent les langages de programmation FORTRAN, ALGOL, PL1, BASIC et COBOL qui transforment un ensemble donné de commandes d'un utilisateur en code "objet"  discrete mandes which typically include a combination of text and symbolic mathematical characters. The examples of such systems are numerous and include the programming languages FORTRAN, ALGOL, PL1, BASIC and COBOL which transform a given set of commands from a user into "object" code

exécutable par une machine.machine-executable.

Cependant, la facilité avec laquelle un utilisateur devient efficace pour une programmation ou une interconnexion avec un système comprenant un ordinateur est de façon générale fonction de la façon dont le système se rapproche de la pensée logique de l'utilisateur lui-même. Un système qui a été développé pour minimiser la période d'apprentissage et d'acclimatation par laquelle un utilisateur doit passer pour devenir efficace dans son interaction avec son système d'ordinateur est de façon fréquente appelé système "à orientation objet". Ce système peut utiliser des "fenêtres" multiples affichées sur un tube à rayons cathodiques (CRT) sur lequel des combinaisons de textes et de graphiques sont utilisées pour convoyer des informations. Par exemple, chaque fenêtre peut prendre la forme d'une page de dossier du type utilisé dans un dossier standard, recouvrant d'autres dossiers, la page complètement visible "supérieure" constituant le dossier de travail en cours. Un utilisateur peut ajouter ou supprimer des informations à partir d'une fenêtre, reremplir la page du dossier à un autre emplacement, et de façon générale agir sur les fenêtres exactement comme si des dossiers réels de bureau étaient utilisés. Ainsi, en représentant graphiquement une image qui représente l'objet des commandes de l'utilisateur et permet à l'utilisateur d'agir sur une image et de la traiter sensiblement de la même façon que si l'image constituait l'objet réel, la machine devient  However, the ease with which a user becomes efficient at programming or interconnecting with a system comprising a computer is generally a function of how close the system is to the logical thinking of the user himself. A system that has been developed to minimize the learning and acclimatization period that a user must go through to become effective in interacting with his computer system is frequently referred to as an "object-oriented" system. This system can use multiple "windows" displayed on a cathode ray tube (CRT) on which combinations of text and graphics are used to convey information. For example, each window can take the form of a folder page of the type used in a standard folder, covering other folders, the completely visible "upper" page constituting the current working folder. A user can add or delete information from a window, refill the folder page in another location, and generally act on windows exactly as if actual desktop folders were used. Thus, by graphically representing an image which represents the object of the user's commands and allows the user to act on an image and to process it in substantially the same way as if the image constituted the real object, the machine becomes

plus facile à actionner pour l'utilisateur et une interface homme-  easier to operate for the user and a human interface

machine plus forte est réalisée.stronger machine is realized.

Une limitation historique à l'utilisation des affichages à base de fenêtres existe dans le cas o une animation à l'intérieur d'une fenêtre est souhaitée. Dans une tel cas, une série de trames séquentielles de données est affichée dans une fenêtre au cours du temps, apparaissant ainsi à l'utilisateur comme si l'objet affiché était animé, par exemple comme dans une présentation de télévision ou de film de cinéma. Cependant, des limitations de vitesse pour l'accès mémoire ont historiquement rendu l'animation d'images difficile à réaliser. Le temps requis par l'unité centrale de traitement (CPU) pour lire des données comprenant une image en provenance d'une mémoire et pour afficher ensuite ces données a généralement été plutôt long et les images n'apparaissent pas comme "se déplaçant" d'une trame à une autre d'une façon continue et fluide. Comme cela sera décrit, la présente invention prévoit un système à accès direct en mémoire (DMA) qui permet à des images mémorisées dans une mémoire d'être affichées dans une fenêtre sur un CRT à une vitesse qui permet de  A historical limitation to the use of window-based displays exists in the case where animation inside a window is desired. In such a case, a series of sequential frames of data is displayed in a window over time, thus appearing to the user as if the displayed object was animated, for example as in a television or movie presentation. . However, speed limits for memory access have historically made animation of images difficult to achieve. The time taken by the central processing unit (CPU) to read data including an image from a memory and then display this data has generally been rather long and the images do not appear as "moving" d 'one frame to another in a continuous and fluid way. As will be described, the present invention provides a direct memory access (DMA) system which allows images stored in memory to be displayed in a window on a CRT at a speed which allows

réaliser un effet d'animation.achieve an animation effect.

La présente invention décrit un appareil et des procédés  The present invention describes an apparatus and methods

d'accès direct en mémoire (DMA) trouvant des applications parti-  direct memory access (DMA) finding specific applications

culières pour une utilisation à un affichage d'images numériques sous forme animée sur un écran de tube à rayons cathodiques. La présente invention comprend un dispositif de commande DMA couplé par un bus à un tampon de trame. Le tampon de trame comprend une ou plusieurs cartes de bits représentatives de l'affichage. Un  particulars for use in displaying animated digital images on a cathode ray tube screen. The present invention includes a DMA controller coupled by a bus to a frame buffer. The frame buffer includes one or more bit maps representative of the display. A

Z587520Z587520

bloc contigu de mémoire dans le tampon de trame est tracé sur des éléments d'images (pixels) séquentiels sur l'affichage. Le tampon de trame analyse de façon continue la carte de bits représentant l'écran du CRT de sorte que des modifications aux bits de données dans le tampon de trame sont affichées de façon correspondante sur l'écran. Une pluralité de fenêtres peut être affichée sur le CRT en ayant des largeurs variables prédéfinies qui sont représentées de façon appropriée dans le tampon de trame. Des images numériques mémorisées en tant que "trames" séquentielles de données dans une mémoire, par exemple un disque dur ou une mémoire RAM, peuvent être transférées directement de la mémoire à une fenêtre de tampon de trame pour affichage sans qu'il soit nécessaire de prévoir une intervention de l'unité centrale de traitement (CPU) et un recalcul d'adresses. Un utilisateur définit initialement une largeur de fenêtre. La hauteur de fenêtre résulte du nombre de transferts de données à réaliser. Une zone rectangulaire est ainsi  contiguous block of memory in the frame buffer is plotted on sequential picture elements (pixels) on the display. The frame buffer continuously analyzes the bit map representing the CRT screen so that changes to the data bits in the frame buffer are displayed correspondingly on the screen. A plurality of windows can be displayed on the CRT by having predefined variable widths which are appropriately represented in the frame buffer. Digital images stored as sequential "frames" of data in memory, such as a hard drive or RAM, can be transferred directly from memory to a frame buffer window for display without the need for provide for intervention by the central processing unit (CPU) and a recalculation of addresses. A user initially defines a window width. The window height results from the number of data transfers to be performed. A rectangular area is thus

définie dans laquelle les données graphiques seront transférées.  defined in which the graphic data will be transferred.

L'utilisateur établit alors une adresse de base qui correspond à l'adresse mémoire initiale et est assignée à l'origine de la  The user then establishes a base address which corresponds to the initial memory address and is assigned to the origin of the

fenêtre prédéfinie, à savoir, le pixel supérieur gauche défi-  predefined window, namely, the upper left pixel defined

nissant la fenêtre. Un dispositif de commande DMA initialise une opération de lecture, d'o il résulte qu'une trame de données définissant l'image est lue séquentiellement à partir du disque ou  closing the window. A DMA controller initiates a read operation, resulting in a data frame defining the image being read sequentially from the disc or

de la mémoire principale et écrit vers la mémoire dans un disposi-  from main memory and writes to memory in a device

tif de commande graphique. Le dispositif de commande graphique transfère les données incidentes vers une fenêtre dans le tampon de trame pour un affichage ultérieur. Le logiciel h6te attend alors qu'un intervalle de temps prédéfini ("T") s'écoule avant d'initialiser toute autre opération de transfert de données. Si des trames additionnelles doivent être affichées, une nouvelle adresse de base est établie pour la trame séquentielle suivante et le processus se répète. En utilisant la présente invention, des images numériques mémorisées dans une mémoire peuvent être transférées directement à une "fenêtre" dans le tampon de trame à  graphic command. The graphics controller transfers the incident data to a window in the frame buffer for later display. The h6te software then waits for a predefined time interval ("T") to elapse before initiating any other data transfer operation. If additional frames are to be displayed, a new base address is established for the next sequential frame and the process repeats. Using the present invention, digital images stored in memory can be transferred directly to a "window" in the frame buffer at

haute vitesse, permettant ainsi de réaliser un effet d'animation.  high speed, making it possible to achieve an animation effect.

Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention apparaîtront plus en détail dans  These and other objects, features and advantages of the present invention will appear in more detail in

la description suivante de modes de réalisation particuliers faite  the following description of particular embodiments made

en relation avec les figures jointes parmi lesquelles: La figure 1 représente un système d'ordinateur incor- porant les enseignements de la présente invention;  in relation to the attached figures, among which: FIG. 1 represents a computer system incorporating the teachings of the present invention;

La figure 2 est un schéma sous forme de blocs repré-  FIG. 2 is a diagram in the form of blocks represented

sentant une mise en oeuvre de la présente invention pour permettre l'accès DMA et l'affichage d'images mémorisées; La figure 3 représente symboliquement l'utilisation du dispositif de commande DMA selon la présente invention à des transferts de données comprenant des images mémorisées sur des disques magnétiques et à l'affichage de telles images de façon animée; et La figure 4 est un organigramme illustrant la séquence d'opérations selon la présente invention pour afficher des images  feeling an implementation of the present invention to allow DMA access and display of stored images; FIG. 3 symbolically represents the use of the DMA control device according to the present invention for data transfers comprising images stored on magnetic disks and for displaying such images in an animated manner; and Figure 4 is a flow diagram illustrating the sequence of operations according to the present invention for displaying images.

mémorisées dans une mémoire.stored in a memory.

NOTATIONS ET NOMENCLATURENOTATIONS AND NOMENCLATURE

La description détaillée suivante est largement  The following detailed description is largely

présentée en terme d'algorithmes et de représentations symboliques d'opérations sur des bits de données dans une mémoire  presented in terms of algorithms and symbolic representations of operations on data bits in a memory

d'ordinateur. Ces descriptions d'algorithmes et représentations  computer. These descriptions of algorithms and representations

sont les moyens utilisés par l'homme de l'art dans le domaine du traitement des données pour transmettre le plus efficacement la  are the means used by those skilled in the art in the field of data processing to most effectively transmit the

substance de son travail vers d'autres hommes de l'art.  substance of his work towards other men of art.

Un algorithme est ici conçu comme une séquence auto-  An algorithm is here conceived as a self-

cohérente d'étapes conduisant à un résultat désiré. Ces étapes sont celles requérant des traitements physiques de quantités physiques. Habituellement, bien que cela ne soit pas nécessaire, ces quantités prennent la forme de signaux électriques ou magnétiques pouvant être mémorisés, tansfér4s, combinés, comparés  consistent steps leading to a desired result. These stages are those requiring physical processing of physical quantities. Usually, although not necessary, these quantities take the form of electrical or magnetic signals which can be stored, transferred, combined, compared

et manipulés d'autres façons. Il s'avère parfois commode, essen-  and manipulated in other ways. It is sometimes convenient, essential

tiellement pour satisfaire aux usages en cours, d'appeler ces signaux: bits, valeurs, éléments, symboles, caractères, termes, nombres ou analogues. Il faut toutefois garder à l'esprit que tous ces termes et des termes similaires doivent être associés aux quantités physiques appropriées et constituent simplement des  tially to satisfy current uses, to call these signals: bits, values, elements, symbols, characters, terms, numbers or the like. It should be borne in mind, however, that all of these and similar terms must be associated with the appropriate physical quantities and are simply

étiquettes commodes appliquées à ces quantités.  convenient labels applied to these quantities.

En outre, les manipulations effectuées sont souvent  In addition, the manipulations carried out are often

désignées par des termes tels qu'addition, transfert ou com-  designated by terms such as addition, transfer or

paraison qui sont commodément associés à des opérations mentales réalisées par un opérateur humain. Aucune tellé capacité d'un opérateur humain n'est nécessaire, ou souhaitable, dans la plupart des cas pour toutes les opérations décrites ici qui font partie de la présente invention; ces opérations sont des opérations de machine. Des machines utiles pour réaliser des opérations selon la présente invention comprennent de façon gén&rale des ordinateurs numériques ou des dispositifs similaires. Dans tous les cas, il faut garder à l'esprit la distinction entre les opérations du procédé d'actionnement d'un ordinateur et le procédé de calcul lui-même. La présente invention concerne des étapes de procédgs  parison which are conveniently associated with mental operations performed by a human operator. No such human operator capability is necessary, or desirable, in most cases for all of the operations described herein which are part of the present invention; these operations are machine operations. Machines useful for performing operations according to the present invention generally include digital computers or similar devices. In all cases, it is necessary to keep in mind the distinction between the operations of the actuation process of a computer and the calculation process itself. The present invention relates to procedural steps.

pour faire fonctionner un ordinateur et traiter des signaux physi-  to operate a computer and process physical signals

ques, électriques ou autres (par exemple mécaniques, chimiques,..)  electrical, or other (eg mechanical, chemical, etc.)

pour produire d'autres signaux souhaités.  to produce other desired signals.

La présente invention concerne également un appareil pour mettre en oeuvre ces opérations. Cet appareil peut être spécialement construit dans les buts requis (c'est-à-dire un dispositif de commande à accès direct en mémoire et un tampon de trame), ou bien, il peut comprendre un ordinateur non spécifique sélectivement activé ou conformé par un programme d'ordinateur mémorisé. Les algorithmes et circuits présentés ici ne sont pas  The present invention also relates to an apparatus for carrying out these operations. This apparatus may be specially constructed for the required purposes (i.e., a direct memory access controller and a frame buffer), or it may include a non-specific computer selectively activated or conformed by a stored computer program. The algorithms and circuits presented here are not

liés de façon inhérente à un ordinateur ou autre appareil par-  inherently linked to a computer or other device

ticulier.particular.

DESCRIPTION DETAILLEE D'UN MODE DE REALISATION DE L'INVENTION  DETAILED DESCRIPTION OF AN EMBODIMENT OF THE INVENTION

Un appareil et des procédés d'accès direct en mémoire (DMA) pour afficher des images numériques sous forme animée sont  Apparatus and methods for direct memory access (DMA) for displaying digital images in animated form are

décrits. Dans la description suivante, de nombreux détails sont  described. In the following description, many details are

exposés tels que des nombres de bits, des architectures, des séquences d'opérations, etc. pour fournir une compréhension précise de la présente invention. Toutefois, il sera clair pour l'homme de l'art que la présente invention peut être mise en  statements such as bit numbers, architectures, sequences of operations, etc. to provide an accurate understanding of the present invention. However, it will be clear to those skilled in the art that the present invention can be implemented.

oeuvre sans ces détails particuliers. Dans d'autres cas, des cir-  works without these particular details. In other cases,

cuits et des structures bien connus ne sont pas décrits de façon détaillée pour ne pas obscurcir de façon non nécessaire l'exposé  well-known structures and structures are not described in detail so as not to unnecessarily obscure the presentation

de la présente invention.of the present invention.

La figure 1 représente un système d'ordinateur pour produire et afficher des images numériques selon la présente  Figure 1 shows a computer system for producing and displaying digital images according to the present

invention. Un ordinateur central 10 (qui dans le mode de réalisa-  invention. A central computer 10 (which in the embodiment

tion actuellement préféré comprend un microprocesseur MOTOROLA 68010 à 32 bits) est couplé à un bus 12. L'ordinateur central 10 réalise diverses fonctions comprenant l'exécution d'un logiciel  tion currently preferred comprises a 32-bit MOTOROLA 68010 microprocessor) is coupled to a bus 12. The central computer 10 performs various functions including the execution of software

d'application fourni par un utilisateur qui peut définir des ima-  provided by a user who can define images

ges à afficher dans des fenêtres sur un affichage à tube à rayons cathodiques (CRT) 14. Une mémoire 15 est représentée comme couplée à l'ordinateur 10 permettant à des données d'être transférées sur le bus vers les diverses ressources de traitement de données associées. Pour afficher des images, la présente invention utilise un dispositif de commande graphique 26 comprenant un tampon de trame couleur 18 couplé au bus 12 et au CRT 14. Le tampon de trame 18 comprend une ou plusieurs "cartes de bits" de l'écran d'affichage du CRT 14. Dans chaque carte de bits, un bloc mémoire dans le tampon de trame 18 est alloué de sorte que chaque adresse mémoire et valeur de données est représentée sur un élément d'image (pixel) correspondant du système d'affichage. Ainsi, pour chaque carte de bits, l'écran complet du CRT est représenté comme 1 ou bien un 1 (par exemple premier plan) ou bien un O (par exemple fond) dans un bloc memoire appelé "carte de bits". Dans un système à plusieurs plans, la valeur "à N bits" de chaque adresse mémoire est typiquement représentée par une RAM de référence de carte couleur pour fournir une gamme de couleurs pour chaque pixel. Le  ges to display in windows on a cathode ray tube display (CRT) 14. A memory 15 is shown as coupled to the computer 10 allowing data to be transferred on the bus to the various data processing resources associated. To display images, the present invention uses a graphic controller 26 comprising a color frame buffer 18 coupled to the bus 12 and to the CRT 14. The frame buffer 18 comprises one or more "bit cards" of the screen d display of CRT 14. In each bit card, a memory block in the frame buffer 18 is allocated so that each memory address and data value is represented on a corresponding picture element (pixel) of the display system . Thus, for each bit card, the complete screen of the CRT is represented as 1 or else a 1 (for example foreground) or else an O (for example background) in a memory block called "bit card". In a multi-plane system, the "N-bit" value of each memory address is typically represented by a color map reference RAM to provide a range of colors for each pixel. The

tampon de trame 18 analyse en continu la carte de bits reprêsen-  frame buffer 18 continuously analyzes the bit map shown

tant l'écran du CRT, comme cela est bien connu dans la technique,  both the CRT screen, as is well known in the art,

de sorte que des modifications à des bits de données dans le tam-  so changes to bits of data in the tam-

pon de trame 18 sont affichées de façon correspondante sur le CRT 14. Un dispositif de commande DMA 20 est couplé au bus 12 et à un lecteur de disque dur 22. En outre, le dispositif de commande DMA 20 peut être couplé à une interface de réseau 24, par exemple ETHERNET, DECNET ou analogue, ou bien à des lecteurs de disques durs supplémentaires ou bien à d'autres dispositifs mémoire. Comme le représentent les figures 1 et 3, selon la présente invention, une pluralité de fenêtres peut être affichée sur le CRT 14 en écrivant de façon appropriée des données dans des zones du tampon de trame 18. En pratique, le tampon de trame 18 comprend une mémoire à carte de bits comprenant une RAM dynamique à double accès dans laquelle chaque multiplet de mémoire  frame pon 18 are displayed correspondingly on the CRT 14. A DMA controller 20 is coupled to bus 12 and a hard disk drive 22. In addition, the DMA controller 20 can be coupled to a network 24, for example ETHERNET, DECNET or the like, or to additional hard disk drives or other memory devices. As shown in Figures 1 and 3, according to the present invention, a plurality of windows can be displayed on the CRT 14 by appropriately writing data to areas of the frame buffer 18. In practice, the frame buffer 18 comprises a bit card memory comprising a dynamic dual access RAM in which each byte of memory

correspond à un pixel sur l'affichage du CRT 14. En outre, le tam-  corresponds to one pixel on the CRT 14 display. In addition, the tam-

pon de trame 18 peut comprendre une pluralité de cartes de bits représentatives du CRT 14, de sorte qu'un ensemble mémoire peut  frame pon 18 can include a plurality of bit cards representative of CRT 14, so that a memory set can

être mis à jour tandis qu'un autre est lu pour affichage, le pre-  be updated while another is read for display, the first

mier ensemble étant affiché tandis que le second ensemble est mis à jour et ainsi de suite. Cette technique est appelée technique à tampon double et permet un passage instantané d'une image à la suivante sans l'effet visuel d'affichage d'une image partiellement mise à jour. Comme cela est représenté, chaque fenêtre affichée  mier ensemble being displayed while the second ensemble is updated and so on. This technique is called the double buffer technique and allows instantaneous passage from one image to the next without the visual effect of displaying a partially updated image. As shown, each window displayed

sur le CRT 14 peut comprendre plusieurs caractères alpha-  on CRT 14 can include several alpha characters

numériques et/ou graphiques. Les fenêtres peuvent être en recouvrement l'une par rapport à l'autre donnant ainsi l'apparence de dossiers posées sur un bureau. Dans la plupart des cas, les données à afficher sont traitées par le CPU 10 par exécution d'un programme d'application. Les données à afficher sont alors transférées par le bus 12 dans le tampon de trame 18 comprenant une ou plusieurs cartes de bits. Toutefois, dans le cas o des images numériques doivent être affichées sous forme animée, il s'est avéré que les exigences du traitement du CPU 10 pour accéder à l'image, située par exemple dans la mémoire 15, sont trop lentes pour réaliser un effet d'animation crédible. En outre, l'espace mémoire requis pour mémoriser des centaines ou des milliers  digital and / or graphics. The windows can be overlapped with respect to each other, thus giving the appearance of files placed on a desk. In most cases, the data to be displayed is processed by the CPU 10 by executing an application program. The data to be displayed is then transferred by the bus 12 in the frame buffer 18 comprising one or more bit cards. However, in the case where digital images have to be displayed in animated form, it has turned out that the processing requirements of the CPU 10 to access the image, located for example in memory 15, are too slow to perform a credible animation effect. In addition, the memory space required to store hundreds or thousands

d'images pré-calculées dans une mémoire principale de CPU est pro-  of pre-calculated images in a main CPU memory is pro-

hibitivement coûteux en comparaison du coût des mémoires de masse  hibitively expensive compared to the cost of mass storage devices

telles qu'un disque 22. La présente invention pallie les limita-  such as a disc 22. The present invention overcomes the limitations

tions des systèmes d'affichage de l'art antérieur en prévoyant un  tions of the display systems of the prior art by providing a

circuit dans le dispositif de commande DMA 20 qui permet au dispo-  circuit in the DMA 20 control device which allows the

sitif de commande de lire le disque 22, ou les données reçues à  command to read disc 22, or the data received at

partir du réseau 24, comprenant une trame d'informations numé-  from network 24, comprising a frame of digital information

riques définissant une image, et d'afficher l'image sur le CRT 14 sans qu'il soit nécessaire de prévoir un traitement par le CPU 10 et d'utiliser de grandes quantités de la mémoire principale du CPU. La présente invention permet à une "fenêtre" d'être définie  risks defining an image, and displaying the image on the CRT 14 without it being necessary to provide processing by the CPU 10 and to use large amounts of the main memory of the CPU. The present invention allows a "window" to be defined

sur le CRT 14 avec une dimension souhaitée et d'écrire séquentiel-  on CRT 14 with a desired dimension and to write sequentially-

lement des données dans une partie du tampon de trame 18 o est  data in part of the frame buffer 18 o is

située la fenêtre.located the window.

En relation avec les figures 1, 3 et 4, on supposera par exemple qu'un utilisateur désire avoir accès à une séquence d'images numériques (appelée trame) mémorisée sur le disque magnétique 22. Dans le mode de réalisation actuellement préféré, le CRT 14 et la carte de bits correspondante dans le tampon de trame 18 sont organisés de sorte que le pixel dans le coin  In connection with FIGS. 1, 3 and 4, it will be assumed for example that a user wishes to have access to a sequence of digital images (called frame) stored on the magnetic disc 22. In the currently preferred embodiment, the CRT 14 and the corresponding bit map in the frame buffer 18 are organized so that the pixel in the corner

supérieur gauche de l'écran 14 est désigné comme le point d'ori-  upper left of screen 14 is designated as the point of ori-

gine (0,0) de l'affichage. En outre, dans ce mode de réalisation, l'affichage CRT 14 numérote chaque pixel suivant le long d'une ligne de balayage d'une façon linéaire séquentielle. Actuellement, il existe 1 152 pixels le long de chaque ligne de balayage de l'affichage à CRT 14, numérotés 0 à 1151. Le pixel commençant à la  gine (0,0) of the display. Furthermore, in this embodiment, the CRT display 14 numbers each subsequent pixel along a scan line in a sequential linear fashion. Currently, there are 1,152 pixels along each scan line of the CRT 14 display, numbered 0 through 1151. The pixel beginning at the

ligne de balayage suivante est numéroté 1152 et ainsi de suite.  Next scan line is numbered 1152 and so on.

Les fenêtres prévues dans l'écran d'affichage sont définies par des zones contenant la carte de bits la plus grande, comme cela  The windows provided in the display screen are defined by areas containing the largest bit map, like this

est mieux représenté en figures 1 et 3. Selon la présente inven-  is better represented in FIGS. 1 and 3. According to the present invention

tion, un utilisateur désirant transférer séquentiellement et directement des images graphiques mémorisées sous forme numérique dans une mémoire, telle que la mémoire 15 ou le disque 22, définit initialement une largeur de fenêtre à l'intérieur de chacune des cartes de bits du tampon de trame 18 et une zone correspondante du CRT 14. Comme cela est mieux représenté en figure 3, la largeur de fenêtre définit une zone rectangulaire dans laquelle les données graphiques seront transférées. Dans le mode de réalisation actuellement préféré, la dimension de l'image mémorisée dans le dispositif mémoire correspond à la dimension de l'image qui sera ensuite affichée sur le CRT 14 telle que mémorisée dans le tampon de trame 18. Par exemple, une image numérique mémorisée dans le disque dur 22 ayant des dimensions de 512x512 bits sera affichée sur le CRT 14 comme une image d'une largeur de 512 pixels et d'une hauteur de 512 pixels. Il est en conséquence important pour l'utilisateur de spécifier la largeur de fenêtre qui correspond à la largeur des images affichées dans la fenêtre. L'utilisateur  tion, a user wishing to transfer sequentially and directly graphic images stored in digital form in a memory, such as memory 15 or disk 22, initially defines a window width inside each of the bit cards of the frame buffer. 18 and a corresponding zone of the CRT 14. As is better represented in FIG. 3, the window width defines a rectangular zone in which the graphic data will be transferred. In the currently preferred embodiment, the size of the image stored in the memory device corresponds to the size of the image which will then be displayed on the CRT 14 as stored in the frame buffer 18. For example, an image The digital memory stored in the hard disk 22 having dimensions of 512 × 512 bits will be displayed on the CRT 14 as an image with a width of 512 pixels and a height of 512 pixels. It is therefore important for the user to specify the window width which corresponds to the width of the images displayed in the window. The user

établit alors l'adresse de base pour l'accès mémoire, qui cor-  then establishes the base address for memory access, which cor-

respond à l'adresse mémoire initiale qui sera assignée à l'origine de la fenêtre prédéfinie, à savoir le point supérieur gauche définissant la fenêtre. Dans l'exemple de la figure 3, ce point d'adresse de base est appelé point "B". Le dispositif de commande DMA 20 initialise alors une opération de lecture séquentielle d'o il résulte qu'une trame de données définissant l'image est lue à partir de la mémoire (par exemple le disque dur 22 ou la mémoire ) et est transférée par le bus 12 dans le tampon de trame 18 au niveau d'une gamme d'adresses prédéterminée. La logique prévue sur le dispositif de commande 26 et le tampon de trame 18 décide de  corresponds to the initial memory address which will be assigned to the origin of the predefined window, namely the upper left point defining the window. In the example of FIG. 3, this base address point is called point "B". The DMA controller 20 then initializes a sequential read operation from which it results that a data frame defining the image is read from the memory (for example the hard disk 22 or the memory) and is transferred by the bus 12 in the frame buffer 18 at a predetermined address range. The logic provided on the control device 26 and the frame buffer 18 decides to

l'adresse fournie et redirige les données incidentes vers l'empla-  the address provided and redirects incident data to the job

cement approprié sur le tampon de trame comprenant la fenêtre souhaitée sur le CRT 14. Par suite du transfert des données vers le tampon de trame 18, celles-ci sont ensuite analysées, d'une façon connue dans la technique, et affichées sur le CRT 14. Le logiciel hôte attend alors une durée prédéfinie (par exemple 1/24e ou 1/16e de seconde) avant de traiter d'autres opérations sur les données pour afficher des trames suivantes des données graphiques numériques. L'homme de l'art notera que, dans le cas o le tampon  appropriate cementing on the frame buffer comprising the desired window on the CRT 14. Following the transfer of the data to the frame buffer 18, these are then analyzed, in a manner known in the art, and displayed on the CRT 14. The host software then waits for a predefined duration (for example 1 / 24th or 1 / 16th of a second) before processing other operations on the data to display subsequent frames of digital graphic data. Those skilled in the art will note that, in the event that the tampon

de trame 18 est un tampon double (de sorte par exemple que le tam-  weft 18 is a double buffer (so for example that the tam-

pon de trame 18 contient deux cartes de bits de dimensions complètes qui peuvent être "basculées" alternativement), pendant le retour vertical du CRT 14, le dispositif de commande DMA 20 alternera entre les cartes de bits du tampon de trame pour chaque  frame pon 18 contains two bit cards of full dimensions which can be alternately "toggled"), during the vertical return of CRT 14, the DMA controller 20 will alternate between the bit cards of the frame buffer for each

cycle d'écriture.writing cycle.

Dans le cas o des trames supplémentaires doivent être affichées pour fournir un effet animé, le dispositif de commande DMA 20 établit une nouvelle adresse de base pour l'accès mémoire suivant et initialise des opérations de lecture supplémentaires à partir de la mémoire pour rechercher la trame suivante de l'image numérique. Ce cycle se continue jusqu'à ce que toutes les trames  In the event that additional frames are to be displayed to provide an animated effect, the DMA controller 20 establishes a new base address for the next memory access and initiates additional read operations from memory to search for the frame next of the digital image. This cycle continues until all the frames

soient formées directement à partir de la mémoire par l'inter-  are formed directly from memory through the

médiaire du dispositif de commande DMA 20 et dans la fenêtre du  of the DMA 20 control device and in the window

tampon de trame 18.frame buffer 18.

La figure 2 représente un sch6ma sous forme de blocs d'une partie de la logique d'accès mémoire dans le tampon de trame  FIG. 2 represents a block diagram of part of the memory access logic in the frame buffer

18. Comme cela sera décrit ci-dessous, le circuit représenté four-  18. As will be described below, the circuit shown provides

nit des signaux d'adresses de rangées (RAS) et des signaux d'adresses de colonnes (CAS) qui sont couplés au dispositif mémoire approprié mémorisant les images numériques. Un utilisateur établit une adresse de base initiale et fournit cette adresse au compteur de base 30. De même, l'utilisateur établit la largeur de la fenêtre DMA affichée sur le CRT 14 en définissant, en binaire, le nombre de pixels correspondant à la largeur que doit avoir la  nit row address signals (RAS) and column address signals (CAS) which are coupled to the appropriate memory device storing the digital images. A user establishes an initial base address and supplies this address to the base counter 30. Similarly, the user establishes the width of the DMA window displayed on the CRT 14 by defining, in binary, the number of pixels corresponding to the width what must the

fenêtre et en écrivant ce nombre vers un registre de largeur 32.  window and writing this number to a register of width 32.

La sortie du registre de largeur 32 est couplée à un compteur à 12 bits 34 de sorte que la valeur de la largeur est fournie aux  The output of the width register 32 is coupled to a 12-bit counter 34 so that the width value is supplied to the

entrées de chargement de données du compteur 34. La borne de sor-  counter 34 data loading inputs. The output terminal

tie de comptage TC d'un compteur de limite 36 est couplée à  TC counting tie of a limit counter 36 is coupled to

l'entrée de validation de comptage (CFN) du compteur 30 qui comp-  the counter validation input (CFN) of counter 30 which

tera jusqu'à un nombre préd6fini de cycles avant maintien. Par exemple, dans le cas représenté en figure 3, la dimension de l'écran du CRT et, en conséquence, la dimension de la carte de bits du tampon de trames sont d'une largeur de 1152 pixels. Cette valeur représente la limite de la longueur de ligne de balayage pour le système d'affichage particulier, la valeur de comptage  tera up to a predefined number of cycles before maintenance. For example, in the case shown in FIG. 3, the size of the CRT screen and, consequently, the size of the bit map of the frame buffer are 1152 pixels wide. This value represents the limit of the scan line length for the particular display system, the count value

maximale pour le compteur 36, et le nombre de cycles dont le comp-  maximum for counter 36, and the number of cycles including

teur 30 avancera avant maintien. Un compteur de 20 bits 38 est chargé par les sorties Qx du compteur de base 30, et les sorties Ox du compteur 38, comme cela sera d&crit, définissent les adresses RAS et CAS commandant la mémoire tampon de trames à  tor 30 will advance before maintenance. A 20-bit counter 38 is loaded by the outputs Qx of the base counter 30, and the outputs Ox of the counter 38, as will be described, define the RAS and CAS addresses controlling the frame buffer memory

laquelle on a eu accès.which we had access to.

Dans le cas o aucun transfert DMA ne doit prendre place, une horloge de système 39 incrémente le compteur de limite 36 à partir de sa valeur initiale vers son comptage maximal. De même, l'horloge de système 39 incrémente simultanément le compteur de base 30 à partir de la valeur de base initialement prévue. Une fois que le compteur de limite atteint son maximum, il ne s'incrémente plus et empêche le compteur de base 30 de le faire également. En conséquence, la valeur de base finale est égale à la valeur de base initiale plus l'étendue du compteur de limite (c'est-àdire 1152). La valeur contenue dans le compteur de 20 bits 38 est la valeur d'adresse de base initiale puisqu'aucun transfert DMA n'a pris place. Ainsi, le compteur à 20 bits 38 n'a pas été incrémenté. De même, la valeur dans le registre de largeur 32 et le compteur à 12 bits 34 reste également la même  In the event that no DMA transfer is to take place, a system clock 39 increments the limit counter 36 from its initial value to its maximum count. Likewise, the system clock 39 simultaneously increments the base counter 30 from the base value initially planned. Once the limit counter reaches its maximum, it no longer increments and prevents the basic counter 30 from doing so as well. As a result, the final base value is equal to the initial base value plus the range of the limit counter (i.e. 1152). The value contained in the 20-bit counter 38 is the initial base address value since no DMA transfer has taken place. Thus, the 20-bit counter 38 has not been incremented. Likewise, the value in the width register 32 and the 12-bit counter 34 also remains the same

puisqu'aucun transfert DMA n'a pris place.  since no DMA transfer took place.

Dans le cas o un transfert DMA de la mémoire au tampon de trame 18 doit prendre place, les valeurs de base et de largeur initiales sont fournies, comme cela a été exposé précédemment. En conséquence, avant l'initialisation du transfert DMA, la valeur de base initiale est mémorisée dans le compteur de base 30 et le  In the event that a DMA transfer from memory to frame buffer 18 is to take place, the initial base and width values are provided, as discussed above. Consequently, before the initialization of the DMA transfer, the initial basic value is stored in the basic counter 30 and the

compteur de 20 bits 38, et la valeur de largeur initiale en prove-  20-bit counter 38, and the initial width value from it

nance du registre de largeur 32 est fournie au compteur à 12 bits 34. Comme cela est représenté, le compteur à 12 bits 34 est incrémenté par suite de l'achèvement de chaque cycle de mémoire par un signal fourni sur la ligne 40. Chaque cycle mémoire  The width register 32 is supplied to the 12-bit counter 34. As shown, the 12-bit counter 34 is incremented upon completion of each memory cycle by a signal supplied on line 40. Each cycle memory

incrémente le compteur de largeur à 12 bits 34 ainsi que le comp-  increments the 12-bit width counter 34 as well as the

teur à 20 bits 38. En conséquence, le compteur à 20 bits 38 four-  20-bit counter 38. Consequently, the 20-bit counter 38 provides

nit une adresse de tampon de trame en incrementation pour chaque nouvelle donnée reçue sur le bus de système 12. Quand le compteur à 12 bits 34 atteint la largeur de fenêtre maximale prédéfinie, un signal de comptage terminal (TC) est fourni sur la ligne 42 qui  nit a frame buffer address in incrementation for each new data received on the system bus 12. When the 12-bit counter 34 reaches the predefined maximum window width, a terminal counting signal (TC) is supplied on line 42 who

recharge une nouvelle valeur de base dans le compteur de base 30.  reloads a new base value in base counter 30.

Comme cela a été décrit précédemment, la nouvelle adresse de base fournie sera l'adresse de base précédente plus la valeur limite du compteur (c'est-à-dire 1152). L'effet du chargement de cette adresse modifiée dans le compteur de base 38 est de faire avancer le compteur a l'adresse de départ de la ligne de balayage suivante dans la fenêtre définie. En outre, l'insertion du signal TC 42 recharge le compteur de limite 36 de sorte qu'il commence à compter à nouveau encore une fois jusqu'à sa limite. En outre, le signal TC 42 recharge la valeur de la largeur prévue dans le registre de largeur 32 dans le compteur à 12 bits 34, et provoque  As described above, the new base address provided will be the previous base address plus the limit value of the counter (i.e. 1152). The effect of loading this modified address into the base counter 38 is to advance the counter to the starting address of the next scan line in the defined window. In addition, the insertion of the signal TC 42 recharges the limit counter 36 so that it begins to count again again until its limit. In addition, the signal TC 42 reloads the value of the width provided in the width register 32 in the 12-bit counter 34, and causes

sa propre désinsertion. La séquence d'opérations décrite se con-  its own disinsertion. The sequence of operations described is

tinue jusqu'à ce que toute la trame de données ait été lue et mémorisée dans le tampon de trame 18. En conséquence, un appareil et des procédés ont été décrits pour un accès direct en mémoire pour afficher des images numériques sous forme animée sur un CRT. On notera que la présente invention a été décrite en relation particulière avec les figures 1 à 4 mais que toutefois il est possible pour l'homme de l'art d'effectuer divers changements et modifications aux éléments et agencements des éléments de l'invention sans sortir du domaine de celle-ci.  continues until the entire data frame has been read and stored in the frame buffer 18. Accordingly, apparatus and methods have been described for direct memory access for displaying digital images in animated form on a CRT. It will be noted that the present invention has been described in particular relation to FIGS. 1 to 4 but that it is however possible for a person skilled in the art to make various changes and modifications to the elements and arrangements of the elements of the invention without get out of the domain of it.

Claims (29)

REVENDICATIONS 1. Appareil pour transférer des données entre un dis-  1. Apparatus for transferring data between a device positif de mémoire et un affichage, caractérisé en ce qu'il comprend: - un moyen d'affichage (14) pour afficher des données, ce moyen d'affichage comprenant un affichage muni de plusieurs éléments d'affichage validés sélectivement; - un moyen de tampon de trame (18) couplé au moyen d'affichage pour mémoriser les données à afficher, ce moyen tampon de trame comprenant au moins une carte de bits comprenant une pluralité de bits de données, ces bits représentant l'état d'un élément d'affichage sur l'affichage; - un moyen de mémoire (15) pour mémoriser des données à afficher, ces données étant mémorisées sous forme de trame dans le moyen de mémoire et définies par des emplacements d'adresse uniques; - un moyen de commande (20) couplé au moyen de mémoire et au moyen de tampon de trame pour lire une trame de données à partir du moyen de mémoire et transférer les données vers des emplacements choisis du moyen de tampon de trame, ces emplacements étant définis par une valeur de largeur et un point d'origine, ledit moyen de commande lisant séquentiellement les données en commençant par une adresse de base de sorte que les données sont  memory positive and a display, characterized in that it comprises: - display means (14) for displaying data, this display means comprising a display provided with several selectively validated display elements; - a frame buffer means (18) coupled to the display means for storing the data to be displayed, this frame buffer means comprising at least one bit card comprising a plurality of data bits, these bits representing the state d a display element on the display; - memory means (15) for storing data to be displayed, this data being stored in the form of a frame in the memory means and defined by unique address locations; - control means (20) coupled to the memory means and the frame buffer means for reading a frame of data from the memory means and transferring the data to selected locations of the frame buffer means, these locations being defined by a width value and a point of origin, said control means sequentially reading the data starting with a base address so that the data is transférées dans l'ordre dans lequelle elles seront lues à par-  transferred in the order in which they will be read from tir du tampon de trame pour affichage; d'o il résulte que les données peuvent être transférées  firing of the frame buffer for display; from which it follows that the data can be transferred à haute vitesse vers l'affichage.at high speed to the display. 2. Appareil selon la revendication 1, caractérisé en ce que les éléments d'affichage sont organisés en lignes de balayage et en ce que les données dans le moyen de mémoire sont lues par le  2. Apparatus according to claim 1, characterized in that the display elements are organized in scanning lines and in that the data in the memory means are read by the moyen de commande ligne par ligne.command line by line. 3. Appareil selon la revendication 2, caractérisé en ce que les emplacements choisis dans le tampon de trame comprennent un réseau rectangulaire, les emplacements du réseau constituant un  3. Apparatus according to claim 2, characterized in that the locations chosen in the frame buffer comprise a rectangular network, the locations of the network constituting a sous-ensemble de la carte de bits.bit card subset. 4. Appareil selon la revendication 3, caractérisé en ce que les emplacements définissant le réseau rectangulaire sont lus par le moyen de commande dans l'ordre dans Lequel les données sont  4. Apparatus according to claim 3, characterized in that the locations defining the rectangular network are read by the control means in the order in which the data are lues à partir du moyen de mémoire.  read from the memory medium. 5. Appareil selon la revendication 4, caract&risé en ce que le moyen de commande lit des trames successives de l'image mémorisée et transfère chacune des trames de données au réseau  5. Apparatus according to claim 4, characterized in that the control means reads successive frames of the stored image and transfers each of the data frames to the network. rectangulaire séparée par une durée "T".  rectangular separated by a duration "T". 6. Appareil selon la revendication 4, caractérisé en ce que la valeur de largeur et l'adresse de base sont définies par l'utilisateur.  6. Apparatus according to claim 4, characterized in that the width value and the base address are defined by the user. 7. Appareil selon la revendication 2, caractérisé en ce7. Apparatus according to claim 2, characterized in that que le moyen de commande comprend un tampon pour mémoriser tem-  that the control means comprises a buffer for storing time porairement chacune des trames avant transfert vers le moyen de  porally each of the frames before transfer to the means of tampon de trame.frame buffer. 8. Appareil selon la revendication 1, caractérisé en ce  8. Apparatus according to claim 1, characterized in that que les données à afficher comprennent une image numérique.  that the data to be displayed includes a digital image. 9. Appareil selon la revendication 4, caractérisé en ce que le moyen de commande comprend: - un moyen de comptage de base (30) pour recevoir la valeur de base; - un moyen de comptage de limite (36) couplé au moyen de  9. Apparatus according to claim 4, characterized in that the control means comprises: - a basic counting means (30) for receiving the basic value; - a limit counting means (36) coupled by means of comptage de base pour compter jusqu'à une valeur limite de main-  basic counting to count up to a hand limit value tien et empêcher ensuite le moyen de comptage de base de continuer à compter; - un moyen de comptage de largeur (32, 34) pour recevoir la valeur de largeur; - un moyen de comptage de sortie d'adresse (38) couplé au moyen de comptage de base et au moyen de comptage de largeur, le moyen de comptage de sortie d'adresse fournissant des signaux  hold and then prevent the basic counting means from continuing to count; - width counting means (32, 34) for receiving the width value; - an address output counting means (38) coupled to the basic counting means and to the width counting means, the address output counting means providing signals de sortie RAS et CAS définissant les emplacements d'adresse uni-  RAS and CAS output defining unified address locations ques dans le moyen de mémoire; - un moyen d'horloge de système (39) couplé au moyen de comptage de base pour incrémenter le moyen de comptage de base et le moyen de comptage de limite; - un moyen de génération de signal de cycle mémoire couplé au moyen de comptage de largeur pour fournir un signal de cycle mémoire pour incrémenter le moyen de comptage de largeur et  ques in the memory means; - system clock means (39) coupled to the base counting means for incrementing the base counting means and the limit counting means; a memory cycle signal generation means coupled to the width counting means for supplying a memory cycle signal for incrementing the width counting means and incrémenter ainsi le signal RAS.thus increment the RAS signal. 10. Appareil selon la revendication 9, caractérisé en ce que le moyen de comptage de largeur (34) fournit un signal de comptage terminal (TC) après avoir atteint ladite valeur de largeur, ledit signal (TC) rechargeant ladite valeur de largeur dans le moyen de comptage de largeur, remettant à zéro le compteur de limite (36) et fournissant une nouvelle adresse de base de  10. Apparatus according to claim 9, characterized in that the width counting means (34) provides a terminal count signal (TC) after reaching said width value, said signal (TC) reloading said width value in the width counting means, resetting the limit counter (36) and providing a new base address for mémoire au moyen de comptage de base (30).  memory by means of basic counting (30). 11. Appareil selon la revendication 10, caractérisé en ce que le moyen de comptage de base (30) comprend un compteur à 20 bits.  11. Apparatus according to claim 10, characterized in that the basic counting means (30) comprises a 20-bit counter. 12. Appareil selon la revendication 11, caractérisé en ce que le moyen de comptage de largeur (34) comprend un compteur12. Apparatus according to claim 11, characterized in that the width counting means (34) comprises a counter 12 bits couplé à un registre de largeur (32).  12 bits coupled to a width register (32). 13. Appareil selon la revendication 12, earactérisé en ce que le moyen de comptage de sortie d'adresse (38) comprend un  13. Apparatus according to claim 12, earactérisé in that the address output counting means (38) comprises a compteur à 20 bits.20-bit counter. 14. Appareil selon la revendication 13, caractérisé en ce que le moyen de commande, le moyen de mémoire et le moyen de  14. Apparatus according to claim 13, characterized in that the control means, the memory means and the means of tampon de trame sont couplés l'un à l'autre par un bus (12).  frame buffer are coupled to each other by a bus (12). 15. Procédé de transfert de données entre un dispositif  15. Method for transferring data between a device de mémoire et un affichage dans un système d'affichage à ordina-  memory and display in a computer display system teur comprenant un moyen d'affichage muni d'un affichage avec une  tor comprising a display means provided with a display with a pluralité d'éléments d'affichage validés sélectivement, carac-  plurality of selectively validated display elements, character- térisé en ce qu'il comprend les étapes suivantes: - mémoriser les données à afficher dans un moyen de mémoire, ces données étant organisées en trames et définies par des emplacements d'adresse unique; - définir une trame de données à partir du moyen de mémoire et transférer les données vers des emplacements choisis dans un tampon de trame couplé-au moyen d'affichage, ce tampon de trame comprenant au moins une carte de bits comprenant une pluralité de bits de données, ces bits représentant l'état d'un  characterized in that it comprises the following steps: - storing the data to be displayed in a memory means, this data being organized in frames and defined by unique address locations; defining a data frame from the memory means and transferring the data to selected locations in a coupled frame buffer using the display means, this frame buffer comprising at least one bit card comprising a plurality of bits of data, these bits representing the state of a élément d'affichage sur l'affichage, les emplacements dans le tam-  display element on the display, the locations in the tam- pon de trame étant définis par une valeur de largeur et un point d'origine, la trame étant lue séquentiellement à partir d'une adresse de base de sorte que les données sont transférées dans l'ordre dans lequel elles seront lues à partir du tampon de trame pour affichage; d'o il résulte que les données sont transférées à haute  frame pon being defined by a width value and an origin point, the frame being read sequentially from a base address so that the data is transferred in the order in which it will be read from the buffer frame for display; from which it follows that the data is transferred at high vitesse vers l'affichage.speed to display. 16. Procédé selon la revendication 15, caractérisé en ce que les éléments d'affichage sont organisés en lignes de balayage et en ce que les données mémorisées dans le moyen de mémoire sont  16. Method according to claim 15, characterized in that the display elements are organized in scanning lines and in that the data stored in the memory means are lues ligne par ligne.read line by line. 17. Procédé selon la revendication 16, caractérisé en ce que les emplacements choisis dans le tampon de trame comprennent un réseau rectangulaire, les emplacements du réseau constituant un  17. The method of claim 16, characterized in that the locations chosen in the frame buffer comprise a rectangular network, the locations of the network constituting a sous-ensemble de la carte de bits.bit card subset. 18. Procédé selon la revendication 17, caractérisé en ce que les emplacements définissant le réseau rectangulaire sont lus par le moyen de commande dans l'ordre dans lequel les données sont  18. Method according to claim 17, characterized in that the locations defining the rectangular network are read by the control means in the order in which the data are lues à partir du moyen de mémoire.  read from the memory medium. 19. Procédé selon la revendication 18, caractérisé en ce que les données sont lues en trames successives et transférées  19. Method according to claim 18, characterized in that the data are read in successive frames and transferred vers le moyen tampon de trame séparées d'une durée "T".  to the frame buffer means separated by a duration "T". 20. Procédé selon la revendication 19, caractérisé en ce que la valeur de largeur et l'adresse de base sont définies par l'utilisateur.  20. The method of claim 19, characterized in that the width value and the base address are defined by the user. 21. Procédé selon la revendication 20, comprenant en outre un tampon pour mémoriser temporairement chacune des trames avant de transférer la trame de données vers le moyen de tampon de21. The method of claim 20, further comprising a buffer for temporarily storing each of the frames before transferring the data frame to the buffer means. trame.frame. 22. Procédé selon la revendication 21, caractérisé en ce  22. Method according to claim 21, characterized in that que les données affichées comprennent une image numérique.  that the data displayed includes a digital image. 23. Procédé selon la revendication 18, caractérisé en ce que l'étape de lecture est réalisée par un moyen de commande comprenant: - un moyen de comptage de base (30) pour recevoir la valeur de base; - un moyen de comptage de limite (36) couplé au moyen de  23. Method according to claim 18, characterized in that the reading step is carried out by a control means comprising: - a basic counting means (30) for receiving the basic value; - a limit counting means (36) coupled by means of comptage de base pour compter jusqu'à une valeur limite de main-  basic counting to count up to a hand limit value tien et empêcher ensuite le moyen de comptage de base de continuer à compter; - un moyen de comptage de largeur (32, 34) pour recevoir la valeur de largeur; - un moyen de comptage de sortie d'adresse (38) couplé au moyen de comptage de base et au moyen de comptage de largeur, le moyen de comptage de sortie d'adresse fournissant des signaux  hold and then prevent the basic counting means from continuing to count; - width counting means (32, 34) for receiving the width value; - an address output counting means (38) coupled to the basic counting means and to the width counting means, the address output counting means providing signals de sortie RAS et CAS définissant les emplacements d'adresse uni-  RAS and CAS output defining unified address locations ques dans le moyen de mémoire; - un moyen d'horloge de système (39) coupla au moyen de comptage de base pour incrémenter le moyen de comptage de base et le moyen de comptage de limite; - un moyen de génération de signal de cycle mémoire couplé au moyen de comptage de largeur pour fournir un signal de cycle mémoire pour incrémenter le moyen de comptage de largeur et  ques in the memory means; - system clock means (39) coupled to the base counting means for incrementing the base counting means and the limit counting means; a memory cycle signal generation means coupled to the width counting means for supplying a memory cycle signal for incrementing the width counting means and incrémenter ainsi le signal RAS.thus increment the RAS signal. 24. Procédé selon la revendication 23, caractérisé en ce que le moyen de comptage de largeur (34) fournit un signal de comptage terminal (TC) après avoir atteint ladite valeur de largeur, ledit signal (TC) rechargeant ladite valeur de largeur dans le moyen de comptage de largeur, remettant à zéro le compteur de limite (36) et fournissant une nouvelle adresse de base de  24. The method of claim 23, characterized in that the width counting means (34) provides a terminal count signal (TC) after reaching said width value, said signal (TC) reloading said width value in the width counting means, resetting the limit counter (36) and providing a new base address for mémoire au moyen de comptage de base (30).  memory by means of basic counting (30). 25. Procédé selon la revendication 24, caractérisé en ce que le moyen de comptage de base (30) comprend un compteur à 20  25. The method of claim 24, characterized in that the basic counting means (30) comprises a counter at 20 bits.bits. 26. Procédé selon la revendication 25, caractérisé en ce que le moyen de comptage de largeur (34) comprend un compteur à 12  26. Method according to claim 25, characterized in that the width counting means (34) comprises a counter with 12 bits couplé à un registre de largeur (32).  bits coupled to a width register (32). 27. Procédé selon la revendication 26, caractérisé en ce que le moyen de comptage de sortie d'adresse (38) comprend un  27. The method of claim 26, characterized in that the address output counting means (38) comprises a compteur à 20 bits.20-bit counter. 2587S202587S20 28. Procédé selon la revendication 27, caractérisé en ce  28. Method according to claim 27, characterized in that que le moyen de commande, le moyen de mémoire et le moyen de tam-  that the control means, the memory means and the tam- pon de trame sont couples l'un à l'autre par un bus (12).  frame pon are coupled to each other by a bus (12). 29. Procédé selon la revendication 15, caractérisé en ce que le tampon de trame comprend une pluralité de cartes de bits, de sorte que les contenus de chacune des cartes de bits sont alternativement affichés tandis que le contenu d'une autre carte  29. Method according to claim 15, characterized in that the frame buffer comprises a plurality of bit cards, so that the contents of each of the bit cards are alternately displayed while the contents of another card de bits est mis à Jour.bit is updated.
FR8609463A 1985-09-13 1986-06-30 MEMORY DIRECT ACCESS WINDOW DISPLAY APPARATUS AND METHODS Expired - Fee Related FR2587520B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US77582985A 1985-09-13 1985-09-13

Publications (2)

Publication Number Publication Date
FR2587520A1 true FR2587520A1 (en) 1987-03-20
FR2587520B1 FR2587520B1 (en) 1994-02-18

Family

ID=25105637

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8609463A Expired - Fee Related FR2587520B1 (en) 1985-09-13 1986-06-30 MEMORY DIRECT ACCESS WINDOW DISPLAY APPARATUS AND METHODS

Country Status (5)

Country Link
JP (1) JPH0646378B2 (en)
FR (1) FR2587520B1 (en)
GB (1) GB2180729B (en)
HK (1) HK8391A (en)
SG (1) SG13890G (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241656A (en) * 1989-02-06 1993-08-31 International Business Machines Corporation Depth buffer clipping for window management
CA1323450C (en) * 1989-02-06 1993-10-19 Larry K. Loucks Depth buffer clipping for window management
JPH03177893A (en) * 1989-12-06 1991-08-01 Toshiba Corp Multiwindow display device
WO1991020072A1 (en) * 1990-06-15 1991-12-26 Empruve, Inc. System for displaying information
US5388200A (en) * 1990-12-21 1995-02-07 Sun Microsystems, Inc. Method and apparatus for writing directly to a frame buffer
GB9108389D0 (en) * 1991-04-19 1991-06-05 3 Space Software Ltd Treatment of video images
KR100355077B1 (en) * 1993-10-29 2002-12-26 삼성세미콘덕터, 인코포레이티드 Method and apparatus for increasing the scrolling speed in a framebuffer system designed for Windows operation
US5533187A (en) * 1993-10-29 1996-07-02 Sun Microsystems, Inc Multiple block mode operations in a frame buffer system designed for windowing operations
US5504855A (en) * 1993-10-29 1996-04-02 Sun Microsystems, Inc. Method and apparatus for providing fast multi-color storage in a frame buffer

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2538588A1 (en) * 1982-12-24 1984-06-29 Hitachi Ltd DISPLAY DEVICE FOR DISPLAYING INFORMATION OF MULTIPLE INFORMATION MEDIA
GB2145308A (en) * 1983-08-16 1985-03-20 Ibm Display selection in a raster scan display system
EP0140128A2 (en) * 1983-09-20 1985-05-08 Kabushiki Kaisha Toshiba Image display apparatus
EP0150453A2 (en) * 1984-01-12 1985-08-07 Ascii Corporation Inter-logical-area data transfer control system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2089165B (en) * 1980-10-30 1985-10-09 Canon Kk Character and image processing
US4484302A (en) * 1980-11-20 1984-11-20 International Business Machines Corporation Single screen display system with multiple virtual display having prioritized service programs and dedicated memory stacks
JPS59127093A (en) * 1983-01-12 1984-07-21 日本電気株式会社 Screen split controller
CA1231186A (en) * 1983-12-20 1988-01-05 Takatoshi Ishii Display control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2538588A1 (en) * 1982-12-24 1984-06-29 Hitachi Ltd DISPLAY DEVICE FOR DISPLAYING INFORMATION OF MULTIPLE INFORMATION MEDIA
GB2145308A (en) * 1983-08-16 1985-03-20 Ibm Display selection in a raster scan display system
EP0140128A2 (en) * 1983-09-20 1985-05-08 Kabushiki Kaisha Toshiba Image display apparatus
EP0150453A2 (en) * 1984-01-12 1985-08-07 Ascii Corporation Inter-logical-area data transfer control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WESCON TECHNICAL PAPERS. 30 Octobre 1984, ANAHEIM.CALIFORNIA, LOS ANGELES (US) pages 1 - 9; R.LAWRENCE: 'Frame Buffer Memory Organization' *

Also Published As

Publication number Publication date
JPH0646378B2 (en) 1994-06-15
FR2587520B1 (en) 1994-02-18
JPS6267632A (en) 1987-03-27
SG13890G (en) 1990-10-26
GB8613220D0 (en) 1986-07-02
GB2180729A (en) 1987-04-01
HK8391A (en) 1991-02-01
GB2180729B (en) 1989-10-11

Similar Documents

Publication Publication Date Title
EP0202132B1 (en) Method for inserting medallions into the image delivered by a digital image converter, and digital image converter for carrying out such a method
US4777485A (en) Method and apparatus for DMA window display
FR2554256A1 (en) APPARATUS AND METHOD FOR REGENERATING A HIGH-SPEED WORKING RANGE BUFFER
SE461814B (en) QUICK Z-BUFFER WITH DYNAMIC DIRECT MEMORY FOR A COMPUTER DISPLAY SYSTEM
FR2604019A1 (en) COLOR VIDEO DISPLAY DEVICE FOR COMPUTER SYSTEM, AND METHOD FOR CONVERTING COLOR VIDEO SIGNALS THEREFOR
EP1402371B1 (en) Method and system for transmission of data for two- or three-dimensional geometrical entities
FR2587520A1 (en) MEMORY DIRECT ACCESS WINDOW DISPLAY APPARATUS AND METHODS
FR2661019A1 (en) Portable screen book
KR100829637B1 (en) Method and apparatus for producing animation
WO2008058965A1 (en) System for processing graphic objects including a secured graphic manager
EP2232476B1 (en) Display device and method for optimising memory pass-band
EP0161175B1 (en) Device for modifying the aspect of picture elements in the screen of a graphical display terminal
EP0187077B1 (en) Processor for vector tracing
FR2665542A1 (en) Method of using a buffer memory for producing a triggering arrangement and associated apparatus for buffer storage
FR2563025A1 (en) DEVICE FOR OBTAINING CONTINUOUS TRACES ON THE SCREEN OF A VISUALIZATION CONSOLE CONTROLLED BY A GRAPHIC PROCESSOR
BE1001069A3 (en) System display frame sweep generator with character a random access memory.
JPH0242489A (en) Picture display
JP2924528B2 (en) Labeling processing method and labeling processing apparatus
WO2004055545A1 (en) Method for image conversion for bitmap display
EP1341080A1 (en) Program instruction processing system
FR2681456A1 (en) IMAGE ANALYSIS DEVICE.
JPH10261069A (en) Image processor, image processing method, and recording medium
FR2576124A1 (en) CHARACTER GENERATOR AND USE OF SUCH A GENERATOR IN A VISUALIZATION SYSTEM
FR2665540A1 (en) APPARATUS FOR PROCESSING DIGITAL VALUES OF THE TELEVISION SCANNING OSCILLOSCOPE TYPE, FOR DISPLAYING AN INTENSIFIED AREA, AND ITS IMPLEMENTATION METHOD.
FR2557998A1 (en) GRAPHIC VIEWER CONTROLLER.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20060228