Skip to main content

Glidande medelvärde algoritm


DEFINITION av algoritmen En algoritm är uppsättning regler för att utföra en uppgift i ett visst antal steg. Ett vanligt exempel är ett recept, vilket är en algoritm för att förbereda en måltid. Algoritmer är viktiga för datorer att bearbeta information. Som sådan har de blivit centrala för människors dagliga liv, om någon beställer en bok online, gör ett flygbolag eller använder en sökmotor. Finansiella företag använder sig av algoritmer inom områden som lånepriser, aktiehandel och kapitalförvaltning. Till exempel algoritmisk handel. känd som algo, används för att bestämma tidpunkten, prissättningen och kvantiteten av lagerbeställningar. BREAKING DOWN Algorithm Algo trading, även känd som automatiserad handel eller black-box trading, använder ett datorprogram för att köpa eller sälja värdepapper i en takt som inte är möjlig för människor. Eftersom priser på aktier, obligationer och råvaror förekommer i olika format online och i handelsdata, blir processen genom vilken en algoritm smälter upp finansiella data. Användaren av programmet ställer helt enkelt parametrarna och får en önskad effekt när värdepapperen uppfyller kriterierna för näringsidkaren. Typer av Algos Flera typer av handelsalgoritmer hjälper investerare att bestämma om de ska köpa eller sälja. En genomsnittlig reverseringsalgoritm prövar kortsiktiga priser över det långsiktiga genomsnittspriset. och om ett lager går mycket högre än genomsnittet, kan en näringsidkare sälja den för en snabb vinst. Säsongssituationen hänvisar till övning av näringsidkare som köper och säljer värdepapper baserat på årstid då marknaderna stiger eller faller. En känslighetsanalysalgoritm mäter nyheter om ett aktiekurs som kan leda till högre volym under en viss handelsperiod. Följande är ett exempel på en enkel algoritm för handel. En näringsidkare instruerar sitt automatiska konto att sälja 100 aktier i ett lager om 50-dagars glidande medelvärde går under 200-dagars glidande medelvärde. I motsats till det kan näringsidkaren berätta för sitt program att köpa 100 aktier om det 50-dagars glidande genomsnittet av ett lager stiger över 200-dagars glidande medelvärde. Sofistikerade algoritmer kan ta hänsyn till hundratals kriterier innan de köper eller säljer värdepapper. Anledningen till detta är att datorer är mycket effektiva maskiner för att utföra komplexa beräkningar mycket snabbt. I datavetenskap En programmerare måste anställa fem grundläggande delar av en algoritm för att skapa ett framgångsrikt program. Personen måste beskriva problemet i matematiska termer innan du ställer in de formler och processer som skapar ett resultat. Därefter matar programmeraren parametrarna som ger resultatet, och sedan kör han programmet om och om igen för att testa det. Slutsatsen av algoritmen är resultatet givet att uppsättningen parametrar går igenom uppsättningen instruktioner i programmet. För finansiella algoritmer, ju mer komplexa programmet, desto mer data kan programvaran använda för att göra exakta bedömningar för att köpa eller sälja värdepapper. Programmerare måste också testa komplexa algoritmer mer noggrant än enkla, för att säkerställa rätt kvalitetskontroll. Volymvägd genomsnittspris - VWAP BREAK DOWN Down Volymvägd genomsnittspris - VWAP Volymvägd genomsnittspris (VWAP) är ett förhållande som vanligtvis används av institutionella investerare och fonder för att köpa och sälja för att inte störa marknadspriserna med stora order. Det är det genomsnittliga aktiekursen på en aktie vägt mot sin handelsvolym inom en viss tidsram, i allmänhet en dag. VWAP Explained Stora institutionella investerare eller investeringshus som använder VWAP baserar sina beräkningar av alla fält av data under en handelsdag. I huvudsak registreras varje sluten transaktion. De flesta kartläggningswebbplatser och enskilda investerare kan dock föredra att använda ett minuts eller fem minuters handelspriser för att minska den stora volymen av data som krävs för att hålla koll på VWAP på en dag. För en fem-minuters VWAP-beräkning skulle du ta det låga, plus det höga, plus slutkursen inom femminutersperioden och dela upp det totala med tre. Detta ger dig ett tidsvägd genomsnittspris (TWAP) som är ganska korrekt, och du kan multiplicera det här numret med volymen som handlas under samma period för att uppnå ett vägt pris. Varför använda VWAP Stora institutionella köpare och fonder använder sig av VWAP-kvoten för att kunna flytta till aktier på ett sätt som inte kommer att störa den naturliga marknadsdynamiken på ett aktiekurs. Om dessa köpare skulle flytta till en aktieposition på en gång skulle det onaturligt höja aktiekursen. Ändå köper köp av aktier under intraday VWAP glidande medelvärdet. dessa köpare kan flytta in i ett lager under en dag eller två utan för mycket prisavbrott. Det finns emellertid andra användningsområden för VWAP, och en sådan strategi är att köpa ett lager för enskilda investerare precis som VWAP tränger igenom intradag VWAP glidande medelvärde, eftersom detta kan indikera ett momentumskifte i aktiekursen. Det används också i algoritmisk handel och gör det möjligt för mäklare att garantera genomförandet av en handel nära en viss prisvolym för kunder. VWAP-problem VWAP är kumulativ indikator och som sådan ökar antalet datapunkter under hela dagen. Denna ökande dataset över längre tidsperioder, som fyra, sex eller åtta timmar om dagen kan orsaka fördröjning mellan det rörliga genomsnittet för VWAP och den faktiska VWAP. Som sådan använder de flesta investerare aldrig en VWAP längre än en dag. MemTest86 Teknisk information Vad är nytt i MemTest86 för UEFI-plattformen (Version 5 och senare) MemTest86 stöder uppstart från både den nya UEFI-plattformen och den traditionella BIOS. När du startar från UEFI har MemTest86 tillgång till ytterligare tjänster som inte är tillgängliga i BIOS, inklusive: Native 64-bitars support Det krävs inte längre att PAE-lösningen används för att få tillgång till mer än 4 GB minne. (PAE Physical Address Extension) Musstöd, där det stöds av det underliggande UEFI-systemet. På äldre system krävs ett tangentbord fortfarande. Förbättrat USB-tangentbordsstöd. Tangentbordet arbetar nu med system som inte korrekt emulerar IO Port 6460. Så Mac USB-tangentbord stöds nu. Förbättrat stöd för flera trådar, där det stöds av det underliggande UEFI-systemet. Rapportering av detaljerad RAM SPD-information. Timing, klockhastighet, leverantörsnamn och mycket mer. Stöd för att skriva till den USB-enhet som MemTest86 körs från för loggning och rapportgenerering. I alla tidigare MemTest86-utgåvor fanns det ingen diskstöd. Användning av GPT. (GUID-partitionstabell) ECC RAM-stöd (begränsat hårdvaruunderstöd, pågående utveckling) Detektering av ECC-stöd både i RAM-minnet och minneskontrollern Polling for ECC-fel Injektion av ECC-fel för teständamål. (endast begränsad hårdvara) Stöd för DDR4 RAM (och tillhörande maskinvara), inklusive återhämtning och rapportering av DDR4-specifika SPD-detaljer. Detta inkluderar DDR4 RAM som stöder Intel XMP 2.0 DDR4 RAM-timing Alternativ för att inaktivera CPU-caching för alla tester Att ha en konfigurationsfil för att tillåta inställningar att vara fördefinierade utan att behöva skriva in tangentbord. Detta kan hjälpa till med automatisering. Stöd för Secure Boot. Hastighetsförbättringar mellan 10 och 30. Speciellt för test, 5, 8 9. Detta är resultatet att flytta till inbyggd 64bit-kod, ta bort PAE-personsökningshacket, byta kompilatorer och använda snabbare slumptalsgenereringsalgoritmer. Tillägg av 2 nya minnetester för att utnyttja 64bit data och SIMD instruktioner. Stöd för PXE-nätverksstart för skalbar, disklös utplacering till flera mål Se vad som är Ny sida för en komplett lista över ändringar. Se funktionsjämförelsessidan för en sammanfattning av skillnaderna mellan olika utgåvor av MemTest86. Om UEFI inte stöds på systemet startas den äldre v4 BIOS-versionen. MemTest86 kan startas från en CD, USB-minne eller, med Linux-system, av startläsaren (till exempel LILO eller Grub). Alla Windows, Linux eller Mac-system kan användas för att skapa CD - eller USB-flashenheten. När en MemTest86-startdiskett har skapats kan den användas på alla x86-datorer (PCMac). MemTest86 (Site Edition) kan också starta via nätverks (PXE) boot för skalbar tillhandahållande av MemTest86 till flera klientmaskiner i LAN-nätverket. I denna konfiguration krävs inga skivor bara en PXE Server och PXE boot-aktiverade klienter krävs för att stödja nätverksstart. Skapa en MemTest86-startdiskett i Windows För att skapa en MemTest86-startbar USB, CD eller diskett i Windows, rekommenderas att du hämtar en av Windows MemTest86-bilderna. Obs! Det finns ingen skillnad i den resulterande MemTest86-startdisken som skapats med antingen Windows eller LinuxMac-bilderna. Skillnaden är bara att bilderna är förpackade så att de passar för respektive operativsystem (t. ex. zip vs tarball). Skapa en startbar CD-ROM: Hämta Windows MemTest86 ISO-bilden. Högerklicka på den nedladdade filen och välj alternativet Utdrag till här. Detta placerar CD-ROM ISO-bilden i den aktuella mappen. Använd den CD-brännbara mjukvaran som finns tillgänglig på ditt system för att skapa en CD-ROM med hjälp av den extraherade ISO-bilden. Var noga med att du skapar en CD-bild från ISO-filen istället för att placera en kopia av ISO-filen på en data-CD. Leta efter Bränn bild från Fil eller liknande alternativ under Arkiv-menyn på din CD-brännande programvara. Skapa en startbar USB-flash-enhet: Ladda ner Windows MemTest86 USB-bild. Högerklicka på den nedladdade filen och välj alternativet Utdrag till här. Detta placerar USB-bild och bildhanteringsverktyget i den aktuella mappen. Kör det medföljande imageUSB-verktyget, det ska redan ha valt bildfilen och du behöver bara välja vilken ansluten USB-enhet som ska bli en startbar enhet. Observera att detta raderar alla data på enheten. Skapa en startbar diskett (endast v4): Ladda ner Windows MemTest86-diskettenheten. Högerklicka på den nedladdade filen och välj alternativet Utdrag till här. Detta placerar diskettenheten i den aktuella mappen. Skapa en startbar diskett kräver användning av ett tredjepartsprogram för att skriva diskettbilden till en disk. Ett antal program är tillgängliga för att skriva skivavbildningen. Rawwrite är ett rekommenderat gratis program tillgängligt på: chrysocomerawwrite. En mer robust lösning är WinImage, tillgänglig på winimagedownload. htm. Tillbaka till början Skapa en MemTest86-startdiskett i LinuxMac För att skapa en MemTest86-uppstartbar USB, CD eller diskett i LinuxMac, rekommenderas att du laddar ner en av de LinuxMac-kompilerade MemTest86-bilderna. Avancerade användare kanske vill bygga från källa och eventuellt göra ändringar i källkod. Obs! Det finns ingen skillnad i den resulterande MemTest86-startdisken som skapats med antingen Windows eller LinuxMac-bilderna. Skillnaden är bara att bilderna är förpackade så att de passar för respektive operativsystem (t. ex. zip vs tarball). Skapa en startbar CD-ROM: Hämta LinuxMac MemTest86 ISO-bilden. UN-tar paketet (tar xvzf MemTest86 - iso. tar. gz). En ISO-bildfil och en README-fil skapas i den aktuella katalogen. Använd den CD-brännbara mjukvaran som finns tillgänglig på ditt system för att skapa en CD-ROM med hjälp av den okomprimerade ISO-bilden. Var noga med att du skapar en CD-bild från ISO-filen istället för att placera en kopia av ISO-filen på en data-CD. Leta efter Bränn bild från Fil eller liknande alternativ under Arkiv-menyn på din CD-brännande programvara. På en Mac kan du använda Skivverktyg. Se det här forumet för mer information. Skapa en startbar USB-flash-enhet: Ladda ner LinuxMac MemTest86 USB-bilden. UN-tar paketet (tar xvzf MemTest86 - usb. tar. gz). En bildfil och en README-fil kommer att skapas i den aktuella katalogen. Följ instruktionerna i README för att skriva USB-flashdisken. Skapa en startbar diskett (endast v4): Ladda ner Linux-diskettenheten. UN-tar paketet (tar xvzf MemTest86 - floppy. tar. gz). En bildfil och en README-fil kommer att skapas i den aktuella katalogen. Följ instruktionerna i README för att skriva disketten. Tillbaka till toppenMemTest86 stöder uppstart från både UEFI - och BIOS-system. De flesta nya system kan köra UEFI-versionen av MemTest86, men alla system ska kunna starta den traditionella BIOS-versionen. För att starta MemTest86 sätt cd-skivan eller USB-flashenheten i rätt enhet och starta om datorn. Obs! Om du kör på ett UEFI-system måste UEFI BIOS konfigureras för att starta från den enhet som MemTest86 är installerad på. De flesta system har en valfri startmeny som är aktiverad genom att trycka på en tangent vid uppstart (ofta ESC, F9, F11 eller F12) som liknar följande: Om det är tillgängligt, använd startmenyn för att välja rätt enhet. Du kan se både UEFI och BIOS som separata alternativ. Vänligen se dokumentationen till moderkortet för detaljer. På en Mac måste du hålla ner c-tangenten medan datorn startas för att starta från CD. För att starta från USB måste du hålla ALT Alternativ-tangenten nedtryckt på Mac-tangentbordet medan du slår på maskinen. Uppstart v5 eller senare i UEFI Alla MemTest86-bilder stöder dubbla uppstart av v4 (BIOS) och v5 eller senare (UEFI), beroende på om ditt system är konfigurerat för att starta i UEFI - eller BIOS-läge. Om ditt system startar v4 är det troligt att antingen: Du har ett äldre system som inte stöder UEFI. Systemet stöder UEFI men är konfigurerat i äldre läge (dvs. BIOS) Om (1) är sant, kommer systemet inte att kunna starta MemTest86 v5 eller senare. Du måste uppgradera till ett nytt system som stöder UEFI för att kunna köra MemTest86 v5 eller senare. Om (2) är sant måste du gå till BIOS-inställningen och ändra nödvändiga inställningar för att starta från UEFI. Den faktiska inställningen varierar beroende på leverantören men det är typiskt Legacy Boot, CSM eller Kompatibilitets supportmodul, som följande skärmdump för ett ASUS-system Använda en seriell konsol För system utan videosupport kan MemTest86 köras i seriell konsolläge från både UEFI och BIOS-system. För MemTest86 v4, välj alternativ 5 från menyn för att aktivera utmatning till seriekonsol. Du behöver inte göra något för MemTest86 v5 eller senare eftersom det automatiskt använder seriekonsolen, förutsatt att UEFI BIOS har konfigurerats för att omdirigera konsolen till seriell port. Inget GUI-stöd är tillgängligt när du använder seriekonsolen så att alla testkonfigurationer måste göras med hjälp av konfigurationsfilen. PXE Network Booting (endast webbutgåva) MemTest86 (endast webbplatsversion) stöder nätverksstart via PXE. För att konfigurera PXE-uppstart av MemTest86 måste en DHCPPXE-server vara närvarande i nätverket som distribuerar MemTest86-startbilden till PXE-boot-aktiverade klientmaskiner. Nätverksstart av MemTest86 har testats framgångsrikt med Serva PXE Server, men andra PXE-servrar ska också fungera. För stegvisa instruktioner, se Konfigurera Serva för MemTest86 PXE Boot i MemTest86 användarhandbok. För andra, se manualen för din DHCPPXE-server för konfigurationsinstruktioner. När PXE-servern är konfigurerad, extrahera filerna från MemTest86-paketet till lämplig katalog för din PXE-serverkonfiguration. I PXE-serverns inställningar anger du startbildsfilen till BOOTX64.efi för x86-64 klientmaskiner och BOOTIA32.efi för x86-klientmaskiner. På klientmaskinen måste UEFI BIOS stödja uppstart från nätverket. I BIOS-inställningen ska du se till att UEFI Network Stack och IPv4 PXE Support-funktioner är aktiverade, liknande skärmbilden nedan. Konfigurationsfilen (mt86.cfg) stöds i PXE-start och kan användas för att konfigurera och anpassa MemTest86. På samma sätt stöds rapportfiler och kan laddas upp till PXETFTP-servern. För närvarande stöds inte loggning vid uppstart via nätverk. När MemTest86 startar visas en stänkskärm med en 10 sekunders nedräkningstid som, när den löper ut, startar automatiskt minnetesterna med standardinställningarna. Om du trycker på en tangent eller flyttar musen ska timern stoppas. För att konfigurera minnetesterna, välj Konfigurera och huvudmenyn visas. Huvudmenyn gör det möjligt för användaren att anpassa inställningarna för minnetest såsom de specifika tester som ska utföras, adressintervall för att testa och vilka CPU (er) som används vid testning. Huvudmenyn är uppbyggd enligt följande: Systeminfo - visar maskinvaruinformationen i systemet Testval - anger vilka test som ska aktiveras och hur många passerar som ska köras Adressintervall - anger gränserna för lägre och övre adressminne för att testa CPU-val - välj mellan enstaka, parallella, runda robin och sekventiella lägen Starta - starta körning av minnetesterna RAM Benchmark - utför benchmarkingstester på RAM, och graferar resultaten på ett diagram Inställningar - konfigurera allmänna MemTest86-inställningar som språkval Avsluta - avslutar MemTest86 och startar om system (endast Pro och Site Edition) Minnetestparametrar kan också ställas in via en konfigurationsfil (mt86.cfg) som laddas vid start utan att man behöver konfigurera minnetest manuellt varje gång MemTest86 körs. Detta är användbart särskilt i testmiljöer där minnetester måste utföras på ett automatiserat sätt utan användarintervention. Konfigureringsfilen mt86.cfg måste placeras i EFIBOOT-mappen på USB-enheten. Följande är ett exempel på en MemTest86 konfigurationsfil: Anger om första passet ska köra hela eller reducerat test. Som standard ska det första passet köra ett reducerat test (dvs. färre iterationer) för att upptäcka de mest uppenbara felen så snart som möjligt. Lista över bitpositioner för en minnesadress till exklusiv-eller (XOR) för att bestämma vilken minneskanal (0 eller 1) som används. Det här är användbart om du vet att minneskontrollern kartlägger en viss adress till en kanal med hjälp av detta avkodningsschema. Om denna parameter anges och MemTest86 upptäcker ett minnesfel, kommer kanalnumret att beräknas och visas tillsammans med feladressen. Varje angiven bitposition skiljs åt av ett komma. Exempelvis kommer XOR-bitar 1,8,9 av adressen att bestämma kanalen. Lista över bitpositioner för en minnesadress till exklusiv-eller (XOR) för att bestämma vilken lucka (0 eller 1) som används. Det här är användbart om du vet att minneskontrollern kartlägger en viss adress till en slits med hjälp av detta avkodningsschema. Om denna parameter anges och MemTest86 upptäcker ett minnesfel, beräknas spårnummeret och visas tillsammans med feladressen. Varje angiven bitposition skiljs åt av ett komma. Exempelvis kommer XOR-bitar 3,4 av adressen att bestämma spåret. Lista över bitpositioner för en minnesadress till exklusiv-eller (XOR) för att bestämma chipmarkeringsbitarna (0 eller 1). Detta är användbart om du vet att minnesstyrenheten kartlägger en viss adress till en CS-bit med detta avkodningsschema. Om denna parameter anges och MemTest86 upptäcker ett minnesfel, kommer CS-biten att beräknas och visas tillsammans med feladressen. Varje angiven bitposition skiljs åt av ett komma. Exempelvis kommer XOR-bitar 5, 11 av adressen att bestämma CS-biten. Anger ett av följande språk att använda: Antal de senaste fel som ska visas i rapportfilen. Detta nummer får inte vara mer än 5000. Antal av de senaste varningarna som ska visas i rapportfilen. Detta nummer får inte vara mer än 5000. För närvarande används denna parameter endast för Hammertestet (Test 13) Anger vilken nivå av användarintervention som ska användas vid körning av minnetester. Splash-skärmen och huvudmenyn visas. Användaren uppmanas att spara rapportfilen när testen har slutförts. Testerna startas omedelbart, hoppar över stänkskärmen och huvudmenyn. När testen har slutförts sparas testresultaten automatiskt i rapportfilen och systemet startas om. Testerna startas omedelbart, hoppar över stänkskärmen och huvudmenyn. När testen har slutförts uppmanas användaren att spara testresultaten till en rapportfil. Anger om du vill hoppa över 10 sekunders stänkskärm och fortsätt direkt till huvudmenyn. Minsta antal RAM SPD som ska detekteras innan du tillåter att minnetesterna börjar. Anger en skiftlägeskänslig substring för att matcha JEDEC-tillverkaren av alla upptäckta RAM SPD innan du tillåter att minnetesterna börjar. Anger en skiftlägeskänslig substring för att matcha delnumret för alla upptäckta RAM SPD innan du tillåter att minnetesterna börjar. Anger en alternativ bakgrundsfärg som ska användas: Anger ett 32-bitars datamönster som ska användas för radhammarprovet (Test 13). Om denna parameter inte anges, används slumpmässiga datamönster. Anger en av följande hammaralgoritmer som ska användas för radhammarprovet (Test 13): Anger huruvida du ska inaktivera multiprocessor-support. Detta kan användas som en lösning för vissa UEFI-företag som har problem med att köra MemTest86 i flera CPU-lägen. I slutet av testet visas en sammanfattning av testresultaten, som visas i följande skärmdump: Användaren kan också spara resultaten som en HTML-testrapport till en fil. Utförandet av testrapporten är fullt anpassningsbart i pro - och platslicensversionen. Här är ett exempel på en HTML-testrapport Felsökning av minnesfel Vänligen se sidan Felsökningsminnefel om vad du ska göra när MemTest86 upptäcker felaktighet med minne. Den tid som krävs för ett komplett pass av MemTest86 varierar kraftigt beroende på CPU-hastighet, minneshastighet och minnesstorlek. Passräknaren ökar efter att alla valda tester har körts. Generellt är ett enda pass tillräckligt för att fånga alla utom de mest obskurliga fel. Men för fullständigt förtroende när intermittenta fel misstänks testas under en längre period, rekommenderas. Detaljerad beskrivning Memory Testing Philosophy Det finns många bra metoder för att testa minne. Många tester kastar emellertid helt enkelt några mönster i minnet utan mycket tanke eller kunskap om minnesarkitektur eller hur fel kan bäst upptäcks. Detta fungerar bra för hårda minnesfel men gör lite för att hitta intermittenta fel. BIOS-baserade minnetester är värdelösa för att hitta intermittenta minnesfel. Minneschips består av ett stort antal tätt packade minnesceller, en för varje bit data. Största delen av de intermittenta misslyckandena är ett resultat av interaktion mellan dessa minnesceller. Ofta skriver en minnescell kan orsaka att en av de intilliggande cellerna skrivs med samma data. Ett effektivt minnetest försöker testa för detta tillstånd. Därför är en idealisk strategi för att testa minnet följande: Skriv en cell med en noll Skriv alla närliggande celler med en, en eller flera gånger kontrollera att den första cellen fortfarande har en noll. Det ska vara uppenbart att denna strategi kräver En exakt kunskap om hur minnescellerna läggs ut på chipet. Dessutom finns det ett oändligt antal möjliga chiplayouter för olika typer av chip och tillverkare som gör denna strategi opraktisk. Det finns emellertid testalgoritmer som kan approximera detta ideal. MemTest86 testalgoritmer MemTest86 använder två algoritmer som ger en rimlig approximation av den ideala teststrategin ovan. Den första av dessa strategier kallas rörliga inversioner. Det rörliga inversionstestet fungerar enligt följande: Fyll i minnet med ett mönster Börja med den lägsta adressen kontrollera att mönstret inte har ändrats skriv mönstren komplement öka adressadressrepetitionen Starta vid högsta adressen kontrollera att mönstret inte har ändrats skriv mönstren komplementa minskning adressrepetitionen Denna algoritm är en bra approximation av ett idealminneprov, men det finns några begränsningar. De flesta högdensitetschips idag lagrar data 4 till 16 bitars breda. Med marker som är mer än en bit bred är det omöjligt att selektivt läsa eller skriva bara en bit. Det betyder att vi inte kan garantera att alla intilliggande celler har testats för interaktion. I det här fallet är det bästa vi kan göra med att använda några mönster för att försäkra att alla intilliggande celler åtminstone har skrivits med alla möjliga en och nollkombinationer. Det kan också ses att cachning, buffring och out of order execution kommer att störa den rörliga inversionsalgoritmen och göra mindre effektiv. Det går att stänga av cacheminnet, men minnesbufferten i nya högpresterande chips kan inte inaktiveras. För att ta itu med denna begränsning skapades en ny algoritm som jag kallade Modulo-X. Denna algoritm påverkas inte av cache eller buffring. Algoritmen fungerar enligt följande: För att starta offsets med 0 - 20 skriver du var 20: e plats med ett mönster skriv alla andra platser med mönstren komplement upprepning över en eller flera gånger kolla var 20: e plats för mönstret Denna algoritm når nästan samma nivå adjacency testning som rörande inversioner men påverkas inte av caching eller buffring. Eftersom separata skrivpass (1a, 1b) och läspasset (1c) görs för hela minnet kan vi vara säkra på att alla buffertar och cacheminne har blivit spolade mellan passager. Urvalet av 20 som stridstorleken var något godtyckligt. Större framsteg kan vara mer effektiva men skulle ta längre tid att genomföra. Valet av 20 verkade vara en rimlig kompromiss mellan hastighet och grundighet. Individuella testbeskrivningar MemTest86 utför en serie numrerade testavsnitt för att kontrollera om fel uppstår. Dessa testavsnitt består av en kombination av testalgoritm, datamönster och cache-inställning. Exekveringsordern för dessa test var ordnade så att fel upptäcktes så snabbt som möjligt. En beskrivning av var och en av testsektionerna följer: Test 0 Adresstest, walking ones, no cache Testa alla adressbitar i alla minnesbanker genom att använda ett walking-adressmönster. Test 1 Adresstest, egen adress, sekvensiell Varje adress är skriven med sin egen adress och kontrolleras sedan för konsekvens. I teorin borde tidigare tester ha fångat problem med minnesadresser. Detta test bör fånga adressfel som på något sätt inte upptäcktes tidigare. Detta test görs i följd med varje tillgänglig CPU. Test 2 Adresstest, egen adress, Parallellt Samma som test 1, men testningen görs parallellt med alla CPU: er och använder överlappande adresser. Test 3 Flytta inversioner, onesampzeros, Parallel Detta test använder algoritmen för rörelseinversioner med mönster av alla och nollor. Cachen är aktiverad trots att den stör en viss grad med testalgoritmen. Med cachemottagning tar detta test inte lång tid och bör snabbt hitta alla hårda fel och lite mer subtila fel. Detta görs parallellt med alla processorer. Test 4 Flytta inversioner, 8 bitars mönster Detta är detsamma som test 3 men använder ett 8-bitars stort mönster av att gå och nollor. Detta test kommer bättre att upptäcka subtila fel i stora minneskretsar. Test 5 Flytta inversioner, slumpmönster Test 5 använder samma algoritm som test 4 men datamönstret är ett slumptal och dess komplement. Detta test är särskilt effektivt för att hitta svårt att upptäcka datakänsliga fel. Slumptalsekvensen är annorlunda med varje pass så flera passerar ökar effektiviteten. Test 6 Block move, 64 moves Detta test spänner på minne med hjälp av block move (movsl) instruktioner och bygger på Robert Redelmeiers burnBX test. Minne initieras med växlande mönster som inverteras var 8: e byte. Sedan flyttas 4 MB minneblock med Movsl-instruktionen. När rörelserna är färdiga kontrolleras datormönstren. Eftersom uppgifterna är kontrollerade först efter det att minnesförflyttningarna är färdiga är det inte möjligt att veta var felet inträffade. De rapporterade adresserna är endast för var det dåliga mönstret hittades. Eftersom rörelserna är begränsade till ett 8mb segment av minne kommer den misslyckade adressen alltid att vara mindre än 8mb bort från den rapporterade adressen. Fel från detta test används inte för att beräkna BadRAM-mönster. Test 7 Flytta inversioner, 32 bitars mönster Detta är en variant av den rörliga inversionsalgoritmen som skifter datamönstret kvar en bit för varje successiv adress. Startbitpositionen skiftas åt vänster för varje passage. För att använda alla möjliga datamönster krävs 32 pass. Detta test är ganska effektivt för att upptäcka datakänsliga fel men körtiden är lång. Test 8 Slumpmässig talföljd Detta test skriver en serie slumpmässiga tal i minnet. Genom att nollställa fröet för slumpmässigt tal kan samma sekvens av nummer skapas för en referens. Det ursprungliga mönstret kontrolleras och kompletteras sedan och kontrolleras igen på nästa pass. I motsats till de rörliga inversionerna kan testskrivning och kontroll endast utföras i framåtriktningen. Test 9 Modulo 20, Slumpmässigt mönster Med hjälp av Modulo-X-algoritmen borde upptäckas fel som inte detekteras genom att flytta inversioner på grund av cache och buffertinterferens med algoritmen. Test 10 bit fade test, 2 mönster Bit fade test initierar hela minnet med ett mönster och sover sedan i några minuter. Då undersöks minnet för att se om några minnesbitar har ändrats. Alla och alla nollmönster används. Test 11 Slumpmässig talföljd, 64-bit Detta test är detsamma som Test 8, men inbyggda 64-bitars instruktioner används. Test 12 Slumpmässig talföljd, 128-bit Detta test är detsamma som Test 8, men inbyggda SIMD (128-bitars) instruktioner används. Rörhammarprovet avslöjar en grundläggande defekt med RAM-moduler 2010 eller senare. Denna fel kan leda till störningsfel när man upprepade gånger når adresser i samma minnesbank men olika rader på kort tid. Den upprepade öppningsförslutningen av rader orsakar laddningsläckage i angränsande rader, vilket kan orsaka bitar att vända på. Dessa testhammare rader genom att alternativt läsa två adresser på ett upprepat sätt och sedan verifiera innehållet i andra adresser för störningsfel. För mer information om DRAM störningsfel, se Flipping bitar i minnet utan att komma åt dem: En experimentell studie av DRAM störningsfel av Yoongu Kim et al. Med utgångspunkt från MemTest86 v6.2 utförs potentiellt två passager i radhammarprovning. På första passet hamnar adressparen i högsta möjliga takt. Om fel upptäcks på första passet rapporteras fel inte omedelbart och ett andra pass startas. I detta pass hammas adressparen till en lägre takt som anses vara värsta fallet av minnesleverantörer (200K åtkomst per 64ms). Om fel också upptäcks i detta pass, rapporteras felen till användaren som vanligt. Om endast det första passet skapar ett fel visas ett varningsmeddelande istället för användaren. Tillbaka till början Återställ diskutrymme på en flash-enhet Vi har haft några användare undrar hur du får tillbaka utrymmet på en USB-enhet när de har slutat använda MemTest86. Problemet härrör från det faktum att Windows Disk Management-funktionen inte tillåter att torka eller re-partitionera USB-flashenheter. Du kan hitta de steg som behövs för att omformatera en USB-flash-enhet till full kapacitet här. Hjälp förbättra MemTest86 Vi letar alltid efter sätt att förbättra MemTest86 för våra användare. Vänligen skicka generella förslag till att översätta MemTest86 till ditt språk Eftersom MemTest86 v6 har vi lagt till support för att tillåta användaren att välja språk som ska användas i MemTest86. För närvarande stöds följande språk: Om ditt språk inte är tillgängligt för val, eller vill generellt tillhandahålla översättningar till fördel för andra användare, kan du hämta följande strängfil som innehåller alla strängar i programmet. Följ anvisningarna i filen om hur du tillhandahåller översättningar för texten. Eventuell översatt text som vi får kan inkluderas i nästa version av MemTest86, med lämplig kredit som ges.

Comments

Popular posts from this blog

Hull glidande medelvärde vs jurik

Helst vill du att en filtrerad signal ska vara både smidig och lagfri. Lag orsakar förseningar i dina affärer, och ökad fördröjning i dina indikatorer resulterar vanligtvis i lägre vinster. Med andra ord, sena komnar får vad som är kvar på bordet efter att festet redan har börjat. Det är därför som investerare, banker och institutioner världen över frågar efter Jurik Research Moving Average (JMA). Du kan ansöka det precis som du skulle ha något annat populärt glidande medelvärde. Men JMAs förbättrade timing och jämnhet kommer att förbluffa dig. Den ihåliga grå linjen i diagrammet simulerar prisåtgärder som börjar i ett lågt handelsintervall och sedan luckor till ett högre handelsintervall. Eftersom ingen gillar att vänta på sidled, kommer ett perfekt ljudreducerande filter (grön linje) att röra sig smidigt längs mitten av det första handelsområdet och sedan hoppa till mitten av det nya handelsområdet nästan omedelbart. channelbreakoutatr. mq4 channelbreakoutbasic. mq4 ZigZagTriad. mq4 ...