Je travaille avec un microcontrôleur Fujitsu et je pense que je suis un peu rouillé sur les détails suivants, c'est pourquoi je pose cette question. J'ai les spécifications suivantes:
- Mémoire flash 4 Mo
- Produit intégré: MB90F345E (S), MB90F345CE (S)
- volume: 512 Ko / 256 K mots
- Configuration du secteur: 64K × 6 + 32K × 2 + 16K × 2 + 8 K × 4
- Banque affectée: F8H à la banque FFH
Ils semblent créer comme par magie 12K octets de mémoire ROM supplémentaire? Quelle bizarrerie me manque-t-il ici?
microcontroller
rom
Evert
la source
la source
B
etb
. Ce que le titre dit est vraiment "4 mégabits! = 512 kilobits?", Ce qui n'a bien sûr aucun sens. Ce que vous vouliez est4 Mbit != 512 KB?
plus logique, selon que vous utilisez des préfixes binaires ou décimaux.Réponses:
Si vous regardez la carte mémoire, il y a en fait 524,288 octets de ROM, ce qui est 512K (où 'K' fait référence à 1024, pas 1000) - btw, je l'ai obtenu en soustrayant l'adresse de début 0xF8000 de l'adresse de fin 0xFFFFFF et en ajoutant une.
C'est 4 M (où «M» est 1024 * 1024 = 1 048 576, pasdix6 = 1 000 000).
Il est généralement assez clair de savoir ce qui se passe dans le contexte, ce qui provoque rarement de la confusion (en particulier lorsqu'il semble y avoir plus de mémoire que prévu), mais la capacité du lecteur de disque des consommateurs est un exemple notoire d'utilisation d' unités de marketing qui donnent au produit un aspect plus favorable d'environ 5-10%.
Edit: Comme divers prescriptivistes ici l'ont mentionné, il existe des unités "officielles" comme MiB qui devraient lever toute ambiguïté, mais comme pratiquement personne ne les utilise, je pense qu'elles provoqueraient probablement plus de confusion dans la plupart des cas (et, évidemment, les auteurs de la fiche technique ont estimé de cette façon). La question est d' interpréter correctement ce qui a été écrit dans une fiche technique, et non quelle terminologie vous devez utiliser lorsque vous rédigez vous-même une fiche technique.
la source
Les premiers ingénieurs en informatique ont choisi d' adopter et d'adapter les unités de préfixe SI à leur nombre de données. Ce sont les mêmes préfixes, mais en comptant en binaire plutôt qu'en métrique. Étant donné que 2 ^ 10 est proche de 10 ^ 3, chaque préfixe SI augmentant normalement un montant de 10 ^ 3 fait plutôt référence à une augmentation de 2 ^ 10:
Celles-ci ont été adoptées dans le cadre des normes JEDEC.
Cela présente un certain nombre d'avantages, car beaucoup de travail dans ce domaine se fait en puissances de 2. Cependant, comme vous pouvez le voir, ils divergent de la métrique, et puisque nous avons maintenant affaire à de plus grandes quantités de stockage où la différence entre les deux diverge considérablement la problème a été traité par la CEI et le NIST. Ceux-ci différencient les deux systèmes en changeant le préfixe binaire:
Celles-ci ont été normalisées pour la première fois en 1998 et adoptées dans le Système international de quantités en 2008, mais leur adoption est lente et il existe encore des entreprises qui créent de nouveaux documents en utilisant l'ancienne norme. Là où les entreprises ont changé, elles ont trouvé les utilisateurs confus et certains sont revenus à l'ancien style.
Ainsi, en utilisant l'ancienne norme, 4 Mo est de 4 * 2 ^ 20 bits, ce qui équivaut à 512 * 2 ^ 10 octets.
Représenté dans la nouvelle norme, il serait plutôt de 4 Mo = 512 Ko, en supposant que «b» correspond à des bits et «B» à des octets.
la source
Dans le contexte des capacités de mémoire, MB signifie souvent 1024 Ko (au lieu de 1000 Ko). Vous pouvez utiliser MiB afin d'éviter toute ambiguïté.
la source
Les pouvoirs séculaires de 2 vs pouvoirs de 10 débat. Les entreprises ont perdu des millions dans des poursuites judiciaires. Les préfixes binaires vs décimaux vous faisant perdre 24 bits par kilo s'additionnent vraiment en giga bits et octets. C'est pourquoi mon disque dur de 120 Go (évaluation du fabricant) n'a que 115,8 Go environ (écran d'ordinateur)
http://en.m.wikipedia.org/wiki/Binary_prefix a une explication complète.
la source
Lorsque vous parlez de RAM, de ROM ou de tout ce qui est connecté de quelque manière que ce soit aux bus d'un CPU:
Un kilobit correspond à 1024 bits.
Un mégabit équivaut à 1024 kilobits.
4 mégabits soit 4096 kilobits.
4096 kilobits est 4194304 bits.
Un octet fait 8 bits.
4194304 bits est 524288 octets
Un kilo-octet correspond à 1024 octets
524288 octets est de 512 kilo-octets.
C'est à cause de2n .
la source
Malheureusement, l'industrie informatique utilise les préfixes kilo et méga de manière incohérente.
La mémoire à semi-conducteur a tendance à avoir une puissance de deux tailles, car elle simplifie le mappage d'adresse. 1024 est proche de 1000, donc ceux qui travaillent avec la mémoire à semi-conducteurs ont commencé à utiliser le kilo pour signifier 1024. À mesure que les tailles de mémoire augmentaient, ils ont également commencé à utiliser méga pour signifier 1024 2 = 1048576 giga pour signifier 1024 3 = 1073741824 et ainsi de suite.
Sous ces définitions de kilo-octets et de mégaoctets, votre déclaration du fabricant correspond. 4 mégabits binaires équivalent à 4096 kilobits binaires équivalent à 512 kilo-octets binaires.
Cependant, d'autres parties de l'industrie informatique, en particulier les fabricants de disques durs et les concepteurs d'interfaces de communication, ont utilisé les préfixes SI dans leur sens d'origine. Les fabricants de supports flash de type disque avaient également tendance à suivre cette convention.
Certaines parties de l'industrie ont même mélangé les deux, par exemple une "disquette de 1,44 Mo" est en fait 1,44 * 1000 * 1024 = 1474560 octets
La CEI a essayé de réparer le gâchis en 1998 en introduisant des noms et une symbologie spécifiques pour les préfixes binaires, les noms sont formés en prenant les deux premières lettres du nom de l'unité SI et en ajoutant "bi", donc le kilo devient kibi, méga devient mebi et ainsi de suite. Pour les symboles, un "i" est ajouté, donc k devient ki, M devient Mi et ainsi de suite.
Cependant, ce n'est pas parce qu'une organisation de normalisation introduit une terminologie que les gens l'utilisent réellement. Au moins d'après mon expérience, il est encore beaucoup plus courant de voir le kilo, le méga etc. utilisés dans un sens binaire que de voir le kibi, le mébi, etc.
la source
Comme tout le monde l'a déjà expliqué, vous souffrez probablement d'un hack vieux d'un demi-siècle par IEC et al, qui continue de générer une énorme confusion. Plutôt que d'introduire une nouvelle unité de même dimensionnalité (ou un préfixe), ils ont redéfini le sens d'une autre unité (préfixe) largement utilisée, tout en n'établissant pas clairement quelle définition s'applique dans quel contexte.
En cas de problème spécifique, inspectez simplement les cartes mémoire comme mentionné.
Cependant, je vous exhorte à reconnaître un problème beaucoup plus général.
Le problème est que dire
123 kB
ne conduit pas de manière fiable à une compréhension limpide du côté du destinataire.Il s'agit d'un héritage linguistique et d'une carence majeure en API du vocabulaire CS.
Que pouvons- nous faire pour résoudre ce problème?
Eh bien, devinez quoi: utilisez des préfixes binaires .
La signification de
123 kiB
est 100% fiable et limpide.La signification de
123 kiB (126.0 kB)
est encore mieux.Vous n'avez pas besoin d'être un historien CS juste pour transmettre de gros chiffres à quelqu'un.
Personne ne se soucie des entreprises, des disques durs, des organismes de normalisation, des déclarations de dépréciation, etc.
Ça ne vaut pas le coup. Utilisez simplement les mégaoctets binaires. Ils sont sans ambiguïté.
Il y a des gens qui ont réussi à le dire
32 kibihertz
en 2002. Ils ont été entendus. Étonnamment pratique, hein?Enfin, si vous refusez d'embrasser les préfixes binaires - vous aggravez le problème.
La seule stratégie avec laquelle nous pouvons tous coopérer pour désamorcer et corriger ce fichu bug linguistique est de déprécier l'ambiguïté et de passer en kibi ... secondes (pourquoi pas?) Et à d'autres bi-unités.
la source