FR2646255A1 - Method and apparatus for addressing a memory - Google Patents

Method and apparatus for addressing a memory Download PDF

Info

Publication number
FR2646255A1
FR2646255A1 FR9004943A FR9004943A FR2646255A1 FR 2646255 A1 FR2646255 A1 FR 2646255A1 FR 9004943 A FR9004943 A FR 9004943A FR 9004943 A FR9004943 A FR 9004943A FR 2646255 A1 FR2646255 A1 FR 2646255A1
Authority
FR
Grant status
Application
Patent type
Prior art keywords
memory
data
locations
stored
groups
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
FR9004943A
Other languages
French (fr)
Other versions
FR2646255B1 (en )
Inventor
Douglas Marvin Keenan
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.)
Thomson Consumer Electronics Inc
Original Assignee
Thomson Consumer Electronics 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

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing

Abstract

<P>L'invention concerne un dispositif à utiliser dans une unité de télécommande pour adresser une mémoire.</P><P>Selon l'invention, un contrôleur 100 copie une seule sous-routine d'une mémoire morte 450 dans une mémoire à accès aléatoire 420 et modifie la sous-routine pour permettre un accès à tous les emplacements d'un certain nombre de matrices de taille irrégulière 415, 425, 435 en changeant les adresses contenues dans la sous-routine selon une liste d'adresses stockée dans la mémoire morte 440.</P><P>L'invention s'applique notamment à la télécommande des téléviseurs, enregistreurs à cassettes vidéo, tourne-vidéodisques et analogues.</P> <P> The invention relates to a device for use in a remote control unit for addressing a memory. </ P> <P> According to the invention, controller 100 copies a single sub-routine of a ROM 450 in a random access memory 420 and modifies the subroutine to allow access to all locations of a number of irregular size matrices 415, 425, 435 by changing the addresses contained in the subroutine according to a list of addresses stored in the ROM 440. </ P> <P> the invention is particularly applicable to the television remote control, video cassette recorders, set-video disc and the like. </ P>

Description

La présente invention se rapporte à un agencement permettant de réduire The present invention relates to an arrangement for reducing

l'encombrement en mémoire, utile dans un émetteur de télécommande programmable pour un produit électronique du commerce comme un enregistreur à cassette vidéo, un convertisseur à cable, un tournevidéodisque, un clutter memory, for use in a programmable remote control transmitter for an electronic commercial product such as a video cassette recorder, a cable converter, a tournevidéodisque, a

récepteur de télévision ou analogue. television receiver or the like.

Pour les circuits électroniques du commerce, la tendance dans les télécommandes à infrarouges est l'unité manuelle de télécommande universelle multi-marques, qui commande tous les produits électroniques du commerce fabriqués par différents fabricants, et utilisant des formats respectifs différents de code de signaux de télécommande. For the electronics trade, the trend in the infrared remote control unit is manual multi-brand universal remote that controls all electronic commercial products manufactured by different manufacturers and using different respective signal formats code remote control. Les unités manuelles universelles de télécommande offrent à l'utilisateur la facilité de n'employer qu'une seule unité manuelle de télécommande, tout en étant capables de commander la plupart, sinon toutes les fonctions des produits électroniques du commerce. The universal remote control manual units offer users the facility to employ only one manual remote control unit while being able to control most, if not all the functions of electronic commerce products. A un degré important, le nombre de fonctions différentes et de différents formats de signaux d'ordres de télécommande pouvant 8tre traités par une télécommande universelle dépend de la quantité de mémoire disponible To a significant degree, the number of different functions and different signal formats of remote control commands can 8tre treated with a universal remote control depends on the amount of available memory

pour le stockage du code de télécommande. for storing the remote control code.

Il y a deux tentatives de base aux unités manuelles universelles de télécommande. There are two basic attempts to universal remote hand held unit. Un système à base d'une mémoire à accès aléatoire est souvent décrit comme une unité manuelle de télécommande "qui apprend". One based on a random access memory system is often described as a manual remote control unit "learns". Ce type d'unité manuelle de télécommande nécessite que l'utilisateur "enseigne" à l'unité manuelle de télécommande This type of remote hand unit requires the user "teaches" the manual remote control unit

des fonctions souhaitées de son unité manuelle d'origine. desired his hand original unit functions.

Cela est usuellement fait par commutation de l'unité manuelle de télécommande "qui apprend" à un mode d'apprentissage et en orientant physiquement les deux unités manuelles de manière que l'unité manuelle de télécommande "qui apprend" puisse recevoir les émissions infrarouges de l'unité manuelle à émuler. This is usually done by switching the manual remote control unit "learns" to a learning mode and orienting physically both hand held unit such that the manual remote control unit "learner" can receive infrared emissions the hand unit to emulate. Ce processus -2- d'apprentissage commence comme un processus de stockage d'informations, o une émission infrarouge est enregistrée -2- This learning process begins as an information storage process, o infrared emission is recorded

telle qu'elle est reçue par la télécommande qui apprend. as received by the remote learner.

Après ce stockage initial de la donnée "brute", la donnée brute est analysée et comprimée puis la version finale comprimée de la donnée est stockée dans la mémoire à accès aléatoire. After this initial storage of the data "raw", the raw data is analyzed and compressed and then the compressed final version of the data is stored in random access memory. Quand l'unité manuelle de télécommande universelle est utilisée dans le mode de télécommande pour transmettre un ordre, les codes stockés et comprimés sont rappelés de la mémoire, décomprimés et le signal résultant When the manual unit universal remote control is used in the remote control mode to transmit a signal, the stored codes and tablets are recalled from memory, decompressed and the resulting signal

est transmis. is transmitted.

Un système basé sur une mémoire morte est restreint à un groupe fixe de dispositifs, usuellement des récepteurs de télévision, des enregistreurs à cassettes vidéo et des convertisseurs à câble. A system based on a read-only memory is restricted to a fixed group of devices, usually of television receivers, video cassette recorders and cable converters. Dans une telle unité manuelle, tous les différents formats de code pour toutes les fonctions pour chaque type de dispositif à commander doivent être programmés au préalable. In such a manual unit, all the different code formats for all functions for each type of device to be controlled must be programmed beforehand. Dans ce cas également, les codes de télécommande sont usuellement comprimés d'une certaine manière pour occuper aussi peu Also in this case, remote control codes are usually compressed in a way to occupy as little

d'espace que possible dans la mémoire. space as possible in the memory.

Avec chaque technique, comme l'espace est limité dans la mémoire, plus la technique de compression est efficace, plus on peut stocker de fonctions. With each technique, as space is limited in the memory, the more compression is effective, the more you can store functions. Une autre façon de préserver l'espace de la mémoire consiste à réduire le nombre d'instructions de programme nécessaires pour adresser la mémoire en prévoyant une routine plus efficace pour adresser la mémoire. Another way to preserve the memory space is to reduce the number of program instructions needed to address the memory by providing a more effective routine to address the memory. La présente invention est dirigée vers cela et concerne particulièrement la conservation de l'espace de la mémoire lorsque l'on utilise The present invention is directed to this and particularly relates to the conservation of memory space when using

ce que l'on appelle "l'adressage indexé" ou variable. this so-called "indexed addressing" or variable.

L'utilisation de "matrices" (c'est-à-dire des groupes d'emplacements de mémoire) en logiciel de microprocesseur est assez courante, usuellement pour des tables à consulter et/ou des tables de données. The use of "dice" (that is, groups of memory locations) in microprocessor software is fairly common, usually for lookup tables and / or data tables. Elles sont en réalité si courantes que la plupart des microprocesseurs - 3- contiennent un "registre d'index" que l'on peut utiliser pour un accès indirect à la donnée. They are actually so common that most microprocessors - 3 contain an "index register" that can be used for indirect access to the data. Par exemple, si X=8 et que POINTEUR est le point de départ (dans la mémoire) d'une table de données, For example, if X = 8 and POINTER is the starting point (in memory) of a data table,

LDA POINTEUR, X LDA POINTER X

recherche le huitième octet après POINTEUR dans la mémoire et le stocke dans l'accumulateur. search the eighth byte after POINTER in the memory and stores it in the accumulator. En effet, LDA POINTEUR, X est une instruction qui force le microordinateur à lire la donnée d'un emplacement de mémoire adressé par la combinaison de la valeur du POINTEUR (une adresse de seize bits) plus la valeur stockée dans le registre de X. C'est une technique très puissante mais qui nécessite une portion Indeed, LDA POINTER, X is an instruction which causes the microcomputer to read the data of a memory location addressed by the combination of the value of POINTER (a sixteen bit address) plus the value stored in register X. this is a very powerful technique, but requires a portion

importante de la mémoire pour adresser certaines matrices. large memory to address some matrices.

Il faut reconnaître ici qu'une seule sous-routine peut être utilisée pour recherchertoutes les données stockées dans l'une d'un certain nombre de matrices. It must be recognized by a single subroutine can be used to recherchertoutes data stored in one of a number of matrices. Afin d'adresser une matrice particulière, la seule sous-routine est modifiée par addition de l'emplacement de départ de la matrice souhaitée. To address a particular matrix, the only subroutine is amended by adding the starting location of the desired matrix. Les données se rapportant aux The data relating to

emplacements de départ sont stockées dans une table. starting locations are stored in a table.

L'invention sera mieux comprise et d'autres buts, caractéristiques, détails et avantages de celle-ci The invention will be better understood and other objects, features, and advantages thereof

apparaîtront plus clairement au cours de la description will become clearer in the description

explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant plusieurs modes de réalisation de l'invention et dans lesquels: - la figure 1 montre, sous forme de schéma bloc, une unité manuelle de télécommande du type télécommande qui apprend o peut être mise en oeuvre la présente invention; Explanatory which follows, made with reference to the accompanying diagrammatic drawings given by way of example only illustrating several embodiments of the invention and in which: - Figure 1 shows, in block diagram form, a manual remote control unit of type remote learner o can be implemented the present invention; - la figure 2 montre, sous forme de schéma bloc, un agencement connu d'emplacements de mémoire dans une mémoire morte; - Figure 2 shows, in block diagram form, a known arrangement of memory locations in a ROM; - la figure 3 montre, sous forme de schéma bloc, un autre agencement de la mémoire morte de la figure 2; - Figure 3 shows, in block diagram form, another arrangement of the ROM of Figure 2; - la figure 3a montre, sous forme de schéma bloc, - 4- un exemple d'une matrice irrégulière d'emplacements de mémoire; - Figure 3a shows, in block diagram form, - 4 an example of an irregular array of memory locations; - la figure 4 montre, sous forme de schéma bloc, un mode de réalisation de l'invention; - Figure 4 shows, in block diagram form, one embodiment of the invention; - la figure 5 montre un agencement connu de "pages" de la mémoire; - Figure 5 shows a known arrangement of "pages" of the memory; et - la figure 6 montre, sous forme de schéma bloc, and - Figure 6 shows, in block diagram form,

un mode de réalisation de la présente invention. one embodiment of the present invention.

Un dispositif approprié pour une utilisation comme unité manuelle de télécommande du type qui apprend, du type ci-dessus décrit, est montré à la figure 1. Un contrôleur peut être un microprocesseur (les termes microprocesseur et microordinateur, tels qu'utilisés ici, A suitable device for use as a manual drive type remote learner, the above described type, is shown in Figure 1. A controller may be a microprocessor (microprocessor and microcomputer terms, as used herein,

ont la même signification). have the same meaning).

Le contrôleur 100 reçoit, d'un oscillateur d'horloge , des signaux d'horloge qui établissent la temporisation des fonctions du contrôleur 100. Le contrôleur 100, selon ces instructions programmées, adresse une mémoire 120 qui peut être ou ne pas être interne au contrôleur 100. La mémoire 120 comporte une zone de travail ou polyvalente 122 et une zone de données 124. Le contrôleur 100 reçoit également la donnée introduite par un utilisateur via un clavier 130 comprenant un groupe de touches 132 comportant des touches de chiffres 0-9, une touche canal vers le haut, une touche canal vers le bas, est une touche d'alimentation en courant. The controller 100 receives a clock oscillator, the clock signals that establish timing functions of the controller 100. The controller 100, according to these programmed instructions, addresses a memory 120 that may or may not be internal to controller 100. the memory 120 includes a work area or polyvalent 122 and a data area 124. the controller 100 also receives the data input by a user via a keyboard 130 comprising a group of keys 132 including numeric keys 0-9 a key channel upwardly a key channel down key is a power supply. Le clavier 130 peut également comporter un commutateur 134 pour activer un "mode d'apprentissage" (expliqué ci-dessous). The keyboard 130 may also include a switch 134 to activate a "learning mode" (explained below). Ce commutateur est montré sur le clavier 130 par la touche 134 mais, cependant, cela peut être un interrupteur séparé à bascule placé ailleurs sur l'unité manuelle de télécommande. This switch is shown on the keyboard 130 by the key 134 but, however, it may be a separate rocker switch placed elsewhere on the manual remote control unit. Dans le mode de réalisation illustré à la figure 1, la touche 134 est supposée présenter une caractéristique de "bascule". In the embodiment illustrated in Figure 1, the key 134 is assumed to have a characteristic of "rocking". En effet, une pression de la touche 134 force le mode d'apprentissage à être actif et une seconde pression de la touche 134 met l'unité manuelle de télécommande à son mode normal de télécommande o les ordres de l'utilisateur In fact, pressing the key 134 forces the learning mode to be active and a second press of the button 134 places the manual remote control unit to its normal mode of remote control o the user commands

peuvent être envoyés aux dispositifs qu'il commande. can be sent to the devices it controls.

En mode d'apprentissage, le récepteur infrarouge reçoit des signaux infrarouges qui sont transmis par les unités manuelles de télécommande à émuler, et applique des données numériques représentatives de ces signaux infrarouges au contrôleur 100. Le contrôleur 100 stocke la donnée "brute" (c'est-à-dire non comprimée) dans la mémoire polyvalente 122. Ensuite, la donnée brute est comprimée et stockée pour une récupération ultérieure. In learning mode, the infrared receiver receives infrared signals which are transmitted by the hand held unit for remote control to be emulated, and applies digital data representing these infrared signals to the controller 100. The controller 100 stores the data "raw" (c that is to say non-compressed) in the multipurpose memory 122. Then, the raw data is compressed and stored for later retrieval. Un exemple d'un système de télécommande qui comprime les codes pour le stockage peut être dans le brevet US N 4 623 887 (Welles, II). An example of a remote control system which compresses codes for storage can be in U.S. Patent 4,623,887 (Welles, II). En mode normal de télécommande, lorsque l'on souhaite l'émission d'un signal de télécommande pour un ordre, le contrôleur 100 décomprime le code stocké et fait passer le code décomprimé résultant vers une unité de sortie 160 qui assemble la séquence appropriée des salves et des espaces pour l'émission. In normal remote control, when it is desired to transmit a remote control signal for a command, the controller 100 decompresses the stored code and forwards the resulting decompressed code to an output unit 160 which assembles the appropriate sequence of bursts and spaces for transmission. L'oscillateur d'horloge 110 applique un signal d'horloge à un diviseur de fréquence 150 qui applique un signal à une fréquence plus basse à l'unité de sortie 160. Ce signal à plus basse fréquence forme la composante de salve du courant de données qui est appliqué The clock oscillator 110 applies a clock signal to a frequency divider 150 which applies a signal to a lower frequency to the output unit 160. This lower frequency signal form the burst component of the current data which is applied

à la diode infrarouge 170 pour son émission. infrared diode 170 for its transmission.

Dans l'alternative, le diviseur de fréquence 150 peut être éliminé, les impulsions de salve étant produites Alternatively, the frequency divider 150 may be eliminated, the burst pulses being produced

par le contrôleur "en basculant" rapidement sa sortie. by the controller "tilting" quickly its output.

Dans les systèmes basés sur une mémoire morte, la compression n'est pas accomplie par l'unité manuelle de télécommande mais est accomplie en un temps antérieur, en usine, afin de produire des codes comprimés de commande qui sont stockés dans une mémoire morte. In systems based on a read only memory, compression is not performed by the manual remote control unit, but is performed in an earlier time in the factory to produce tablets control codes that are stored in a ROM. Dans ce cas, le récepteur infrarouge 140 et la touche 134 "mode apprentissage" ne seront pas présents dans l'unité manuelle In this case, the infrared receiver 140 and the key 134 "learning mode" will not be present in the hand unit

de télécommande. remote control.

Les ordres individuels pour chaque dispositif à -6- contr8ler sont stockés dans la mémoire en des emplacements respectifs. Individual orders for each device -6- contr8ler are stored in the memory at respective locations. La figure 2 montre un certain nombre de ces emplacements qui sont groupés en une table (telle qu'une matrice à une dimension). Figure 2 shows a number of these sites that are grouped in a table (such as a one-dimensional matrix). Tandis que chacun des groupes 215, 225 et 235 de la figure 2 est illustré comme ayant 256 emplacements de mémoire, on comprendra que chaque groupe peut avoir tout nombre d'emplacements de mémoire jusqu'à un maximum de 256 emplacements (la limite de 256 emplacements sera expliquée ci-dessous). While each of the groups 215, 225 and 235 of Figure 2 is illustrated as having 256 memory locations will be understood that each group may have any number of memory locations to a maximum of 256 pitches (the limit of 256 locations will be explained below). Il est souvent pratique qu'un programmeur agence des groupes d'emplacements de mémoire contenant les données en rapport en une matrice multi-dimensionnelle. It is often convenient that a programmer Agency memory locations of groups containing data related to a multi-dimensional matrix. La figure 3 illustre une matrice bi-dimensionnelle o les emplacements de mémoire sont agencés en colonnes et rangés (c'est-à-dire une matrice bidimensionnelle). 3 illustrates a two dimensional array where the memory locations are arranged in columns and stored (that is to say a two-dimensional matrix). La figure 5 illustre une matrice tri-dimensionnelle comprenant des "pages" de mémoire (ainsi appelée parce qu'en regardant de cette manière, 5 illustrates a three-dimensional matrix consisting of "pages" of memory (so called because looking in this manner,

l'agencement de mémoire ressemble aux pages d'un livre). the memory arrangement resembles the pages of a book).

Des chiffres similaires de référence sur les figures 2 et 3 identifient des éléments ayant des fonctions similaires. Like reference numbers in Figures 2 and 3 identify elements with similar functions. Par conséquent, seule la figure 3 sera décrite en détail. Therefore, only 3 will be described in detail. Comme le montre la figure 3, les colonnes individuelles de la matrice (315, 325, 335) sont adressées par des sous-routines individuelles respectives (310, 320, 330), comme cela est montré par des lignes en pointillé entre les sous-routines et les colonnes respectives. As shown in Figure 3, the individual columns of the matrix (315, 325, 335) are addressed by the respective individual sub-routines (310, 320, 330), as shown by dashed lines between the sub routines and respective columns. Ces sous-routines utilisent un système à pointeur indexé pour adresser des rangées individuelles dans une colonne. These sub-routines use an indexed pointer system for addressing individual rows in a column. Le pointeur indique l'adresse de départ de la colonne souhaitée (A0, BO ou CO, respectivement). The pointer indicates the start address of the desired column (A0, BO and CO, respectively). Une valeur d'index est contenue dans un registre qui existe à l'intérieur du microordinateur. An index value is contained in a register that exists within the microcomputer. Ce registre est connu comme le registre de X. La valeur contenue dans le registre de X est ajoutée à la valeur contenue dans le registre du pointeur, pour arriver à une adresse finale de l'emplacement souhaité de la mémoire. This register is known as the register X. The value in the X register is added to the value contained in the register of the pointer, to arrive at a final address of the desired location of the memory. Comme le registre de X a 8 bits de As the register X 8 bit

264625-5 264625-5

-7- long, il peut contenir des valeurs jusqu'à et comprenant 255. Ainsi, la valeur du registre du pointeur peut être décalée au maximum de 255 emplacements additionnels de mémoire. -7- long, it may contain values ​​up to and including 255. Thus, the pointer value of the register can be shifted a maximum of 255 additional memory locations. Les petites matrices ne posent aucun problème pour un simple registre d'index à 8 bits, même ayant plusieurs dimensions. Small matrices are no problem for a simple 8-bit register index, even with multiple dimensions. Pour une matrice à plusieurs dimensions M (i, j, k,. For a matrix multi-dimensional M (i, j, k ,.

) o..DTD: i ( 2** ni, j < 2**nj, k < 2**rk... ) O..DTD i (or 2 **, j <2 ** nj, k <2 ** rk ...

et ni + nj + nk +... < 8, (o la notation 2**n. est connue dans la technique de i programmation des ordinateurs pour indiquer 2 élevé à la puissance de ni), M peut être alloué par simple correspondance binaire du registre d'index comme and ni + nj + nk + ... <8, (o notation 2 ** n. is known in the art of computer programming i to indicate 2 raised to the power of ni), M may be allocated by simple correspondence bit of the index register as

n. not. bits + n. + n bits. bits + nk bits +... nk bit + bit + ...

i A titre d'exemple, dans l'équation donnée ci-dessus, "i"l' pourrait représenter le numéro d'une colonne particulière d'une matrice, "j" pourrait représenter le numéro d'une rangée particulière d'une matrice et "k" pourrait représenter une page particulière de colonnes et i For example, in the equation given above, "i" 's may represent the number of a particular column of a matrix, "j" may represent the number of a particular row of a matrix and "k" may represent a particular page of columns and

rangées (comme le montre la figure 5). rows (as shown in Figure 5).

Ainsi, toute matrice à plusieurs dimensions dans laquelle ixjxk x... < = 256 octets peut ainsi être traitée en la considérant simplement comme une matrice à une seule dimension et en utilisant directement le registre d'index. Thus, any matrix with several dimensions in which ixjxk ... x <= 256 bytes and can be treated by considering simply as a matrix to one dimension and directly using the index register. Cette technique est bien connue et est fréquemment utilisée, bien que cela ne soit pas nécessairement la façon la plus efficace de traiter une telle matrice. This technique is well known and is frequently used, although this is not necessarily the most effective way to treat such a matrix. Pour de plus grandes matrices, c'est-à-dire lorsque ni + nj + nk +... > 8, il faut trouver une autre méthode d'adressage. For larger matrices, ie when neither + nj + nk + ...> 8, it must find another method of addressing. Certaines matrices, appelées matrices irrégulières, n'utilisent que certaines étendues d'éléments Certain matrices, called irregular matrices, only use certain stretches of elements

-- 8-- - 8--

(comme les éléments j-4 dans io, les éléments j0-i dans il, les éléments jO-j7 dans i2, etc...). (Such as j-io 4 elements in the D0-i elements in it, the JO-D7 elements in i2, etc ...). Un exemple d'une telle matrice irrégulière est montré à la figure 3a. An example of such an irregular matrix shown in Figure 3a. Le fait d'allouer une mémoire pour tous les octets non utilisés dans une telle matrice signifie qu'une grande partie de l'espace de la mémoire est perdu. The fact to allocate memory for all unused bytes in such a matrix means that much of the memory space is lost. Une tentative typique à l'adressage des matrices irrégulières consiste à faire passer l'index de rangée à une sous-routine indexée en colonne qui recherche la donnée. A typical attempt to addressing irregular matrices comprises passing the row index in an indexed subroutine column mark the data. Cela sera mieux montré par un exemple. This will be best demonstrated by an example. Par exemple, pour rechercher l'octet de données stocké dans l'emplacement de mémoire I2 DATA 5 de la figure 3a (élément de mémoire i=2, j=5, o M(i < 4,j < 8)), on peut utiliser la sous-routine qui suit For example, to search the data byte stored in the DATA I2 memory location 5 of Figure 3a (memory element i = 2, j = 5, M o (i <4, j <8)) was can use the following subroutine

(inscrite dans le langage d'assemblage pour le micro- (Written in assembly language for the micro-

processeur MOTOROLA 6805). 6805 MOTOROLA) processor. Ceux qui sont compétents en la matière reconnaîtront que IO DATA est un pointeur à seize Those skilled in the art will recognize that IO DATA is one to sixteen pointer

bits vers le départ de la table de données. bits to the start of the data table.

Alternativement, on peut considérer que IO DATA est un label représentant l'adresse de seize bits de IO DATA O, le premier emplacement de la matrice des emplacements de mémoire. Alternatively, one can consider that IO Data is a label representing the sixteen bit address of IO O DATA, the first location of the array of memory locations.

GET VALUE GET VALUE

(VALEURLECTURE);on suppose A = IINDEX, X = JINDEX (VALEURLECTURE); it is assumed A = iIndex, X = JINDEX

STX JINDEX STOCKER J INDEX TEMPORAIREMENT STX JINDEX TEMPORARILY STORE J INDEX

STA IINDEX STOCKER IINDEX TEMPORAIREMENT STA iIndex iIndex TEMPORARILY STORE

LSLA;ACC = IINDEX * 2 Lsla; ACC = iIndex * 2

LSLA;ACC = IINDEX * 4 Lsla; ACC = iIndex * 4

ADD IINDEX;ACC = IINDEX * 5 ADD iIndex; ACC = iIndex * 5

TAX;CHARGER REGISTRE INDEX TAX; LOAD INDEX REGISTER

LDA JINDEX;RECUPERER JINDEX LDA JINDEX; RECOVER JINDEX

JMP IO GET,X;RETOUR A DEMANDEUR, AVEC DONNEE JMP IO GET, X; RETURN TO APPLICANT WITH DATA

IO GET: TAX;CET ORDRE PREND 1 OCTET IO GET: TAX; THIS ORDER TAKES 1 BYTE

LDA IODATA,X;CET ORDRE PREND 3 OCTET LDA IODATA, X; THIS ORDER TAKES 3 BYTE

RTS;CET ORDRE PREND 1 OCTET RTS; THIS ORDER TAKES 1 BYTE

-9- -9

I1 GET: TAX; I1 GET: TAX; 5 OCTETS/COLONNE 5 BYTES / COLUMN

LDA IlDATA,X RTS LDA IlDATA X RTS

I2 GET: TAX I2 GET: TAX

LDA I2_DATA,X LDA I2_DATA X

RTX RTX

IO DATA:DB 00; IO DATA: DB 00; SEULEMENT CINQ RANGEES DANS COLONNE O ONLY FIVE ROWS IN COLUMN O

DB 01 DB 01

DB 02 DB 02

DB 03 DB 03

DB 04 DB 04

I1 DATA: DB 10; I1 DATA: DB 10; SEULEMENT DEUX RANGEES DANS COLONNE 1 ONLY TWO ROWS IN COLUMN 1

DB 11 DB 11

I2 DATA: DB 20; I2 DATA: DB 20; HUIT RANGEES DANS COLONNE 2 EIGHT ROWS IN COLUMN 2

DB 21 DB 21

DB 22 DB 22

DB 23 DB 23

DB 24 DB 24

DB 25; DB 25; LA DONNEE SOUHAITEE EST ICI GIVEN THE DESIRED IS HERE

DB 26 DB 26

DB 27 DB 27

13 DATA: DB 30 13 DATA: DB 30

DB 31 DB 31

Dans l'exemple ci-dessus, des sous-routines séparées, IOGET, IlGET, et I2_GET sont utilisées pour un accès aux données de chaque matrice respective. In the above example, separate subroutines, IOGET, IlGET and I2_GET are used for data access of each respective matrix. Pour la simplicité, la liste d'une quatrième sous-routine similaire I3_GET n'est pas donnée. For simplicity, the list of a fourth similar subroutine I3_GET is not given. Ces sous-routines séparées sont identifiées sur la figure 3a par les chiffres de référence 310a, 320a, 330a et 340a, respectivement. These separate subroutines are identified in Figure 3a by the reference numerals 310a, 320a, 330a and 340a, respectively. Chacune de ces sous-routines séparées est stockée dans la mémoire morte et a 5 octets de long. Each of these separate sub-routines is stored in the ROM and 5 bytes long. Il faut noter que chaque sous-routine est stockée dans la mémoire morte, que chacune ne peut être modifiée et qu'elle doit par conséquent comprendre Note that each subroutine is stored in ROM, as each may be amended and must therefore include

- 10 - - 10 -

l'adresse de seize bits de la colonne particulière à adresser (comme ADRESSE HAUTE DE IO DATA 0, ADRESSE BASSE the sixteen-bit address of the particular column address (such as IO DATA ADDRESS HIGH 0, ADDRESS LOW

DE IO DATA 0). IO DATA OF 0).

La routine dont la liste est donnée ci-dessus est introduite par une valeur de lecture (GET_VALUE), qui est une section du programme qui évalue l'index I (c'est-à-dire le pointeur vers la colonne souhaitée) et calcule une adresse à laquelle le microordinateur sautera afin de chercher la donnée souhaitée. The routine list of which is given above is introduced by a read value (GET_VALUE), which is a section of program which evaluates the index I (that is to say, the pointer to the desired column) and calculates an address to which the microcomputer will jump to search the desired data. La sous-routine 10 GET commence à l'emplacement de mémoire IO GET+0, la sous-routine Il GET commence à IO GET+5. The subroutine GET 10 begins at memory location GET IO + 0, the subroutine starts IO There GET GET +5. De même, la sous-routine I2 GET commence à I0 GET+10. Similarly, I2 subroutine starts GET GET I0 + 10. Ainsi, afin de bien faire le saut vers la sous-routine correcte pour rechercher la donnée souhaitée, l'index doit être multiplié par 5, comme cela est montré dans la routine de GET VALUE dont la liste est donnée ci-dessus. Thus, to fully make the leap to the correct subroutine to search the desired data, the index must be multiplied by 5, as shown in the routine GET VALUE list of which is given above. Il faut noter que parmi les 5 octets de chacune des sous-routines I0 GET, I1 GET, I2 GET etc.., 3 des octets (TAX, LDA, et RTS) sont identiques et sont répétés dans chaque sous-routine. Note that among the 5 bytes of each of the subroutines GET I0, I1 GET, GET I2 etc .., 3 bytes (TAX, LDA, and RTS) are identical and are repeated in each subroutine. Pour une si petite matrice, cette méthode est tout à fait inefficace. For such a small matrix, this method is quite inefficient. Cependant, pour de grandes tables, cette tentative a été utilisée afin de ne pas perdre de grandes quantités de la mémoire. However, for large tables, the attempt has been used so as not to lose large amounts of memory. Il faut noter que cette méthode est restreinte à I INDEX < = 51 (parce que 5 fois 51 égale 255, la plus grande valeur qui puisse être stockée dans le registre de X à huit bits) ou bien le saut de colonne ne Note that this method is restricted to I INDEX <= 51 (because 5 times 51 equals 255, the largest value that can be stored in the eight bit register X) or the column jump is

peut être fait correctement. can be done properly.

Bien que cette technique se réfère à des matrices ayant des indices un peu plus grands, le code requis pour la réaliser peut être rapidement étendu pour des rangées multiples. Although this technique refers to matrices having indices slightly larger, the code required to perform can be quickly expanded to multiple rows. Comme on l'a noté ci-dessus, cette technique s'applique uniquement à des matrices ayant moins de 51 colonnes et 256 rangées. As noted above, this technique only applies to matrices having less than 51 columns and 256 rows. Le procédé et le dispositif The method and the device

décrits ici surmontent ces limites. described herein overcome these limitations.

Au lieu d'utiliser des sous-routines indexées par colonne pour rechercher la donnée de rangée souhaitée, Instead of using subroutines indexed by column to find the desired row data,

- il - - he -

un dispositif selon la présente invention n'utilise qu'une sous-routine générale pour rechercher la donnée de toutes a device of the present invention uses only one given to the search subroutine general of all

les colonnes. the columns.

La présente invention sera maintenant décrite en se référant à la figure 4. Comme on l'a noté ci-dessus, toutes les sous-routines indexées par colonne partagent la The present invention will now be described with reference to Figure 4. As noted above, all the subroutines that are indexed by column share the

même taille et la même forme. same size and shape.

TAX CHERCHER INDEX RANGEE SEARCH INDEX TAX ROW

LDA COLONNE, X CHERCHER DONNEE LDA COLUMN X SEARCH DATA

RT RETOUR A DEMANDEUR AVEC DONNEE RT BACK TO APPLICANT WITH DATA

Selon la présente invention, à l'initialisation, cette sous-routine générale (CHERCHER) 450 est récupérée de la mémoire morte 400 et est stockée, code d'opération par code d'opération ou opcode par opcode, en tant qu'une seule sous-routine 420 dans une mémoire à accès aléatoire 410, et on y accède à la façon suivante: According to the present invention, at initialization, this general subroutine (SEARCH) 450 is retrieved from the ROM 400 and is stored, operation code by the operation code or opcode for opcode, as a single subroutine 420 in a random access memory 410, and accessed in the following way:

CHERCHER LDA COLONNE, X CHERCHER DONNEE LDA SEARCH COLUMN X SEARCH DATA

RTS RETOUR A DEMANDEUR AVEC DONNEE RTS RETURN TO APPLICANT WITH DATA

Dans l'espace de la mémoire à accès aléatoire, cela est défini comme suit: In the space of random access memory, this is defined as follows:

CHERCHER: LOOK FOR:

LDA OPCODE DB 1; LDA OPCODE DB 1; CODE OPERATION LDA PLACE ICI OPERATION CODE LDA PLACE HERE

HIGH INDX DB 1; HIGH INDX DB 1; OCTET HAUT D'ADRESSE COLONNE HI BYTE ADDRESS COLUMN

LOW INDX DB i; LOW INDX DB i; OCTET BAS D'ADRESSE COLONNE LO BYTE ADDRESS COLUMN

RTS OPCODE DB 1; RTS OPCODE DB 1; CODE OPERATION RTS PLACE ICI OPERATION CODE RTS PLACE HERE

Les octets de la RAM, LDA OPCODE et RTS OPCODE The bytes of RAM, LDA and RTS OPCODE OPCODE

sont initialisés au code opération correct pour ce micro- are initialized to the proper operation code for this micro-

processeur particulier avant d'appeler la routine et ensuite, leur valeur ne change plus. particular processor before calling the routine and then, their value does not change. En effet, l'emplacement de mémoire LDAOPCODE est chargé de l'octet Indeed, the memory location is loaded LDAOPCODE byte

- 12 - - 12 -

de code qui, lorsqu'il est exécuté, force le contrôleur à lire un octet de donnée stockée dans l'emplacement de la mémoire dont l'adresse est stockée immédiatement après cette instruction, décalée de la valeur stockée dans le registre de X. Quand la routine CHERCHER est d'abord lue de la mémoire morte et est stockée dans la mémoire à accès aléatoire, les emplacements de mémoire HIGH INDX et LOW INDX peuvent contenir une donnée sans signification. code that, when executed, causes the controller to read a data byte stored in the memory location whose address is stored immediately after this instruction, the offset value stored in register X. When the SEARCH routine is first read from the ROM and stored in random access memory, the memory locations HIGH and LOW INDX INDX may contain a given meaningless. La donnée dans les emplacements de mémoire HIGH_INDX et LOW_INDX indique le début de la matrice respective (c'est-à-dire le groupe d'emplacements de mémoire) o est stockée la donnée souhaitée. The data in the memory locations and HIGH_INDX LOW_INDX indicates the beginning of the respective matrix (that is to say the memory locations group) o is stored the desired value. La donnée correcte est Correct Data

inscrite dans ces emplacements comme suit. registered in these locations as follows.

La sous-routine CHERCHER est appelée par la routine suivante, qui accède à une table 440 (COLONNE PTR) d'adresses stockées de manière contigUe appelées pointeurs de colonne, et stocke les pointeurs de colonne dans les SEARCH subroutine is called by the following routine, which accesses a table 440 (COLUMN PTR) Address stored contiguously column called pointers, and stores the column pointers in

emplacements de mémoire HIGH INDX et LOW INDX. memory locations HIGH and LOW INDX INDX.

GET VALUE:;ON SUPPOSE A = I INDEX, = JINDEX; GET VALUE:; A = I SUPPOSE ON INDEX = JINDEX;

STX ROWINDEX;INDEX RANGEE STOCKE STX RowIndex; INDEX ROW STORED

LSLA;ACC = COLONNE * 2 Lsla; ACC = COLUMN * 2

TAX;PLACER COLONNE *2 DANS INDEX TAX; COLUMN IN PLACE * 2 INDEX

LDA COLONNE PTR,X;CHERCHER OCTER HAUT DE COLONNE LDA COLUMN PTR, X; OCTER SEARCH TOP OF COLUMN

INDEX INDEX

STA HI INDX;RANGER STA HI INDX; RANGER

INCX;INDIQUER OCTET BAS INCX; INDICATE LO BYTE

LDA COLONNE PTR,X;CHERCHER OCTET BAS D'INDEX LDA COLUMN PTR, X; LO BYTE SEARCH INDEX

STA LOW INDX;RANGER STA LOW INDX; RANGER

LDX ROWINDEX;PREPARER POUR INDEX RANGEE LDX RowIndex; PREPARE FOR INDEX ROW

JMP FETCH;AJOUTER CHERCHER DONNEE JMP FETCH, ADD SEARCH DATA

COLUMN PTR: COLUMN PTR:

DB HAUT IO _DATA;COLONNE O ADRESSE (OCTET HAUT) UP DB IO _DATA; COLUMN ADDRESS O (HI BYTE)

DB BAS IO DATA;COLONNE O ADRESSE (OCTET BAS) DB IO DATA DOWN; COLUMN ADDRESS O (LO BYTE)

DB HAUT Il_DATA;COLONNE 1 ADRESSE (OCTET HAUT) DB UP Il_DATA; 1 COLUMN ADDRESS (HI BYTE)

- 13 - - 13 -

DB BAS I1 DATA;COLONNE 1 ADRESSE (OCTET BAS) DATA DOWN DB I1; 1 COLUMN ADDRESS (LO BYTE)

DB HAUT I2 DATA;COLONNE 2 ADRESSE (OCTET HAUT) HIGH DATA DB I2; 2 COLUMN ADDRESS (HI BYTE)

DB BAS I2 DATA;COLONNE 2 ADRESSE (OCTET BAS) DATA DOWN DB I2; 2 COLUMN ADDRESS (LO BYTE)

DB HAUT I3 DATA;COLONNE 3 ADRESSE (OCTET HAUT) HIGH DATA DB I3; 3 COLUMN ADDRESS (HI BYTE)

DB BAS I3 DATA;COLONNE 3 ADRESSE (OCTET BAS) DATA DOWN DB I3; 3 COLUMN ADDRESS (LO BYTE)

IO DATA, I1 DATA etc..., sont des adresses de 16 bits, stockées sous la forme de deux octets de huit bits, IO DATA, DATA I1 etc ..., are 16-bit addresses, stored as two bytes of eight bits,

les huits bits hauts de l'adresse se trouvant en premier. the high eight bits of the address being first.

Comme chacune des adresses a deux octets de long, l'adresse de IO_DATA débute à l'emplacement de mémoire COLONNEPTR+O, l'adresse de Il DATA débute à COLONNE PTR+2 et l'adresse de I2 DATA débute à COLONNE PTR+2 et l'adresse de I2 DATA débute à COLONNE PTR+4. As each address is two bytes long, the IO_Data address starts at the memory location COLONNEPTR + O, Il DATA address begins at COLUMN PTR + 2 and DATA I2 address begins at COLUMN PTR + 2 and DATA I2 address begins at COLUMN PTR + 4. Ainsi, afin de bien accéder à l'adresse correcte pour rechercher la donnée souhaitée, l'index doit être multiplié par 2 comme cela est montré dans la routine GET VALUE dont la liste est donnée ci-dessus. Thus, to properly access the correct address to search for the desired data, the index must be multiplied by 2 as shown in the GET VALUE routine list of which is given above. Cette technique peut désigner des matrices ayant jusqu'à 128 colonnes (0-127) et 256 rangées (0-255) et nécessite bien moins de mémoire pour le faire. This technique can designate matrices with up to 128 columns (0-127) and 256 rows (0-255) and requires much less memory to do so. La limite de 128 colonnes vient de 0127 colonnes par 2 octets chacune, dont le dernier compte est égal à 255, la plus haute valeur The limit of 128 columns has 0127 columns by two bytes each, the last count is equal to 255, the highest value

qui peut être stockée dans le registre de X à huit bits. which can be stored in the register X of eight bits.

Cette capacité étendue d'accès à la donnée vient aux dépends de l'addition d'un code à base d'une mémoire morte qui initialise la mémoire à accès aléatoire du "programme" This expanded capability to access the data comes at the expense of the addition of a basic code of a ROM which initializes the random access memory of the "program"

par les codes appropriés. by appropriate codes.

Il faut noter qu'un octet additionnel dans la routine GET VALUE peut 8tre préservé en abandonnant l'instruction INCX et en changeant l'instruction précédant Note that an additional byte in the GET VALUE routine can 8tre preserved by abandoning INCX instruction and changing the instruction preceding

immédiatement STA LOW INDX pour LDA COLONNE PTR+1,X. immediately STA LOW INDX for LDA COLUMN PTR + 1, X.

Si nécessaire, des matrices atteignant 256 colonnes sur 256 rangées peuvent être adressées en modifiant les programmes dont la liste est donnée ci-dessus comme cela est montré ci-dessous: If necessary, matrices reaching 256 columns of 256 rows can be addressed by modifying the program whose list is given above as shown below:

- 14 - - 14 -

GETVALUE:;ON SUPPOSE A = I_INDEX, = J_INDEX; Getvalue:; A = ON SUPPOSED I_INDEX = J_INDEX;

STX ROWINDEX;INDEX RANGEE STOCKE STX RowIndex; INDEX ROW STORED

TAX;METTRE COLONNE DANS INDEX TAX, TO COLUMN IN INDEX

LDA HI COLPTR,X;CHERCHER OCTET HAUT DE COLONNE LDA HI COLPTR, X; SEARCH HI BYTE COLUMN

INDEX INDEX

STA HIINDX;RANGER STA HIINDX; RANGER

LDA LOCOLPTR,X;CHERCHER OCTET BAS D'INDEX LDA LOCOLPTR, X; LO BYTE SEARCH INDEX

STA LOWINDX;RANGER STA LOWINDX; RANGER

LDX ROWINDEX;PREPARER POUR INDEX RANGEE LDX RowIndex; PREPARE FOR INDEX ROW

JMP FETCH;AJOUTER CHERCHER DONNEE JMP FETCH, ADD SEARCH DATA

HICOLPTR: HICOLPTR:

DB HAUT IO _DATA;COLONNE O ADRESSE (OCTET HAUT) UP DB IO _DATA; COLUMN ADDRESS O (HI BYTE)

DB HAUT I1_DATA;COLONNE 1 ADRESSE (OCTET HAUT) DB UP I1_DATA; 1 COLUMN ADDRESS (HI BYTE)

DB HAUT I2-DATA;COLONNE 2 ADRESSE (OCTET HAUT) HIGH-DATA DB I2; 2 COLUMN ADDRESS (HI BYTE)

DB HAUT I3 DATA;COLONNE 3 ADRESSE (OCTET HAUT) HIGH DATA DB I3; 3 COLUMN ADDRESS (HI BYTE)

LOCOL PTR: LOCOL PTR:

DB BAS IODATA;COLONNE O ADRESSE (OCTET BAS) DOWN DB IODATA; COLUMN ADDRESS O (LO BYTE)

DB BAS I1_DATA;COLONNE 1 ADRESSE (OCTET BAS) DOWN DB I1_DATA; 1 COLUMN ADDRESS (LO BYTE)

DB BAS I2_DATA;COLONNE 2 ADRESSE (OCTET BAS) DOWN DB I2_DATA; 2 COLUMN ADDRESS (LO BYTE)

DB BAS I3_DATA;COLONNE 3 ADRESSE (OCTET BAS) DOWN DB I3_DATA; 3 COLUMN ADDRESS (LO BYTE)

Dans le présent exemple, les octets hauts et bas du pointeur de colonne sont stockés dans des tables séparées (HI_COLPTR et LOCOLPTR) comme le montre la figure 6. Les deux tables sont indexées par la même valeur stockée dans le registre de X. Ainsi, il n'est pas nécessaire de multiplier la valeur d'index par 2 pour In the present example, high and low bytes of the column pointer are stored in separate tables (and HI_COLPTR LOCOLPTR) as shown in Figure 6. The two tables are indexed by the same value stored in the register of X. Thus, it is not necessary to multiply the index value by 2

"sauter" les octets bas comme dans l'exemple qui précède. "Jump" the low byte as in the example above.

Comme aucune multiplication par 2 n'est requise, les 256 emplacements adressables peuvent être utilisés pour stocker As no multiplication by 2 is required, the 256 addressable locations can be used to store

les emplacements de départ des matrices. the starting locations of the arrays.

La présente invention a été décrite en se référant à une unité manuelle de télécommande mais elle peut The present invention has been described with reference to a manual remote control unit but it can

s'appliquer à d'autres cas. apply to other cases.

- 15 - - 15 -

Claims (5)

    REVENDICATI 0 NS REVENDICATI 0 NS
  1. 1. Dispositif à utiliser dans une unité de télécommande pour adresser une mémoire, du type comprenant: un moyen formant mémoire comportant une zone de mémoire morte contenant des instructions de programme stockées sous la forme de données, un certain nombre d'emplacements de mémoire dudit moyen formant mémoire, lesdits emplacements de mémoire étant agencés en un certain nombre de groupes et les données comprenant des adresses des emplacements respectifs de départ desdits groupes; 1. A device for use in a remote control unit for addressing a memory, comprising: memory means comprising a read only memory area containing program instructions stored in the form of data, a number of memory locations of said average memory means, said memory locations being arranged in a number of groups and the data including addresses of respective start locations of said groups; une zone de mémoire à accès aléatoire; a random access memory area; et un moyen de commande couplé auxdites zones de mémoire morte et de mémoire à accès aléatoire, caractérisé en ce que ledit moyen de commande lit lesdites instructions de programme stockées sous la forme de données de ladite zone de mémoire morte (450), stocke lesdites instructions de programme dans ladite zone de mémoire à accès aléatoire (420), lit lesdites adresses de ladite zone de mémoire morte (440), modifie ladite donnée stockée dans ladite zone de mémoire à accès aléatoire (420) en stockant lesdites adresses respectives de départ desdits groupes pour former des instructions exécutables et exécute lesdites instructions dans ladite zone de mémoire à accès aléatoire (420) pour un accès auxdits emplacements de mémoire desdits and control means coupled to said ROM area and random access memory, characterized in that said control means reads said program instructions stored in the shape data of said ROM area (450) stores said instructions program in said random access memory area (420), said addresses bed of said ROM area (440) modifies said data stored in said random access memory area (420) storing said respective addresses starting said groups to form executable instructions and executes said instructions in said random access memory area (420) for access to said memory locations of said
    groupes (415, 425, 435). groups (415, 425, 435).
  2. 2. Dispositif selon la revendication 1, - caractérisé en ce que chaque groupe (415, 425, 435) des divers groupes comporte des nombres respectifs différents 2. Device according to Claim 1, - characterized in that each group (415, 425, 435) of different groups has different respective numbers
    d'emplacements de mémoire. of memory locations.
  3. 3. Dispositif selon la revendication 1, caractérisé en ce que la limite du nombre des groupes est 3. Device according to claim 1, characterized in that the limit of the number of groups is
    de 128. 128.
  4. 4. Dispositif selon la revendication i, caractérisé en ce que la limite du nombre des groupes est 4. Device according to Claim i, characterized in that the limit of the number of groups is
    de 256. 256.
    - 16 - - 16 -
  5. 5. Procédé pour adresser une mémoire, caractérisé par les étapes de: lire des instructions de programme qui sont stockés sous la forme de données dans une première zone de mémoire (450); 5. A method for addressing a memory, characterized by the steps of: reading program instructions which are stored as data in a first memory area (450); stocker lesdites instructions de programme dans une seconde zone de mémoire (420); storing said program instructions in a second memory area (420); lire des adresses des colonnes d'une matrice des emplacements de mémoire (415, 425, 435) d'une troisième zone de mémoire (440), ladite matrice étant agencée en colonnes et rangées; read addresses of the columns of a matrix of memory locations (415, 425, 435) a third memory area (440), said matrix being arranged in columns and rows; modifier lesdites données stockées dans ladite seconde zone de mémoire (420) en stockant lesdites adresses desdites colonnes pour former des instructions exécutables; modifying said data stored in said second memory area (420) storing said addresses of said columns to form executable instructions; et exécuter lesdites instructions dans ladite seconde zone de mémoire (420) pour un accès auxdits emplacements de and executing said instructions in said second memory area (420) for access to said locations
    mémoire de ladite matrice. said matrix memory.
FR9004943A 1989-04-19 1990-04-18 Method and apparatus for addressing a memory Expired - Fee Related FR2646255B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB8908861A GB8908861D0 (en) 1989-04-19 1989-04-19 Apparatus and method for addressing memory
US07476651 US5099233A (en) 1989-04-19 1990-02-12 Apparatus and method for addressing memory

Publications (2)

Publication Number Publication Date
FR2646255A1 true true FR2646255A1 (en) 1990-10-26
FR2646255B1 FR2646255B1 (en) 1993-01-22

Family

ID=26295243

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9004943A Expired - Fee Related FR2646255B1 (en) 1989-04-19 1990-04-18 Method and apparatus for addressing a memory

Country Status (5)

Country Link
JP (1) JPH0824395B2 (en)
KR (1) KR100196602B1 (en)
DE (1) DE4012347A1 (en)
FR (1) FR2646255B1 (en)
GB (1) GB2232515B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6752128B2 (en) 2002-06-12 2004-06-22 Denso Corporation Intake system failure detecting device and method for engines

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302809A (en) * 1978-06-29 1981-11-24 Burroughs Corporation External data store memory device
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
US4825200A (en) * 1987-06-25 1989-04-25 Tandy Corporation Reconfigurable remote control transmitter

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
JP2718474B2 (en) * 1987-05-22 1998-02-25 パイオニア株式会社 Remote control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302809A (en) * 1978-06-29 1981-11-24 Burroughs Corporation External data store memory device
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
US4825200A (en) * 1987-06-25 1989-04-25 Tandy Corporation Reconfigurable remote control transmitter

Also Published As

Publication number Publication date Type
FR2646255B1 (en) 1993-01-22 grant
GB9008663D0 (en) 1990-06-13 application
DE4012347A1 (en) 1990-11-08 application
JPH0316498A (en) 1991-01-24 application
GB2232515B (en) 1993-08-25 grant
KR100196602B1 (en) 1999-06-15 grant
JPH0824395B2 (en) 1996-03-06 grant
GB2232515A (en) 1990-12-12 application

Similar Documents

Publication Publication Date Title
US5794249A (en) Audio/video retrieval system that uses keyword indexing of digital recordings to display a list of the recorded text files, keywords and time stamps associated with the system
US6437836B1 (en) Extended functionally remote control system and method therefore
Dowe Content-based retrieval in multimedia imaging
US6650877B1 (en) Method and system for identifying data locations associated with real world observations
US5408448A (en) Device and method for CD shuffle play
US7788266B2 (en) Method and system for processing ambiguous, multi-term search queries
US6665639B2 (en) Speech recognition in consumer electronic products
US6166666A (en) Method and apparatus for compression and encoding of unicode strings
US5383121A (en) Method of providing computer generated dictionary and for retrieving natural language phrases therefrom
US7529806B1 (en) Partitioning of MP3 content file for emulating streaming
EP0813138A1 (en) One Button searching of long lists
US5193207A (en) Link sorted memory
US4694395A (en) System for performing virtual look-ahead memory operations
US5524024A (en) ADPCM synthesizer without look-up table
US6567103B1 (en) Graphical search results system and method
US6067560A (en) Retrieval saving and printing in a computer network system environment
EP0085210A1 (en) Image processing system
US4060792A (en) Hard clipped beam former
US5889961A (en) Disk drive having program to be executed by a second processor stored in a first processor&#39;s ROM in a compressed form
US5659631A (en) Data compression for indexed color image data
US20090024573A1 (en) Method and system for performing search on a client device
US5778406A (en) Apparatus for delivering CPU independent data for little and big endian machines
US6252882B1 (en) Chirp spread spectrum signal multiple access apparatus
EP0734126A1 (en) Two-stage compression with runlength encoding and lempel-ziv encoding
US5276827A (en) Data buffer for the duration of cyclically recurrent buffer periods

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20061230