2016-11-19 4 views
0

В моем файле cpuinfo указано, что мой процессор имеет размер адреса как 39 битов физического и 48 бит виртуальный. Это привело меня в замешательство.Размеры адресов в Intel i5

Шахта - это 64-разрядная машина. Насколько я понимаю, это размер слова моей машины. То есть, он будет извлекать данные из памяти в кусках 8 байтов. Кроме того, 64-битная машина означает, что ЦП может адресовать адресные адреса 2^64 байтов, что очень много. Таким образом, производители сокращают некоторые из этих строк.

Вот вопросы:

  1. Если процессор генерирует только логические адреса, то какова необходимость иметь 39 бит физического размера адрес.

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

  3. Я где-то читал, что 64-разрядная машина имеет размер своих регистров как 64 бита, а 32-разрядная машина имеет 32-битные регистры. Это так?

Я думаю, что я смутил себя ужасно и нуждаюсь в некоторой помощи. Любая другая информация об этом будет оценена по достоинству. Благодаря!

+0

Нет, все это упрощения. Во-первых, ваш процессор извлекает данные из памяти 64 ** байта ** за раз (целые строки кэша). Ядро может считывать/записывать данные из кеша 16 или 32 байта за раз (SSE или AVX-векторы 128b или 256b). «Размер слова» хорош в теории, но у реальных процессоров много разных разностей для разных вещей. –

ответ

2

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

Размер слова процессора, размер физического адреса, размер логического адреса и размер шины не зависят от некоторых степеней.

Если ЦП генерирует только логические адреса, то в чем состоит необходимость в размере физического адреса 39 бит.

ЦП преобразует логические адреса в физические адреса.

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

Я мог бы быть либо.

Я где-то читал, что 64-разрядная машина имеет размер своих регистров как 64 бита, а 32-разрядная машина имеет 32-битные регистры. Это так?

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

1

Там было много случаев, когда процессор не использует все доступные биты для генерация адресов.

В древние времена старый MC68000 имел 32-битные регистры, но только 24-битную адресную шину.

Для i5 считают, что 64-разрядный адрес будет управлять размытым пространством памяти 17,179,869,184 гигабайт. Огромное количество даже по сравнению с хранилищем в Google или NSA или на планете Земля.

Дизайнеры i5 обрезают это безумное число до более управляемого 512 гигабайт физического адресного пространства и 262 144 гигабайт виртуального адресного пространства.

Смежные вопросы