В одной ячейке памяти на компьютере хранится сколько данных?
Предположим, 32-битная ОС.
-
Сколько данных хранится в одной ячейке памяти компьютера?
-
Какова основная единица хранения памяти в компьютере?
-
Например, для хранения целого числа, какие адреса памяти потребуются? Если основной единицей является 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