DEFINICJA Algorytmu Algorytm to zestaw reguł do wykonania zadania w określonej liczbie kroków. Jednym z typowych przykładów jest przepis, który jest algorytmem przygotowywania posiłku. Algorytmy są niezbędne do przetwarzania informacji przez komputery. Jako takie stały się one centralnym elementem codziennego życia ludzi, niezależnie od tego, czy ktoś zamówi książkę online, dokona rezerwacji linii lotniczych, czy skorzysta z wyszukiwarki. Firmy finansowe stosują algorytmy w takich obszarach, jak wycena kredytów, obrót akcjami oraz zarządzanie aktywami i pasywami. Na przykład handel algorytmiczny. znany jako algo, służy do określania czasu, cen i ilości zamówień magazynowych. ROZWIĄZYWANIE PROBLEMÓW Algorytm Algo trading, zwany również handlem automatycznym lub black-box, wykorzystuje program komputerowy do kupowania lub sprzedaży papierów wartościowych w tempie niemożliwym dla ludzi. Ponieważ ceny akcji, obligacji i towarów pojawiają się w różnych formatach online i w danych handlowych, proces, w wyniku którego algorytm trawi dziesiątki danych finansowych, staje się łatwy. Użytkownik programu po prostu ustawia parametry i uzyskuje pożądaną wydajność, gdy papiery wartościowe spełniają kryteria przedsiębiorcy. Rodzaje Algos Kilka rodzajów algorytmów handlowych pomaga inwestorom zdecydować, czy kupić, czy sprzedać. Średni algorytm rewersji analizuje ceny krótkoterminowe w stosunku do długoterminowej średniej ceny. a jeśli akcje są dużo wyższe od średniej, sprzedawca może ją sprzedać za szybki zysk. Sezonowość odnosi się do praktyki kupujących i sprzedających papiery wartościowe w zależności od pory roku, kiedy rynki zazwyczaj rosną lub spadają. Algorytm analizy nastrojów mierzy wieści o cenie akcji, które mogą prowadzić do zwiększenia wolumenu w danym okresie rozliczeniowym. Poniżej znajduje się przykład prostego algorytmu do handlowania. Przedsiębiorca nakazuje swojemu automatycznemu rachunkowi sprzedać 100 udziałów w magazynie, jeśli 50-dniowa średnia ruchoma spadnie poniżej średniej ruchomej wynoszącej 200 dni. W przeciwieństwie do tego, przedsiębiorca może powiedzieć swojemu programowi, aby kupił 100 akcji, jeśli 50-dniowa średnia krocząca akcji wzrośnie powyżej 200-dniowej średniej kroczącej. Wyrafinowane algorytmy mogą uwzględniać setki kryteriów przed zakupem lub sprzedażą papierów wartościowych. Powodem tego jest to, że komputery są bardzo wydajnymi maszynami do wykonywania skomplikowanych obliczeń bardzo szybko. W informatyce Programista musi zastosować pięć podstawowych części algorytmu, aby stworzyć udany program. Osoba musi opisać problem w terminach matematycznych przed skonfigurowaniem formuł i procesów, które dają wynik. Następnie programista wprowadza parametry, które dają wynik, a następnie wykonuje program w kółko, aby go przetestować. Wniosek algorytmu jest wynikiem podanym po zestawie parametrów przechodzącym przez zbiór instrukcji w programie. W przypadku algorytmów finansowych, im bardziej złożony program, tym więcej danych może wykorzystać oprogramowanie do dokładnych ocen zakupu lub sprzedaży papierów wartościowych. Ponadto, programiści muszą testować złożone algorytmy dokładniej niż proste, aby zapewnić odpowiednią kontrolę jakości. Średnia ważona obciążeniem - VWAP ZAKOŃCZENIE Wolumen Średnia cena ważona - VWAP Średnia ważona wolumenem cena (VWAP) to stosunek powszechnie stosowany przez inwestorów instytucjonalnych i fundusze inwestycyjne, aby kupować i sprzedawać, aby nie zakłócać cen rynkowych przy dużych zamówieniach. Jest to średnia cena akcji ważona w stosunku do wolumenu obrotu w określonym przedziale czasowym, na ogół jednego dnia. Wyjaśnienie VWAP Wielcy inwestorzy instytucjonalni lub domy inwestycyjne korzystające z VWAP opierają swoje obliczenia na każdym tikku danych w ciągu dnia handlowego. W zasadzie każda zamknięta transakcja jest rejestrowana. Jednak większość stron internetowych i inwestorów indywidualnych może preferować jednominutowe lub pięciominutowe ceny transakcyjne, aby ograniczyć ilość danych potrzebnych do śledzenia VWAP w ciągu jednego dnia. W przypadku pięciominutowych obliczeń VWAP bierzesz niski, plus wysoki, plus cenę zamknięcia w okresie pięciu minut i dzielisz sumę o trzy. Daje to średnią cenę ważoną według czasu (TWAP), która jest dość dokładna, i można pomnożyć tę liczbę przez wolumen obrotu w tym samym okresie w celu uzyskania ważonej ceny. Dlaczego warto korzystać z VWAP Duże instytucje kupujące i fundusze inwestycyjne wykorzystują wskaźnik VWAP, aby móc wprowadzać akcje w sposób, który nie zakłóci naturalnej dynamiki rynkowej ceny akcji. Gdyby ci kupujący natychmiast przenieśli się na pozycję magazynową, to w nienaturalny sposób podniosłoby to cenę akcji. Jednak kupując udziały w ramach średniej ruchomej VWAP w ciągu dnia. ci kupujący mogą przenieść się do zapasów w ciągu jednego lub dwóch dni bez nadmiernych zakłóceń cenowych. Istnieją jednak inne zastosowania dla VWAP, a jedną z takich strategii jest zakup akcji dla inwestorów indywidualnych, tak jak VWAP przenosi średnią ruchomą VWAP w ciągu dnia, ponieważ może to wskazywać na skokową zmianę ceny akcji. Jest również wykorzystywany w handlu algorytmicznym i umożliwia brokerom zagwarantowanie wykonania transakcji w pobliżu pewnej wielkości ceny dla klientów. Kwestie VWAP VWAP jest wskaźnikiem kumulatywnym i jako taka liczba punktów danych rośnie w ciągu dnia. Ten rosnący zestaw danych w dłuższych okresach czasu, takich jak cztery, sześć lub osiem godzin dziennie, może powodować opóźnienie między średnią ruchomą VWAP a faktyczną wartością VWAP. W związku z tym większość inwestorów nigdy nie korzysta z VWAP dłużej niż jeden dzień. Informacje techniczne oMemTest86 Co nowego w MemTest86 dla platformy UEFI (wersja 5 i nowsze) MemTest86 obsługuje uruchamianie zarówno z nowszej platformy UEFI, jak i tradycyjnego systemu BIOS. Podczas uruchamiania z UEFI MemTest86 ma dostęp do dodatkowych usług niedostępnych w BIOS-ie, w tym: Natywna obsługa 64-bitowa. Nie wymaga już użycia obejścia PAE, aby uzyskać dostęp do więcej niż 4 GB pamięci. (Rozszerzenie adresu fizycznego PAE) Obsługa myszy, jeśli jest obsługiwana przez podstawowy system UEFI. W starszych systemach wciąż wymagana jest klawiatura. Ulepszona obsługa klawiatury USB. Klawiatura działa teraz w systemach, które nie mogą prawidłowo emulować portu IO 6460. Klawiatury Mac USB są teraz obsługiwane. Ulepszona obsługa wielu wątków, wspierana przez podstawowy system UEFI. Zgłaszanie szczegółowych informacji RAM-u SPD. Czas, prędkość zegara, nazwy dostawców i wiele więcej. Obsługa zapisywania na dysku USB, na którym działa MemTest86, w celu rejestrowania i generowania raportów. We wszystkich poprzednich wydaniach MemTest86 nie było obsługi dysków. Korzystanie z GPT. (Tablica partycji GUID) Obsługa pamięci ECC RAM (ograniczone wsparcie sprzętowe, ciągły rozwój) Wykrywanie wsparcia ECC w pamięci RAM i kontrolerach pamięci Pobieranie dla błędów ECC Wstrzyknięcie błędów ECC dla celów testowych. (tylko ograniczony sprzęt) Obsługa pamięci RAM DDR4 (i związanego z nią sprzętu), w tym pobieranie i raportowanie danych SPD specyficznych dla DDR4. Obejmuje to pamięć RAM DDR4, która obsługuje taktowanie pamięci DDR4 RAM dla procesorów Intel XMP 2.0 Opcja wyłączenia buforowania procesora dla wszystkich testów Posiadająca plik konfiguracyjny umożliwiający wstępne zdefiniowanie ustawień bez konieczności wprowadzania klawiatury. Może to pomóc w automatyzacji. Obsługa bezpiecznego rozruchu. Poprawa prędkości pomiędzy 10 a 30. Specjalnie dla testów, 5, 8 9. Jest to wynik bardziej przestawiający się na natywny 64-bitowy kod, usuwanie haseł stronicowania PAE, przełączanie kompilatorów i używanie szybszych algorytmów generowania liczb losowych. Dodanie 2 nowych testów pamięci w celu skorzystania z 64-bitowych danych i instrukcji SIMD. Obsługa rozruchu sieciowego PXE w celu skalowalnego, bezdyskowego wdrażania do wielu celów. Pełna lista zmian znajduje się na stronie Whats New. Zobacz stronę porównania cech dla podsumowania różnic między różnymi wydaniami MemTest86. Jeśli UEFI nie jest obsługiwany w systemie, starsza wersja BIOS v4 jest uruchamiana. MemTest86 może uruchamiać się z dysku CD, dysku flash USB lub, z systemami Linux, przez program ładujący (na przykład LILO lub Grub). Do tworzenia dysków CD lub pamięci flash USB można użyć dowolnego systemu Windows, Linux lub Mac. Po utworzeniu dysku rozruchowego MemTest86 można go użyć na dowolnym komputerze x86 (PCMac). MemTest86 (Site Edition) może również uruchamiać bootowanie poprzez sieć (PXE) w celu skalowalnego dostarczania MemTest86 do wielu komputerów klienckich w sieci LAN. W tej konfiguracji żadne dyski nie są wymagane tylko serwer PXE, a klienty obsługujące rozruch PXE są wymagane do obsługi rozruchu sieciowego. Tworzenie dysku rozruchowego MemTest86 w systemie Windows Aby utworzyć rozruchowy dysk USB, CD lub dyskietkę MemTest86 w systemie Windows, zaleca się pobranie jednego z obrazów MemTest86 systemu Windows. Uwaga: Nie ma różnicy w wynikowym dysku startowym MemTest86 utworzonym za pomocą obrazów Windows lub LinuxMac. Różnica polega na tym, że obrazy są pakowane w sposób bardziej odpowiedni dla danego systemu operacyjnego (np. Zip vs archiwum). Utwórz bootowalną płytę CD-ROM: Pobierz obraz ISO systemu Windows MemTest86. Kliknij pobrany plik prawym przyciskiem myszy i wybierz opcję Wyodrębnij tutaj. Spowoduje to umieszczenie obrazu ISO płyty CD-ROM w bieżącym folderze. Użyj oprogramowania do nagrywania płyt CD dostępnego w systemie, aby utworzyć dysk CD-ROM z wyodrębnionym obrazem ISO. Upewnij się, że tworzysz obraz CD z pliku ISO, zamiast umieszczać kopię pliku ISO na dysku CD z danymi. Poszukaj opcji Nagraj obraz z pliku lub podobnej opcji w menu Plik oprogramowania do nagrywania dysków CD. Utwórz bootowalną pamięć flash USB: pobierz obraz USB MemTest86 systemu Windows. Kliknij pobrany plik prawym przyciskiem myszy i wybierz opcję Wyodrębnij tutaj. Spowoduje to umieszczenie obrazu i narzędzia USB w bieżącym folderze. Uruchom dołączone narzędzie imageUSB, powinno już mieć wybrany plik obrazu i wystarczy wybrać, który podłączony dysk USB zamieni się w dysk rozruchowy. Zauważ, że spowoduje to usunięcie wszystkich danych z dysku. Utwórz dyskietkę startową (tylko v4): Pobierz obraz dyskietki systemu Windows MemTest86. Kliknij pobrany plik prawym przyciskiem myszy i wybierz opcję Wyodrębnij tutaj. Spowoduje to umieszczenie obrazu dyskietki w bieżącym folderze. Utworzenie bootowalnej dyskietki wymaga użycia programu innej firmy, aby zapisać obraz dyskietki na dysku. Dostępnych jest wiele programów do zapisu obrazu dysku. Rawwrite jest zalecanym bezpłatnym programem dostępnym pod adresem: chrysocomerawwrite. Bardziej niezawodnym rozwiązaniem jest WinImage dostępny na stronie winimagedownload. htm. Powrót do początku Tworzenie dysku startowego MemTest86 w LinuxMac Aby utworzyć bootowalny dysk USB, CD lub dyskietkę MemTest86 w LinuxMac, zaleca się pobranie jednego z wcześniej skompilowanych obrazów MemTest86 na LinuxMac. Zaawansowani użytkownicy mogą chcieć budować ze źródeł i opcjonalnie wprowadzać zmiany w kodzie źródłowym. Uwaga: Nie ma różnicy w wynikowym dysku startowym MemTest86 utworzonym za pomocą obrazów Windows lub LinuxMac. Różnica polega na tym, że obrazy są pakowane w sposób bardziej odpowiedni dla danego systemu operacyjnego (np. Zip vs archiwum). Utwórz startową płytę CD-ROM: Pobierz obraz ISO LinuxMac MemTest86. Niszczyć pakiet (tar xvzf MemTest86 - iso. tar. gz). Plik obrazu ISO i plik README zostaną utworzone w bieżącym katalogu. Użyj oprogramowania do nagrywania płyt CD dostępnego w systemie, aby utworzyć dysk CD-ROM z nieskompresowanym obrazem ISO. Upewnij się, że tworzysz obraz CD z pliku ISO, zamiast umieszczać kopię pliku ISO na dysku CD z danymi. Poszukaj opcji Nagraj obraz z pliku lub podobnej opcji w menu Plik oprogramowania do nagrywania dysków CD. Na komputerze Mac możesz użyć Narzędzia dyskowego. Zobacz ten post na forum, aby poznać szczegóły. Utwórz bootowalną pamięć flash USB: Pobierz obraz USB LinuxMac MemTest86. Niszczyć pakiet (tar xvzf MemTest86 - usb. tar. gz). Plik obrazu i plik README zostaną utworzone w bieżącym katalogu. Postępuj zgodnie z instrukcjami w README, aby zapisać dysk flash USB. Utwórz dyskietkę startową (tylko v4): Pobierz obraz dyskietki systemu Linux. Niszczyć pakiet (tar xvzf MemTest86 - floppy. tar. gz). Plik obrazu i plik README zostaną utworzone w bieżącym katalogu. Postępuj zgodnie z instrukcjami w README, aby zapisać dyskietkę. Powrót do góryMemTest86 obsługuje uruchamianie z systemów UEFI i BIOS. Większość nowszych systemów może działać w wersji UEFI MemTest86, ale wszystkie systemy powinny być w stanie uruchomić tradycyjną wersję BIOS-u. Aby uruchomić MemTest86, włóż dysk CD-ROM lub pamięć flash USB do odpowiedniego napędu i uruchom ponownie komputer. Uwaga: Jeśli uruchomiony jest system UEFI, system UEFI BIOS musi być skonfigurowany do uruchamiania z urządzenia, na którym jest zainstalowany program MemTest86. Większość systemów ma opcjonalne menu rozruchowe, które można włączyć naciskając klawisz przy uruchamianiu (często ESC, F9, F11 lub F12) podobny do następującego: Jeśli jest dostępny, użyj menu rozruchu, aby wybrać odpowiedni napęd. Możesz zobaczyć zarówno UEFI jak i BIOS jako oddzielne opcje. Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentacją płyty głównej. Na komputerze Mac musisz przytrzymać klawisz c, gdy komputer uruchamia się, aby uruchomić komputer z dysku CD. Aby uruchomić komputer z USB, należy przytrzymać klawisz Option ALT na klawiaturze komputera Mac podczas włączania urządzenia. Uruchamianie wersji 5 lub nowszej w UEFI Wszystkie obrazy MemTest86 obsługują podwójne uruchamianie systemu V4 (BIOS) i wersji 5 lub nowszej (UEFI), w zależności od tego, czy system jest skonfigurowany do rozruchu w trybie UEFI lub BIOS. Jeśli system uruchamia v4, najprawdopodobniej: albo masz starszy system, który nie obsługuje UEFI Twój system obsługuje UEFI, ale jest skonfigurowany w trybie starszym (tj. BIOS) Jeśli (1) jest prawdziwe, system nie będzie móc uruchomić MemTest86 v5 lub nowszy. Będziesz musiał dokonać aktualizacji do nowego systemu obsługującego UEFI w celu uruchomienia MemTest86 v5 lub nowszego. Jeśli (2) jest prawdziwe, musisz przejść do konfiguracji systemu BIOS i zmienić niezbędne ustawienia, aby uruchomić system z UEFI. Rzeczywiste ustawienie różni się w zależności od dostawcy, ale zwykle jest to Legacy Boot, CSM lub moduł obsługi zgodności, jak poniższy zrzut ekranu dla systemu ASUS Korzystanie z konsoli szeregowej Dla systemów bez obsługi wideo MemTest86 może działać w trybie konsoli szeregowej zarówno z UEFI jak i Systemy BIOS. Dla MemTest86 v4 wybierz opcję 5 z menu, aby włączyć wyjście do konsoli szeregowej. Nie musisz robić nic dla MemTest86 v5 lub nowszego, ponieważ będzie on automatycznie korzystał z konsoli szeregowej, pod warunkiem, że BIOS UEFI został skonfigurowany do przekierowania konsoli na port szeregowy. Obsługa interfejsu GUI nie jest dostępna podczas korzystania z konsoli szeregowej, więc wszystkie konfiguracje testowe muszą zostać wykonane przy użyciu pliku konfiguracyjnego. PXE Network Booting (tylko edycja witryny) MemTest86 (tylko wersja strony) obsługuje uruchamianie sieci za pośrednictwem PXE. Aby skonfigurować uruchamianie PXE MemTest86, serwer DHCPPXE musi być obecny w sieci, która rozpowszechnia obraz rozruchowy MemTest86 na komputerach klienckich obsługujących rozruch PXE. Sieciowe uruchamianie MemTest86 zostało pomyślnie przetestowane w Serva PXE Server, ale inne serwery PXE również powinny działać. Aby uzyskać szczegółowe instrukcje, zobacz Konfigurowanie uruchamiania Serva for MemTest86 PXE w Podręczniku użytkownika MemTest86. W przypadku innych, zapoznaj się z instrukcją obsługi serwera DHCPPXE, aby uzyskać instrukcje dotyczące konfiguracji. Po skonfigurowaniu serwera PXE wyodrębnij pliki z pakietu MemTest86 do odpowiedniego katalogu dla konfiguracji serwera PXE. W ustawieniach serwera PXE określ plik obrazu rozruchowego na BOOTX64.efi dla komputerów klienckich x86-64 i BOOTIA32.efi na komputery klienckie z procesorem x86. Na komputerze klienta system UEFI BIOS musi obsługiwać uruchamianie z sieci. W konfiguracji systemu BIOS upewnij się, że obsługa interfejsu UEFI Network Stack i obsługa protokołu IPv4 PXE są włączone, podobnie jak na poniższym zrzucie ekranu. Plik konfiguracyjny (mt86.cfg) jest obsługiwany podczas uruchamiania PXE i może być używany do konfigurowania i dostosowywania MemTest86. Podobnie pliki raportów są obsługiwane i mogą być przesyłane do serwera PXETFTP. Obecnie rejestrowanie nie jest obsługiwane podczas uruchamiania przez sieć. Po uruchomieniu programu MemTest86 na ekranie pojawia się ekran powitalny z 10-sekundowym odliczającym zegarem, który po wygaśnięciu automatycznie uruchamia testy pamięci z ustawieniami domyślnymi. Naciśnięcie klawisza lub poruszenie myszą powoduje zatrzymanie stopera. Aby skonfigurować testy pamięci, wybierz Config i wyświetli się menu główne. Menu główne pozwala użytkownikowi dostosować ustawienia testu pamięci, takie jak konkretne testy do wykonania, zakres adresów do przetestowania i które CPU są używane podczas testowania. Menu główne ma następującą strukturę: Informacje o systemie - wyświetla szczegółowe informacje o systemie. Wybór testu - określa, które testy mają być włączone, a ile przejść do uruchomienia. Zakres adresów - określa limity pamięci dolnej i górnej w celu przetestowania wyboru procesora - wybierz pomiędzy trybami Single, Parallel, Round Robin i Sequential Start - rozpocznij wykonywanie testów pamięci RAM Benchmark - wykonuje testy porównawcze w pamięci RAM i wyświetla wykresy wyników na wykresie Ustawienia - konfiguracja ogólnych ustawień MemTest86, takich jak wybór języka Wyjdź - kończy działanie MemTest86 i restartuje system (tylko wersja Pro i Site) Parametry testu pamięci można również ustawić za pomocą pliku konfiguracyjnego (mt86.cfg), który jest ładowany podczas uruchamiania, bez konieczności ręcznego konfigurowania testów pamięci przy każdym uruchomieniu MemTest86. Jest to przydatne szczególnie w środowiskach testowych, w których testy pamięci muszą być wykonywane w sposób zautomatyzowany bez interwencji użytkownika. Plik konfiguracyjny mt86.cfg należy umieścić w folderze EFIBOOT na dysku USB. Poniżej znajduje się przykład pliku konfiguracyjnego MemTest86: Określa, czy pierwsze przejście powinno przeprowadzić pełny lub zredukowany test. Domyślnie pierwsze przejście przeprowadza zredukowany test (tj. Mniej iteracji) w celu wykrycia najbardziej oczywistych błędów tak szybko, jak to możliwe. Lista pozycji bitu adresu pamięci do wyłączności lub (XOR) w celu określenia, który kanał pamięci (0 lub 1) jest używany. Jest to przydatne, jeśli wiesz, że kontroler pamięci mapuje konkretny adres do kanału za pomocą tego schematu dekodowania. Jeśli ten parametr zostanie określony, a MemTest86 wykryje błąd pamięci, numer kanału zostanie obliczony i wyświetlony wraz z błędnym adresem. Każda określona pozycja bitów jest oddzielona przecinkiem. Na przykład, XOR bitów 1,8,9 adresu w celu określenia kanału. Lista pozycji bitu adresu pamięci do wyłączności lub (XOR) w celu określenia, które gniazdo (0 lub 1) jest używane. Jest to przydatne, jeśli wiesz, że kontroler pamięci mapuje konkretny adres do gniazda przy użyciu tego schematu dekodowania. Jeśli ten parametr zostanie określony, a MemTest86 wykryje błąd pamięci, numer gniazda zostanie obliczony i wyświetlony wraz z błędnym adresem. Każda określona pozycja bitów jest oddzielona przecinkiem. Na przykład, XOR bitów 3,4 adresu w celu określenia boks. Lista pozycji bitu adresu pamięci do wyłączności lub (XOR) w celu określenia bitów wyboru układu (0 lub 1). Jest to przydatne, jeśli wiesz, że kontroler pamięci odwzorowuje określony adres na bit CS za pomocą tego schematu dekodowania. Jeśli ten parametr zostanie określony, a MemTest86 wykryje błąd pamięci, bit CS zostanie obliczony i wyświetlony wraz z błędnym adresem. Każda określona pozycja bitów jest oddzielona przecinkiem. Na przykład, będzie XOR bitów 5, 11 adresu, aby określić bit CS. Określa jeden z następujących języków: Liczba najnowszych błędów do wyświetlenia w pliku raportu. Liczba ta nie może być większa niż 5000. Liczba najnowszych ostrzeżeń wyświetlanych w pliku raportu. Liczba ta nie może być większa niż 5000. Obecnie ten parametr jest używany tylko do testu młota (test 13) Określa poziom interwencji użytkownika, która ma być używana podczas uruchamiania testów pamięci. Wyświetlany jest ekran powitalny i główne menu. Użytkownik jest proszony o zapisanie pliku raportu po zakończeniu testów. Testy rozpoczynają się natychmiast, pomijając ekran powitalny i główne menu. Po zakończeniu testów wyniki testu są automatycznie zapisywane w pliku raportu, a system jest ponownie uruchamiany. Testy rozpoczynają się natychmiast, pomijając ekran powitalny i główne menu. Po zakończeniu testów użytkownik zostanie poproszony o zapisanie wyników testu w pliku raportu. Określa, czy pominąć 10-sekundowy ekran powitalny i przejść bezpośrednio do menu głównego. Minimalna liczba pamięci RAM przeznaczonych do wykrycia przed zezwoleniem na rozpoczęcie testów pamięci. Określa rozróżnianie wielkości liter pod kątem dopasowania do producenta JEDEC wszystkich wykrytych pamięci RAM przed zezwoleniem na rozpoczęcie testów pamięci. Określa rozróżnianie wielkości liter pod kątem dopasowania do numeru części wszystkich wykrytych pamięci RAM przed zezwoleniem na rozpoczęcie testów pamięci. Określa alternatywny kolor tła do użycia: Określa 32-bitowy wzorzec danych, który ma zostać użyty podczas testu młotkowania wierszy (Test 13). Jeśli ten parametr nie zostanie określony, używane są losowe wzorce danych. Określa jeden z następujących algorytmów uderzania młotkiem (Test 13): Określa, czy wyłączyć obsługę wielu procesorów. Może to być wykorzystane jako obejście dla niektórych programów narzędziowych UEFI, które mają problemy z uruchomieniem MemTest86 w trybach z wieloma procesorami. Pod koniec testu wyświetla się podsumowanie wyników testu, jak pokazano na poniższym zrzucie ekranu: Użytkownik może również zapisać wyniki jako raport z testu HTML do pliku. Wygląd raportu z testu można w pełni dostosować do wersji pro i site. Oto przykład raportu z testu HTML Rozwiązywanie problemów związanych z błędami pamięci Zobacz stronę Rozwiązywanie problemów związanych z błędami pamięci, aby dowiedzieć się, co zrobić, gdy MemTest86 wykryje problem z pamięcią. Czas wymagany do kompletnego przejścia MemTest86 będzie się znacznie różnić w zależności od szybkości procesora, szybkości pamięci i rozmiaru pamięci. Licznik kroków zwiększa się po uruchomieniu wszystkich wybranych testów. Zwykle pojedyncze przejście wystarcza, aby uchwycić wszystkie, oprócz najbardziej niejasnych błędów. Jednak w celu uzyskania całkowitej pewności, kiedy sporadyczne błędy są podejrzewane, zaleca się testowanie na dłuższy czas. Szczegółowe opisy Filozofia badania pamięci Istnieje wiele dobrych podejść do testowania pamięci. Jednak wiele testów po prostu rzuca pewne wzorce w pamięci bez większego zastanowienia i znajomości architektury pamięci lub jak najlepiej można wykryć błędy. Działa to dobrze w przypadku awarii pamięci twardej, ale niewiele ma do czynienia z okresowymi błędami. Testy pamięci oparte na BIOSie są bezużyteczne do wyszukiwania sporadycznych błędów pamięci. Chipy pamięci składają się z dużej ilości ściśle upakowanych komórek pamięci, po jednej na każdy bit danych. Ogromna większość nieregularnych awarii jest wynikiem interakcji między tymi komórkami pamięci. Często zapisywanie komórki pamięci może spowodować, że jedna z sąsiednich komórek zostanie zapisana z tymi samymi danymi. Skuteczny test pamięci próbuje przetestować ten warunek. Dlatego idealną strategią do testowania pamięci byłoby: napisać komórkę z napisem "zero" wszystkich sąsiednich komórek za pomocą jednego, jednego lub więcej razy sprawdzić, czy pierwsza komórka nadal ma zero. Powinno być oczywiste, że ta strategia wymaga dokładna wiedza na temat rozmieszczenia komórek pamięci w układzie scalonym. Ponadto istnieje niekończąca się liczba możliwych układów układów dla różnych typów układów i producentów, co czyni tę strategię niepraktyczną. Istnieją jednak algorytmy testowania, które mogą przybliżać ten ideał. Algorytmy testu memTest86 MemTest86 wykorzystuje dwa algorytmy, które zapewniają rozsądne przybliżenie idealnej strategii testu powyżej. Pierwsza z tych strategii nazywa się ruchomymi inwersjami. Test przeniesienia inwersji działa w następujący sposób: Wypełnij pamięć wzorcem Rozpoczynając od najniższego adresu sprawdź, czy wzorzec się nie zmienił napisz wzory uzupełnij przyrost powtórzenia adresu Zacznij od najwyższego adresu sprawdź, czy wzorzec się nie zmienił wpisz wzory uzupełnij ubytek powtórzenie adresu Ten algorytm jest dobrym przybliżeniem idealnego testu pamięci, ale istnieją pewne ograniczenia. Większość dzisiejszych układów o wysokiej gęstości zawiera dane o szerokości od 4 do 16 bitów. W przypadku układów o szerokości większej niż jeden bit nie można selektywnie odczytać lub zapisać tylko jednego bitu. Oznacza to, że nie możemy zagwarantować, że wszystkie sąsiednie komórki zostały przetestowane pod kątem interakcji. W tym przypadku najlepsze, co możemy zrobić, to użyć pewnych wzorów, aby upewnić się, że wszystkie sąsiednie komórki zostały napisane z wszystkimi możliwymi kombinacjami jedno i zero. Można również zauważyć, że buforowanie, buforowanie i wykonywanie poza kolejnością będzie kolidować z algorytmem ruchomych inwersji i będzie mniej skuteczne. Możliwe jest wyłączenie pamięci podręcznej, ale buforowanie pamięci w nowych układach o wysokiej wydajności nie może być wyłączone. Aby rozwiązać ten problem, utworzono nowy algorytm, który nazywam Modulo-X. Algorytm ten nie ma wpływu na buforowanie ani buforowanie. Algorytm działa w następujący sposób: Aby rozpocząć przesunięcia od 0 do 20, napisz co 20 lokalizacji ze wzorem zapisz wszystkie inne lokalizacje z wzorami uzupełnij powtórzenie powyżej jednego lub więcej razy sprawdź co 20 lokalizacji wzorca Ten algorytm osiąga prawie taki sam poziom test sąsiedztwa jako ruchome przewroty, ale nie wpływa na niego buforowanie ani buforowanie. Ponieważ oddzielne przejścia zapisu (1a, 1b) i przejście odczytu (1c) są wykonywane dla całej pamięci, możemy być pewni, że wszystkie bufory i pamięć podręczna zostały przepłukane między przejściami. Wybór 20 jako rozmiaru kroku był nieco arbitralny. Większe kroki mogą być bardziej skuteczne, ale wykonanie ich zajmie więcej czasu. Wybór 20 wydawał się rozsądnym kompromisem między szybkością a dokładnością. Indywidualne opisy testów MemTest86 wykonuje serię ponumerowanych sekcji testowych, aby sprawdzić błędy. Te sekcje testowe składają się z kombinacji algorytmu testowego, wzorca danych i ustawień pamięci podręcznej. Kolejność wykonywania tych testów została ustalona tak, aby błędy były wykrywane tak szybko, jak to możliwe. Poniżej znajduje się opis każdej z sekcji testowych: Test 0 Test adresu, spacery, brak pamięci podręcznej Testuje wszystkie bity adresu we wszystkich bankach pamięci, wykorzystując wzorzysty wzorzec adresu. Test 1 Test adresu, własny adres, sekwencyjny Każdy adres jest napisany z własnym adresem, a następnie jest sprawdzany pod kątem spójności. Teoretycznie poprzednie testy powinny wykryć problemy z adresowaniem pamięci. Ten test powinien wychwycić wszelkie błędy adresowania, które jakoś nie zostały wcześniej wykryte. Ten test jest wykonywany sekwencyjnie z każdym dostępnym procesorem. Test 2 Test adresu, własny adres, Równoległy To samo co test 1, ale testowanie odbywa się równolegle przy użyciu wszystkich procesorów i przy użyciu zachodzących na siebie adresów. Test 3 Poruszające inwersje, onesampzeros, Parallel Ten test wykorzystuje algorytm ruchomych inwersji z wzorami wszystkich zer i jedynek. Pamięć podręczna jest włączona, chociaż w pewnym stopniu ingeruje w algorytm testu. Przy włączonej pamięci podręcznej test ten nie zajmuje dużo czasu i powinien szybko znaleźć wszystkie trudne błędy i kilka subtelnych błędów. Odbywa się to równolegle przy użyciu wszystkich procesorów. Test 4 Przenoszenie inwersji, 8-bitowy wzór Jest to to samo, co test 3, ale używa 8-bitowego wzoru chodzących zer i jedynek. Ten test pozwoli lepiej wykryć subtelne błędy w układach z dużą pamięcią. Test 5 Ruchome inwersje, losowy wzór Test 5 używa tego samego algorytmu co test 4, ale wzorzec danych jest liczbą losową i jej dopełnieniem. Ten test jest szczególnie skuteczny w wyszukiwaniu trudnych do wykrycia błędów związanych z danymi. Losowa sekwencja numerów jest różna przy każdym przejściu, więc wielokrotne przebiegi zwiększają efektywność. Test 6 Przesunięcie bloku, 64 ruchy Ten test obciąża pamięć za pomocą instrukcji move move (movsl) i jest oparty na teście burnBX Roberta Redelmeiersa. Pamięć jest inicjowana za pomocą wzorców przesuwania odwróconych co 8 bajtów. Następnie 4 megabajty bloków pamięci są przenoszone za pomocą instrukcji movsl. Po zakończeniu ruchów sprawdzane są wzorce danych. Ponieważ dane są sprawdzane dopiero po zakończeniu przenoszenia pamięci, nie można ustalić, gdzie wystąpił błąd. Zgłoszone adresy dotyczą tylko tego, gdzie znaleziono nieprawidłowy wzorzec. Ponieważ ruchy są ograniczone do segmentu pamięci o wielkości 8mb, adres awarii zawsze będzie mniejszy niż 8mb od podanego adresu. Błędy z tego testu nie są używane do obliczania wzorców BadRAM. Test 7 Przesuwanie inwersji, wzór 32-bitowy Jest to odmiana algorytmu przemieszczania inwersji, która przesuwa wzór danych pozostawiony jeden bit dla każdego kolejnego adresu. Początkowa pozycja bitu jest przesunięta w lewo dla każdego przejścia. Aby użyć wszystkich możliwych wzorców danych, wymagane są 32 przejścia. Ten test jest dość skuteczny w wykrywaniu błędów wrażliwych na dane, ale czas wykonania jest długi. Test 8 Losowa sekwencja numerów Ten test zapisuje do pamięci serię liczb losowych. Poprzez zresetowanie materiału siewnego dla liczby losowej można utworzyć tę samą sekwencję liczbową dla odniesienia. Początkowy wzór jest sprawdzany, a następnie uzupełniany i sprawdzany ponownie przy następnym przejściu. Jednak, w przeciwieństwie do ruchomych inwersji, testowanie i sprawdzanie testów może odbywać się tylko w kierunku do przodu. Test 9 Modulo 20, Losowy wzorzec Użycie algorytmu Modulo-X powinno wykryć błędy, które nie są wykrywane przez ruchome inwersje z powodu buforowania i buforowania interferencji z algorytmem. Test 10 Bitowy test blaknięcia, 2 wzorce Bitowy test blaknięcia inicjalizuje całą pamięć za pomocą wzoru, a następnie śpi przez kilka minut. Następnie pamięć jest sprawdzana, aby sprawdzić, czy zmieniły się jakieś bity pamięci. Używane są wszystkie wzory zerowe. Test 11 Losowa sekwencja numerów, 64-bit Ten test jest taki sam, jak test 8, ale używane są natywne instrukcje 64-bitowe. Test 12 Losowa sekwencja numerów, 128-bit Ten test jest taki sam, jak test 8, ale używane są natywne instrukcje SIMD (128-bitowe). Test uderzenia młotkiem ujawnia podstawową wadę z modułami RAM 2017 lub późniejszymi. Ta usterka może prowadzić do błędów w zakłóceniach podczas wielokrotnego uzyskiwania dostępu do adresów w tym samym banku pamięci, ale różnych wierszy w krótkim okresie czasu. Powtarzające się otwarcie rzędów powoduje wyciek ładunku w sąsiednich rzędach, potencjalnie powodując odwrócenie bitów. Ten test polega na wbijaniu wierszy przez ponowne czytanie dwóch adresów w powtarzający się sposób, a następnie sprawdzanie zawartości innych adresów pod kątem błędów zakłóceń. Więcej szczegółów na temat błędów zakłóceń pamięci DRAM zawiera artykuł Przerzucanie bitów w pamięci bez ich dostępu: eksperymentalne badanie błędów zakłóceń pamięci DRAM autorstwa Yoongu Kim et al. Zaczynając od MemTest86 v6.2, wykonywane są potencjalnie dwa testy młotkowania rzędów. W pierwszym przebiegu pary adresów są młotkowane w najwyższym możliwym stopniu. W przypadku wykrycia błędów przy pierwszym przejściu, błędy nie są natychmiast zgłaszane i rozpoczyna się drugie przejście. W tym przebiegu pary adresów są obciążane mniejszą szybkością, uznawaną za najgorszy scenariusz przez dostawców pamięci (dostęp 200K na 64 ms). Jeśli wykryte zostaną również błędy w tym przebiegu, błędy są zgłaszane użytkownikowi w normalny sposób. Jeśli jednak tylko pierwsze przejście spowoduje błąd, zamiast tego zostanie wyświetlony komunikat ostrzegawczy dla użytkownika. Powrót do początku Odzyskiwanie przestrzeni dyskowej na dysku flash Mieliśmy kilku użytkowników zastanawiających się, jak odzyskać miejsce na dysku USB po zakończeniu korzystania z MemTest86. Problem wynika z faktu, że funkcja zarządzania dyskami systemu Windows nie pozwala na wymazywanie ani ponowne partycjonowanie dysków flash USB. W tym miejscu znajdziesz kroki potrzebne do sformatowania dysku flash USB na pełną pojemność. Pomóż ulepszyć MemTest86 Zawsze szukamy sposobów na ulepszenie MemTest86 dla naszych użytkowników. Prosimy o przesyłanie ogólnych sugestii dotyczących tłumaczenia MemTest86 na twój język Od MemTest86 v6, dodaliśmy obsługę pozwalającą użytkownikowi wybrać język do użycia w MemTest86. Obecnie obsługiwane są następujące języki: Jeśli twój język nie jest dostępny do wyboru lub chciałbyś hojnie dostarczać tłumaczenia dla korzyści innych użytkowników, możesz pobrać następujący plik tekstowy, który zawiera wszystkie ciągi w programie. Proszę postępować zgodnie z instrukcjami w pliku, w jaki sposób zapewnić tłumaczenie tekstu. Każdy przetłumaczony tekst, który otrzymamy, może zostać włączony do kolejnej wersji MemTest86, z odpowiednim podaniem kredytu.
No comments:
Post a Comment