iAPX 432
La famille de microprocesseurs iAPX 432 comprend un système 432 et un ou plusieurs sous-systèmes satellites. Le matériel système 432 est composé d'un ou de plusieurs processeurs de données généraux iAPX 432, d'un ou de plusieurs processeurs d'interface et d'une mémoire commune partagée par ces processeurs. Le logiciel système 432 est un ensemble d'un ou plusieurs processus s'exécutant sur le ou les GDP. Un principe fondamental de l'architecture 432 est que l'environnement système 432 est lui-même contenu. Ni les processeurs ni les processus n'ont de contact direct avec le monde extérieur. Conceptuellement, le système 432 est entouré d'un mur protégeant les objets en mémoire des dommages éventuels causés par des opérations d'entrée/sortie non contrôlées.
Dans un système basé sur un 432, la majeure partie du traitement nécessaire pour prendre en charge les opérations d'entrée/sortie est déléguée à des sous-systèmes de périphériques; inclut le contrôle de périphérique, la synchronisation, la gestion des interruptions et la mise en mémoire tampon. Un sous-système périphérique est un système informatique autonome doté de sa propre mémoire, de périphériques d'entrée/sortie, de contrôleurs, d'au moins un processeur et de logiciels. Le nombre de sous-systèmes périphériques utilisés dans une application donnée dépend de l'intensité en entrée/sortie de l'application; ce nombre peut être modifié en fonction de l'évolution des besoins et est indépendant du nombre de GDP du système. Un sous-système de périphérique ressemble à un canal central traditionnel en ce sens qu'il assume la responsabilité de la prise en charge des périphériques d'entrée/sortie de bas niveau et s'exécute en parallèle avec les processeurs 432. Cependant, contrairement à un canal simple, chaque sous-système de périphérique peut être configuré avec un complément de ressources matérielles et logicielles s'adaptant avec précision aux exigences de performances liées au coût des applications. En général, tout système pouvant communiquer sur un bus de micro-ordinateur standard de 8 ou 16 bits, tel que la conception multibus d'Intel, peut servir de sous-système 432. Un sous-système périphérique est connecté au système 432 au moyen d'un processeur d'interface iAPX 432. Au niveau matériel, un processeur d'interface présente 2 interfaces de bus distinctes. L'un d'entre eux est le bus de paquets de processeur standard 432 et l'autre est une interface très générale pouvant être adaptée à la plupart des bus de micro-ordinateurs traditionnels de 8 et 16 bits. Le processeur d'interface est piloté par le logiciel Peripheral Subsystem. Pour prendre en charge le transfert d'informations à travers le mur séparant un sous-système de périphérique du système 432, l'IP (Interface Processor) fournit un ensemble de fenêtres contrôlées par logiciel. Une fenêtre est utilisée pour exposer un seul objet (structure de données) dans la mémoire du système 432 afin que son contenu puisse être transféré vers ou depuis le sous-système périphérique. Pour préserver l'intégrité des mécanismes de protection basés sur les capacités dans le système 432, l'IP (Interface Processor) fournit uniquement au PS (Peripheral Subsystem) un accès en fenêtre à 432 objets étant du type segment de données. Un processeur d'interface fournit en outre un ensemble de fonctions, étant également appelées par le logiciel Peripheral Subsystem. Bien que le fonctionnement de ces fonctions (et les résultats renvoyés) varient considérablement, ils permettent généralement de manipuler des objets de la mémoire système 432 comme des entités, et permettent la communication entre les processus système et les logiciels exécutés dans un sous-système de périphérique. Il est important de noter que les installations de fenêtre et les fonctions utilisent et appliquent strictement les systèmes d'adressage et de protection 432 standard. Ainsi, une fenêtre fournit un accès protégé à un objet et une fonction fournit un moyen protégé permettant au logiciel Peripheral Subsystem d'interagir avec le système 432.
Sommaire des fonctions par code de fonction
Code de fonction | Nom de la fonction | Identificateur d'opérateur | Description |
---|---|---|---|
Mode de fonctions logique | |||
00h | Alter map and select data segment | 3 | Cette fonction permet de modifier la carte et sélectionner un segment de données. |
01h | Send to processor | 4 | Cette fonction permet d'envoyer au processeur. |
02h | Set peripheral subsystem | 5 | Cette fonction permet de définir le sous-système de périphérique. |
03h | Read processor status and clock | 6 | Cette fonction permet de lire l'état et l'horloge du processeur. |
04h | Copy access descriptor | 7 | Cette fonction permet de copier le descripteur d'accès. |
05h | Null access descriptor | 8 | Cette fonction permet d'indiquer un descripteur d'accès nul. |
06h | Enter global access segment | 9 | Cette fonction permet d'entrer dans le segment d'accès global. |
07h | Enter access segment | 10 | Cette fonction permet d'entrer dans le segment d'accès. |
08h | Amplify rights | 11 | Cette fonction permet d'amplifier les droits. |
09h | Restrict rights | 12 | Cette fonction permet de limiter les droits. |
0Ah | Retrieve type representation | 13 | Cette fonction permet de récupérer une représentation de type. |
0Bh | Retrieve public type representation | 14 | Cette fonction permet de récupérer une représentation de type publique. |
0Ch | Retrieve type definition | 15 | Cette fonction permet de récupérer la définition du type. |
0Dh | Retrieve refined object | 16 | Cette fonction permet de récupérer un objet raffiné. |
0Eh | Inspect access descriptor | 17 | Cette fonction permet d'inspecter le descripteur d'accès. |
0Fh | Inspect access | 18 | Cette fonction permet d'inspecter l'accès. |
10h | Lock object | 19 | Cette fonction permet de verrouiller l'objet. |
11h | Unlock object | 20 | Cette fonction permet de déverrouiller l'objet. |
12h | Send | 21 | Cette fonction permet d'envoyer. |
13h | Conditional send | 22 | Cette fonction permet d'effectuer un envoi conditionnel. |
14h | Receive | 23 | Cette fonction permet de recevoir. |
15h | Conditional receive | 24 | Cette fonction permet d'effectuer une réception conditionnelle. |
16h | Surrogate send | 25 | Cette fonction permet d'effectuer une envoi de substitution. |
17h | Surrogate receive | 26 | Cette fonction permet d'effectuer une réception de substitution. |
18h | Broadcast to processors | 27 | Cette fonction permet d'effectuer une diffusion vers les processeurs. |
19h | Indivisible add short ordinal | 28 | Cette fonction permet d'effectuer un ajout ordinal court indivisible. |
1Ah | Indivisible insert short ordinal | 29 | Cette fonction permet d'effectuer un insertion ordinal court indivisible. |
Mode de fonctions physique | |||
00h | Alter map and select physical segment | 3 | Cette fonction permet de modifier la carte et sélectionner un segment physique. |
01h | Send to processor | 4 | Cette fonction permet d'envoyer au processeur. |
02h | Set peripheral subsystem mode | 5 | Cette fonction permet de définir le mode de sous-système de périphérique. |
03h | Read processor status and clock | 6 | Cette fonction permet de lire l'état et l'horloge du processeur. |
Configuration de la fenêtre après l'INIT
Attribut | Fenêtre 0 | Fenêtre 1 | Fenêtre 4 |
---|---|---|---|
État de la fenêtre | Ouvert | Ouvert | Ouvert |
Mode de transfert | Bloc | Interconnecté | Aléatoire |
Intervalle de l'adresse de base | 07E00h | 08000h | 07F00h |
Tailler de l'intervalle | 00100h | 08000h | 00100h |
Base du segment | 0 | 0 | 0 |
Longueur du segment | 65 535 | 65 535 | 65 535 |
Direction | Écriture | Lecture/Écriture | Lecture/Écriture |
État de transfert | En progression | En progression | En progression |
Recouvrement | Oui | Oui | Oui |