Brevet FR2683923A1 — publié le 19930521

La présente invention concerne un procédé pour faire exécuter des programmes à fonctions déterminées par un ordinateur ne possédant pas ces fonctions, et un système de calcul autonome pour la mise en oeuvre dudit procédé. Aujourd'hui, les ordinateurs disposent de fonctions permettant de les transporter aisément et de les utiliser de façon autonome. Il existe aussi des moyens de communication disposant des mêmes possibilités. On peut donc envisager de rassembler ces deux produits dans un même ensemble. Cependant le produit ainsi obtenu est lourd, peu ergonomique et dispose d'une autonomie réduite. En effet, le poids actuel d'un ordinateur portable disposant d'un niveau fonctionnel suffisant est supérieur au kilogramme, la dimension du clavier impose une taille minimum à l'ensemble et son autonomie de fonctionnement dépasse rarement quatre heures. La juxtaposition d'un dispositif de communication ne peut qu'en augmenter le poids et en réduire l'autonomie. Pour être capable d'exécuter un nombre important de logiciels ou programmes, les ordinateurs doivent disposer d'un certain nombre de dispositifs répondant à des spécifications de fait imposées par le marché. Malgré des efforts de miniaturisation importants, ces dispositifs ont un poids, un encombrement et une consommation en énergie trop élevés. Le perfectionnement apporté par cette invention comprend un dispositif de contrôle programmable référencé par le processeur permettant à partir d'un environnement minimum d'apporter le niveau fonctionnel suffisant pour permettre l'exécution de programmes conçues pour des ordinateurs disposant d'un environnement plus étendu. D'après cette invention, le procédé consiste à repérer les accès aux fonctions requises par les programmes et de simuler leur comportement soit à l'aide d'autres fonctions disponibles dans le système de calcul, soit par l'accès à travers un dispositif de communication à des fonctions situées dans un autre système. La description de l'invention qui suit fait référence aux dessins annexés: La figure I est un schéma logique du système de calcul autonome mettant en oeuvre le procédé. La figure 2 donne une représentation d'un exemple de réalisation possible d'un appareil utilisant l'invention dans sa vue de face. La figure 3 donne la représentation du même appareil dans sa vue de dos. L'invention est particulièrement adaptée à un système de calcul autonome mettant en oeuvre un processeur (1), une mémoire dynamique (6), une mémoire à lecture seule (7), un dispositif d'affichage ( 10), un ou plusieurs dispositifs de saisie (11 et 12), une alimentation par batterie ( 14) et en option un dispositif de communication ( 17). Dans l'appareil mettant en oeuvre le procédé décrit, le processeur ( I) peut être du type Intel386SL qui fait partie de la famille des processeurs 32 bits d'untel et dispose de fonctions de gestion de la consommation en énergie électrique. Il gère directement la mémoire dynamique (6) dont la capacité peut être de 2 méga-octets et pour laquelle un mode de veille peut être mis en oeuvre. Un contrôleur d'entrées-sorties (5) par exemple le circuit lntel82360, regroupe des fonctions de base, dont la génération de signaux sonores (ils) et certains interfaces. Le processeur dialogue avec les circuits périphériques à travers un bus d'adresses (2), un bus de données (3) et des signaux de contrôle (4). Un dispositif de contrôle de l'alimentation électrique (13) prend en compte la chaque et la surveillance de la batterie (14), la génération des tensions nécessaires, la mise en veille et l'allumage de certains éléments. Si la chargeur n'est pas inclus dans l'appareil un connecteur ( 15) permet son branchement. La mémoire à lecture seule (7) contient les programmes nécessaires à l'exploitation de l'appareil ainsi que les programmes et les données des applications à exécuter. Son contenu est préservé lors de la mise hors tension de l'appareil. Si cela est souhaité des composants mémoire pouvant être reprogrammés, par exemple des PROMS-FLASH, peuvent être utilisés pour rendre possible la mise àjour du contenu de cette mémoire. Le dispositif d'affichage (10), qui peut être à base de cristaux liquides, dispose d'une définition permettant l'utilisation de représentations graphiques, mais cette définition ne doit pas nécessairement être équivalente à la définition requise par les logiciels ou programmes. Le dispositif de commande de l'écran autorise le contrôle de chaque point avec éventuellement un choix de couleur ou de niveau de gris, mais il n'y pas de contrainte particulière sur sa mise en oeuvre par les logiciels. L'état de chaque point est rangé dans une mémoire d'affichage (8). Les périphériques de saisie peuvent être très variées et sont fonction de l'ergonomie recherchée. On pourra disposer d'un clavier (12) pourvu d'un nombre variable de touches et/ou d'un écran tactile (11) éventuellement superposé au dispositif d'affichage et/ou d'un interface (16) permettant la connexion par divers moyens à des dispositifs externes comme un clavier, une souris, un potentiomètre, un appareil de mesure, un lecteur de codes, un scanner, une imprimante, un modem. Un dispositif de communication ( 17) peut faire partie de cet appareil. Il peut être d'une nature quelconque et faire éventuellement usage d'un support physique. Il peut être spécifique ou conforme à un standard. Pour atteindre un niveau d'intégration suffisant et réduire la consommation électnque de l'ensemble, certains circuits peuvent être regroupés dans un circuit spécifique (9) développé pour cet appareil. Lors de l'exécution des programmes, les opérations du processeur (10) sont surveillées par un dispositif de contrôle programmable afin de détecter l'accès à certaines fonctions. Ces fonctions sont soit absentes, soit disponibles sous une forme qui ne correspond pas à celle attendue par les programmes Dans ce cas un module spécifique du dispositif de contrôle programmable est déclenché qui a pour but d'achever l'opération du processeur (10) dans des conditions identiques à celles qui auraient été obtenues si la fonction était totalement disponible. La détection des accès aux fonctions surveillées et l'activation du dispositif de contrôle programmable correspondant sont réalisées en mettant à profit les possibilités du processeur (10). Pour un processeur appartenant à la famille des processeurs 32 bits d'lNTEL, ces opérations peuvent être réalisées en sélectionnant le mode VIRTUAL-8086 pour l'exécution des programmes. Les registres et les zones mémoire à surveiller peuvent ainsi être désignés dans les structures de contrôle relatives à ce mode d'exécution. Dans ce cas tout accès à ces registres ou ces zones mémoire active immédiatement le dispositif de contrôle programmable mis en place. Les descriptions qui suivent explicitent la mise en oeuvre du procédé pour simuler le comportement des fonctions d'affichage, d'entrée clavier et d'impression. Un affichage de type VGA est caractérisé par une mémoire d'affichage à partir de laquelle est élaborée l'image visualisée sur l'écran. Le mécanisme utilisé pour élaborer cette image est fonction d'un mode de fonctionnement sélectionné par la programmation de registres spécifiques. Ces modes peuvent être classés suivant deux types: les modes caractères et les modes graphiques. Dans les modes caractères chaque position de la mémoire d'affichage correspond à un caractère sur l'écran. Par contre dans les modes graphiques, une position de la mémoire d'affichage correspond à un ou plusieurs points de l'écran. Le traitement mis en place consiste à détecter les accès en écriture aux registres de configuration pour en déduire le mode sélectionné, puis de détecter et analyser les accès en écriture à la mémoire d'affichage simulé pour réaliser la transposition vers la mémoire d'affichage (8). Dans la mise en oeuvre donnée en exemple, chaque point du dispositif d'affichage (10) est contrôlé individuellement. Aussi, pour un mode caractère, le traitement correspondant à un accès à la mémoire d'affichage simulé consiste, tout d'abord, en la reconnaissance du caractère à afficher et des ses attributs en fonction de la donnée écrite, et le calcul de la position correspondante sur l'écran en fonction de la position mémoire adressée. A partir des ces indications la position de ce caractère dans la mémoire d'affichage est déterminée. II est ensuite dessiné en modifiant l'état des points qui le composent en utilisant des motifs prédéfinis et en prenant en compte l'attribut spécifié. De même le curseur dont la position est déterminée par l'analyse des valeurs écrites dans les registres correspondants, est redessiné à chaque déplacement. Lorsqu'un mode de type graphique est sélectionné le traitement se limite à rechercher le ou les points de la mémoire d'affichage (8) correspondant à ceux de l'affichage simulé qui sont altérés par un accès à cette mémoire d'affichage simulé. La définition du dispositif d'affichage (10), caractérisée par le nombre de points affichés, étant inférieure à la définition de l'affichage simulé, un mécanisme de fenêtre de visualisation est mis en place. Celui-ci consiste à sélectionner un sous-ensemble de la mémoire de l'affichage simulé pour établir le contenue de la mémoire d'affichage (8). L'utilisateur a alors la possibilité de déplacer cette fenêtre pour accéder à l'ensemble de l'affichage simulé. Du fait du procédé utilisé, cette opération est totalement transparente pour les programmes. Ceux-ci sont donc directement exploitable sans modification. Les claviers standards sont équipés de 101 ou 102 touches. Ce nombre représente une contrainte importante relative à la taille de l'appareil. L'application du procédé objet de l'invention conduit au remplacement partiel ou total de la fonction clavier par une autre fonction plus adaptée à un appareil de taille réduite sans conséquence pour les logiciels. En effet, les accès au contrôleur clavier étant surveillés, les opérations induite par la frappe d'une touche sont simulées. Du coté de l'utilisateur il peut par exemple disposer d'un clavier (12) pourvu de quelques touches configurables en fonction des touches les plus fréquemment utilisées. L'accès aux autres touches peut, par exemple, être rendu possible par la frappe d'une touche dédiée qui provoque l'apparition d'un dessin de clavier sur le dispositif d'affichage (10). La superposition d'un écran tactile (il) sur le dispositif d'affichage (10) permet alors, par simple désignation avec le doigt ou par l'intermédiaire d'un stylet, de sélectionner la touche. L'écran tactile ( 11 ) peut aussi, avec ce procédé, être utilisé pour simuler les déplacement d'une souris. L'imprimante peut être proposée comme une extension de l'appareil. Mais il est aussi possible d'appliquer à nouveau le procédé pour simuler cette fonction. En surveillant les accès aux registres de commandes et de données de l'interface imprimante, le flot des codes transmis à l'imprimante est reconstitué. Les données correspondantes sont transmise à travers le dispositif de communication (17) vers un équipement distant qui peut être une imprimante, un ordinateur connecté à une imprimante, un réseau informatique ou tout système capable de traiter ces données. Le système de calcul autonome peut se présenter sous la forme d'un boîtier (21) pouvant tenir dans la main. Il peut être pourvu, sur une face, d'un écran à cristaux liquides recouvert d'un écran tactile (20) disposé dans le sens de la largeur ou de la hauteur. Il peut disposer, sur la même face, d'un clavier (22) dans sa partie inférieure. Si le dispositif de communication l'autorise, le système peut supporter, sur l'autre face, un microphone (26) et un écouteur (25) lui permettant ainsi de faire office de téléphone. II peut être complété par une antenne (19), un connecteur pour les dispositifs externes (23) et des contacts (24) pour le chargeur de la batterie. REVENDICATIONS 1. Procédé pour faire exécuter des programmes non modifiés nécessitant la disponibilité de fonctions déterminées par un système de calcul (ou ordinateur) ne possédant pas ces fonctions ou possédant des fonctions différentes, caractérisé en ce qu'il comprend des étapes consistant à détecter les accès aux dites fonctions; pour chaque accès à déterminer la requête soumise à ladite fonction, a transposer cette requête en une nouvelle requête, à soumettre cette nouvelle requete à une fonction disponible sur ledit système de calcul. 2. Procédé selon la revendication 1 appliqué à la transposition des requêtes soumises à une fonction d'affichage comprenant un mémoire d'affichage et des registres de commande et fonctionnant selon plusieurs modes de type caractères ou graphiques, vers un dispositif d'affichage d'une définition différente pour laquelle chaque point est contrôlé individuellement. 3. Procédé selon la revendication 2 caractérisé en ce qu'il comprend la possibilité de sélectionner à partir de la mémoire d'affichage de la fonction simulé le sous-ensemble visualisé par le dispositif d'affichage du dit système lorsque la définition de ce dernier est inférieure à celle de la fonction simulée. 4. Procédé selon la revendication I appliqué à la transposition des requêtes soumises à une fonction clavier vers une fonction gérant un clavier comprenant un nombre de touches différent et mettant en oeuvre un dispositif d'affichage associée à un écran tactile pour simuler des touches supplémentaires. 5. Procédé selon la revendication 1 appliqué à la transposition des requêtes soumises à une fonction souris vers un dispositif d'affichage associée à un écran tactile pour en simuler les déplacements et I'enfoncement des boutons. 6. Procédé selon la revendication I caractérisé en ce qu'il comprend la possibilité de transmettre les requêtes soumises à une fonction imprimante vers un équipement distant. 7. Système de calcul autonome pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend un processeur programmable (1), une mémoire dynamique (6), une mémoire à lecture seule (7), un dispositif d'affichage (10), un ou plusieurs dispositifs de saisie (11 et 12) et une alimentation par batterie (14). 8. Système selon la revendication 7 caractérisé en ce qu'il comporte un dispositif de communication (17). 9. Système selon la revendication 8 caractérisé en ce qu'il comporte une antenne (19), un connecteur pour dispositifs externes (23) et des contacts (24) pour le chargeur de la batterie. 10. Système selon la revendication 9 caractérisé en ce qu'il comporte un microphone (26) et un écouteur (25), pour faire office de téléphone.