Pourquoi n'y a-t-il pas de microprocesseurs 256 bits ou 512 bits?

95

Dans un microprocesseur à 8 bits, son bus de données est constitué de 8 lignes de données. Dans un microprocesseur de 16 bits, son bus de données comprend 16 lignes de données, etc.

Pourquoi n’existe-t-il pas de microprocesseur 256 bits ni de microprocesseur 512 bits? Pourquoi n'augmentent-ils pas simplement le nombre de lignes de données et ne créent-ils pas un microprocesseur de 256 bits ou un microprocesseur de 512 bits?

Quel est l'obstacle qui empêche la création d'un microprocesseur de 256 bits ou d'un microprocesseur de 512 bits?

Michael Harris
la source
20
Même le marketing ne peut pas continuer à augmenter un nombre pour toujours.
Olin Lathrop
82
Pourquoi n'y a-t-il pas encore de rasoir à 256 lames?
Rocketmagnet
11
@OlinLathrop Commander le Gillete Fusion Power , avec 5 lames et une batterie!
Réintégrer Monica
6
La réponse est à peu près la même que celle de cette question: nous avons des voitures 1 & 2 & 3 & 4 & 5 & 6 & 8 & 12 & 16 cylindres. Pourquoi n'avons-nous pas de voitures à 32, 64 et 128 cylindres?
Russell McMahon
13
@Russell: Parce qu'il y aurait alors une pénurie mondiale de cylindres.
Olin Lathrop

Réponses:

110

Pensez-y. Envisagez-vous exactement un processeur "256 bits"? Qu'est-ce qui caractérise le bit-ness d'un processeur?

Je pense que si aucune autre qualification n'est faite, le bit-ness d'un processeur fait référence à sa largeur d'ALU. C'est la largeur du nombre binaire qu'il peut gérer de manière native en une seule opération. Un processeur "32 bits" peut donc fonctionner directement sur des valeurs allant jusqu'à 32 bits dans des instructions uniques. Votre processeur 256 bits contiendrait donc une très grande ALU capable d’ajouter, soustraire, ORing, ANDing, etc., des nombres de 256 bits en une seule opération. Pourquoi voulez-vous cela? Quel problème fait en sorte que la grande et coûteuse unité ALU vaut la peine d’avoir l’avoir et de la payer, même dans les cas où le processeur ne compte que 100 itérations d’une boucle ou autre?

Le fait est que vous devez payer pour la large UAL, que vous l'utilisiez alors beaucoup ou seulement une petite fraction de ses capacités. Pour justifier une unité ALU de 256 bits, vous devez trouver un problème assez important pouvant réellement tirer profit de la manipulation de mots de 256 bits dans des instructions uniques. Bien que vous puissiez probablement trouver quelques exemples, il n’ya pas assez de problèmes de ce type qui donnent l’impression qu’ils obtiendront un jour le retour sur l’investissement considérable requis pour produire une telle puce. S'il y a des problèmes de niche mais importants (bien financés) qui peuvent vraiment bénéficier d'une vaste UAL, nous verrions alors des processeurs très coûteux très ciblés pour cette application. Leur prix, cependant, empêcherait une utilisation large en dehors de l'application étroite pour laquelle il a été conçu. Par exemple, Si le 256 bits rendait certaines applications de cryptographie possibles pour l'armée, des processeurs spécialisés à 256 bits coûtant de 100 à 1 000 dollars chacun émergeraient probablement. Vous ne voudriez cependant pas en mettre un dans un grille-pain, une source d’alimentation ou même une voiture.

Je devrais également être clair sur le fait que le large ALU ne le rend pas seulement plus cher, mais aussi sur d’autres composants de la puce. Une unité ALU de 256 bits signifie également qu'il doit y avoir des chemins de données d'une largeur de 256 bits. Cela seul prendrait beaucoup de silicium. Ces données doivent provenir de quelque part et aller quelque part, il faut donc des registres, du cache, une autre mémoire, etc., pour que l'unité ALU large puisse être utilisée efficacement.

Un autre point est que vous pouvez faire n'importe quelle arithmétique de largeur sur n'importe quel processeur de largeur. Vous pouvez ajouter un mot de mémoire de 32 bits à un autre mot de mémoire de 32 bits d'un PIC 18 en 8 instructions, alors que vous pouvez le faire sur la même architecture mise à l'échelle à 32 bits en 2 instructions seulement. Le fait est qu’une ALU étroite ne vous empêche pas d’effectuer des calculs étendus, mais seulement que ceux-ci prendront plus de temps. C'est donc une question de rapidité et non de capacité. Si vous examinez le spectre des applications qui doivent utiliser des nombres de largeur particuliers, vous verrez que très peu de choses nécessitent des mots de 256 bits. Les dépenses liées à l’accélération de ces quelques applications avec du matériel qui n’aidera pas les autres ne sont tout simplement pas rentables et ne constituent pas un bon investissement pour le développement de produits.

Olin Lathrop
la source
9
Je déteste le dire, mais je ne suis pas d'accord ici. Prenons un exemple: le rendu graphique pour les jeux vidéo. C'est un petit marché dont vous avez peut-être entendu parler et qui représente 10 milliards de dollars.
Rocketmagnet
39
@Rocket: Tout d'abord, l'OP a posé une question sur un microcprocesseur , pas sur un processeur graphique. Deuxièmement, le rendu graphique ne nécessite pas de mots particulièrement larges. Beaucoup d'opérations plus petites peuvent être effectuées en parallèle, mais je n'appellerais pas 8 cœurs de processeur en parallèle, chacun travaillant sur des données 32 bits avec un processeur "256 bits". Faites-vous référence à votre PC quad core comme un processeur "256 bits" simplement parce que chaque coeur peut fonctionner en mode natif sur des données 64 bits? Je pense que c'est une mauvaise utilisation du terme, et même le marketing d'Intel ne semble pas lancer plusieurs cœurs de cette façon.
Olin Lathrop
30
@Rocket: SIMD est un type de parallélisme différent, mais je n’appellerais toujours pas cela une ALU large, mais un groupe de petites ALU fonctionnant étroitement en parallèle. Vous ne pouvez pas effectuer d’ajout sur 256 bits avec tous les retards, par exemple sur un tel processeur SIMD. Le parallélisme n'est pas la même chose qu'une ALU plus large. Vous semblez sortir de votre chemin pour être contraire. Vous pouvez peut-être argumenter sur ce qui est parallèle ou plus large, mais utiliser des définitions non conventionnelles pour ensuite affirmer que les autres interprétations sont incroyablement erronées, c'est simplement s'engager dans un concours de pisse.
Olin Lathrop
15
@Rocket: Le fait que le processeur puisse fonctionner simultanément sur 256 bits en effectuant plusieurs opérations en parallèle n'en fait pas un processeur "256 bits". Cela impliquerait qu'il puisse travailler directement sur des nombres de 256 bits, ce qui n'est pas le cas. Comme vous l'avez dit vous-même, il n'y a pas de retenue entre les unités ALU parallèles séparées, ce qui en fait une unité non ALU de 256 bits. Vous semblez avoir une définition inhabituelle de ce que le bitness d'un processeur signifie. Ce n'est pas le nombre de bits qu'il peut traiter à la fois, mais la largeur d'un mot qu'il peut traiter dans son ensemble.
Olin Lathrop
19
Quand j'étais à l'école, on nous a appris que les personnes travaillant avec des logiciels mesuraient le bitness en termes de largeur de jeu d'instructions "logiques" et que les personnes travaillant en matériel mesuraient le bitness en termes de largeur de bus. Ainsi, le 8088 était un processeur 16 bits pour les utilisateurs de logiciels et un processeur 8 bits pour les utilisateurs de matériel. Le 8086 était 16 bits pour tout le monde. Bien sûr, les responsables marketing prendraient le plus grand nombre possible, alors espérons qu'ils ne lisent pas ce fil de commentaire et ne commencent à commercialiser des processeurs 512 bits! :-)
Mark Harrison
34

Eh bien, je ne sais pas à propos de 256 ou 512 bits, mais j'ai entendu parler d'un processeur de 1024 bits (je ne le trouve pas pour le moment). Le mot est VLIW , pour Very Long Instruction Word . Donc, c'est le bus d'instructions, pas la largeur du bus de données. Les avantages sont que vous pouvez implémenter le parallélisme d'instruction (ILP) à grande échelle.

Ma première rencontre avec ILP devait avoir lieu il y a 20 ans avec les DSP Motorola, qui comportaient des instructions pour exécuter un MAC (multiplier et accumuler) tout en déplaçant des données vers et depuis la mémoire, de sorte que vous puissiez exécuter un nouveau MAC lors de l'instruction suivante, sans perdre de temps. temps entre deux MAC pour le déplacement des données.
Aujourd'hui, il existe également des contrôleurs à usage général offrant cette option. VLIW l'applique à une échelle beaucoup plus élevée.

Étant donné que la largeur de votre bus de données ne sera pas aussi large, vous pouvez avoir plusieurs instructions plus des constantes dans une instruction. La raison pour laquelle le bus de données ne suit pas la tendance est qu’elle est plutôt inutile; un registre de données de 64 bits peut représenter un nombre à 20 chiffres décimaux. À quand remonte la dernière fois que vous avez eu besoin d'une précision de 20 chiffres? Pour la plupart des applications, 10 = .20

Lectures supplémentaires
Architecture VLIW

stevenvh
la source
la plupart des calculs financiers :( courir dans ce problème maintenant
im tellement confus
Je pensais que le x86 était un processeur VLIW. ;-)
Macke
1
@MarcusLindblom Seulement si par VLIW vous entendez des mots d'instruction de longueur variable. ;-)
un CVn
3
@ AK4749 Dans ce cas, vos prédictions risquent tout autant d'être contredites par les banques qui gèrent vos transactions à l'aide de "vraies" règles comptables. Cela signifie que si vous exécutez un plan basé sur ces règles, cela ne donnera pas les résultats escomptés car les vraies banques utiliseront les règles comptables réelles et non la précision nano-centrée. Et bien sûr parce que les marchés sont incertains. Ainsi, si une erreur de 1 cent au début génère une erreur de 1 billion de dollars à la sortie, ce billion de dollars n’est qu’un effet de simulation, ce que vos clients ne devraient pas utiliser pour établir des plans.
Le Photon
1
Bien sûr, ils ne se serviraient jamais de prévisions sur dix ans comme base des décisions actuelles, même si, en tant que programmeur, je ne serais pas si bête. Cependant, (et pour être clair, nous avons résolu le problème d'erreur divergente afin qu'il n'existe pas encore), les plus gros clients ont en fait besoin de ce type de fonctionnalités à des fins néfastes pour lesquelles ils décident de ne pas divulguer leurs informations à leurs fournisseurs. En outre, après avoir travaillé dans le secteur financier pendant quelques années, je peux vous affirmer que les sociétés financières utilisent en réalité des calculs de précision plus élevés (1/2)
tellement confus
28

Le "bitness" d'un microprocesseur est généralement défini en termes de taille des registres à usage général. La taille détermine les nombres importants qu'un processeur peut gérer de manière native et la quantité de mémoire à laquelle il peut accéder. Les nombres 64 bits suffisent pour presque tous les algorithmes et la quantité de mémoire adressable (16 millions de téraoctets) suffit pour un certain temps. Il n’ya simplement aucun avantage à augmenter la taille des registres à usage général. D'un autre côté, la zone des unités arithmétiques et logiques (ALU) utilisée pour effectuer des opérations sur les registres est mise à l'échelle avec le carré de la quantité de bits. Une ALU de 256 bits serait 16 fois plus grande et beaucoup plus lente.

D'autre part, il est judicieux d'élargir le processeur pour pouvoir effectuer simultanément plusieurs opérations plus petites. En fait, les processeurs Sandy Bridge et Ivy Bridge d'Intel font exactement cela: ils possèdent des registres SIMD à 256 bits et peuvent effectuer deux opérations arithmétiques et une opération de mémoire par cycle. On pourrait donc justifier de les appeler des processeurs 256 bits, voire 768 bits, s’il s’agissait d’un spécialiste du marketing sournois voulant modifier les termes utilisés régulièrement.

Fourmis Aasma
la source
C'est une architecture impressionnante.
Trygve Laugstøl
6
+1 pour "le marketing sournois voulant se plier à des termes utilisés régulièrement".
Dan Neely
14

Tout d'abord, la taille en bits d'un processeur est généralement déterminée par l'architecture abstraite visible par le programmeur en langage machine, et non par des détails d'implémentation tels que la taille du bus de données.

Par exemple, le Motorola 68000 est un processeur 32 bits. Il possède des registres de données 32 bits et des registres d’adresses 32 bits. Maintenant, la première version de cette famille architecturale n’expose que 24 bits de lignes d’adresse. En outre, il existe des variantes ne disposant que d’un bus de données à 8 bits (le processeur exécute alors des opérations de mémoire à 32 bits sous forme de cycles d’accès multiples).

Passons maintenant à la question, pourquoi ne pas aller en 256 et 512. Les processeurs manipulent "de manière native" plusieurs types de types de données, il est donc utile de regarder ce que 256 ou 512 bits signifient pour chacun de ces types de données individuellement. Nous avons des entiers, des pointeurs et des types à virgule flottante.

  1. Entiers: Les programmes utilisent beaucoup de kilomètres sur des entiers 32 et 64 bits. Si 64 bits est une limitation, le correctif consiste à avoir des entiers bignum implémentés par logiciel. Les langages de haut niveau peuvent implémenter des types entiers de telle sorte que les opérations basculent en douceur entre "fixnums" et "bignums". Bien sûr, vous prenez un coup de performance avec bignums, mais vous devez considérer cela dans son ensemble: combien d'opérations dans un programme sont des opérations de bignum. Les nombres de 256 ou 512 bits n'éliminent pas le besoin de bignums, ils augmentent simplement la marge de sécurité avant que nous devions passer aux bignums. Si vous voulez manipuler des clés publiques à 2048 bits, les entiers à 512 bits ne suffiront pas (mais un bignum avec des chiffres à 512 bits pourrait être rapide).

  2. Pointeurs: les pointeurs plus larges permettent deux choses: des espaces d'adresses plus larges et des métadonnées supplémentaires stockées dans un pointeur. Les espaces d'adressage sont virtuels de nos jours et peuvent donc se développer même si les souvenirs ne grandissent pas. Il a été proposé que, si vous avez des pointeurs 128 bits, l'espace d'adressage est si vaste que vous pouvez placer tous les processus d'espace utilisateur d'un système d'exploitation, et le noyau, à des emplacements aléatoires dans un seul espace non protégé. entrer en collision. Plutôt que de simplement créer un espace d'adressage plus grand, des pointeurs plus épais peuvent être utilisés pour transporter des bits qui ne sont pas des bits d'adresse, tels que des informations sur l'objet référent (type, taille et autres informations) ou des informations relatives à la sécurité. Il y a probablement de la "graisse optimale" pour ce genre de chose, et si je devais deviner, je le plafonnerais quand même à 128 bits. C'est pas ca' Il semble logique de passer aux pointeurs 256 bits, mais pas à 512. Les plus gros pointeurs ont un désavantage: ils gonflent toutes les structures de données contenant des pointeurs. Et, généralement, vous voulez que les pointeurs aient la même taille, sinon vous avez besoin de complications dans l’architecture du jeu d’instructions (comme les segments de mémoire), ce qui vous permet d’avoir des pointeurs complets (descripteur de segment et offset) ou simplement des pointeurs locaux (offset dans un segment compris). .

  3. Types à virgule flottante: Plus le nombre de bits dans les nombres à virgule flottante est élevé, plus la précision est grande. Je dirais que les types à virgule flottante bénéficient le plus d'une représentation plus large. Un type flottant de 256 ou 512 bits améliorera la stabilité du code numérique et la qualité des calculs scientifiques nécessitant de nombreuses itérations, tout en accumulant des erreurs. La précision en virgule flottante n'est pas la même chose que la précision en nombres entiers: nous ne pouvons pas séparer le type à virgule flottante en plages telles que fixnums versus bignums. Une plus grande précision en virgule flottante affecte la qualité de tous les nombres inexacts, qu'ils soient proches de zéro ou qu'ils aient une grande magnitude. Davantage de bits dans les exposants à virgule flottante peuvent également élargir considérablement la plage des nombres à virgule flottante, et beaucoup plus rapidement que l'ajout de bits à un entier bignum.

Pour ces raisons, je soupçonne que la tendance future prédominante sera l’augmentation de la largeur des nombres en virgule flottante matérielle, qui ne sera pas nécessairement suivie de l’augmentation de la largeur des pointeurs et des entiers.

Rappelez-vous que les nombres à virgule flottante ont déjà été en avance sur les autres types dans le passé. Par exemple, nous avons eu pendant un certain temps une prédominance de processeurs 32 bits prenant en charge les doubles floats IEEE 64 bits. En effet, bien que vous puissiez faire beaucoup avec des pointeurs et des entiers 32 bits, les flottants 32 bits sont très limités pour tout travail numérique sérieux.

Une fonctionnalité très utile qu'il serait agréable de voir apparaître dans les représentations en virgule flottante serait quelques bits de réserve pour une balise de type. L'implémentation de types à virgule flottante dans des langages dynamiques de haut niveau (dans lesquels les objets ont un type, mais les emplacements de stockage contiennent des valeurs de tout type) est une tâche ardue, car des bits inutilisés peuvent être trouvés dans des pointeurs et des objets de type entier pour placer des parties d'un objet. identifiant le type tag, cela est difficile à faire avec des nombres à virgule flottante. Donc ce qui finit souvent par arriver, c’est que les nombres à virgule flottante se voient attribuer des tas. Certains schémas volent des bits dans la mantisse, de sorte que les types à virgule flottante dans cette langue perdent en précision par rapport aux flottants dans d'autres langues sur la même machine.

Kaz
la source
Belle description. Soit dit en passant, les processeurs x86 courants utilisent depuis longtemps une virgule flottante de 80 bits, depuis la première unité matérielle à virgule flottante pour eux, si je me souviens bien. Les 80 bits sont internes au FPU, puis généralement 32 ou 64 bits sont exportés.
Olin Lathrop
Techniquement, c'est déjà fait. Google "nan boxing" ou "boxe religieuse". Ce qui est plus prometteur, ce sont les balises de type matériel dans les bras 64 bits, mais ce n’est malheureusement pas pour bientôt.
Whitequark
3
Il était possible d'accéder directement à la version 80. Dans les années 90, lorsque j'apprenais à programmer dans TurboPascal, il existait un type float à 80 bits.
Dan Neely
@DanNeely: J'ai parfois pensé que les processeurs bénéficieraient des types à virgule flottante à coordonnées 3D, combinant soit trois nombres de 80 bits en un bloc de 256 bits, soit trois nombres de 42 bits en un bloc de 128 bits, soit trois Nombres de 21 bits dans un morceau de 64 bits. Je me demande à quel point une telle chose serait difficile à mettre en œuvre et quelle serait son utilité?
Supercat
@supercat GPGU Wikipedia: la plupart des opérations sur le GPU [NVidia] fonctionnent de manière vectorielle: une opération peut être effectuée sur quatre valeurs à la fois. Par exemple, si une couleur <R1, G1, B1> doit être modulée par une autre couleur <R2, G2, B2>, le processeur graphique peut produire la couleur résultante <R1 * R2, G1 * G2, B1 * B2> en une seule fois. opération.
Kaz
9

Cela ne vous aide pas réellement à faire quelque chose d'utile. Les nombres 64 bits vous donnent suffisamment de précision pour presque tous les objectifs (les systèmes Intel ont cependant une virgule flottante de 80 bits), mais les lignes supplémentaires augmentent le coût et la consommation d'énergie tout en ayant un impact négatif faible sur la vitesse d'horloge.

Historiquement, les processeurs utilisent le nombre minimal de bits qui convient le mieux aux fins auxquelles ils sont destinés. Avec les progrès de la technologie, des bus et des ALU plus larges sont devenus possibles, d’où l’augmentation de la taille des bus pour une applicabilité plus large:

  • 4 bits: assez pour un chiffre, donc pratique pour les calculatrices, les caisses enregistreuses, etc. (style BCD) (domaine relativement limité)
  • 8 bits: suffisant pour un caractère (ASCII), pratique pour les systèmes de traitement de texte (zone très large), également pour les sons de mauvaise qualité
  • 16 bits: lorsque 16-bitters étaient populaires, 2 ^ 16 adresses de mémoire constituaient un montant raisonnable (au moins beaucoup plus raisonnable que 2 ^ 8 ou 2 ^ 32). 16 bits donne une qualité audio tout à fait acceptable et la plupart des convertisseurs A / N donnent moins de 16 bits de résultat. Par conséquent, calculer avec de telles valeurs sur 16 bits est logique.
  • 32 bits: 32 bits correspond à la précision de la plupart (mais pas de toutes) des quantités mesurées par l'homme, et à moins que vous n'utilisiez de grandes bases de données, 2 ^ 32 adresses suffisaient dans la plupart des cas.
  • 64 bits: disposer de plus de 2 ^ 32 octets de mémoire est maintenant pratique.
  • 128 bits: pour le moment peu d'avantage sur 32, sauf en cryptographie. Quand attendons-nous plus de 2 ^ 64 octets sur un disque dur? probablement pas bientôt.
pjc50
la source
1
"640K devrait être suffisant pour tout le monde." -Bill Gates (1981)
jippie
6
@ jippie - Gates n'a jamais dit cela.
Rocketmagnet
1
En fait, la plupart des processeurs 8 bits étaient capables de traiter 2 ^ 16 octets de mémoire, et 16 bitters 2 ^ 32, le 80386 (32 bits) pouvait en théorie également traiter de 2 ^ 64 octets (4 Go) de mémoire, ce qui aurait été plutôt inutile. en ces jours quand même ...
Axel
1
@Axel - le 8086 16 bits ne pouvait traiter que 2 octets de mémoire, et quand ils ont découvert que cela ne suffisait pas, ils ont dû proposer des choses horribles telles que des gestionnaires de mémoire étendus et étendus. 20
Stévenvh
3
@ Michael - c'est de tous les temps, et je l'ai vu tout au long de ma carrière: il y a très peu de chefs de produits vraiment visionnaires. Anecdote: au début des années 1970, lors d’une conférence sur l’avenir des microprocesseurs, Robert Noyce prédit la miniaturisation actuelle, et un membre du public dit: "Bon sang, je ne voudrais pas perdre tout un ordinateur dans une niche." Sur quoi Noyce répondit avec mépris: "Vous ne comprenez pas du tout. Vous ne vous souciez pas de celui que vous avez perdu; vous en aurez des milliers d'autres". C'était au début des années 1970. Robert Noyce était un visionnaire.
Stévenvh
9

En réalité, de tels processeurs existent et sont courants, en fonction de la définition du bitness. Vous en utilisez presque certainement un maintenant. Comme l'a expliqué Olin, les nombres 256 bits ne sont pas très utiles, mais qu'en est-il des nombres 4 x 32 bits? Et si l'ALU pouvait ajouter 4 paires de nombres 32 bits en même temps. De telles ALU (que je sache) ont été mises en œuvre pour la première fois dans les superordinateurs vectoriels dans les années 1970. La première fois que j'ai possédé un tel ordinateur, c'est quand j'ai eu l'un des Intel Pentium avec MMX.

Mec Intel MMX

Tu te souviens de ces gars?

Les puces MMX avaient un jeu d'instructions Single Instruction - Multiple Data ( SIMD ) permettant d'ajouter des paires 1 × 64 bits, 2 × 32 bits, 4 × 16 bits ou 8 × 8 bits.

Mais ce n'est rien. Une carte graphique moderne a un GPU (ce qui signifiait auparavant Graphics Processing Unit, mais signifie maintenant General Processing Unit). Ce sont souvent des implémentations SIMD larges, capables de créer des branches, des charges et des magasins sur 128 ou 256 bits à la fois. La microarchitecture prototype d'Intel Larrabee comprend plus de deux registres SIMD 512 bits sur chacun de ses cœurs.

GPU SIMD

Veuillez noter que SIMD ne doit pas être confondu avec multi-core. Chaque cœur d’une CPU aura sa propre ALU large capable d’ajouter un ensemble d’entiers.

Rocketmagnet
la source
1
"1 × paire 16 bits, 2 × paires 32 bits, 4 paires × 16 bits ou paires 8 × 8 bits" Etes-vous sûr de bien comprendre cette partie?
un CVn
4
À première vue, il ressemblait à un Kraft Single portant le logo Intel
Chris Laplante
4
Les variables 4x32 bits n’ont encore que 32 bits. Le bit-ness est le nombre entier individuel maximal sur lequel l’ALU peut fonctionner. Le faire plusieurs fois en parallèle n'augmente pas la largeur de bit. -1
Connor Wolf
3

Parce que nous n'en avons pas encore besoin.

Normalement, le bitness (que je définirais comme le nombre de bits dans un registre) traduit plus ou moins directement dans la quantité de mémoire adressable. Ceci est bien sûr simplifié, car selon le processeur, il peut y avoir des registres ayant une longueur de bit deux fois supérieure ou des techniques permettant de contourner ces limitations de mémoire (ceux qui se souviennent avoir programmé sur des fenêtres 16 bits?).

Axel
la source
3

"Pourquoi n'augmentent-ils pas simplement le nombre de lignes de données et créent un 256 bits"

En fait, tous les processeurs Intel compatibles avec le Socket LGA-2011 possèdent 256 broches de données, qui se connectent à 256 lignes de données de la carte mère menant à la mémoire vive dynamique. Je serais un peu surpris que le dernier ordinateur portable ou de bureau que vous ayez utilisé ne comporte pas au moins 256 lignes de données. Puis-je vous demander d'où provient cette idée erronée selon laquelle "ils n'augmentent pas simplement le nombre de lignes de données"?

La fiche technique de LGA-2011 Socket , section 6.1, indique que ces UC ont 256 broches de données et 76 broches d’adresse (adresse bancaire + adresse mémoire).

Davidcary
la source
-1

car aucune application n’a besoin ou n’a la possibilité de représenter des données en utilisant plus de 128 bits à la fois.

et vous savez, les processeurs multimédias et les cartes graphiques y arriveront bien avant les processeurs de cartes mères, tout simplement parce qu’avec la photo / vidéo, il est logique d’utiliser de si grandes longueurs de données pour être traitées à la fois.

Paulo
la source
-4

Un système informatique est dans son sens une machine à calculer, qui nécessite quelques entrées et donne quelques sorties. Nous devons satisfaire l’ordinateur dans ces lignes, ce qui a permis aux développeurs de disposer de trois bus: bus d’adresses, bus de données et bus de contrôle. 1) Le bus d’adresses recherche / sélectionne une adresse particulière dans la mémoire pour les opérations de lecture / écriture. 2) Le bus de données extrait ensuite les données et présente ces données au processeur, ainsi que de la mémoire à des fins de traitement / stockage. 3) Le bus de contrôle crée un protocole de contrôle d'interface et demande au système de le respecter.

Celles-ci sont nécessaires pour effectuer des calculs utiles pour un utilisateur / serveur / client. En général, les performances (rapidité de l’achèvement des tâches, moins de problèmes, etc.) dépendent du nettoyage du goulot du système. Par exemple, si le processeur est capable de traiter à une vitesse beaucoup plus élevée que la vitesse de transfert depuis un disque dur, le goulot d'étranglement se produit sur le disque dur. De même, nous avons besoin d'une vitesse de traitement adaptée à une vitesse de transmission de données et à une largeur de code particulières.

Depuis le début, pour diverses raisons telles que la complexité matérielle / coûteuse, le coût, les exigences, les algorithmes efficaces et la raison principale du marché, Market Scope est le principal obstacle à la production de la largeur de bus de données élevée 512 bits. Celles-ci sont possibles! Mais l'exigence n'est pas encore présente, la portée du marché n'est pas encore visible avec les besoins actuels et l'absence de support logiciel complémentaire.

Processeur 256 bits signifie la largeur du bus de données, que ce processeur particulier peut gérer ou que l'ALU peut traiter en une seule exécution. Nous avons commencé à former 4 bits, puis 8,16,32 et actuellement 64 et même 128 bits, qui sont les produits actuels du marché.

Donc, avant de poser ces questions, vous devez toujours voir la demande du marché et sa portée. Dans l’histoire, c’est le seul moyen simple de comprendre les modes de vie. Si vous ne pouvez vous le permettre, comment pouvez-vous l'acheter? et si vous ne pouvez pas l'acheter, comment le producteur peut-il produire? et s'il ne peut pas produire, alors il n'y a pas d'existence pour ce produit !!

Sri Krishna
la source
6
La capitalisation des noms rend la lecture difficile.
pjc50
hmm, oui je dois commencer à faire ça.
Sri Krishna
@ pjc50 Peut-être qu'il vient d'Allemagne? Oh, attendez, "Asking" et "Buy" sont également capitalisés, peut-être pas ...
Alex