Сколько бит в памяти компьютера часто занимает слово

Обновлено: 21.11.2024

Этот контент был заархивирован и больше не поддерживается Университетом Индианы. Информация здесь может быть неточной, а ссылки могут быть недоступны или ненадежны.

Примечание. Следующая информация частично предоставлена ​​проектом Extreme Science and Engineering Discovery Environment ( XSEDE ) Национального научного фонда (NSF), который предоставляет исследователям передовые цифровые ресурсы и услуги, облегчающие научные открытия. Дополнительную информацию см. на веб-сайте XSEDE.

Бит — это двоичная цифра, наименьший приращение данных на компьютере. Бит может содержать только одно из двух значений: 0 или 1, что соответствует электрическим значениям выключено или включено соответственно.

Поскольку биты очень малы, вы редко работаете с информацией по одному биту за раз. Биты обычно собираются в группу из восьми, чтобы сформировать байт. Байт содержит достаточно информации для хранения одного символа ASCII, например "h".

Килобайт (КБ) — это 1 024 байта, а не тысяча байтов, как можно было бы ожидать, потому что компьютеры используют двоичную систему (с основанием два) вместо десятичной (с основанием десять).

Хранилище и память компьютера часто измеряются в мегабайтах (МБ) и гигабайтах (ГБ). Роман среднего размера содержит около 1 МБ информации. 1 МБ – это 1 024 килобайта, или 1 048 576 (1024 x 1024) байт, а не миллион байт.

Точно так же один 1 ГБ равен 1024 МБ или 1 073 741 824 (1024 x 1024 x 1024) байт. Терабайт (ТБ) равен 1024 ГБ; 1 ТБ — это примерно такой же объем информации, как и все книги в большой библиотеке, или примерно 1610 компакт-дисков с данными. Петабайт (ПБ) равен 1024 ТБ. 1 ПБ данных, записанных на DVD, создаст примерно 223 100 DVD, т. е. стопку высотой около 878 футов или стопку компакт-дисков высотой в милю. Университет Индианы в настоящее время создает системы хранения, способные хранить петабайты данных. Эксабайт (ЭБ) равен 1024 ПБ. Зеттабайт (ZB) равен 1024 ЭБ. Наконец, йоттабайт (YB) равен 1024 ZB.

Многие производители жестких дисков используют десятичную систему счисления для определения объема дискового пространства. В результате 1 МБ определяется как один миллион байтов, 1 ГБ определяется как один миллиард байтов и так далее. Поскольку ваш компьютер использует двоичную систему, как указано выше, вы можете заметить несоответствие между опубликованной емкостью вашего жесткого диска и емкостью, подтвержденной вашим компьютером. Например, жесткий диск, который, как говорят, содержит 10 ГБ дискового пространства с использованием десятичной системы счисления, на самом деле способен хранить 10 000 000 000 байтов. Однако в двоичной системе 10 ГБ составляют 10 737 418 240 байт. В результате вместо подтверждения 10 ГБ ваш компьютер подтвердит 9,31 ГБ. Это не неисправность, а вопрос разных определений.

Мы считаем по основанию 10 по степеням 10:

Компьютеры считают по основанию 2:

Итак, на компьютерном жаргоне используются следующие единицы:

< /th> < td>1 048 576 байт

Примечание. Названия и сокращения для количества байтов легко спутать с обозначениями для битов. В сокращениях для количества битов используется строчная буква «b» вместо прописной «B». Поскольку один байт состоит из восьми битов, эта разница может быть значительной. Например, если рекламируется широкополосное подключение к Интернету со скоростью загрузки 3,0 Мбит/с, его скорость составляет 3,0 мегабита в секунду или 0,375 мегабайта в секунду (сокращенно 0,375 Мбит/с). Биты и скорости передачи данных (биты во времени, например, в битах в секунду [бит/с]) чаще всего используются для описания скорости соединения, поэтому уделяйте особое внимание при сравнении поставщиков и услуг подключения к Интернету.

Этот документ был разработан при поддержке грантов Национального научного фонда (NSF) 1053575 и 1548562. Любые мнения, выводы, выводы или рекомендации, выраженные в этом материале, принадлежат авторам и не обязательно отражают точку зрения НФС.

Компьютерная система обычно хранит символы, используя код ASCII. Каждый символ хранится с использованием восьми битов информации, что дает общее количество различных символов 256 (2**8 = 256).

Сколько символов может храниться в бите?

Сколько символов может хранить 16 бит?

В 16-битном целом числе может храниться 2 16 (или 65 536) различных значений. В беззнаковом представлении эти значения представляют собой целые числа от 0 до 65 535; с использованием дополнения до двух возможные значения находятся в диапазоне от −32 768 до 32 767.

Сколько памяти занимает персонаж?

Тип char занимает 1 байт памяти (8 бит) и позволяет выразить в двоичной записи 2^8=256 значений. Тип char может содержать как положительные, так и отрицательные значения.

Является ли символ размером 1 байт?

Поэтому каждый символ может иметь длину 8 бит (1 байт), 16 бит (2 байта), 24 бита (3 байта) или 32 бита (4 байта). Точно так же UTF-16 основан на 16-битных кодовых единицах. Следовательно, каждый символ может быть 16 бит (2 байта) или 32 бита (4 байта). Все UTF включают полный репертуар символов Unicode или набор символов.

Сколько значений может храниться в байте?

Как называется 16 бит?

BYTE — 8 бит без знака. СЛОВО – 16 бит, без знака. DWORD — 32 бита, без знака.

Что такое 16-битное число?

16-разрядный — это компьютерное аппаратное устройство или программа, способная передавать 16 бит данных за раз. Например, ранние компьютерные процессоры (например, 8088 и 80286) были 16-разрядными процессорами, то есть они могли работать с 16-разрядными двоичными числами (десятичные числа до 65 535).

Какой персонаж занимает больше всего памяти?

﷽, вероятно, занимает больше всего места.

Какой минимальный объем памяти для одного персонажа?

1 байт — это минимальное пространство, необходимое для хранения одного символа.

Много ли 1 ГБ памяти?

1 ГБ ОЗУ достаточно для основных операций, таких как просмотр веб-страниц (хотя не ожидайте запуска браузера с десятками открытых вкладок) и электронной почты, а также для обработки текстов и легкого редактирования изображений.

Сколько байтов занимает текстовый символ?

Символы могут иметь от 1 до 6 байт (некоторые из них могут быть не нужны прямо сейчас). Каждый символ UTF-32 имеет 4 байта. UTF-16 использует 16 бит для каждого символа и представляет только часть символов Unicode, называемых BMP (для всех практических целей этого достаточно). Java использует эту кодировку в своих строках.

В чем разница между байтом и символом?

Основное различие между типами данных byte и char заключается в том, что byte используется для хранения необработанных двоичных данных, а другие — для хранения символов или текстовых данных. С точки зрения диапазона, переменная byte может содержать любое значение от -128 до 127, а переменная char может содержать любое значение от 0 до 255.

Сколько байтов составляет буква?

Мы называем 8 бит байтом. В очень распространенной системе ASCII каждая буква алфавита, как заглавная, так и строчная (плюс знаки препинания и некоторые другие символы), соответствует числу от 0 до 255 (например, a=97, b=98 и т. д.), поэтому одна буква может быть выражен одним байтом. Таким образом, слово «Шеннон» занимает 7 байт.

«В вычислениях слово — это естественная единица данных, используемая процессором определенной конструкции. Слово — это фрагмент данных фиксированного размера, обрабатываемый как единое целое набором инструкций или аппаратным обеспечением процессора. Количество бит в слове (размер слова, ширина слова или длина слова) является важной характеристикой любой конкретной конструкции процессора или компьютерной архитектуры."

В вычислениях слово — это естественная единица данных, используемая процессором определенной конструкции. Слово — это фрагмент данных фиксированного размера, обрабатываемый как единое целое набором инструкций или оборудованием процессора. Количество битов в слове (размер слова, ширина слова или длина слова) является важной характеристикой любой конкретной конструкции процессора или архитектура компьютера.

Размер слова отражается во многих аспектах структуры и работы компьютера; большинство регистров в процессоре обычно имеют размер слова, и самый большой фрагмент данных, который может быть передан в рабочую память и из нее за одну операцию, во многих (не во всех) архитектурах является словом. Максимально возможный размер адреса, используемый для обозначения местоположения в памяти, обычно является аппаратным словом (здесь «аппаратное слово» означает полноразмерное естественное слово процессора, в отличие от любого другого используемого определения).

Современные процессоры, включая встроенные системы, обычно имеют размер слова 8, 16, 24, 32 или 64 бита, в то время как современные компьютеры общего назначения обычно используют 32 или 64 бита. Цифровые процессоры специального назначения, такие как, например, DSP, могут использовать другие размеры, и многие другие размеры использовались исторически, включая 9, 12, 18, 24, 26, 36, 39, 40, 48 и 60 бит. Плита является примером системы с более ранним размером слова. Некоторые из самых ранних компьютеров (а также некоторые современные) использовали двоично-десятичный формат, а не обычный двоичный код, обычно с размером слова 10 или 12 десятичных цифр, а некоторые ранние десятичные компьютеры вообще не имели фиксированной длины слова.

Размер слова иногда может отличаться от ожидаемого из-за обратной совместимости с более ранними компьютерами. Если несколько совместимых вариантов или семейств процессоров имеют общую архитектуру и набор инструкций, но различаются размерами слов, их документация и программное обеспечение могут стать сложными для записи, чтобы учесть разницу (см. Семейства размеров ниже).

Использование слов

В зависимости от того, как организован компьютер, единицы размера слова могут использоваться для:

Числа с фиксированной точкой Держатели для числовых значений с фиксированной точкой, обычно целочисленных, могут быть доступны в одном или нескольких различных размерах, но одним из доступных размеров почти всегда будет слово. Другие размеры, если они есть, скорее всего, будут кратными или дробными от размера слова. Меньшие размеры обычно используются только для эффективного использования памяти; при загрузке в процессор их значения обычно попадают в более крупный держатель размером со слово. Числа с плавающей запятой Держателями для числовых значений с плавающей запятой обычно являются либо слово, либо кратное слову. Адреса Держатели для адресов памяти должны иметь размер, способный выразить необходимый диапазон значений, но не быть чрезмерно большими, поэтому часто используемый размер - это слово, хотя он также может быть кратным или дробным от размера слова. Регистры Регистры процессора рассчитаны на размер, соответствующий типу данных, которые они содержат, т.е. целые числа, числа с плавающей запятой или адреса. Во многих компьютерных архитектурах используются «регистры общего назначения», которые могут хранить любой из нескольких типов данных, эти регистры должны иметь размер, чтобы хранить самые большие типы, исторически это размер слова архитектуры, хотя все более крупные регистры специального назначения имеют был добавлен для работы с новыми типами. Передача памяти процессору Когда процессор читает из подсистемы памяти в регистр или записывает значение регистра в память, объем передаваемых данных часто представляет собой слово. Исторически это количество битов, которое можно было передать за один цикл, также называлось catena в некоторых средах (например, Bull GAMMA 60 (fr)). В простых подсистемах памяти слово передается по шине данных памяти, ширина которой обычно равна слову или полуслову. В подсистемах памяти, использующих кеши, передача размером слова — это передача между процессором и первым уровнем кеша; на более низких уровнях иерархии памяти обычно используются более крупные передачи (кратные размеру слова). Единица разрешения адреса В данной архитектуре последовательные значения адреса обозначают последовательные единицы памяти; эта единица является единицей разрешения адреса. В большинстве компьютеров единицей измерения является либо символ (например, байт), либо слово. (Некоторые компьютеры использовали битовое разрешение.) Если единицей является слово, то можно получить доступ к большему объему памяти, используя адрес заданного размера за счет дополнительной сложности для доступа к отдельным символам. С другой стороны, если единицей измерения является байт, то можно адресовать отдельные символы (т. е. выбирать их во время работы с памятью). Инструкции Машинные инструкции обычно имеют размер слова архитектуры, например, в архитектуре RISC, или кратны размеру «символа», который составляет его часть. Это естественный выбор, поскольку инструкции и данные обычно используют одну и ту же подсистему памяти. В гарвардских архитектурах размер слов инструкций и данных не обязательно должен быть связан, поскольку инструкции и данные хранятся в разных памяти; например, процессор электронного телефонного коммутатора 1ESS имел 37-битные инструкции и 23-битные слова данных.

Выбор размера слова

При проектировании компьютерной архитектуры выбор размера слова имеет существенное значение. Существуют соображения проектирования, которые поощряют определенные размеры битовых групп для конкретных применений (например, для адресов), и эти соображения указывают на разные размеры для разных применений. Однако соображения экономии при проектировании сильно подталкивают к одному размеру или очень небольшому количеству размеров, связанных кратными или дробными (дольными) размерами с основным размером. Этот предпочтительный размер становится размером слова архитектуры.

В прошлом размер символа (до кодирования символов с переменным размером) был одним из факторов, влияющих на разрешение единицы адреса и выбор размера слова. До середины 1960-х символы чаще всего хранились в шести битах; это позволяло использовать не более 64 символов, поэтому алфавит был ограничен прописными буквами. Поскольку с точки зрения времени и пространства эффективно, чтобы размер слова был кратен размеру символа, размеры слова в этот период обычно были кратны 6 битам (в двоичных машинах). Тогда обычным выбором было 36-битное слово, которое также является хорошим размером для числовых свойств формата с плавающей запятой.

После появления дизайна IBM System/360, в котором использовались восьмибитные символы и поддерживались строчные буквы, стандартный размер символа (точнее, байта) стал восьмибитным. После этого размеры слов, естественно, были кратны восьми битам, причем обычно использовались 16, 32 и 64 бита.

Архитектура переменных слов

Ранние конструкции машин включали в себя некоторые, которые использовали то, что часто называют переменной длиной слова. В этом типе организации числовой операнд не имеет фиксированной длины, а скорее его конец обнаруживается, когда встречается символ со специальной маркировкой, часто называемой словесной меткой.Такие машины часто использовали двоично-десятичные числа для чисел. К этому классу машин относятся IBM 702, IBM 705, IBM 7080, IBM 7010, UNIVAC 1050, IBM 1401 и IBM 1620.

Большинство этих машин работают с одной единицей памяти за раз, и, поскольку каждая инструкция или данные имеют длину в несколько единиц, каждой инструкции требуется несколько циклов только для доступа к памяти. Эти машины часто довольно медленные из-за этого. Например, выборка инструкции в IBM 1620 Model I занимает 8 циклов только для чтения 12 цифр инструкции (в Model II это время сократилось до 6 циклов или 4 циклов, если инструкции не нужны оба адресных поля). Выполнение инструкции занимало совершенно переменное количество циклов, в зависимости от размера операндов.

Адресация слов и байтов

На модель памяти архитектуры сильно влияет размер слова. В частности, в качестве слова часто выбирали разрешение адреса памяти, то есть наименьшую единицу, которую можно обозначить адресом. В этом подходе значения адреса, отличающиеся на единицу, обозначают соседние слова памяти. Это естественно для машин, которые почти всегда оперируют единицами слов (или нескольких слов), и имеет то преимущество, что позволяет инструкциям использовать поля минимального размера для содержания адресов, что может позволить меньший размер инструкции или большее разнообразие инструкций. /p>

Когда обработка байтов должна составлять значительную часть рабочей нагрузки, обычно более выгодно использовать байт, а не слово, в качестве единицы разрешения адреса. Это позволяет напрямую обращаться к произвольному символу в строке символов. Слово по-прежнему может быть адресовано, но используемый адрес требует на несколько бит больше, чем альтернатива разрешения слова. Размер слова должен быть целым числом, кратным размеру символа в этой организации. Этот подход к адресации использовался в IBM 360 и с тех пор является наиболее распространенным подходом в машинах, разработанных.

Доступ к отдельным байтам на компьютере, ориентированном на слова, можно получить одним из двух способов. Байтами можно манипулировать с помощью комбинации операций сдвига и маски в регистрах. Для перемещения одного байта из одного произвольного места в другое может потребоваться эквивалент следующего:

  • ЗАГРУЗИТЬ слово, содержащее исходный байт
  • Сдвиньте исходное слово, чтобы выровнять нужный байт по правильной позиции в целевом слове.
  • И исходное слово с маской для обнуления всех битов, кроме нужных.
  • ЗАГРУЗИТЬ слово, содержащее целевой байт
  • И целевое слово с маской для обнуления целевого байта
  • ИЛИ регистры, содержащие исходное и целевое слова, для вставки исходного байта
  • СОХРАНИТЬ результат в целевом расположении

Кроме того, многие машины, ориентированные на слова, реализуют байтовые операции с инструкциями, используя специальные указатели байтов в регистрах или памяти. Например, указатель байта PDP-10 содержит размер байта в битах (что позволяет получить доступ к байтам разного размера), позицию бита байта в слове и адрес слова данных. Инструкции могут автоматически настраивать указатель на следующий байт, например, при операциях загрузки и размещения (сохранения).

Степени двойки

Для хранения значений данных с разной степенью точности используются разные объемы памяти. Обычно используемые размеры представляют собой степень двойки, кратную единице разрешения адреса (байт или слово). Преобразование индекса элемента в массиве в адрес элемента требует только операции сдвига, а не умножения. В некоторых случаях это отношение может также избежать использования операций деления. В результате большинство современных компьютерных систем имеют размеры слов (и других размеров операндов), которые в два раза превышают размер байта.

Размер семей

По мере усложнения конструкции компьютеров центральное значение размера одного слова для архитектуры уменьшилось. Хотя более мощное аппаратное обеспечение может использовать более широкий спектр размеров данных, рыночные силы вынуждают поддерживать обратную совместимость при расширении возможностей процессора. В результате то, что могло бы быть центральным размером слова в новом дизайне, должно сосуществовать в качестве альтернативного размера исходному размеру слова в обратно совместимом дизайне. Исходный размер слова остается доступным в будущих дизайнах, образуя основу семейства размеров.

В середине 1970-х компания DEC разработала модель VAX, которая должна была прийти на смену PDP-11. Они использовали word для 16-битной величины, а longword для 32-битной величины. Это отличалось от более ранних машин, где естественная единица адресации памяти называлась словом, а количество, равное половине слова, называлось полусловом. В соответствии с этой схемой четверное слово VAX имеет длину 64 бита.

Другим примером является семейство x86, в котором были выпущены процессоры с тремя разными длинами слов (16-разрядные, позже 32- и 64-разрядные). Поскольку программное обеспечение обычно переносится с одной длины слова на другую, некоторые API и документация определяют или ссылаются на более старую (и, следовательно, более короткую) длину слова, чем полная длина слова на ЦП, для которого может быть скомпилировано программное обеспечение. Кроме того, аналогично тому, как байты используются для небольших чисел во многих программах, более короткое слово (16 или 32 бита) может использоваться в контекстах, где диапазон более широкого слова не требуется (особенно когда это может сэкономить значительное пространство стека или кэша). пространство памяти). Например, Microsoft Windows API поддерживает определение языка программирования WORD как 16-битное, несмотря на то, что API может использоваться на 32- или 64-битном процессоре x86, где стандартный размер слова будет быть 32 или 64 бита соответственно. Структуры данных, содержащие слова такого разного размера, обозначаются как WORD (16 бит/2 байта), DWORD (32 бита/4 байта) и QWORD (64 бит/8 байт) соответственно. Аналогичное явление развилось в языке ассемблера Intel x86 - из-за поддержки различных размеров (и обратной совместимости) в наборе инструкций некоторые мнемоники инструкций содержат идентификаторы «d» или «q», обозначающие «двойной-», «квадратный-» или "двойной-четыре-", которые относятся к исходному 16-битному размеру слова архитектуры.

Как правило, новые процессоры должны использовать ту же длину слова данных и ширину виртуального адреса, что и старый процессор, чтобы иметь двоичную совместимость с этим старым процессором.

Часто тщательно написанный исходный код — написанный с учетом совместимости исходного кода и переносимости программного обеспечения — может быть перекомпилирован для работы на различных процессорах, даже с разной длиной слова данных или разной шириной адреса, или и тем, и другим.

Я попытался понять, что означает «слово», и я посмотрел в вики, и определение расплывчато. Итак, мой вопрос: что такое «размер слова»? Это длина шины данных, адресной шины?

Это неполное описание терминов гранул памяти, взятое из вики Энди Глю о CompArch (которая некоторое время не работала), может оказаться немного полезным.

5 ответов 5

"Размер слова" означает количество битов, обрабатываемых процессором компьютера за один раз (в настоящее время обычно 32 или 64 бита). Размер шины данных, размер команды, размер адреса обычно кратны размеру слова.

Просто чтобы запутать ситуацию, для обратной совместимости Microsoft Windows API определяет WORD как 16-битное, DWORD как 32-битное и QWORD как 64-битное, независимо от процессора.

Один из ответов: не так сильно, как раньше. Давным-давно компьютеры могли загружать/хранить только полные «слова» памяти, каждый из которых составлял 16/24/32/36/48 бит (в зависимости от конкретной машины). Нужно было бы тщательно структурировать дизайн своей программы в соответствии с размером слова целевой машины.

Но все больше компьютеров могут получать доступ к отдельным байтам или строкам данных длиной в десятки байтов с помощью одной относительно бесшовной операции. Гораздо более важным, чем размер технического слова, является ширина шины памяти, которая определяет, сколько байтов может быть передано между ЦП и памятью за один "цикл" памяти.

Поэтому "размер слова" несколько бессмыслен, и (как предполагает другой ответ) такие компании, как Microsoft, часто определяют его произвольным образом, не имея никакого реального отношения к чему-либо.

Я думаю, что в наши дни это больше отражает размер регистра, но даже это немного размыто, когда в миксе присутствуют SIMD-регистры.

@twalberg - Да, у вас есть половинные, одинарные и двойные регистры, а также регистры с плавающей запятой. И это еще до того, как вы приблизитесь к SIMD.

Обратите внимание на следующее:

ЦП (процессор), ОЗУ (основная память), устройства ввода-вывода (мышь, клавиатура, принтер), шина (компонент передачи данных).

Как бы вы хотели, чтобы эти части компьютера взаимодействовали и передавали данные? вам определенно нужен фиксированный размер битов, чтобы считаться единой единицей данных.

Для этого ученые-компьютерщики согласились стандартизировать эту единицу измерения как 32-битную или 64-битную (в зависимости от выбора производителя).

Они дали этому устройству имя и назвали его Word.

Таким образом, Word — это не что иное, как единица данных (набор битов (сигнальных зарядов нулей и единиц)), которые перемещаются от одного компонента компьютера к другому.

Например, шины состоят из 32 бит (4 байта), а некоторые из них - из 64 бит (8 байт). Точно так же ЦП (аппаратное обеспечение) и операционные системы (программное обеспечение) построены либо на 32-битной, либо на 64-битной версии.

Это была стандартная единица измерения Word размером 32 или 64 бита.

Ps: Word — это одна из многих единиц размера данных, которые перемещаются внутри компьютера, различные компьютерные компоненты используют разные размеры для передачи данных (сигналы заряжаются, которые представляют нули и единицы), например, ОЗУ может использовать размер 64 бита, а Шины могут использовать 32 бита.Разработчики аппаратного обеспечения проектируют архитектуру компонентов с учетом этих различий в размерах, чтобы либо реализовать размер Word 32 бита только на ЦП, но 64 бита в ОЗУ, либо реализовать одинаковый размер на всех компонентах. и т. д. Размер слова раньше составлял 8 бит (1 байт), но в настоящее время размер блока комментариев составляет 64 бита для большинства компонентов компьютера, таких как ЦП или ОЗУ, или шина. и т. д.

Читайте также:

Единица Эквивалент
1 килобайт (КБ) 1024 байта
1 мегабайт (МБ)
1 гигабайт (ГБ) 1 073 741 824 байта
1 терабайт (ТБ) ) 1 099 511 627 776 байт
1 петабайт (ПБ) 1 125 899 906 842 624 байт