BE1001064A3 - Systeme de calcul a adressage independant du mode d'exploitation. - Google Patents

Systeme de calcul a adressage independant du mode d'exploitation. Download PDF

Info

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
Application number
BE8701337A
Other languages
English (en)
Inventor
Richard Bealkowski
Richard Alan Dayan
David Joseph Doria
Scott Gerard Kinnear
Jeffrey I Krantz
Robert B Liverman
Gary Anthony Vaiskauckas
Guy G Sotomayor
Donald D Williams
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of BE1001064A3 publication Critical patent/BE1001064A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (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)

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
BE8701337A 1987-03-27 1987-11-25 Systeme de calcul a adressage independant du mode d'exploitation. BE1001064A3 (fr)

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)

* Cited by examiner, † Cited by third party
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
US5564023A (en) * 1994-06-30 1996-10-08 Adaptec, Inc. Method for accessing a sequencer control block by a host adapter integrated circuit
US5625800A (en) * 1994-06-30 1997-04-29 Adaptec, Inc. SCB array external to 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
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
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
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
GB2396713B (en) 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
GB2396930B (en) * 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US4825358A (en) * 1985-04-10 1989-04-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
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
DE3584446D1 (de) * 1985-06-18 1991-11-21 Ibm Mikroprozessor.
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
DE3808167A1 (de) 1988-10-13
DE3786660D1 (de) 1993-08-26
NL185634C (nl) 1990-06-01
NL8800736A (nl) 1988-10-17
IT1217358B (it) 1990-03-22
JPS63244147A (ja) 1988-10-11
US4928237A (en) 1990-05-22
EP0288606A3 (en) 1989-05-03
SG5792G (en) 1992-03-20
JPH0731628B2 (ja) 1995-04-10
GB8728922D0 (en) 1988-01-27
ES2042531T3 (es) 1993-12-16
US5193161A (en) 1993-03-09
DE3786660T2 (de) 1994-02-17
GB2202657B (en) 1991-09-18
HK33992A (en) 1992-05-15
FR2613093B1 (fr) 1990-03-23
ATE91812T1 (de) 1993-08-15
GB2202657A (en) 1988-09-28
IT8819945A0 (it) 1988-03-25
BR8801388A (pt) 1988-11-01
CA1293821C (fr) 1991-12-31
EP0288606B1 (fr) 1993-07-21
FR2613093A1 (fr) 1988-09-30
EP0288606A2 (fr) 1988-11-02
DE3808167C2 (de) 1994-03-24

Similar Documents

Publication Publication Date Title
BE1001064A3 (fr) Systeme de calcul a adressage independant du mode d&#39;exploitation.
EP3923592A1 (fr) Procédé de traitement de données et système de diffusion en direct
EP1619590B1 (fr) Procédé de programmation d&#39;un contrôleur de DMA dans un système sur puce et système sur puce associé
EP1617335A1 (fr) Procédé de programmation d&#39;un contrôleur de DMA dans un système sur puce et système sur puce associé
US20160255094A1 (en) Determining virtual adapter access controls in a computing environment
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
TW200846906A (en) Unified support for solid state storage
JP2013533544A (ja) アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム
US10061600B2 (en) Ascertaining configuration of a virtual adapter in a computing environment
JP6794347B2 (ja) アプリケーションインターフェースのナビゲーション
WO2022068760A1 (fr) Procédé de gestion de mémoire et appareil associé
RU2634172C1 (ru) Способ передачи управления между адресными пространствами
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
US10261700B1 (en) Method and apparatus for streaming buffering to accelerate reads
EP1821197A2 (fr) Dispositif de traitement en notation polonaise inversée, et circuit intégré électronique comprenant un tel dispositif de traitement
CN117009308B (zh) 基于兼容层的可执行文件加载方法及***
WO2019199544A1 (fr) Ségrégation de cache de données pour atténuation de spectre
US20240176617A1 (en) Vector reduce instruction
US10754661B1 (en) Network packet filtering in network layer of firmware network stack
EP0976040A1 (fr) Gestion des interruptions sur une plate-forme informatique
FR2559928A1 (fr) Co-processeur microprogramme

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 19911130