|
|
|
#25 |
|
Messages: n/a
Hébergeur: |
Jean-Marc Bourguet a écrit :
> Michael DOUBEZ <michael.doubez@free.fr> writes: > >> James Kanze a écrit : > >> En embarqué, les MIPS sont connus pour permettre les accès non-alignés >> (ils ont même un brevet là dessus, avec une instruction dédiée) > > Si c'est ce à quoi je pense, il faut deux lectures puis combiner les > résultats. Donc une génération de code particulière et plus lente aussi > dans le cas normal. Ce n'est pas le processeur qui détecte et fait ce > qu'il faut. Oui, c'est le format single-instruction, multiple-data (SIMD) qui est déposé. Je ne sais pas si c'est le processeur qui fait cela mais c'est dans le hard; dans le cas de ARM, c'est la MMU. > >> et je crois que maintenant ARM le propose en option. > > ARM doit proposer tout ce qu'on veut en option :-) C'est comme les voitures; tu achètes une carrosserie qui roule et les sièges c'est en option ![]() Heureusement qu'il n'y a pas de prix d'entrée pour les voitures. > Note que ce doit être > aussi le cas pour les IP de MIPS. Oui, enfin, l'accès aux données non-alignée est un argument de vente parfois et mips jouait là dessus il y a quelques années encore. Maintenant, ce n'est pas important pour tout le monde, surtout si le code n'a pas de comportement indéfinit comme un reinterpret_cast<>. Michael |
|
|
|
#26 |
|
Messages: n/a
Hébergeur: |
Jean-Marc Bourguet wrote:
> James Kanze <james.kanze@gmail.com> writes: > > On 11 mar, 11:10, Jean-Marc Bourguet <j...@bourguet.org> wrote: > > > James Kanze <james.ka...@gmail.com> writes: > > [...] > > > > Des petits procs, comme les IBM système z, les anciens Crays, > > > > tous les Sparcs... En fait, les seules architectures que moi, > > > > j'ai vues, où on n'avait pas besoin de respecter l'alignement, > > > > c'est l'architecture Intel (probablement parce qu'au départ, il > > > > n'avait que 8 bits). > > > Il me semblait que les machines IBM (que ce soit les > > > descendant des 360 ou les divers POWER) permettent l'adressage > > > non aligne a (relativement) faible cout. La raison que > > > j'avais vu donnee etait que le COBOL en generait pas mal. > > > Mais je n'ai pas regarde precisement les manuels. > > J'avoue que mon expérence avec ce genre de processeur, c'est > > plutôt chez les compatibles. Mais le Siemens BS2000 exigeait > > bien un alignement de 4 (et peut-être même 8 pour les doubles), > > et il se disait 100% compatibles. > J'ai maintenant un autre souvenir pour les POWER: accès non > aligné si restant dans une ligne de cache mais générant une > exception si il traverse une frontière entre deux lignes de > cache. Il faudrait repartir dans les specs pour vérifier. Et que ça pourrait varier d'un modèle à l'autre, peut-être. Je sais que j'ai vu des signaux (bus error) suite à des accès non-alignés, mais ça date (1997 ou 1998, peut-être -- quand je travaillais chez IBM en Allemagne). -- James Kanze (GABI Software) email:james.kanze@gmail.com Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34 |
|
![]() |
| Outils de la discussion | |
|
|