Decimalberäkning: när CPU:er inte beräknar binärt

när processorer inte beräknar i binär

Vi associerar bas 2 eller binär kod med datorerna som vi använder dagligen genom att behandla dessa med digitala och icke-analoga signaler, men i databehandlingens historia har det funnits processorer med möjlighet att arbeta med bas 10-nummer som vi gör. Naturligt sätt. Vad används decimalberäkning till och vad kännetecknar denna typ av processor?

Decimalberäkning består av processorer med förmåga att använda siffror i bas 10, och därmed deras värden lagras i signifikatorer från 0 till 9 istället för från 0 till 1. Trots att representationssystemet Binary är tillräckligt bra för vardagsliv, så är detta inte alltid fallet och det finns applikationer där det är nödvändigt för en processor att kunna fungera i bas 10.

Varför är decimalberäkning nödvändig?

Computación financiera decimal

När det gäller decimalberäkning gäller samma sak som vid vetenskaplig beräkning där 64-bitars flytande punktenheter krävs, eftersom mindre användning kan ge felaktiga resultat med katastrofala konsekvenser både ekonomiskt och inom experimentområdet.

Inom hårdvaruområdet är ju mer komplex en representation är när det gäller antalet transistorer för att representera den, det är också komplext att arbeta med den. Det är därför som vi talar om ett specifikt precisionssystem, mer exakta numeriska representationssystem används i datorer när de representerar och använder dessa värden för att få den nödvändiga precisionen.

Servicios finncieros computación decimal

Tja, det finns en rad applikationer, särskilt relaterade till finans, e-handel och vissa webbtjänster som behandlar data som kräver precision för en enhet som kan arbeta direkt med decimalvärden, antingen i flytande punkt eller i heltal. Och du kanske har gissat att på grund av marknaderna för samma applikationer talar vi om mycket specifika sektorer som använder CPU: er för servrar.

Vilka är det binära systemets begränsningar? Om vi ​​tar det konventionella binära flytande punktsystemet kommer vi att se att till exempel om vi vill representera något så enkelt som 0.1 i binärt kommer vi att behöva en återkommande binär fraktion som tenderar till oändlighet. Å andra sidan, om vi gör det med ett decimalsystem, kan vi representera det som en enkel bråkdel av 1/10. Tänk ett ögonblick vad som skulle hända på finansmarknaden om siffrorna på grund av bristande precision inte stämmer.

Binärt och decimaltal på samma CPU

CPU-rendering

Ren decimalberäkning förekommer inte i processorer idag, inte ens i servern. Detta beror på att basen i vilken en dator fungerar mycket bra definierar hur inte bara dess exekveringsenheter behandlar data, utan också hur instruktioner avkodas och hur systemets RAM minne öppnas. Med andra ord skulle vi möta ett helt annat system och vars kod inte alls skulle vara kompatibel.

Det är därför som standard har följande regler tilldelats för att kombinera kraften att arbeta i binär och decimal:

  • Kodningen av instruktionerna görs alltid i binär
  • Data lagras i binär eller decimal efter behov.
  • Varje datatyp i bas eller typ, flytpunkt eller heltal, drivs av en annan typ av enhet.
  • Minnesadresseringen görs alltid i binär, för att undvika åtkomstkonflikter och för att CPU: n måste arbeta med två olika mellanslag.

Detta görs för att få en universell styrenhet som ansvarar för att fånga och avkoda instruktionerna. I slutändan är det vi är intresserade av att kunna arbeta med siffror i bas 10 och inte hur.

System binario

Lite och smått började det binära systemet att standardiseras i datorprocessorer eftersom det var det enklaste och enklaste att implementera, eftersom det krävde färre transistorer. Detta förflyttade användningen av decimalberäkning till specifikt specialiserade enheter som är utformade för att fungera på det sättet eller till enkla instruktioner för omvandling av binär till decimal.

Med andra ord kan datorer fungera med decimaltal och ännu mer abstrakta begrepp som komplexa och imaginära tal. Naturligtvis kräver att göra en processor som fungerar i binär betydligt mindre komplikationer än att göra en decimal från noll. Och det är att de bäst designade systemen skala från det enklaste, vilket inte är annat än att arbeta i binär.

Finns inte på surfplattor eller PC

Finanzas surfplatta

Decimalenheter har inte varit vanliga i PC -processorerna som vi använder i vårt dagliga liv, men i en stor mängd sektorer är det nödvändigt att använda enheter som kan arbeta i bas 10 i hög hastighet för att utföra sina beräkningar. I verkligheten var de första datorerna utformade för att fungera med decimalnummer, eftersom dessa ännu inte var digitala, men analoga, och de var de elektroniska versionerna av de första mekaniska räknarna.

För närvarande nr CPU arkitektur med både ISA ARM och x86 har hårdvaran som gör att de kan arbeta med inbyggda 10-tal, men de innehåller några instruktioner som gör det möjligt att konvertera data skrivet i decimal till binärt med en avvägning och det är förlusten av precision i data, så x86-processorerna vi användning i våra datorer är inte giltig för vissa applikationer och vissa marknader.

Hur är detta möjligt om många på PC arbetar med redovisningsprogram till exempel dagligen? Förklaringen är att den precision de kräver för att arbeta inte kräver en enhet som arbetar direkt med decimaler och dessa applikationer använder konverteringsinstruktionerna i ISA för både PC och surfplatta för att utföra sitt arbete.

IBM är drottningen av decimalberäkning

ibm power10

Det äldsta företaget i hårdvaruvärlden är det inte Intel, men IBM. Historiskt företag i datavärlden som alltid har haft stora kontrakt med de stora bankerna i USA sedan 1950 -talet. Sedan dess har dess huvudramar med förmåga att arbeta med decimaltal bokfört poster och olika bankverksamheter och finansiella, alla opererade på en bas 10.

Det är därför den ursprungliga blå jättens avsedda processorer för storskalig användning inkluderar specialiserade enheter för decimalberäkning även idag. Utan att gå längre har POWER -processorerna under de senaste generationerna inkluderat en enhet med förmåga att arbeta med decimaler, och utan att lämna International Business Machines har vi deras System Z10 som utgör en enhet av denna typ.

Så bank- och finanssystemet i Europa och USA har blivit en extremt lukrativ marknad för den blå jätten under de senaste decennierna, ett fall som liknar Fujitsu i Japan att det med sina ISA SP ARC -processorer, uppfunnet av Sun Microsystems, har varit drottningen i flera år på bankerna i det japanska landet och fortsätter att vara det även idag.