Так получилось, что я профессиональный компьютерный архитектор (вероятно, мои изобретения находятся на компьютере, на котором вы это читаете), и хотя мне еще не платили за работу на каком-либо процессоре с более чем 64-битным адресом, я знаю некоторые из них. мои друзья, которые были.
И я играл со 128-битной архитектурой для удовольствия в течение нескольких десятилетий.
т.е. это уже происходит.
На самом деле, это уже произошло в ограниченной степени. Архитектура HP Precision, Intel Itanium и высшие версии линейки IBM Power имеют то, что я называю свернутой виртуальной памятью. Я описал их в другом месте, например. в сообщениях comp.arch с некоторыми подробностями, http://groups.google.com/group/comp.arch/browse_thread/thread/53a7396f56860e17/f62404dd5782f309?lnk=gst&q=folded+virtual+memory#f62404dd5782f309
Мне нужно создать вики-пост comp-arch.net для них.
Но вы можете получить руководства для этих процессоров и прочитать их самостоятельно.
Например. вы можете начать с 64-битного виртуального адреса пользователя. Старшие 8 бит могут использоваться для индексации таблицы регионов, которая возвращает старшие 24 бита, которые объединяются с оставшимися 64-8=56 битами для создания 80-битного расширенного виртуального адреса. Который затем, как обычно, транслируется с помощью TLB, таблиц страниц и хеш-поиска на любой ваш физический адрес.
Зачем переходить с 64->80?
Одна из причин — общие библиотеки. Вы можете захотеть, чтобы общие библиотеки оставались на одном и том же расширенном виртуальном адресе во всех процессорах, чтобы вы могли совместно использовать записи TLB. Но ваши языковые средства могут потребовать от вас переместить их на другие виртуальные адреса пользователей. Свернутые виртуальные адреса позволяют это.
Свернутые виртуальные адреса не соответствуют действительности > 64-битные виртуальные адреса, используемые пользователем.
Если на то пошло, есть много предложений для > 64-битных указателей: например. Я работал над одним, где указатель состоял из 64-битного адреса, 64-битной нижней и верхней границ и метаданных, всего 128 бит. Проверка границ. Но, несмотря на то, что они имеют > 64-битные указатели или возможности, на самом деле они не являются > 64-битными виртуальными адресами.
Линус публикует информацию о 128-битных виртуальных адресах на странице http://www.realworldtech.com/beta/forums/index.cfm?action=detail&id=103574&threadid=103545&roomid=2
person
Krazy Glew
schedule
06.01.2012