Varför inte ternära datorer?

Författare: Roger Morrison
Skapelsedatum: 22 September 2021
Uppdatera Datum: 10 Maj 2024
Anonim
Varför inte ternära datorer? - Teknologi
Varför inte ternära datorer? - Teknologi

Innehåll



Källa: Linleo / Dreamstime.com

Hämtmat:

Ternär beräkning bygger på tre-tillstånd “trits” snarare än två-state bitar. Trots detta systems fördelar används det sällan.

Stek: "Bender, vad är det?"

Bender: ”Ahhh, vilken hemsk dröm. Ringar och nollor överallt ... och jag trodde att jag såg en två! ”

Fry: ”Det var bara en dröm, Bender. Det finns inget som två. "

Alla som är bekanta med digital databehandling känner till nollor och sådana - inklusive karaktärer i "Futurama" -tecknad film. Nollor och sådana är byggstenarna i det binära språket. Men inte alla datorer är digitala, och ingenting säger att digitala datorer måste vara binära. Vad händer om vi använde ett bas-3-system istället för bas-2? Kan en dator tänka på en tredje siffra?


Som datavetenskapessayist Brian Hayes konstaterade: ”Folk räknar med tiotals och maskiner räknas med två.” Några modiga själar har vågat överväga ett ternärt alternativ. Louis Howell föreslog programmeringsspråket TriINTERCAL med bas-3-numreringssystemet 1991. Och ryska innovatörer byggde ett par dussin bas-3-maskiner för över 50 år sedan. Men av någon anledning fångades inte numreringssystemet i den bredare datorvärlden.

En titt på matematiken

Med tanke på det begränsade utrymmet här kommer vi bara att beröra några matematiska idéer för att ge oss lite bakgrund. För en mer djupgående förståelse av ämnet, titta på Hayes utmärkta artikel "Third Base" i Nov / Dec 2001-numret av American Scientist.

Låt oss nu titta på villkoren. Du har antagligen plockat upp nu (om du inte redan visste) att ordet "ternary" har att göra med nummer tre. I allmänhet består något som är ternärt av tre delar eller uppdelningar. En ternär form i musik är en sångform bestående av tre avsnitt. I matematik betyder ternär att använda tre som bas. En del människor föredrar ordet trinär, kanske för att det rimmar med binärt.


Jeff Connelly täcker ytterligare några termer i sitt papper från 2008 ”Ternary Computing Testbed 3-Trit Computer Architecture.” En ”trit” är den ternära ekvivalenten till lite. Om en bit är en binär siffra som kan ha ett av två värden, är en trit en ternär siffra som kan ha något av tre värden. En trit är en bas-3-siffrig. En "tryte" skulle vara 6 trits. Connelly (och kanske ingen annan) definierar en "stam" som en halv trit (eller en bas-27-siffra) och han kallar en bas-9-siffran en "nit." (För mer information om datamätning, se Förstå bitar, Bytes och deras multiplar.)

Inga buggar, ingen stress - din steg-för-steg-guide för att skapa livsförändrad programvara utan att förstöra ditt liv


Du kan inte förbättra dina programmeringsfärdigheter när ingen bryr sig om mjukvarukvalitet.

Allt kan bli lite överväldigande för matematiska lekmän (som jag själv), så vi ska bara titta på ett annat koncept som hjälper oss att få tag på siffrorna. Ternär beräkning handlar om tre diskreta tillstånd, men själva ternära siffrorna kan definieras på olika sätt enligt Connelly:

  • Obalanserad trinary - {0, 1, 2}
  • Fraktionerad obalanserad trinary - {0, 1/2, 1}
  • Balanced Trinary - {-1, 0, 1}
  • Okänd statuslogik - {F,?, T}
  • Trinary Coded Binary - {T, F, T}

Ternary Computers in History

Det finns inte mycket att täcka här eftersom, som Connelly uttryckte, ”Trinsteknik är relativt outforskat territorium inom datorarkitekturområdet.” Även om det kan finnas en dold skatt av universitetsforskning i ämnet, har inte många bas-3-datorer gjort det till produktion. Vid Hackaday Superconference 2016 höll Jessica Tank ett föredrag på den ternära datorn som hon arbetat med under de senaste åren. Huruvida hennes ansträngningar kommer att stiga från otydlighet återstår att se.

Men vi hittar lite mer om vi ser tillbaka till Ryssland i mitten av 20th århundrade. Datorn hette SETUN och ingenjören var Nikolay Petrovich Brusentsov (1925–2014). I samarbete med den kända sovjetiska matematikern Sergei Lvovich Sobolev skapade Brusentsov ett forskarteam vid Moskva State University och designade en ternär datorarkitektur som skulle resultera i byggandet av 50 maskiner. Som forskaren Earl T. Campbell uttalar på sin webbplats, var SETUN "alltid ett universitetsprojekt, inte fullt ut godkänt av den sovjetiska regeringen, och betraktades misstänkt av fabriksledningen."

Fallet för ternary

SETUN använde balanserad ternär logik, {-1, 0, 1}, som ovan nämnts. Det är den vanliga metoden för ternary, och det finns också i Jeff Connelly och Jessica Tank. "Kanske är det vackraste nummersystemet av alla en balanserad ternär notation," skriver Donald Knuth i ett utdrag från sin bok "The Art of Computer Programming."

Brian Hayes är också ett stort fan av ternary. ”Här vill jag erbjuda tre skål för bas 3, det ternära systemet. ... De är Goldilocks-valet mellan numreringssystem: När bas 2 är för liten och bas 10 är för stor, är bas 3 helt rätt. ”

Ett av Hayes argument för dygderna till base-3 är att det är det närmaste numreringssystemet till base-e, "basen för de naturliga logaritmerna, med ett numeriskt värde på cirka 2,718." Med matematisk förmåga förklarar essayisten Hayes hur base-e (om det var praktiskt) skulle vara det mest ekonomiska numreringssystemet. Det är allestädes närvarande i naturen. Och jag kommer tydligt ihåg dessa ord från Mr. Robertson, min gymnasielärare i kemi: "Gud räknas av e."

Den högre effektiviteten av ternär jämfört med binär kan illustreras med SETUN-datorn. Hayes skriver: ”Setun arbetade med siffror som består av 18 ternära siffror eller trits, vilket ger maskinen ett numeriskt intervall på 387 420 489. En binär dator skulle behöva 29 bitar för att nå denna kapacitet…. ”

Så varför inte ternär?

Nu återgår vi till den ursprungliga frågan om artikeln. Om ternary computing är så mycket effektivare, varför använder vi inte alla dem? Ett svar är att saker och ting inte hände så. Vi har kommit så långt inom binär digital datoranvändning att det skulle vara ganska svårt att vända tillbaka.Precis som roboten Bender har ingen aning om hur man räknar utöver noll och en, fungerar dagens datorer på ett logiksystem som skiljer sig från vad någon potentiell ternär dator skulle använda. Naturligtvis kan Bender på något sätt göras förstå ternary - men det skulle förmodligen vara mer som en simulering än en ny design.

Och SETUN själv insåg inte den högre effektiviteten i ternär, enligt Hayes. Han säger att eftersom varje trit lagrades i ett par magnetiska kärnor "försvann den ternära fördelen." Det verkar som att implementeringen är lika viktig som teorin.

En utökad offert från Hayes verkar lämplig här:

Varför misslyckades inte bas 3? En enkel gissning är att pålitliga enheter med tre tillstånd bara inte fanns eller var för svåra att utveckla. Och när den binära tekniken blev etablerad, skulle den enorma investeringen i metoder för att tillverka binära chips ha överväldigat någon liten teoretisk fördel med andra baser.

Framtidens numreringssystem

Vi har pratat om bitar, men har du hört talas om bitar? Det är den föreslagna måttenheten för kvantberäkning. Matten blir lite luddig här. En kvantbit, eller kvbit, är den minsta enheten för kvantinformation. En kvbit kan finnas i flera tillstånd på en gång. Så även om det kan representera mer än bara de två binära tillstånden, är det inte riktigt detsamma som ternär. (För att lära dig mer om kvantberäkning, se Varför kvantberäkning kan vara nästa sväng på Big Data Highway.)

Och du tyckte att binär och ternär var svår! Kvantfysik är inte intuitivt uppenbar. Den österrikiska fysikern Erwin Schrödinger erbjöd ett tankeexperiment, känd som Schrödingers katt. Du blir ombedd att anta ett scenario där katten är både levande och död samtidigt.

Det är här som vissa tar sig ur bussen. Det är löjligt att föreslå att en katt kan vara både levande och död, men det är kärnan i kvantens superposition. Kvantmekanikens huvuddel är att objekt har egenskaper hos både vågor och partiklar. Datavetare arbetar för att dra fördel av dessa egenskaper.

Superpositionen av qubits öppnar en ny värld av möjligheter. Kvantdatorer förväntas vara exponentiellt snabbare än binära eller ternära datorer. Parallelliteten i flera qubit-tillstånd kan göra en kvantdator miljontals gånger snabbare än dagens PC.

Slutsats

Fram till den dag som kvantberäkningsrevolutionen förändrar allt, kommer status quo för binär databehandling att förbli. När Jessica Tank frågades vilka användningsfall som skulle kunna uppstå för ternär datorankomst, stönade publiken efter att ha hört en hänvisning till ”tingenes internet.” Och det kan vara frågan om saken. Om inte datorsamhället enas om en mycket god anledning att uppröra äppelvagnen och ber sina datorer räkna i tre tre i stället för två, kommer robotar som Bender fortsätta att tänka och drömma i binär. Samtidigt är åldern för kvantberäkning strax bortom horisonten.