et ARM celui des serveurs "verts".
et ARM celui des serveurs "verts".
et ARM celui des serveurs "verts".
Le 27/08/2012 08:44, Toxico Nimbus a écrit :Le 27/08/2012 08:31, Richard Delorme a écrit :Le 26/08/2012 10:52, Nicolas George a écrit :Richard Delorme , dans le message
<5039e0c0$0$6218$, a écrit :Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
Le 27/08/2012 08:44, Toxico Nimbus a écrit :
Le 27/08/2012 08:31, Richard Delorme a écrit :
Le 26/08/2012 10:52, Nicolas George a écrit :
Richard Delorme , dans le message
<5039e0c0$0$6218$ba4acef3@reader.news.orange.fr>, a écrit :
Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
Le 27/08/2012 08:44, Toxico Nimbus a écrit :Le 27/08/2012 08:31, Richard Delorme a écrit :Le 26/08/2012 10:52, Nicolas George a écrit :Richard Delorme , dans le message
<5039e0c0$0$6218$, a écrit :Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
Le 27/08/2012 08:57, PP a écrit :Le 27/08/2012 08:44, Toxico Nimbus a écrit :Le 27/08/2012 08:31, Richard Delorme a écrit :Le 26/08/2012 10:52, Nicolas George a écrit :Richard Delorme , dans le message
<5039e0c0$0$6218$, a écrit :Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
La puissance brute peut certes compter, mais pas dans la comparaison
avec un processeur pour appareil "ultra-mobile".
Le 27/08/2012 08:57, PP a écrit :
Le 27/08/2012 08:44, Toxico Nimbus a écrit :
Le 27/08/2012 08:31, Richard Delorme a écrit :
Le 26/08/2012 10:52, Nicolas George a écrit :
Richard Delorme , dans le message
<5039e0c0$0$6218$ba4acef3@reader.news.orange.fr>, a écrit :
Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
La puissance brute peut certes compter, mais pas dans la comparaison
avec un processeur pour appareil "ultra-mobile".
Le 27/08/2012 08:57, PP a écrit :Le 27/08/2012 08:44, Toxico Nimbus a écrit :Le 27/08/2012 08:31, Richard Delorme a écrit :Le 26/08/2012 10:52, Nicolas George a écrit :Richard Delorme , dans le message
<5039e0c0$0$6218$, a écrit :Toute
chose (fréquence, nombre de cores, architecture 32 bits) égale par
ailleurs
... consommation ?
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
D'accord, mais pour une consommation de 1W, quel genre de service ton
Sandy Bridge peut-il fournir ?
Franchement, un processeur qui ne peut rien faire avec 1W, c'est moisi.
Je ne vois pas pourquoi ?
Dans le cas de ce processeur, il y a la puissance brut qui compte, pas
la consommation de base, non ?
La puissance brute peut certes compter, mais pas dans la comparaison
avec un processeur pour appareil "ultra-mobile".
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Richard Delorme , dans le message
<503b144b$0$6196$, a écrit :Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Je n'arrive pas à trouver sa consommation sur le web, mais l'ordre de
grandeur me semble être le bon.
Et puis n'oublie pas que ça n'a pas à être linéaire. Si tu as besoin de
puissance de calcul, tu n'hésiteras pas à acheter un processeur 30% plus
puissant même s'il consomme deux fois plus (ou s'il est deux fois plus cher,
pour donner un exemple dans un autre domaine), le temps gagné le vaut.
La position duale est valable aussi : si tu veux augmenter l'autonomie de
ton appareil, prendre un processeur deux fois moins puissant pour gagner 30%
sur la consommation n'est pas absurde. Tant que la puissance est suffisante
pour la tâche demandée, c'est tout ce qui compte.
Richard Delorme , dans le message
<503b144b$0$6196$ba4acef3@reader.news.orange.fr>, a écrit :
Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Je n'arrive pas à trouver sa consommation sur le web, mais l'ordre de
grandeur me semble être le bon.
Et puis n'oublie pas que ça n'a pas à être linéaire. Si tu as besoin de
puissance de calcul, tu n'hésiteras pas à acheter un processeur 30% plus
puissant même s'il consomme deux fois plus (ou s'il est deux fois plus cher,
pour donner un exemple dans un autre domaine), le temps gagné le vaut.
La position duale est valable aussi : si tu veux augmenter l'autonomie de
ton appareil, prendre un processeur deux fois moins puissant pour gagner 30%
sur la consommation n'est pas absurde. Tant que la puissance est suffisante
pour la tâche demandée, c'est tout ce qui compte.
Richard Delorme , dans le message
<503b144b$0$6196$, a écrit :Je ne connais pas la consommation de l'Exynos 4210 qui équipe mon
Samsung Galaxy Note. Le sandy bridge (un i7 2670 QM) consomme 45 W en
étant 40x fois plus rapide. En supposant que l'Exynos consomme autour
d'1 W (consommation de processeur ARM +/- équivalent), on est, à effort
de calcul équivalent, dans les mêmes ordres de grandeur.
Je n'arrive pas à trouver sa consommation sur le web, mais l'ordre de
grandeur me semble être le bon.
Et puis n'oublie pas que ça n'a pas à être linéaire. Si tu as besoin de
puissance de calcul, tu n'hésiteras pas à acheter un processeur 30% plus
puissant même s'il consomme deux fois plus (ou s'il est deux fois plus cher,
pour donner un exemple dans un autre domaine), le temps gagné le vaut.
La position duale est valable aussi : si tu veux augmenter l'autonomie de
ton appareil, prendre un processeur deux fois moins puissant pour gagner 30%
sur la consommation n'est pas absurde. Tant que la puissance est suffisante
pour la tâche demandée, c'est tout ce qui compte.
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
On 27/08/2012 11:51, Richard Delorme wrote:
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon écrivait :On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon<briancon_tanguy@yahoo.fr> écrivait :
On 27/08/2012 11:51, Richard Delorme wrote:
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon écrivait :On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
On 03/09/2012 09:40, JKB wrote:Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon écrivait :On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
C'est sur que pour une chaine de caractère c'est mieux d'adresser sur 8
bits.
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
C'est quoi une instruction TPACPC?
On 03/09/2012 09:40, JKB wrote:
Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon<briancon_tanguy@yahoo.fr> écrivait :
On 27/08/2012 11:51, Richard Delorme wrote:
Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
C'est sur que pour une chaine de caractère c'est mieux d'adresser sur 8
bits.
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.
Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
C'est quoi une instruction TPACPC?
On 03/09/2012 09:40, JKB wrote:Le Fri, 31 Aug 2012 21:08:10 +0200,
Tanguy Briançon écrivait :On 27/08/2012 11:51, Richard Delorme wrote:Oui, je sais qu'il existe des modes batards. Sur Intel aussi. L'ABI x32
(de linux pour Intel), est de ce style : pointeur 32 bits (et donc
seulement 4 Go adressable / processus), mais utilisation des registres
64 bits et du passage de paramètres par registres.
La dernière fois que je me suis intéresser de près à l'architecture
d'un processeur c'était le saturn dans les calculatrices hp (28,48,49g)
mais pas 49g+ ou 50: (ils émulent le saturn sur un ARM).
Donc un vieux machin...
Les registres de calculs étaient déjà en 64 bits... Par contre
les pointeurs étaient en 20 bits mais pointaient sur un quartet
(i.e 4 bits) donc sur 512 Ko.
Quelque question naive: si un pointeur de 32 bits adresse 4 Go
c'est qu'il adresse un octet (8 bits) pourquoi ce choix? Pourquoi pas
un quartet ou un machin de taille plus grande (16, 32, 64 bits)?
Parce qu'on doit pouvoir adresser des octets en mémoire (le x86 est
orienté octet) et que pour traiter des chaînes de caractères (par
exemple), un adressage par bloc de 64 bits risque fort d'être
contreproductif. Mais ce n'est pas pour cela que les bits de poids
faibles des adresses ne sont pas fixés en dur (de mémoire, je ne
sais plus si c'est le cas sur les x86).
C'est sur que pour une chaine de caractère c'est mieux d'adresser sur 8
bits.
Typiquement, sur le 68000 (le vrai, avecun bus externe de 16 bits),
A0 est toujours forcé à 0. Si on veut lire un octet à une adresse
impaire, c'est le processeur qui effectue le décalage.Mais bon, l'ARMv7 n'a que des registres (entiers) 32 bits, et est de ce
point de vue plus proche de l'ABI x86 que de l'ABI x64 ou x32 d'un Intel.
Mon vieux saturn comprenait l'instruction
A=A+B W
Pour faire la somme de 2 entiers de 64 bits...
Certes, mais on ne va pas parler ici des problèmes intrinsèques du
Saturn... Je me souviens qu'il y avait des pages de séquences
d'instructions notées TPÀCPC...
JKB
C'est quoi une instruction TPACPC?
C'est quoi une instruction TPACPC?
Touche Pas À Ça Petit Con. Les docs du Saturn étaient plein
d'instructions qui donnaient des résultats erronés.
JKB
C'est quoi une instruction TPACPC?
Touche Pas À Ça Petit Con. Les docs du Saturn étaient plein
d'instructions qui donnaient des résultats erronés.
JKB
C'est quoi une instruction TPACPC?
Touche Pas À Ça Petit Con. Les docs du Saturn étaient plein
d'instructions qui donnaient des résultats erronés.
JKB