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

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

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

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

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

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

Ответ 1

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

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

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

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

См. Wikipedia: Alignment Word (Computing) Адрес памяти

Ответ 2

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

Это зависит от компьютера. Место памяти означает часть памяти, которую CPU может адресовать напрямую.

Каков основной блок памяти на компьютере?

Это Bit, а затем Byte, но разные ЦП более удобны для адресации памяти в слова определенных размеров.

В качестве примера для хранилища требуется целое число, которое должно быть адресами памяти? Если базовым блоком является BYTE, целому числу требуется 4 байта.

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

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

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

Есть 4GiB адреса (для байтов) в 32 бит. Для управления кластером машин с более чем 4 ГБ ОЗУ каждая система должна управлять большими адресами.

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

Ответ 3

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