Przez tydzień pracowałem nad mózgiem, próbując wykonać to zadanie i mam nadzieję, że ktoś tutaj poprowadzi mnie na właściwą ścieżkę. Zacznę od instrukcji instruktora: Twoje zadanie jest przeciwieństwem naszego pierwszego zadania laboratoryjnego, które polegało na optymalizacji programu liczb pierwszych. Twoim zadaniem w tym zadaniu jest pesymalizacja programu, tzn. Spowolnienie jego …
Aby zminimalizować ryzyko ujawnienia pamięci jądra lub pamięci międzyprocesowej ( atak Spectre ), jądro Linux 1 zostanie skompilowane z nową opcją , -mindirect-branch=thunk-externwprowadzoną w gcccelu wykonywania wywołań pośrednich za pośrednictwem tak zwanej retpoliny . To wydaje się być nowo wynalezionym terminem, ponieważ wyszukiwarka Google pojawia się tylko bardzo niedawno (ogólnie …
Nie jest dla mnie jasne, w jaki sposób kompilator będzie wiedział, jak się kompilować w wersji 64-bitowej, kiedy będzie to konieczne. Skąd ma wiedzieć, kiedy może śmiało celować na 32-bit? Jestem głównie ciekawy, w jaki sposób kompilator wie, na którą architekturę celować podczas kompilacji. Czy analizuje kod i podejmuje decyzję …
Jaka jest różnica między rdzeniem a procesorem? Już go szukałem w Google, ale mam definicję wielordzeniową i wieloprocesorową, ale nie pasuje do tego, czego szukam.
Zastanawiam się, ile z książki Ulricha Dreppera What Every Programmer Should Know About Memory z 2007 roku jest nadal aktualna. Nie mogłem też znaleźć nowszej wersji niż 1.0 lub erraty.
Nie mogę znaleźć wystarczających informacji, aby zdecydować, którego kompilatora powinienem użyć do skompilowania projektu. Na różnych komputerach znajduje się kilka programów symulujących proces. W systemie Linux używam GCC. Wszystko w porządku. Potrafię zoptymalizować kod, szybko się kompiluje i zużywa mało pamięci. Robię własny benchmark z kompilatorami MSVC i GCC. Później …
W C ++ Dlaczego logiczny 1 bajt, a nie 1 bit? Dlaczego nie ma typów takich jak 4-bitowe lub 2-bitowe liczby całkowite? Brakuje mi powyższych rzeczy podczas pisania emulatora dla procesora
Czy potrafisz wymyślić jakieś uzasadnione (inteligentne) zastosowania do modyfikacji kodu w czasie wykonywania (program modyfikujący swój własny kod w czasie wykonywania)? Nowoczesne systemy operacyjne wydają się nienawidzić programów, które to robią, ponieważ wirusy wykorzystują tę technikę w celu uniknięcia wykrycia. Wszystko, co przychodzi mi do głowy, to jakiś rodzaj optymalizacji …
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
Wiem więc, jakie mają być następujące rejestry i ich zastosowania: CS = Segment kodu (używany dla IP) DS = Segment danych (używany dla MOV) ES = Segment docelowy (używany w przypadku MOVS itp.) SS = Segment stosu (używany dla SP) Ale do czego służą poniższe rejestry? FS = "Segment pliku"? …
W książce przeczytałem: Procesory 32-bitowe mają 2 ^ 32 możliwych adresów, podczas gdy obecne procesory 64-bitowe mają 48-bitową przestrzeń adresową Spodziewałem się, że jeśli jest to procesor 64-bitowy, przestrzeń adresowa również powinna wynosić 2 ^ 64. Zastanawiałem się więc, jaki jest powód tego ograniczenia?
Zrobiłem trochę badań. Bajt to 8 bitów, a słowo jest najmniejszą jednostką, którą można zaadresować w pamięci. Dokładna długość słowa jest różna. Czego nie rozumiem, jaki jest sens posiadania bajtu? Dlaczego nie powiedzieć 8 bitów? Zadałem to pytanie profesorowi, który powiedział, że większość dzisiejszych maszyn jest adresowana bajtowo, ale co …
Rozumiem, że główna różnica między tymi dwiema metodami polega na tym, że w metodzie „z zapisem” dane są natychmiast zapisywane do pamięci głównej poprzez pamięć podręczną, podczas gdy w przypadku „zapisu zwrotnego” dane są zapisywane „później”. Nadal musimy czekać na pamięć w „ostatnim czasie”, więc jaka jest korzyść z „zapisywania”?
Jaki jest koszt operacji atomowej (dowolnej z opcji porównania i zamiany lub atomowego dodawania / zmniejszania)? Ile cykli zużywa? Czy wstrzyma inne procesory na SMP lub NUMA, czy też zablokuje dostęp do pamięci? Czy opróżni bufor zmiany kolejności w niesprawnym procesorze? Jakie efekty pojawią się w pamięci podręcznej? Interesują mnie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.