Системное администрирование и сети
Linux и уровень микроструктуры процессора x86-64-v1
00
Вопрос или проблема Существуют ли сейчас поддерживаемые 64-битные дистрибутивы Linux, которые можно установить и успешно запустить на “базовом” уровне микропроцессорной архитектуры x86_64-v1, или все активные, поддерживаемые в настоящее время
Системное администрирование и сети
100% ЦП на 4 из 8 ядер на Oracle Linux
00
Вопрос или проблема У меня есть настольный компьютер (Intel i4770) с Oracle Linux 7.9 и ядром 4.1.12-61. Обычно я держу его выключенным и включаю только в редких случаях, когда нужно что-то протестировать. Месяца два назад я его включил и заметил, что
Вопросы и ответы
Почему последовательное чтение быстрее, чем последовательная запись?
00
Вопрос или проблема У меня есть код для транспонирования матрицы, который выглядит так: for (size_t ii = 0; ii < ii_end; ii+=TILE_SIZE) { for (size_t jj = 0; jj < jj_end; jj+=TILE_SIZE) { for (size_t i = 0; i < TILE_SIZE;
Вопросы и ответы
Почему у меня не работает страничная адресация в операционной системе x86_64?
00
Вопрос или проблема Я хочу реализовать PML4 4K-страничную адресацию в своей ОС x86_64, поэтому сначала напишу следующие структуры struct PML4{ uint64_t p :1; uint64_t rw :1; uint64_t us :1; uint64_t pwt :1; uint64_t pcd :1; uint64_t avl_1 :1;
Вопросы и ответы
Как загрузить адрес функции или метки в регистр
00
Вопрос или проблема Я пытаюсь загрузить адрес ‘main’ в регистр (R10) в GNU ассемблере. У меня это не получается. Вот что у меня есть и сообщение об ошибке, которое я получаю. main: lea main, %r10 Я также пробовал следующий синтаксис (на этот
Вопросы и ответы
Сомнения относительно барьера памяти x86
00
Вопрос или проблема Я хочу знать, блокирует ли sfence обновление буфера записи, блокирует ли lfence обработку очереди недействительных операций, и делает ли mfence не только обновление буфера записи, но и обработку очереди недействительных операций.
Вопросы и ответы
Почему сборка различается, когда метод производного класса вызывает реализацию чисто виртуального метода базового класса по сравнению с его непосредственной реализацией в производном классе?
00
Вопрос или проблема Код 1: #include <iostream> struct Интерфейс { virtual void pr_fn() = 0; virtual void pr_fn2() = 0; virtual void pr_fn3() = 0; }; struct Основание : Интерфейс { void pr_fn2() final { std::cout <<
Вопросы и ответы
Почему кажется, что компилятор переиспользует Argc и Argv в моей функции?
00
Вопрос или проблема Код main.cpp: #include <iostream> int main() { std::cout << "Hello World!\n"; } Дизассемблирование в Ghidra: ************************************************************* * FUNCTION *************************************************************
Вопросы и ответы
Запуск SPIR-V на x86-64
00
Вопрос или проблема Я пишу компилятор для языка, который разработал, и хочу, чтобы он компилировал как в машинный код x86_64, так и в SPIR-V. Меня интересует, могу ли я и как вызвать API, такой как Vulkan или OpenCL, из машинного кода x86-64 и передать скомпилированный SPIR-V.
Вопросы и ответы
Почему инструкции x86, такие как BOUND или PUSHA, недоступны в 64-битном режиме?
00
Вопрос или проблема Есть причина, по которой некоторые устаревшие инструкции x86 (BOUND, PUSHA, AAA и т. д.) не могут использоваться в 64-битном режиме? Да, я знаю, что такие инструкции доступны только для обеспечения совместимости и не должны использоваться в современном коде.