Hur man klona en hårddisk
I den moderna digitala tidsåldern, där data är en värdefull tillgång, kan kloning av en hårddisk på Windows vara en avgörande process för många. Denna omfattande guide
Varje processorinstruktion har flera steg i sin funktion. Var och en av dessa steg tar en enda CPU-cykel att slutföra. Dessa steg är Instruktionshämtning, Instruktionsavkodning, Execute, Minnesåtkomst och Writeback. Dessa får respektive instruktion som behöver slutföras, separerar operationen från de värden som opereras på, kör processen, öppnar registret som resultatet ska skrivas på och skriver resultatet till det öppnade registret.
Historiska processorer i ordning
I tidiga datorer använde inte CPU:n en instruktionspipeline. I dessa CPU:er behövde varje encykeloperation ske för varje instruktion. Detta innebar att det tog fem klockcykler för den genomsnittliga instruktionen att bearbetas helt innan nästa kunde startas. Vissa operationer behöver kanske inte skriva ut något resultat till ett register, vilket innebär att minnesåtkomst- och återskrivningsstegen kan hoppas över.
I en subskalär processor utan pipeline exekveras varje del av varje instruktion i ordning.
Det finns dock ett problem när man kör en komplett instruktion i ordning innan man kan gå vidare till nästa instruktion. Problemet är cachemissen. CPU:n lagrar data som den aktivt bearbetar i registret. Detta kan nås med en en-cykels latens. Problemet är att registret är litet eftersom det är inbyggt i processorkärnan. CPU:n måste gå till den större men långsammare L1-cachen om data inte redan har laddats. Om den inte finns där måste den gå till den större och långsammare L2-cachen igen. Nästa steg är L3-cachen; det sista alternativet är systemets RAM. Vart och ett av dessa alternativ tar fler och fler CPU-cykler att kontrollera.
Nu kan denna extra tillagda latens vara ett stort problem i ett system som måste slutföra varje instruktion i sin ordning innan nästa instruktion påbörjas. Det som hade varit en 5-cykel per instruktionsprocessor, kan plötsligt hänga på en instruktion under dussintals eller hundratals klockcykler. Hela tiden kan inget annat hända på datorn. Tekniskt sett kan detta lindras något genom att ha två oberoende kärnor. Inget hindrar dem båda från att göra samma sak, potentiellt samtidigt. Så att gå längs med flera kärnor fixar inte detta.
Den klassiska RISC Pipeline
RISC står för Reduced Instruction Set Computer . Det är en processordesign som optimerar prestandan genom att göra avkodningen av varje instruktion enklare. Detta är i jämförelse med CISC eller Complex Instruction Set Computer, som designar mer komplexa instruktionsuppsättningar som tillåter färre instruktioner att behövas för att utföra samma uppgifter.
Den klassiska RISC-designen inkluderar en instruktionspipeline. Istället för att köra något av de fem instruktionsstegen i en given cykel, tillåter pipelinen att alla fem stegen utförs. Naturligtvis kan du inte köra alla fem stegen i en instruktion i en cykel. Men du kan köa fem på varandra följande instruktioner med en förskjutning på ett steg vardera. På så sätt kan en ny instruktion slutföras varje klockcykel. Erbjuder en potentiell 5x prestandaökning för en relativt låg ökning av kärnkomplexiteten.
I en skalär pipelined processor kan varje steg i en instruktioners exekvering utföras en gång per klockcykel. Detta tillåter en maximal genomströmning av en avslutad instruktion per cykel.
Processorer som inte har en pipeline kan bara vara sub-skalära, eftersom de inte kan utföra en komplett instruktion per cykel. Med denna primära femstegspipeline kan du skapa en skalär CPU som kan slutföra en instruktion för varje process. Genom att skapa ännu mer långtgående pipelines kan du göra superskalära processorer som kan exekvera mer än en instruktion per klockcykel. Naturligtvis finns det fortfarande potentiella problem.
Fortfarande sekventiell
Inget av detta löser problemet med att vänta i många cykler på ett svar när man behöver fråga de olika nivåerna av cache och RAM. Det introducerar också ett nytt problem. Vad händer om en instruktion förlitar sig på resultatet från den föregående instruktionen? Dessa problem löses självständigt med en avancerad dispatcher. Den planerar noggrant utförandeordningen så att inga instruktioner som förlitar sig på en annans utdata är för nära varandra. Den hanterar också cachemissar genom att parkera en instruktion och ersätta den i pipeline med andra instruktioner som är redo att köras och som inte kräver dess resultat, och återupptar instruktionen när den är klar.
Dessa lösningar kan fungera på unpipelined processorer, men de krävs för en superskalär processor som kör mer än en instruktion per klocka. En grenprediktor är också mycket användbar eftersom den kan försöka förutsäga resultatet av en instruktion med mer än ett potentiellt utfall och fortsätta att anta att det är korrekt om inte annat bevisas.
Slutsats
En pipeline gör att alla processorns distinkta funktioner kan användas i varje cykel. Den gör detta genom att köra olika stadier av olika instruktioner samtidigt. Detta tillför inte ens mycket komplexitet till CPU-designen. Det banar också väg för att tillåta mer än en instruktion att utföra ett enda steg per cykel.
I den moderna digitala tidsåldern, där data är en värdefull tillgång, kan kloning av en hårddisk på Windows vara en avgörande process för många. Denna omfattande guide
Står du inför felmeddelandet när du startar din dator som säger att drivrutinen WUDFRd inte kunde laddas på din dator?
Upplever du NVIDIA GeForce-felkod 0x0003 på ditt skrivbord? Om ja, läs bloggen för att hitta hur du åtgärdar det här felet snabbt och enkelt.
Lär dig vad som är SMPS och innebörden av olika effektivitetsklasser innan du väljer en SMPS för din dator.
Få svar på frågan Varför slås inte min Chromebook på? I den här användbara guiden för Chromebook-användare.
Lär dig hur du rapporterar en bedragare till Google för att hindra dem från att lura andra med den här guiden.
Åtgärda ett problem där din Roomba robotdammsugare stannar, fastnar och fortsätter att vända sig om.
Steam Deck erbjuder en robust och mångsidig spelupplevelse precis vid dina fingertoppar. Dock för att optimera ditt spelande och säkerställa bästa möjliga
Vi skulle fördjupa oss i ett ämne som blir allt viktigare i världen av cybersäkerhet: isoleringsbaserad säkerhet. Detta förhållningssätt till
Idag skulle jag fördjupa dig i ett verktyg som kan automatisera repetitiva klickuppgifter på din Chromebook: Auto Clicker. Detta verktyg kan spara tid och