What about a two-dimensional virtual address space?
Proposition d'architecture généraliste ayant un espace d'adresses virtuelles bidimensionnel
Résumé
The virtual address space offered by existing instruction set architectures (ISA) is generally one-dimensional. That is, a virtual address is represented by a single number. We consider the possibility of a two-dimensional (2D) address space where a virtual address consists of two independent numbers, an X coordinate and a Y coordinate. We propose and describe a hypothetical ISA, called XYA, offering a 2D virtual address space. We explain how a XYA CPU would differ from a conventional CPU and we propose a C-like language for programming a XYA machine. We identify a set of XYA features that conventional ISAs do not have and we explain how performance-aware programmers can exploit these features.
Les jeux d'instructions existants ont un espace d'adresses virtuelles unidimensionnel, une adresses virtuelle étant représentée par un nombre entier. Dans ce document, nous considérons la possibilité d'un espace d'adresses virtuelles à deux dimensions, une adresse virtuelle consistant en deux nombres indépendants, une coordonnée X et une coordonnée Y. Nous proposons un jeu d'instructions hypothétique, nommé XYA, ayant un espace d'addresses virtuelles bidimensionnel. Ce document met en évidence les principales différences entre un processeur XYA et un processeur classique. Nous proposons un langage de programmation ressemblant au langage C et permettant d'exploiter la mémoire bidimensionnelle d'une machine XYA. Enfin, nous soulignons certaines caractéristiques de XYA, différentes des jeux d'instructions classiques, et montrons comment les programmeurs peuvent les exploiter pour obtenir des programmes s'exécutant plus rapidement.
Domaines
Architectures Matérielles [cs.AR]Origine | Fichiers produits par l'(les) auteur(s) |
---|