Я работаю с микроконтроллером Fujitsu и думаю, что немного устала от следующих деталей, поэтому я задаю этот вопрос. У меня есть следующие характеристики:
- 4-битная флэш-память
- Встроенный продукт: MB90F345E (S), MB90F345CE (S)
- объем: 512 кбайт / 256 слов
- Конфигурация сектора: 64K × 6 + 32K × 2 + 16K × 2 + 8 K × 4
- Выделенный банк: F8H к банку FFH
Кажется, они волшебным образом создают 12 Кбайт дополнительной памяти ПЗУ? Какую причуду я здесь пропускаю?
microcontroller
rom
выворачивать наизнанку
источник
источник
B
иb
. На самом деле в названии написано «4 мегабита! = 512 килобит?», Что, конечно, не имеет смысла. Что вам нужно, так это то,4 Mbit != 512 KB?
что имеет больше смысла, в зависимости от того, используете ли вы двоичные или десятичные префиксы.Ответы:
Если вы посмотрите на карту памяти, на самом деле есть 524 288 байт ПЗУ, что составляет 512 КБ (где «К» относится к 1024, а не 1000) - кстати, я получил это путем вычитания начального адреса 0xF8000 из конечного адреса 0xFFFFFF и добавления один.
Это 4М (где М = 1024 * 1024 = 1 048 576, а не106 = 1 000 000).
Обычно довольно ясно, что происходит из контекста, так что это редко вызывает путаницу (особенно, когда кажется, что памяти больше, чем вы ожидали), однако емкость диска потребителя является печально известным примером использования «маркетинговых» единиц, которые делают продукт более привлекательным. благоприятно примерно на 5-10%.
Редактировать: Как уже упоминали различные специалисты по предписаниям, существуют «официальные» подразделения, такие как MiB, которые должны избавиться от неоднозначности, однако, поскольку их практически никто не использует, я думаю, что в большинстве случаев они, скорее всего, вызовут больше путаницы (и, очевидно, авторы таблицы данных чувствовали сюда). Речь идет о правильной интерпретации того, что было написано в листе данных, а не о том, какую терминологию вы должны использовать при написании таблицы данных самостоятельно.
источник
Первые компьютерные инженеры предпочли принять и адаптировать префиксные модули SI к своим подсчетам данных. Это те же префиксы, но они рассчитываются с использованием двоичного, а не метрического. Поскольку 2 ^ 10 близко к 10 ^ 3, то каждый префикс SI, обычно увеличивающий количество на 10 ^ 3, вместо этого означает увеличение на 2 ^ 10:
Они были приняты как часть стандартов JEDEC.
Это имеет ряд преимуществ, так как большая работа в этой области происходит с степенями 2. Однако, как вы можете видеть, они расходятся с метрикой, и поскольку мы сейчас имеем дело с большими объемами памяти, где разница между этими двумя значениями значительно отличается, проблема была решена IEC и NIST. Они различают две системы путем изменения двоичного префикса:
Впервые они были стандартизированы в 1998 году и приняты в Международную систему количеств в 2008 году, но их внедрение происходит медленно, и все еще существуют компании, создающие новые документы с использованием старого стандарта. Там, где компании переключились, они обнаружили, что пользователи запутались, а некоторые снова переключились на старый стиль.
Таким образом, используя более старый стандарт, 4Mb составляет 4 * 2 ^ 20 бит, что эквивалентно 512 * 2 ^ 10 байтов.
Представленный в более новом стандарте, он вместо этого будет 4Mib = 512 кБ, предполагая, что «b» - это биты, а «B» - это байты.
источник
В контексте объема памяти МБ часто означает 1024 КБ (вместо 1000 КБ). Вы можете использовать MiB , чтобы избежать двусмысленности.
источник
Вековые полномочия 2 против полномочий 10 дебатов. Компании потеряли миллионы в судебных процессах по этому поводу. Двоичные и десятичные префиксы, приводящие к потере 24 бит на килограмм, действительно складываются в гигабитные биты и байты. Вот почему мой жесткий диск 120 ГБ (рейтинг производителя) имеет только 115,8 ГБ или около того (дисплей компьютера)
http://en.m.wikipedia.org/wiki/Binary_prefix имеет полное объяснение.
источник
Говоря об ОЗУ, ПЗУ или о чем-либо, что каким-либо образом связано с шинами ЦП:
Один килобит составляет 1024 бита.
Один мегабит составляет 1024 килобита.
4 мегабита это 4096 килобит.
4096 килобит это 4194304 бит.
Один байт составляет 8 бит.
4194304 бит - это 524288 байт
Один килобайт составляет 1024 байта
524288 байт - это 512 килобайт.
Это все из-за2n ,
источник
К сожалению, компьютерная индустрия использует кило и мега префиксы непоследовательно.
Полупроводниковая память имеет мощность двух размеров, потому что упрощает сопоставление адресов. 1024 близка к 1000, поэтому те, кто работает с полупроводниковой памятью, начали использовать килограммы для обозначения 1024. По мере увеличения размеров памяти они также начали использовать мегапиксели для обозначения 1024 2 = 1048576 гигабайт для обозначения 1024 3 = 1073741824 и так далее.
Согласно этим определениям килобайт и мегабайт, ваше заявление производителей совпадает. 4 двоичных мегабита равны 4096 двоичным килобитам равны 512 двоичным килобайтам.
Однако другие части компьютерной индустрии, в частности производители жестких дисков и разработчики интерфейсов связи, использовали префиксы SI в их первоначальном значении. Производители дисковых флэш-носителей также придерживались этого соглашения.
Некоторые отрасли промышленности даже смешали их, например, «дискета 1,44 МБ» фактически 1,44 * 1000 * 1024 = 1474560 байт
В 1998 году МЭК попыталась исправить путаницу, введя конкретные имена и символы для двоичных префиксов, имена формируются путем взятия первых двух букв имени единицы СИ и добавления «би», поэтому килограмм становится киби, мега становится Меби и так далее. Для символов добавляется «i», так что k становится ki, M становится Mi и так далее.
Однако то, что организация по стандартизации вводит терминологию, не означает, что люди действительно ее используют. По крайней мере, по моему опыту, кило, мега и т. Д. Используются в двоичном смысле гораздо чаще, чем киби, мэби и т. Д.
источник
Как и все остальные уже объяснила, вы , вероятно , страдаете от halfcentury старого хака МЭКА и др, который продолжает порождать массовую путаницу. Вместо того, чтобы вводить новую единицу измерения той же размерности (или префикса), они переопределяли значение другой широко используемой единицы (префикса), в то же время не имея четкого определения, какое определение применяется в каком контексте.
В случае вашей конкретной проблемы, просто проверьте карты памяти, как указано.
Тем не менее, я призываю вас, ребята, признать гораздо более общую проблему.
Проблема состоит в том, что высказывание
123 kB
не ведет к кристально ясному пониманию со стороны получателя.Это лингвистическое наследие и серьезный недостаток API в словаре CS.
Что мы можем сделать, чтобы решить это?
Ну, угадайте, что: использовать двоичные префиксы .
Значение
123 kiB
является на 100% надежно кристально чистой.Значение
123 kiB (126.0 kB)
даже лучше.Вы не должны быть историком CS, просто чтобы передать кому-то большие цифры.
Никого не волнуют компании, жесткие диски, органы стандартизации, заявления об устаревании и так далее, и так далее.
Это того не стоит. Просто используйте двоичные mebibytes. Они являются однозначными.
Есть люди, которые успешно говорили
32 kibihertz
в 2002 году. Их услышали. Удивительно удобно, а?Наконец, если вы отказываетесь использовать бинарные префиксы - вы усугубляете проблему.
Единственная стратегия, с которой мы все можем сотрудничать, чтобы деэскалировать и исправить эту чертову лингвистическую ошибку, - это устранить двусмысленность и переключиться на киби ... секунды (почему нет?) И другие би-единицы.
источник