2015-01-02 6 views
2

Я сомневаюсь в концепции пространственного адресного пространства процесса при использовании многоядерных процессорных архитектур в случае, когда оба процессора имеют общее физическое адресное пространство (я думаю, это то, что они вызов UMA).Адресное пространство процесса с многоядерными системами UMA NUMA

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

Что будет в случае с NUMA.

ответ

1

UMA («Uniform Memory Access») и NUMA («Неравномерный доступ к памяти») относятся к производительности памяти из разностных ядер. С UMA производительность для разных частей памяти одинакова (т. Е. «Равномерная»), а с различными ядрами NUMA - разные характеристики производительности с разными областями памяти.

Это не связано с проблемами адресного пространства.

В ЦПУ есть два важных адресных пространства: физическое адресное пространство и виртуальное адресное пространство. Операционная система создает виртуальное адресное пространство для каждого процесса, который сопоставляется с различными частями физического адресного пространства. Таким образом, процессор с 4 ГБ физической памяти может иметь несколько процессов с 32-разрядным адресным пространством, но с разными битами физической памяти, отображаемыми для каждого процесса, на тот же виртуальный адрес. Например, адрес 0x00400000 может быть действительным в обоих процессах, но отображать его на совершенно другой адрес физической физической памяти. Эти процессы также могут совместно использовать память, например, страницы операционной системы и разделяемые библиотеки, загруженные с одного и того же адреса, могут быть защищены одной и той же физической памятью.

В небольших системах, где нет виртуальных адресных пространств, тогда вы принимаете правильное решение: все программное обеспечение имеет одинаковое адресное пространство.

+0

Также несколько процессов по-прежнему занимают физические адреса (ОЗУ) одновременно. – RootPhoenix