Сколько данных хранится в одной ячейке памяти компьютера?

Предположим, 32-битная ОС.

  1. Сколько данных хранится в одной ячейке памяти компьютера?

  2. Какова основная единица хранения памяти в компьютере?

  3. Например, для хранения целого числа, какие адреса памяти потребуются? Если основной единицей является BYTE, целое число требует 4 байта. Так что, если мне нужно сохранить байт, то, если я начну вставлять 1-й байт в ячейку памяти 0001, тогда закончится ли мое целое число в ячейке памяти 0003?

Пожалуйста, поправьте меня, если я не прав?

Мне нужно больше информации о памяти и управлении процессорной памятью... Не могли бы вы указать мне некоторые ресурсы?

3 ответа

Решение

Чаще всего современные системы - это то, что вы называете "доступным байтом". Это означает:

  1. В одной ячейке памяти хранится 1 байт (8 бит).
  2. Базовая единица хранения для памяти составляет 1 байт.
  3. Если вам нужно сохранить 4 байта и поместить первый байт в 0001, последний байт будет в 0004. Это один байт в каждом из 0001, 0002, 0003 и 0004.

Имейте в виду, что хотя системы имеют разные размеры CPU WORD (32-битная система имеет 32-битное или 4-байтовое слово), память обычно адресуется в байтах. Регистры ЦП, используемые в арифметике, составляют 4 байта, но программисты "памяти", используемые для хранения данных, адресуются в байтах.

В системах x86 многие инструкции по обращению к памяти требуют, чтобы значения в памяти были "выровнены" по адресам, равномерно делимым на размер мира. например, 0x???0, 0x???4, 0x???8, 0x???C. Таким образом, сохранение int в 0001 не произойдет в большинстве систем. Нечисловые типы данных обычно можно найти по любому адресу.

См. Википедия: Слово выравнивания (вычисления) Адрес памяти

Сколько данных хранится в одной ячейке памяти компьютера?

Это зависит от компьютера. Область памяти означает часть памяти, к которой процессор может обращаться напрямую.

Какова основная единица хранения памяти в компьютере?

Это бит, а затем байт, но разные процессоры более комфортно обращаются к памяти словами определенных размеров.

Например, для хранения целого числа, какие адреса памяти потребуются? Если основной единицей является BYTE, целое число требует 4 байта.

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

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

Речь идет не о количестве данных или размере целых чисел, а о количестве адресов памяти, которые может использовать компьютер.

Имеется 4 ГБ адреса (для байтов) в 32 битах. Для управления кластером машин с объемом оперативной памяти более 4 ГБ каждая система должна управлять большими адресами.

Опять же, все дело в адресуемой памяти, а не в размере целых чисел. Были 64-битные целые числа, даже когда процессоры предпочитали 8-битную адресацию слов.

  1. Зависит от архитектуры. 32-разрядные для 32-разрядных. 64-битные для 64-битных.
  2. Обычно это называется "словом"
  3. Большинство значений должны быть выровнены, поэтому адреса заканчиваются на 0 4 8 или C
Другие вопросы по тегам