Описание тега mmu
For programming the MMU hardware to implement paging or virtual addressing. Please give details of the MMU hardware. Use the tags 'paging' or 'virtual-memory' for use of an MMU as opposed to hardware programming.
1
ответ
Как реализованы регистры MTRR?
x86/x86-64 предоставляет MTRR (Memory-type-range-register), который может быть полезен для обозначения разных частей физического адресного пространства для разных видов использования (например, Cacheable, Unchangeable, Writecombining и т. д.). Мой в…
08 ноя '12 в 20:23
1
ответ
Как понимать виртуальную память?
Как понять предложение мы можем обобщить и разрешить каждому объекту данных иметь несколько независимых адресов, каждый из которых выбирается из своего разного адреса. Это основная идея виртуальной памяти (《CSAPP》) почему не объект данных имеет уник…
25 апр '13 в 16:37
1
ответ
Регистрация доступа к памяти
Я нашел mtrace от доктора Клемента. Хотя это полезно, оно не работает нормально в ситуации, в которой я нуждаюсь. Я намерен использовать эту запись, чтобы понять схему доступа к памяти в другом сценарии. Может кто-нибудь поделиться опытом? Любое пре…
12 мар '17 в 14:18
0
ответов
Выделение памяти очень большого блока всегда возможно?
Если я создам std::vector, который почти равен размеру кучи процесса, что произойдет, если в середине кучи выделен небольшой кусок памяти? Будет ли вызов "alloc" успешным, и управление памятью компьютера позаботится о перемещении страниц памяти, что…
26 июн '18 в 10:05
0
ответов
Как отключить кеш при тестировании памяти в uboot
Мне нужно написать тест памяти в Uboot, но необходимо отключить кэш. Я знаю, что мы можем настроить p15 c1 для полного отключения кэша данных и MMU, но это кажется слишком опасным. Есть ли более элегантный способ сделать это? Как установить атрибут …
05 ноя '14 в 01:28
0
ответов
Функция printk() принимает неверные аргументы при выводе их содержимого
Когда я отлаживаю код ядра (связанный с управлением памятью), я сталкиваюсь с проблемами с функцией printk() (так же, как при использовании pr_info ()). На нем напечатано неверное содержание аргументов. static int __init rcar_gen2_scan_mem(unsigned …
19 апр '18 в 03:56
1
ответ
Уменьшает ли трансляция адресов подкачки производительность доступа к памяти?
Когда подкачка включена, некоторое оборудование отвечает за преобразование адресов виртуальной памяти в физические адреса. Известные переводы обычно хранятся в каком-то кеше, переводе в сторону буфера (TLB). Предполагая, что доступ к памяти, где тра…
27 сен '15 в 07:00
1
ответ
linux mmu: vma->vm_start против mm->vm_start
Я не могу понять отношения mm_struct.start_data и vm_area_struct.vm_start vma = find_vma(mm, mm->start_data); DBG("mm->start_data(%p) vma->vm_start(%p) mm->end_data(%p) vma->vm_end(%p)\n", (uvp_t)mm->start_data, (uvp_t)vma->vm_s…
14 май '15 в 13:08
2
ответа
Почему в 64-битном виртуальном адресе 4 коротких (48-битных) по сравнению с физическим адресом (52-битном)?
В книге "Программирование низкого уровня: C, сборка и выполнение программы на архитектуре Intel® 64" я прочитал: Каждый виртуальный 64-битный адрес (например, тот, который мы используем в наших программах) состоит из нескольких полей. На самом деле …
01 окт '17 в 04:17
1
ответ
Кто решает таблицу страниц и размер страницы? ОС или ММУ?
С физической емкостью памяти изменяется размер таблицы страниц, меняется с числом процессов, изменяется размер таблицы страниц. кто на самом деле решает это? ОС или ММУ? если ОС, есть ли разница между LINUX и Windows?
21 мар '13 в 11:29
1
ответ
MMU aarch64: пропуск таблиц первого / второго уровня
В MMU armv7 [1] / aarch32 [2], при использовании длинного дескриптора, когда виртуальное пространство, описываемое ttbr0, достаточно мало (здесь 1Gb), перевод уровня 1 можно пропустить, оставляя только два уровня переводов. Однако я не видел ничего …
28 апр '17 в 08:07
1
ответ
Проблемы с включением MMU на ARM Cortex-A8. Процессор S5PV210
В эти дни я просто хочу написать несколько железных кодов, чтобы иметь дело с MMU, после нескольких дней попыток, я все еще не могу заставить его работать. Поскольку я не могу отладить его с помощью последовательной консоли, и у меня нет дорогостоящ…
09 дек '14 в 12:38
2
ответа
Kmap для HIGHMEM
Я использую kmap чтобы получить логический адрес страницы, но я немного запутался насчет большого объема памяти. Если страница находится в верхней памяти, что делает kmap вернуть? Один источник говорит, что логический адрес, другой - линейный адрес …
25 май '15 в 14:51
0
ответов
Неточное внешнее прерывание, полученное при входе процессора в WFI, может вызвать тупик процессора
Это ошибка ARM для процессоров Cortex A9. Описание:- Неточное внешнее прерывание, полученное, когда процессор готов войти в состояние WFI, может вызвать тупик процессора. Явные транзакции памяти могут быть завершены путем вставки DSB перед инструкци…
18 июл '14 в 06:42
2
ответа
Обработка ошибок перевода MMU в потоке команд - что происходит с MMU?
Этот вопрос не относится к какой-либо реализации ЦП, но приветствуются ответы на него. В настоящее время я использую процессор с полной поддержкой MMU, и возникла простая проблема. Итак, представьте себе ситуацию, когда происходит простой промах TLB…
29 авг '15 в 18:15
1
ответ
Домен в архитектуре руки означает, что
Когда я отлаживаю MMU в Cortex-A9 MPCore, я всегда вижу регистр контроля доступа к домену, но что означает домен? до 16 доменов? Кто-нибудь может дать мне ссылку, чтобы объяснить это?
14 апр '16 в 02:49
0
ответов
Как использовать LDREX и MMU в голом металле для pi2-arm cortexA7
Blockquote ---- ---- Охарактеризуйте Я пытаюсь запустить тест Splash2 в pi2 голом металле. Поэтому я модифицирую библиотеку pthread для pi2. В реализации, если MUTEX_LOCK(...), я использую инструкцию LDREX, то функция завершается ошибкой. Если я исп…
28 июл '17 в 04:25
0
ответов
Понимание обработки прерываний, переключения режимов работы и трансляции адресов, работающих вместе в ARMv6
Давайте представим ситуацию. Существует система на основе ARMv6, такая как RaspberryPi. В системе два запущенных процесса и упрощенная ОС. Помимо этого простого случая, я хочу более четко и подробно понять, как работают обработка прерываний, переклю…
17 авг '18 в 14:25
0
ответов
Инструкция str и ldr не использует один и тот же адрес
У меня есть эта странная проблема, когда MMU переводит память для str, но не для инструкции ldr. Я компилирую, используя gcc (без оптимизации) для arm7TDMI. Программа вводит функцию и сохраняет 4 параметра в стеке (от r0 до r3). У меня есть эти ре…
11 май '12 в 13:46
1
ответ
Отключить защиту от записи для страниц памяти в ARM
Я исследовал тему отключения защиты от записи для текста ядра в linux, и я могу найти только решения для x86 linux, который временно очищает бит 16 регистра cr0, записывает в память, а затем устанавливает бит 16 регистр cr0 снова. Однако это не рабо…
27 июл '15 в 08:19