Rekenen instructies in microprocessoren worden uitgevoerd door de Arithmetic Logic Unit ( ALU ) . De ALU voert meestal drie typen rekenkundige instructies : integer rekenkundige bewerkingen , zoals optellen, aftrekken , en soms vermenigvuldigen en delen ; bitwise logische bewerkingen zoals AND , NOT , OR en XOR , en bit -shifting operaties . De meeste moderne microprocessors hoeft ook floating point wiskundige bewerkingen . Deze worden gewoonlijk door een ander deel van de computer zogenaamde floating -point unit ( FPU ) . Exponentiële of trigonometrische berekeningen in de meeste microprocessoren worden bereikt met behulp van software library routines . Bitwise Logic Operations Bitsgewijze logica werkt op een of twee bits patronen of binaire cijfers als afzonderlijke bits . Een NOT-bewerking uitvoert logische negatie op elke bit : 0 wordt 1 , en vice versa . Een OR operatie duurt twee bitpatronen van gelijke lengte , overeen komt corresponderende bits ( de eerste van de , de seconde per , enz. ) , en voert een OF-bewerking op elk paar . Het resultaat van elk is 1 als de eerste bit is 1 of de tweede bit 1 is , anders het resultaat nul . Een XOR operatie duurt twee bit patronen van gelijke lengte en voert de XOR operatie op elk paar . Het resultaat van elk is 1 als de twee bits verschillend zijn en 0 indien hetzelfde . Een AND operatie duurt twee binaire representaties van gelijke lengte en voert de AND operatie op elk paar . Het resultaat van elk is 1 als de eerste bit is 1 en de tweede bit is 1 . Bit -shifting Operations Bit -shifting werkt op het gehele cijfer in plaats op individuele bits. De cijfers worden verplaatst of verschoven , met een gespecificeerd aantal bits naar links of rechts . Verschuivingen kunnen vermenigvuldigingen door 2 en divisies worden door 2 . Registers in een microprocessor een vast aantal bits voor het opslaan van cijfers , zodat sommige bits kunnen worden verschoven voorbij het " einde" van het register . Diverse soorten verschuivingen verschillen in hoe ze omgaan met de bits verschoven voorbij het einde . Met de rekenkundige verschuiving , stukjes die bewegen voorbij het einde verdwijnen . Met een links rekenkundige verschuiving , worden nieuwe ruimtes gevuld met nul . Met een juiste rekenkundige verschuiving , worden nieuwe ruimtes gevuld met de teken-bit . Fixed Point Operations Reële getallen zijn vertegenwoordigd in microprocessoren in een van twee manieren : vast punt of floating point . Vast punt plaatst een punt ergens in het midden van de cijfers , zoals integers dat gedeelten van een eenheid vormen . Bijvoorbeeld , als je vier decimale cijfers kon je 1/100ths van een eenheid vormen zo 10.82 of 00.01 . Met fixed-point , kunt u niet vertegenwoordigen zeer grote of zeer kleine aantallen omdat er een " vast raam " van de vertegenwoordiging . Fixed- point operaties zijn ook minder nauwkeurig wanneer het verdelen grote aantallen . Floating Point Operations Floating point vertegenwoordigt reële getallen in wetenschappelijke notatie , als een basis -nummer en een exponent . Bijvoorbeeld , kon je 123.456 vertegenwoordigen 1,23456 --- 102 . Floating point maakt gebruik van een ' sliding window " van precisie aangepast aan de omvang van het aantal .
|