|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Hårdvara
  • Allt-i - ett-skrivare
  • Apple Computers
  • BIOS
  • CD & DVD drives
  • Processorer
  • Computer Drives
  • Bildskärmar
  • Kringutrustning
  • Datorkraft Källor
  • dator Skrivare
  • Computer uppgraderingar
  • Stationära datorer
  • Elektronisk bok läsare
  • Externa hårddiskar
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • Bärbara datorer
  • stordatorer
  • Möss & tangentbord
  • Netbooks
  • Network Equipment
  • Nook
  • bärbara datorer
  • Övrigt Hårdvara
  • PC Computers
  • projektorer
  • RAM , kort och moderkort
  • skannrar
  • Servrar
  • Ljudkort
  • Tablet PC
  • grafikkort
  • arbetsstationer
  • iPad
  • iPhone
  • * Dator Kunskap >> Hårdvara >> Processorer >> Content

    Vad händer om två processorer försöker komma åt det globala minnet på exakt samma ögonblick?

    När två processorer försöker få tillgång till samma plats i globalt minne på samma ögonblick, ett race -tillstånd inträffar. Resultatet beror helt på systemets minnesarkitektur och hur det hanterar samtidig åtkomst. Det finns flera möjligheter:

    * odefinierat beteende: Detta är det värsta fallet. Resultatet av minnesåtkomst är oförutsägbart. En processors skrivning kan skriva över den andra, eller delar av båda kan vara sammanflätade, vilket leder till skadade data. Det finns ingen garanti för vilken processors operation som kommer att lyckas eller hur uppgifterna kommer att påverkas. Detta är vanligt i system utan någon minnesåtkomstsynkroniseringsmekanismer.

    * Datakorruption: En processors skrivning kan skriva över de data som skrivs av den andra processorn, vilket resulterar i förlorade data eller felaktiga värden. Detta är ett mycket vanligt resultat om det inte finns någon synkronisering.

    * godtyckligt resultat: Systemets hårdvara eller operativsystem kan välja en processors åtkomst för att lyckas och det andra att misslyckas, eller det kan kombinera operationerna på ett oväntat sätt. Resultatet är inte deterministiskt.

    * Hårdvaranivå Arbitration: Vissa arkitekturer kan ha hårdvarumekanismer (som en busarbiter) som prioriterar en processor framför den andra. Detta introducerar ett icke-deterministiskt element, eftersom prioriteringen kan variera beroende på olika faktorer.

    * Undantag/fel: Systemet kan upptäcka konflikten och höja ett undantag eller fel, potentiellt stoppa körningen eller få programmet att krascha. Detta är dock inte garanterat; Många system tillåter helt enkelt tävlingsvillkoret att fortsätta utan anmälan.

    För att förhindra dessa problem måste programmerare använda synkroniseringsmekanismer. Dessa mekanismer upprätthåller beställning av minnesåtkomst, vilket förhindrar rasförhållanden. Exempel inkluderar:

    * mutexes (ömsesidig uteslutning): Endast en processor kan hålla mutex vid en viss tidpunkt och förhindra samtidig tillgång till delade resurser.

    * Semaphores: Mer allmänt än mutexer, vilket möjliggör mer komplex kontroll av tillgången till delade resurser.

    * atomiska operationer: Operationer som garanteras att utföras atomiskt (som en enda, odelbar enhet), vilket förhindrar samtidig modifiering.

    * Minnesbarriärer/staket: Dessa verkställer beställning av minnesoperationer, vilket säkerställer att vissa operationer genomförs innan andra börjar.

    Kort sagt, samtidig tillgång till samma minnesplats utan korrekt synkronisering är ett allvarligt programmeringsfel som kan leda till oförutsägbart och opålitligt beteende. Robust programmering med flera processor kräver noggrant övervägande och implementering av synkroniseringstekniker.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur att hitta min CPU Hastighet
    ·Hur jämför och kontrasterar du pass1 pass2 assembler …
    ·Varför fungerar inte datorn utan minne?
    ·CPU-temperaturen Specs
    ·Hur många klockcykler kräver CPU för att agera på e…
    ·Hur skulle du beskriva CPU:s funktioner?
    ·Vad måste du kontrollera när du sätter in ett PGA CP…
    ·Vilken Intel CPU-socket har tagits ur bruk?
    ·Hur överför du gamla CPU -filer till ny CPU?
    ·Vad är syftet med CPU i datorn?
    Utvalda artiklarna
    ·Hur man rengör ventilerna på en iMac
    ·USB Power Vs . Extern ström
    ·Vilka är de två huvudtyperna av oavbruten strömförs…
    ·De snabbaste Retail Datorer
    ·Hur kan du kontrollera volymen utan att behöva trycka …
    ·Vad betyder intermittent ingångshastighetssensorkrets?…
    ·AMD Athlon Vs . Pentium Dual Core -processorer
    ·Vem skapade bildskannern?
    ·Hur du skannar med en Dell Allt-i - ett-skrivare
    ·Hard Disk rengöring programvara
    Copyright © Dator Kunskap https://www.dator.xyz