BE1001064A3 - Systeme de calcul a adressage independant du mode d'exploitation. - Google Patents
Systeme de calcul a adressage independant du mode d'exploitation. Download PDFInfo
- Publication number
- BE1001064A3 BE1001064A3 BE8701337A BE8701337A BE1001064A3 BE 1001064 A3 BE1001064 A3 BE 1001064A3 BE 8701337 A BE8701337 A BE 8701337A BE 8701337 A BE8701337 A BE 8701337A BE 1001064 A3 BE1001064 A3 BE 1001064A3
- Authority
- BE
- Belgium
- Prior art keywords
- pointers
- memory
- mode
- common data
- modes
- Prior art date
Links
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 59
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Information Transfer Systems (AREA)
Abstract
Système de calcul et méthode d'exploitation d'un système de calcul capable de fonctionner dans des modes d'adressage réel et protégé mutuellement incompatibles, dans lequel des programmes écrits pour un mode peuvent etre exploités dans l'autre mode sans modification, un système BIOS assemblant deux zones de données communes différentes pour les deux modes, chacune comprenant des pointeurs de bloc de dispositif, des pointeurs de table de transfert de fonction, des pointeurs de données et des pointeurs de fonction.
Description
<Desc/Clms Page number 1> "Systeme de calcul à adressage indépendant du mode d' exploitation" Domaine technique La prEsente invention concerne un Systeme de calcul utilisant un processeur comportant plus d'un mode d'adressage. La presente invention concerne plus particulibrement un système de calcul pouvant exploiter le même programme d'applications dans chaque mode d'une pluraliste de modes d'adressage. Art antérieur On demande aux micro-calculateurs (calculateurs personnels) d'assurer des täches de traitement de données de plus en plus complexes sans dégradation du temps de réponse. D'autre part, afin d'assurer les täches les plus compliquées, des commandes de dispositifs supplémentaires, des programmes de definition de reseaux, des programmes de raccordement de système principal, des programmes de gestion de sessions, etc..., doivent être chargées dans l'espace de mémoire disponible. Le volume de l'espace laisse pour les programmes d'applications de l'utilisateur est ainsi réduit, ce qui conduit ä des compromis peu souhaitables en ce qui concerne la mémoire, le fonctionnement et les performances du systeme. Pour résoudre ce problème, les derniers micro-processeurs disponibles sur le marche, offrent un volume de memoir adressable qui a ete considérablement augmente. Par exemple, dans le cas du micro-processeur Intel Corporation 8088/8086, (dans la suite du document, les micro-processeurs seront appelés plus simplement "unité centrale de traitement" ou "CPU"), le volume de mémoire adressable est de l'ordre de 1MB <Desc/Clms Page number 2> (Mega-multiplets) tandis que dans le nouveau CPU 80286, approximativement 16MB peuvent être adressés. Le 80286 utilise cependant deux modes d'adressage différents et mutuellement incompatibles. Le premier mode appelé mode "rée1", est exactement le meme mode d'adressage que celui utilisé dans le CPU 8088/8086 et des programmes écrits pour une machine utilisant le CPU 8088/8086, par exemple le vaste ensemble de logiciel écrit pour le calculateur IBM PC et ses compatibles, peuvent être utilisés en mode rée1 étant donné que le même système d'entrée/sortie de base (BIOS) peut être utilise directement. Cependant, en mode réel, étant donne que le mode d'adressage est en fait le même que pour le 8086/8088, le volume de memoire adressable est toujours limité à approximativement 1MB. Le second mode appelé mode "protégé", utilise un schema d'adressage de mémoire différent et avec ce schéma, on peut adresser jusqu'à approximativement 16MB de mdmoire. Cependant, en raison du fait que le mode d'adressage est effectivement différent, les systemes BIOS précédents ne peuvent pas être utilisés avec succes et les calculateurs qui ont utilisé le CPU 80286 n'ont pas pu simultanément tirer avantage du volume accru de mémoire disponible en mode protégé et utiliser du logiciel écrit pour le CPU 8086/8088. La figure 1 représente une mappe de mémoire d'une application de micro-calculateur classique utilisant un CPU 802886 et montrant un exemple d'organisation de mémoire. Des adresses de memoire dans la plage comprise entre OKB (Kilo-multiplets) et 40KB, sont récupérées par le système BIOS (Système d'entrée-sortie de base) et le système OS (Systeme de fonctionnement), les exemples les plus célèbres étant le système PC DOS et <Desc/Clms Page number 3> le système MS DOS commercialisés par Microsoft Corporation. 11 est attribué à l'utilisateur l'espace compris entre 40KB et 640KB ä la fois en mode réel et en mode protégee. Les mémoires intermédiaires vidéos occupent la plage de 640KB ä 752KB et les mémoires EMI3.1 mortes (ROM) la plage de 752KB ä 1MB. 11 s'agit là de toute la mémoire qui peut être adressée en mode réel. Cependant en mode protégé, 15 MB de volume supplémentaire de mémoire adressable sont ä la disposition de l'utilisateur. Afin de mieux faire comprendre le probleme resolu par la presente invention, on va maintenant décrire en detail les deux modes d'adressage. Dans les deux unités CPU 8088/8086 et, en mode réel, dans l'unité CPU 80286, la memoire physique est adressée directement en utilisant des pointeurs de 32 bits. Comme le montre la figure 2, chaque pointeur de 32 bits est composé d'un décalage de 16 bits (bits 0 ä 15) et d'un segment de 16 bits (bits 16 ä 31). La mémoire est divisée en segments de 64KB et chacune des valeurs des segments de 16 bits des pointeurs, correspond directement ä l'un de ces segments de 64KB en mémoire. C'est-à-dire que le segment de pointeur n EMI3.2 4 multiplié par 24 (ou, de maniere équivalente, décale d'un emplacement en hexadécimal), indique directement l'adresse du premier multiplet de huit bits de donnees dans le segment n de la mémoire, ä savoir la limite entre les segments n-l et n en memoire physique. D'autre part, le decalage indique un déplacement depuis la limite entre les segments n-l et n. Comme indique par le schéma de la figure 3, pour obtenir la valeur de 20 bits qui adresse directement un emplacement de multiplet donné (adresse d'opérande) en <Desc/Clms Page number 4> EMI4.1 mémoire physique, la valeur du segment est multipliée j par 24 et ajoutée à la valeur de décalage. Cette adresse de 20 bits est appliquée directement ä la mémoire comme une adresse. Dans le mode protégé du 80286, le BIOS n'utilise pas de mémoire physique sous la forme de segments et de décalages. De plus, la mémoire n'est pas divisee en segments de 64KB. A la place, on utilise l'adressage de memoire"virtuelle"dans lequel les adresses ne correspondent pas directement ä des emplacements distincts en mémoire physique. Afin de permettre une utilisation plus efficace de l'espace de mémoire disponible tout en conservant un adressage relativement facile, la memoire est ä nouveau divisée en segments mais les segments peuvent être de longueurs variables. La génération des adresses physiques reelles est assurée interieurement au CPU 80286, hors de portée de l'utilisateur et du BIOS. Le mode d'adressage protégé sera expliqué plus en detail en se reportant à la figure 4 des dessins. Comme dans le cas du 8088/8086 et du mode reel, le BIOS adresse la memoire en utilisant un pointeur de 32 bits. En mode protégé, les 16 bits inférieurs (bits 0 ä 15) du pointeur sont aussi considérés comme un décalage. En raison du fait que sa fonction est différente de celle EMI4.2 du segment dans le 8088/8086 et en mode réel, la partie supérieure de 16 bits du pointeur est appelée un "sélecteur". Au lieu de simplement le multiplier par 24 et de l'ajouter au décalage, le sélecteur est utilise comme un pointeur ä un descripteur de segment contenu dans une table de descripteurs de segments qui est assemblee dans une zone prédéterminée de la mémoire physique. Chaque descripteur de segment contient une <Desc/Clms Page number 5> valeur de 24 bits qui indique l'adresse de base (adresse de limite inferieure) du segment correspondant dans la mémoire physique. Pour obtenir l'adresse réelle d'un opérande desire en mémoire physique, la valeur du descripteur de segment de 24 bits recuperee par le selecteur est ajoutée au décalage. En raison du fait que les selecteurs employés en mode EMI5.1 protégé ont ainsi une fonction qui est tres differente de et non équivalente ä celle des segments dans le 8088/8086 et en mode reel, le BIOS conçu pour le 8088/8086 et le mode réel, qui utilise des segments ä l'adressage, ne peut pas fonctionner directement en mode reel, ce qui rend son fonctionnement impossible dans les programmes en mode protégé écrits pour utiliser le BIOS développé pour le 8088/8086 et le mode réel. Bien que de tels programmes puissent être naturellement utilisés sur le CPU 80286 en mode reel, c'est un inconvénient de ne pas pouvoir aussi les utiliser en mode protégé. Objets de l'invention En conséquence, un objet de la présente invention est de fournir un systeme de calcul et une méthode pour actionner un système de calcul dans lesquels les inconvénients indiqués ci-dessus ont ete éliminés. La presente invention a pour objet plus précis de fournir un système de calcul et une méthode pour actionner un système de calcul dans lesquels un BIOS unique est capable de supporter des programmes ä la fois en mode protégé et en mode réel. Resume de l'invention <Desc/Clms Page number 6> Conformément aux objets indiqués ci-dessus et autres, la présente invention fournit un Systeme de calcul et une methode d'actionnement d'un Systeme de calcul ayant un premier et un second modes d'adressage mutuellement incompatibles dans lesquels, pour chaque mode d'adressage est assemblee une table de zone de données commune contenant des pointeurs utilises pour amorcer les diverses tâches de transfert de donnees et autres opérations d'entree/sortie de base pouvant être nécessaires au système de fonctionnement ou aux programmes d'application. Chaque pointeur dans la table de zone de données commune pour le premier mode est äquivalent, en ce qui concerne sa fonction, ä un pointeur respectif desdits pointeurs de la table de zone de données commune pour le second mode. Cependant, les pointeurs dans les deux tables sont assembles pour leurs modes d'adressage respectifs. Dans le cas des modes réel et protege, comme indique ci-dessus, les pointeurs pour la zone de donnees commune en mode réel sont chacun composes d'un segment et d'un décalage, et ceux de la zone de données commune en mode protégé, sont composés de sélecteurs et de décalages. Les decalage des pointeurs dans la table en mode protégé qui indiquent des adresses extérieures ä la zone de données commune, sont identiques en valeur ä celles des pointeurs correspondants dans la table en mode reel, tandis que les sélecteurs correspondent en ce qui concerne l'adresse physique, aux segments des pointeurs correspondants. Breve description des dessins EMI6.1 La figure 1 est une mappe de memoire d'un exemple d'un Systeme de calcul utilisant un CPU ä modes d'adressage réel et protégé. <Desc/Clms Page number 7> La figure 2 represente une partie d'une mémoire principale en mode réel et montre comment la memoire est adressée en utilisant des décalages et des pointeurs. La figure 3 montre comment des segments et des valeurs de décalage sont manipulés et additionnés pour produire des adresses de mémoire physique en mode réel. La figure 4 illustre une partie d'une memoire principale en mode protégé et montre comment la memoire est adressée en utilisant des décalages et des pointeurs. La figure 5 est un schéma montrant comment le code BIOS est agencé selon la presente invention. La figure 6 est une mappe d'une zone de données communes ä deux modes selon l'invention. La figure 7 est un organigramme montrant en détail comment la zone de donnees communes ä deux modes illustrée ä la figure 6, est assemblée. La figure 8 est un organigramme montrant par exemple comment on obtient un pointeur de bloc de dispositif pour un ID logique donné. La figure 9 est un organigramme illustrant comment une requete est faite au BIOS dans le système de calcul de l'invention. Description détaillée de la réalisation realisation préférée de l'invention <Desc/Clms Page number 8> En se reportant tout d'abord au schéma de la figure 5, on voit que celui-ci represente une mappe de mémoire pour le code BIOS utilisé dans le système de calcul de la presente invention. Le code BIOS est composé de trois parties : POST, CBIOS et ABIOS. POST (Auto-test alimente) est utilise pour l'exécution de l'auto-test initial et d'autres fonctions de demarrage de base, y compris l'extraction de l'enregistrement amorce du disque du systeme et le chargement ulterieur du système d'exploitation en mémoire. CBIOS (Systeme d'entrée/sortie basique de comptabilite) contient le BIOS utilisé par des programmes d'applications pour l'execution d'opérations d'entrée/sortie (transferts de données vers et depuis la mémoire, les périphériques, etc...) en mode réel seulement et dans un environnement ä definition de täches centralisées. ABIOS (Système d'entree/sortie basique avancé) contient le BIOS utilise par des programmes d'applications pour exécuter des opérations d'entree/sortie dans un environnement à définition de täches centralisées ä deux modes. Selon les enseignements de la présente invention, ABIOS EMI8.1 peut fonctionner soit en mode réel, soit en mode protégé. La méthode pour effectuer cela consiste pour ABIOS a assembler des zones CDA (Zones de donnees communes) ä deux modes, une pour le mode reel et une pour le mode protégé. Les entrées contenues dans les deux zones CDA sont identiques en ce qui concerne leur fonction mais dans la zone CDA en mode reel, les pointeurs sont décrits en termes de segments et de décalages tandis que dans la zone CDA en mode protege, ils sont decrits en termes de selecteurs et de décalages. Si le système d'exploitation ä l'intention de n'executer le BIOS qu'en mode reel, il est seulement <Desc/Clms Page number 9> nécessaire d'assembler et d'utiliser la zone CDA en mode réel, ce qui fait que les transferts de donnees commandes par le BIOS pour des programmes d'applications se deroulent de la manière précédemment connue pour les opérations en mode réel. Avant que le système d'exploitation puisse exécuter le BIOS en mode protégé, la zone CDA en mode protégé doit cependant être assemblee. En utilisant la zone CDA en mode protégé, étant donné qu'elle est fonctionnellement identique à la zone CDA en mode réel, des programmes écrits pour le mode rée1 peuvent etre exploites avec succes en mode protégé au choix de 1'utilisateur. Donc, par la présentation des zones CDA ä deux modes, on rend le code ABIOS essentiellement "transparent" au mode dans lequel l'utilisateur a choisi d'exploiter le CPU. Ceci a pour resultat un adressage indépendant des modes pour les programmes d'applications. Un exemple de zones CDA ä deux modes est représente ä la figure 6. Les abréviations suivantes sont utilisees dans la figure 6 pour en simplifier la présentation : ID logique (LID) - Chaque LID correspond ä et identifie un dispositif demande. Chaque dispositif disponible pour ABIOS comporte un LID qui lui est associé. Bloc dispositif (DB) - Le DB est une zone de memoire de travail allouée par le système d'exploitation, qui contient des adresses de port de materiel, des niveaux d'interruption et des informations d'état de dispositif. Table transfert fonctions (FTT) - La table FTT est une zone de mémoire permanente allouée par le <Desc/Clms Page number 10> système d'exploitation et qui contient les pointeurs ä chaque routine de fonction ABIOS. Pointeurs donnees ABIOS (Data Ptr)-Les pointeurs de données délivrent ä ABIOS l'adressabilité ä des parties particuliers de la memoire dans l'environnement à deux modes. Les pointeurs aux memoires intermédiaires vidéos en sont des exemples. Comme on peut le voir facilement ä la figure 6, les entrées dans les deux zones CDA sont en général entierement identiques en ce qui concerne leur fonction et leur place dans les tables respectives. La seule difference est que les pointeurs dans la zone CDA en mode réel, sont composés de valeurs de segments et de décalages et que les pointeurs dans la zone CDA en mode protégé sont composés de sélecteurs et de décalages. Ainsi, en utilisant simplement la zone CDA correspondant au présent mode d'exploitation du CPU, dans la mesure où le reste du BIOS, le système d'exploitation et les programmes d'application sont concernes, toutes les opérations BIOS sont exécutées de maniere identique entre les deux modes. C'est-à-dire que, comme le montre la figure 6, le LID pointeur DB n correspondant dans les deux tables indiquent le meme emplacement identique en memoire et les mêmes pointeurs m de fonction indiquent la même fonction identique m. La figure 7 est un organigramme décrivant en détail la manière suivant laquelle les deux zones CDA sont assemblées. Depuis le point DEBUT, ABIOS est appelé pour construire la table des parametres du système ä l'étape 20. A l'etape 21, ABIOS est appele pour construire la table <Desc/Clms Page number 11> d'initialisation. Puis, ä l'etape 22, un volume de mémoire est alloue pour la zone CDA en mode reel, y compris les blocs DB, les tables FTT et les pointeurs de donnees. A l'étape ultérieure 23, une routine de bloc DB initiale (InitDB) est appelée pour des entrées de table initiales afin de construire la table FTT, le bloc DB, etc... Ceux qui sont familiers du BIOS utilise dans le calculateur IBM AT comprendront les autres détails concernant la manière suivant laquelle étapes 20 ä 23 sont mises en oeuvre. Apres que l'on ait déterminé ä l'etape 24 que toutes les entrées dans la table CDA en mode reel sont terminées, ä l'étape 25, on alloue un volume de memoire pour la zone CDA en mode protege. A l'etape 26 suivante, selon un aspect important de l'invention, une partie décalée d'un pointeur DB dans la zone CDA en EMI11.1 mode réel est copiee directement ä l'entree correspondante de la zone CDA en mode protégé. En ce qui concerne la valeur de décalage copiée à l'etape 26, aux étapes 27 et 28, on attribue un sélecteur dont l'adresse physique est égale au segment du pointeur respectif dans la zone CDA en mode réel. A l'étape 29, le selecteur est copie ä la position correspondante dans la zone CDA en mode protégé afin de compléter le pointeur. En se reportant aux etapes 30 ä 34, on voit qu'un pointeur FTT est assemblé d'une manière légèrement différente de celle appliquée pour les pointeurs DB aux étapes 26 à 29 étant donné que les pointeurs FTT indiquent d'autres pointeurs dans la zone CDA plutot EMI11.2 que des adresses exterieures ä la zone CDA. A l'étape 30, une table FTT en mode protégé est attribuee et ä l'étape 31, une copie du decalage de la table FTT en mode protege correspondante est copiee au pointeur FTT <Desc/Clms Page number 12> en mode protege. A l'étape 32 suivante, on détermine si le sélecteur en mode protege a été attribué. Si non, ä l'étape 33, un sélecteur est attribue, lequel indique la table FTT. A l'étape 34, le selecteur est copié ä la partie du sélecteur dans la zone CDA en mode protégé. D'une manier similaire ä celle utilisée pour l'assemblage du pointeur DB aux etapes 26 ä 29, on assemble aux étapes 35 ä 38 un pointeur de fonction correspondant dans la zone CDA en mode protégee. A l'étape 39, on effectue un test pour determiner si tous les pointeurs de la table FTT ont été achevés. On répète les étapes 35 ä 39 jusqu'à ce que tous les pointeurs de la table FTT aient ete assemblés. Si non, le procede se reboucle ä l'étape 26 et on répète les étapes 26 ä 40 jusqu'à ce que tous les indicateurs EMI12.1 logiques ID, les pointeurs DB et les pointeurs FTT aient été acheves. Pour finir la zone CDA en mode protege ä l'étape 41, les pointeurs de donnees (c'est-à-dire les pointeurs ä la mémoire intermediaire vidéo), sont assemblés. Ce qui est execute de la même maniere qu'indique ci-dessus. A l'étape 41, la partie decalee d'un pointeur de donnees depuis la zone CDA en mode reel, est copiee ä l'entree correspondante de la zone CDA en mode protege et ä l'etape 42, un selecteur est attribue et son adresse physique est egale au segment dans l'entree de la zone CDA en mode reel correspondante. Le selecteur est copie dans la zone CDA en mode protégee ä l'retape 43. A l'étape 44, on détermine si tous les pointeurs de donnees ont ete achevés. Si non, le procede se reboucle ä l'etape 41, après quoi on répète l'execution des etapes 41 ä 44 jusqu'à ce que tous les pointeurs de <Desc/Clms Page number 13> EMI13.1 donnees soient termines. A cet instant, l'assemblage des deux zones CDA est acheve. Pour montrer un exemple de la manière suivant laquelle la zone CDA assemblée est utilisee par le systeme ABIOS, on se reportera ä la figure 8 qui est un organigramme montrant ä titre d'exemple, comment on obtient un pointeur DB depuis la zone CDA ä deux modes pour un indicateur ID logique donne. Tout d'abord, les étapes 60 et 61 permettent d'accéder au pointeur d'ancrage CDA "courant" et à 1'indicateur ID logique correspondant. A l'etape 62, l'indicateur ID logique est multiplié par 23 (=8) pour obtenir le decalage pour le pointeur DB. Puis ä l'étape 63, on peut acceder au pointeur DB. La figure 9 est un organigramme montrant comment un programme fait une requête au systeme ABIOS. Tout d'abord, ä l'étampe 70, un bloc de requête pour la requête spécifique sous la main, est attribue et rempli. A l'etape 71, on accède au pointeur d'ancrage CDA"courant". Aux étapes suivantes 72 et 73, le pointeur d'ancrage et le pointeur RB sont retenus dans la trame de pile par l'utilisation d'instructions PUSH. L'indicateur ID logique approprie de RB est accédé ä 1'étape 74. (11 y a naturellement une correspondance un-à-un entre les indicateurs ID logiques et les entrees de dispositif dans la zone CDA.) A l'etape 75, l'indicateur ID logique est multiplie par 23 pour obtenir le décalage du pointeur DB (quatre multiplets/pointeur, deux pointeurs). Le pointeur FTT respectif quatre multiplets au-delà de l'adresse du pointeur DB, est accede ä l'etape 76 et ce pointeur FTT est retenu ä la trame de pile par l'utilisation d'une <Desc/Clms Page number 14> instruction PUSH ä l'étape 77. A l'etape 78, le pointeur DB est retenu ä la trame de pile egalement par l'utilisation d'une instruction PUSH. Finalement, ä l'étape 79, la fonction desiree est appelée dans la table FTT. D'autres applications sont aussi envisagées dans le cadre de la présente invention. Par exemple, la "retouche" du code BIOS pour y apporter des changements, peut etre effectuée en utilisant des pointeurs FTT. C'est-à-dire que des pointeurs FTT peuvent etre insérés dans les zones CDA, ce qui provoque une re-orientation aux routines de retouche. Ceci termine la description de la realisation préférée de la presente invention. 11 est evident que des modifications peuvent etre apportees ä la structure et aux enseignements de la présente invention telle que décrite ci-dessus sans pour autant sortir du cadre et de l'esprit de ladite invention telle que decrite dans les revendications ci-jointes.
Claims (12)
- REVENDICATIONS 1. Systeme de calcul comprenant une unite centrale de traitement et une mémoire, ladite unité centrale de traitement ayant des premier et second modes mutuellement incompatibles pour l'adressage de ladite memoire, caractérisé en ce qu'il comporte en outre des moyens pour assurer, en réponse ä une requete donnee, des operations de transfert de données équivalentes dans l'un ou l'autre desdits premier et second modes.
- 2. Systeme de calcul de la revendication 1 dans lequel ledit second mode est capable d'adresser une plus grande partie de ladite mémoire que ledit premier mode.
- 3. Système de calcul de la revendication 1 ou 2 où lesdits moyens pour assurer des operations de transfert de données équivalentes, comprennent des première et seconde tables pour lesdits premier et second modes, respectivement, contenant des pointeurs ä des régions respectives prédéterminées de ladite memoir, au moins certains desdits pointeurs dans ladite première table ayant des pointeurs fonctionnellement equivalents dans ladite seconde table.
- 4. Le Systeme de calcul de la revendication 3 où chaque pointeur dans lesdites premiere et seconde tables comprend une partie d'ordre inferieur et une partie d'ordre superieur, des parties d'ordre inferieur des pointeurs correspondants dans lesdites première et seconde tables, etant égales les unes aux autres. <Desc/Clms Page number 16>
- 5. Le Systeme de calcul de la revendication 4 où lesdites parties d'ordre supérieur desdits pointeurs dans ladite première table sont indicatrices des limites entre segments dans ladite mémoire apparaissant ä un intervalle prédéterminé.
- 6. Le système de calcul de la revendication 5 où lesdites parties d'ordre supérieur desdits pointeurs dans ladite seconde table sont indicatrices des limites entre segments dans ladite memoire apparaissant ä des emplacements spécifiés par une table de description de segments.
- 7. Système de calcul caractcrise en ce qu'il comporte : une mémoire, une uni té centrale de traitement comportant des premier et second modes mutuellement incompatibles pour adresser ladite menmoire, ledit second mode étant capable d'adresser une plus grande partie de la memoire que ledit premier mode et, des moyens BIOS pour assurer en réponse ä une requête donnée, des opérations de transfert de données équivalentes dans l'un ou l'autre desdits premier et second modes, lesdits moyens BIOS comprenant des première et seconde zones de données communes pour lesdits premier et second modes, respectivement, lesdites premiere et seconde zones de données communes comprenant chacune une pluralité de pointeurs,chacune EMI16.1 '2're zone de desdits pointeurs dans ladite premiere zone de <Desc/Clms Page number 17> données communes ayant un pointeur äquivalent dans ladite seconde zone de données communes, lesdits pointeurs à la fois dans lesdites première et seconde zones de données communes comprenant une partie d'ordre superieur et une partie d'ordre inferieur, des parties d'ordre inférieur de pointeurs équivalents dans lesdites première et seconde zones de donnees communes etant égales les unes aux autres, lesdites parties d'ordre supérieur desdits pointeurs dans ladite premiere zone de données communes étant indicatrices des limites entre segments dans ladite mémoire apparaissant ä un intervalle prédéterminé fixe,et lesdites parties d'ordre superieur desdits pointeurs dans ladite seconde zone de données communes étant indicatrices des limites entre EMI17.1 segments dans ladite mémoire apparaissant ä des emplacements specifies par une table de description de segments.
- 8. Systeme de calcul selon la revendication 7 où lesdits pointeurs dans chacune des desdites première et seconde zone de données communes comprennent des pointeurs de blocs de dispositif, des pointeurs de table de transfert de fonction, des pointeurs de données et des pointeurs de fonction.
- 9. Système de calcul selon la revendication 8 où au moins l'un desdits pointeurs de table de transfert de fonction indique une routine de retouche pour le code BIOS.
- 10. Procédé d'exploitation d'un système de calcul d'un type ayant une unité centrale de traitement capable de fonctionner dans l'un ou l'autre de <Desc/Clms Page number 18> physique est egale ä celle de la partie d'ordre superieur respective desdits pointeurs dudit second ensemble.
- 11. Procédé d'exploitation d'un systeme de calcul selon la revendication 10 où ladite étape de remplissage de ladite premier zone de données communes comprend l'assemblage en tant que pointeurs desdits pointeurs de bloc de dispositif dudit premier ensemble, des pointeurs de table de transfert de fonction, des pointeurs de donnees et des pointeurs de fonction.
- 12. Procede d'exploitation d'un systeme de calcul de la revendication 11 où au moins l'un desdits pointeurs de table de transfert de fonction indique une routine de retouche pour le code BIOS.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/030,789 US4928237A (en) | 1987-03-27 | 1987-03-27 | Computer system having mode independent addressing |
Publications (1)
Publication Number | Publication Date |
---|---|
BE1001064A3 true BE1001064A3 (fr) | 1989-06-27 |
Family
ID=21856049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BE8701337A BE1001064A3 (fr) | 1987-03-27 | 1987-11-25 | Systeme de calcul a adressage independant du mode d'exploitation. |
Country Status (15)
Country | Link |
---|---|
US (2) | US4928237A (fr) |
EP (1) | EP0288606B1 (fr) |
JP (1) | JPH0731628B2 (fr) |
AT (1) | ATE91812T1 (fr) |
BE (1) | BE1001064A3 (fr) |
BR (1) | BR8801388A (fr) |
CA (1) | CA1293821C (fr) |
DE (2) | DE3786660T2 (fr) |
ES (1) | ES2042531T3 (fr) |
FR (1) | FR2613093B1 (fr) |
GB (1) | GB2202657B (fr) |
HK (1) | HK33992A (fr) |
IT (1) | IT1217358B (fr) |
NL (1) | NL185634C (fr) |
SG (1) | SG5792G (fr) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4928237A (en) * | 1987-03-27 | 1990-05-22 | International Business Machines Corp. | Computer system having mode independent addressing |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5018062A (en) * | 1987-10-23 | 1991-05-21 | A.I. Architects, Inc. | Method and apparatus for overriding a ROM routine in response to a reset |
JPH01273136A (ja) * | 1988-04-26 | 1989-11-01 | Oki Electric Ind Co Ltd | オペレーティングシステムのファームウェア化方式 |
US5101493A (en) * | 1989-06-19 | 1992-03-31 | Digital Equipment Corporation | Digital computer using data structure including external reference arrangement |
JPH03233630A (ja) * | 1990-02-08 | 1991-10-17 | Nec Corp | 情報処理装置 |
US5142626A (en) * | 1990-07-20 | 1992-08-25 | International Business Machines Corp. | Personal computer with removable media identification |
US5136711A (en) * | 1990-10-17 | 1992-08-04 | Ast Research | System for multiple access hard disk partitioning |
US5186978B1 (en) * | 1990-11-16 | 1999-11-02 | Cal West Equip Co | Protective coating and method of using such coating |
US5255379A (en) * | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5604885A (en) * | 1991-02-01 | 1997-02-18 | Texas Instruments Incorporated | Apparatus and method enabling a computer to transfer control between two program segments that call one another but operate in different modes |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
US5297282A (en) * | 1991-05-29 | 1994-03-22 | Toshiba America Information Systems, Inc. | Resume processing function for the OS/2 operating system |
US5355490A (en) * | 1991-06-14 | 1994-10-11 | Toshiba America Information Systems, Inc. | System and method for saving the state for advanced microprocessor operating modes |
US5237669A (en) * | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
US5291585A (en) * | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
SG52380A1 (en) * | 1991-09-23 | 1998-09-28 | Intel Corp | A computer system and method for executing interrupt instructions in two operating modes |
US5596755A (en) * | 1992-11-03 | 1997-01-21 | Microsoft Corporation | Mechanism for using common code to handle hardware interrupts in multiple processor modes |
CA2093451C (fr) * | 1993-04-06 | 2000-03-14 | David M. Mooney | Methode et mecanisme d'appel de fonctions a 32 bits a partir de fonctions 16 bits |
US5487158A (en) * | 1993-04-06 | 1996-01-23 | International Business Machines Corporation | Method and procedure call mechanism for calling 16-bit functions from 32-bit functions |
JPH0778106A (ja) | 1993-09-08 | 1995-03-20 | Hitachi Ltd | データ処理システム |
US5537597A (en) * | 1993-09-27 | 1996-07-16 | Intel Corporation | Method and apparatus for supporting real mode card services clients with a protected mode card services implementation |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5604887A (en) * | 1994-01-21 | 1997-02-18 | Microsoft Corporation | Method and system using dedicated location to share information between real and protected mode device drivers |
US5459869A (en) * | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5625800A (en) * | 1994-06-30 | 1997-04-29 | Adaptec, Inc. | SCB array external to a host adapter integrated circuit |
US5564023A (en) * | 1994-06-30 | 1996-10-08 | Adaptec, Inc. | Method for accessing a sequencer control block by a host adapter integrated circuit |
US5864698A (en) * | 1994-08-24 | 1999-01-26 | Packard Bell Nec | Disk based bios |
US5642491A (en) * | 1994-09-21 | 1997-06-24 | International Business Machines Corporation | Method for expanding addressable memory range in real-mode processing to facilitate loading of large programs into high memory |
US6438621B1 (en) | 1994-11-14 | 2002-08-20 | Microsoft Corporation | In-memory modification of computer programs |
US6178550B1 (en) * | 1995-01-31 | 2001-01-23 | Dell Usa | Mechanism for optimizing location of machine-dependent code |
US5710941A (en) * | 1995-02-28 | 1998-01-20 | Microsoft Corporation | System for substituting protected mode hard disk driver for real mode driver by trapping test transfers to verify matching geometric translation |
US6141722A (en) * | 1995-05-31 | 2000-10-31 | Microsoft Corporation | Method and apparatus for reclaiming memory |
WO1996038784A1 (fr) * | 1995-06-02 | 1996-12-05 | Systemsoft Corporation | Procede et dispositif de traitement de donnees numeriques pour commande d'unite peripherique |
US5864689A (en) * | 1995-12-05 | 1999-01-26 | Advanced Micro Devices, Inc. | Microprocessor configured to selectively invoke a microcode DSP function or a program subroutine in response to a target address value of branch instruction |
US6535903B2 (en) * | 1996-01-29 | 2003-03-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for maintaining translated routine stack in a binary translation environment |
US6091897A (en) | 1996-01-29 | 2000-07-18 | Digital Equipment Corporation | Fast translation and execution of a computer program on a non-native architecture by use of background translator |
US5860079A (en) * | 1996-05-10 | 1999-01-12 | Apple Computer, Inc. | Arrangement and method for efficient calculation of memory addresses in a block storage memory system |
FR2764407B1 (fr) * | 1997-06-05 | 1999-07-30 | Alsthom Cge Alcatel | Dispositif de retouche de programme de commande dans un processeur |
US5951658A (en) * | 1997-09-25 | 1999-09-14 | International Business Machines Corporation | System for dynamic allocation of I/O buffers for VSAM access method based upon intended record access where performance information regarding access is stored in memory |
US6148387A (en) | 1997-10-09 | 2000-11-14 | Phoenix Technologies, Ltd. | System and method for securely utilizing basic input and output system (BIOS) services |
US6321332B1 (en) * | 1998-06-17 | 2001-11-20 | Intel Corporation | Flexible control of access to basic input/output system memory |
US6785806B1 (en) | 1999-12-30 | 2004-08-31 | Intel Corporation | Bios having macro/effector pairs for hardware initialization |
GB2396930B (en) * | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
GB2396713B (en) | 2002-11-18 | 2005-09-14 | Advanced Risc Mach Ltd | Apparatus and method for controlling access to a memory unit |
US7738993B2 (en) * | 2003-10-10 | 2010-06-15 | Boston Scientific Scimed, Inc. | Extrusion of articles |
US9015727B2 (en) * | 2008-04-02 | 2015-04-21 | Qualcomm Incorporated | Sharing operating system sub-processes across tasks |
TW201020773A (en) * | 2008-11-19 | 2010-06-01 | Inventec Corp | Method for reading/writing a big structure in a 64k operating environment |
US9898307B2 (en) * | 2015-12-21 | 2018-02-20 | Intel Corporation | Starting application processors of a virtual machine |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
US4296468A (en) * | 1977-09-26 | 1981-10-20 | Hitachi, Ltd. | Address conversion unit for data processing system |
EP0208429A2 (fr) * | 1985-06-28 | 1987-01-14 | Hewlett-Packard Company | Procédé et dispositif d'adressage d'un grand nombre d'espaces d'adressage |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS532296B2 (fr) * | 1973-03-19 | 1978-01-26 | ||
FR2258113A5 (fr) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
US4315321A (en) * | 1978-06-16 | 1982-02-09 | The Kardios Systems Corporation | Method and apparatus for enhancing the capabilities of a computing system |
US4270167A (en) * | 1978-06-30 | 1981-05-26 | Intel Corporation | Apparatus and method for cooperative and concurrent coprocessing of digital information |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US4514805A (en) * | 1982-02-22 | 1985-04-30 | Texas Instruments Incorporated | Interrupt operation in systems emulator mode for microcomputer |
US4727480A (en) * | 1984-07-09 | 1988-02-23 | Wang Laboratories, Inc. | Emulation of a data processing system |
US5027273A (en) * | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4779187A (en) * | 1985-04-10 | 1988-10-18 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4825358A (en) * | 1985-04-10 | 1989-04-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
EP0205692B1 (fr) * | 1985-06-18 | 1991-10-16 | International Business Machines Corporation | Microprocesseur |
US4747040A (en) * | 1985-10-09 | 1988-05-24 | American Telephone & Telegraph Company | Dual operating system computer |
US4787032A (en) * | 1986-09-08 | 1988-11-22 | Compaq Computer Corporation | Priority arbitration circuit for processor access |
US4849875A (en) * | 1987-03-03 | 1989-07-18 | Tandon Corporation | Computer address modification system with optional DMA paging |
US4928237A (en) * | 1987-03-27 | 1990-05-22 | International Business Machines Corp. | Computer system having mode independent addressing |
US5018062A (en) * | 1987-10-23 | 1991-05-21 | A.I. Architects, Inc. | Method and apparatus for overriding a ROM routine in response to a reset |
US4974159A (en) * | 1988-09-13 | 1990-11-27 | Microsoft Corporation | Method of transferring control in a multitasking computer system |
-
1987
- 1987-03-27 US US07/030,789 patent/US4928237A/en not_active Expired - Fee Related
- 1987-11-18 FR FR878716225A patent/FR2613093B1/fr not_active Expired - Fee Related
- 1987-11-25 BE BE8701337A patent/BE1001064A3/fr not_active IP Right Cessation
- 1987-12-10 GB GB8728922A patent/GB2202657B/en not_active Expired - Fee Related
- 1987-12-15 AT AT87118538T patent/ATE91812T1/de not_active IP Right Cessation
- 1987-12-15 EP EP87118538A patent/EP0288606B1/fr not_active Expired - Lifetime
- 1987-12-15 DE DE87118538T patent/DE3786660T2/de not_active Expired - Fee Related
- 1987-12-15 ES ES87118538T patent/ES2042531T3/es not_active Expired - Lifetime
-
1988
- 1988-01-20 JP JP63008599A patent/JPH0731628B2/ja not_active Expired - Lifetime
- 1988-02-15 CA CA000558930A patent/CA1293821C/fr not_active Expired - Fee Related
- 1988-03-11 DE DE3808167A patent/DE3808167C2/de not_active Expired - Fee Related
- 1988-03-24 NL NLAANVRAGE8800736,A patent/NL185634C/xx not_active IP Right Cessation
- 1988-03-25 BR BR8801388A patent/BR8801388A/pt not_active Application Discontinuation
- 1988-03-25 IT IT19945/88A patent/IT1217358B/it active
-
1990
- 1990-05-18 US US07/525,792 patent/US5193161A/en not_active Expired - Fee Related
-
1992
- 1992-01-22 SG SG57/92A patent/SG5792G/en unknown
- 1992-05-07 HK HK339/92A patent/HK33992A/xx unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
US4296468A (en) * | 1977-09-26 | 1981-10-20 | Hitachi, Ltd. | Address conversion unit for data processing system |
EP0208429A2 (fr) * | 1985-06-28 | 1987-01-14 | Hewlett-Packard Company | Procédé et dispositif d'adressage d'un grand nombre d'espaces d'adressage |
Also Published As
Publication number | Publication date |
---|---|
DE3808167C2 (de) | 1994-03-24 |
GB2202657A (en) | 1988-09-28 |
NL185634C (nl) | 1990-06-01 |
US4928237A (en) | 1990-05-22 |
EP0288606B1 (fr) | 1993-07-21 |
FR2613093B1 (fr) | 1990-03-23 |
FR2613093A1 (fr) | 1988-09-30 |
ATE91812T1 (de) | 1993-08-15 |
GB2202657B (en) | 1991-09-18 |
IT1217358B (it) | 1990-03-22 |
IT8819945A0 (it) | 1988-03-25 |
DE3808167A1 (de) | 1988-10-13 |
EP0288606A2 (fr) | 1988-11-02 |
GB8728922D0 (en) | 1988-01-27 |
NL8800736A (nl) | 1988-10-17 |
BR8801388A (pt) | 1988-11-01 |
CA1293821C (fr) | 1991-12-31 |
DE3786660T2 (de) | 1994-02-17 |
ES2042531T3 (es) | 1993-12-16 |
DE3786660D1 (de) | 1993-08-26 |
EP0288606A3 (en) | 1989-05-03 |
US5193161A (en) | 1993-03-09 |
JPH0731628B2 (ja) | 1995-04-10 |
HK33992A (en) | 1992-05-15 |
JPS63244147A (ja) | 1988-10-11 |
SG5792G (en) | 1992-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BE1001064A3 (fr) | Systeme de calcul a adressage independant du mode d'exploitation. | |
EP3923592A1 (fr) | Procédé de traitement de données et système de diffusion en direct | |
US10027674B2 (en) | Determining virtual adapter access controls in a computing environment | |
EP1619590B1 (fr) | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé | |
EP1617335A1 (fr) | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé | |
US10817440B2 (en) | Storage device including reconfigurable logic and method of operating the storage device | |
JP2010532527A (ja) | 物理イメージと仮想イメージの統合的な提供 | |
FR2598835A1 (fr) | Cache de blocs de donnees empiles sur une puce de microprocesseur | |
JP2013533544A (ja) | アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム | |
US10042653B2 (en) | Ascertaining configuration of a virtual adapter in a computing environment | |
JP6794347B2 (ja) | アプリケーションインターフェースのナビゲーション | |
US20160342621A1 (en) | System and method of providing or executing layered resources | |
WO2022068760A1 (fr) | Procédé de gestion de mémoire et appareil associé | |
TW200424929A (en) | Method and apparatus for aligning operands for a processor | |
WO2019199544A1 (fr) | Ségrégation de cache de données pour atténuation de spectre | |
CN115774701A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
EP1603049A1 (fr) | Interfacage de modules fonctionnels dans un systeme sur une puce | |
EP3531419A1 (fr) | Procédé de gestion du routage de transactions entre des équipements sources, au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant | |
US10754661B1 (en) | Network packet filtering in network layer of firmware network stack | |
EP1821197A2 (fr) | Dispositif de traitement en notation polonaise inversée, et circuit intégré électronique comprenant un tel dispositif de traitement | |
CN117009308B (zh) | 基于兼容层的可执行文件加载方法及系统 | |
US20240176617A1 (en) | Vector reduce instruction | |
EP0976040A1 (fr) | Gestion des interruptions sur une plate-forme informatique | |
FR2559928A1 (fr) | Co-processeur microprogramme | |
EP1811371A1 (fr) | Dispositif de traitement en notation polonaise inversée pour la manipulation de tableau, et circuit intégré électronique comprenant un tel dispositif de traitement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RE | Patent lapsed |
Owner name: INTERNATIONAL BUSINESS MACHINES CORP. Effective date: 19911130 |