Huawei szabadalom: 3 komponensű logikai chip (-1,0,1) innovációja és hatása az informatikára és mindenre

A Huawei szabadalmaztatott olyan megoldást, ami nem a szokványos bináris alapokra épül. Ezt mint “ternary logic” azaz, jobb szót nem ismerve, talán mint  „ternáris logika” lehet lefordítani. Itt a legkisebb egység nem csak 0 és 1 értékekből áll, mint a megszokott bináris alap esetén, hanem a -1 is lehetséges érték.

Ebben a logikai rendszerben a -1 a nem, az 1 az igen, és 0, ha -1 és 1 is egyszerre.

A logikai ÉS (AND) művelet esetén fent a bináris, lent a ternáris eredmények.

Kép:

Bináris / Tenáris


Kép URL, ha nem működne: https://imgur.com/a/VAmOPtw

Az ilyen, ternális alapokra épült hardverek összetettebb műveleteket kevesebb lépésben képesek elvégezni.

Videó, amiből a képek származnak:

Technikaibb leírás:

Idézet ebből:

Logikai állapotok:

Háromállapotú rendszer, amely -1, 0 és +1 értékeket használ a bináris 0 és 1 helyett.

Feszültségtérképezés :

  1. A 0V logikai állapotot jelent ("0")
  2. Az 1,65 V a „+1” logikai állapotot jelöli.
  3. A 3,3 V a „-1” logikai állapotot jelöli

Teljesítménymutatók

A Huawei háromkomponensű logikai kapuja a következő újításoknak köszönhetően ért el áttörést a teljesítmény terén: Dinamikus energiafogyasztás-optimalizálás: A tranzisztorok száma 40%-kal csökkent, a dinamikus energiafogyasztás pedig a bináris áramkörökéhez képest 1/3-ra csökkent.

Hatékonyságnövelés

  • 40%-kal kevesebb tranzisztor szükséges a bináris rendszerekhez képest
  • 60%-os energiafogyasztás-csökkenés
  • 20%-kal rövidebb kritikus útvonali késleltetés az útvonal-párhuzamosítási kialakításnak köszönhetően
  • Információsűrűség előny : a decimális 128-as szám bináris ábrázolásban 8 bitet igényel, míg a ternáris csak 5 bitet.

Cikkek:


(Ai mentes tartalom, a hibákért én vagyok a felelős :-))

Hozzászólások

Ezt még megcsinálják néhány lépésben, és meg is érkeztünk az analóg elektronikához. Zseniális.

Szerkesztve: 2025. 10. 05., v – 11:56

Érdekes cucc, kiváncsi lennék az ehhez tartozó "bool algebrára", hogy minden műveletnek van-e fizikai megvalósítása és tényleg lehet processzort építeni belőle?

A fizika? :-) Úgy értem, hogy hatékonyan legyen megvalósítható nyilván. Nem tudom elképzelni hogy kell ilyet csinálni, mennyire volna hatékony. De mivel a bináris logikánál is csökkenteni érdemes a feszültséget, ezért van egy olyan érzésem, hogy nem jó ötlet a háromértékűség, mert a feszültség tartományt növelni kell, és akkor a fogyasztás jelentősen nőni fog. Ugye a megkülönböztethetőség miatt tegyük fel, hogy ugyanakkora feszültség-ugrás kell mint a mostani teljes feszültség. Azok a tranzisztorok, amik 0-2U között billegnek maximális sebességgel, azok brutális teljesítményt fognak felvenni, az azonos sebességgel billegő 0-U tartományon működő tranzisztorokhoz képest. Házi feladat a skálázódás mértékét kiszámolni!

A skálázódás a kedvenc kifejezésem. Egyből a szolfézs példatár és Enrico Caruso jut eszembe. ;) Magyarul inkább az arányosítható/arányos lenne a helyes, mintsem a betű szerinti tükorfordítás.

Szóval a brutális nem a korrekt szoró. :-D

Az U=>2U változás négyszeres változást szolmizál skálázás közben. Az arányosság négyzetes.

Mindközben az ugyanakkora szám ábrázolásához csak ~0,63-szor annyi bit kell.

Ezzel az egyszerű becsléssel 2,5-ször több teljesítmény kell. Ha sikerül csökkenteni a zavarérzékenységet <80%-ra, akkor nyert ügyünk van, miközben a kapcsolás egyszerűbb lesz.

A skálázódás a kedvenc kifejezésem. Egyből a szolfézs példatár és Enrico Caruso jut eszembe. ;) Magyarul inkább az arányosítható/arányos lenne a helyes, mintsem a betű szerinti tükorfordítás.

Angolul is ugyanezeket jelenti és nem csak zenei értelemben használják, lásd:

3. (műszaki nyelv) <Vmely készüléken, műszeren> számokban kifejezhető értékeket jelölő, fokokra beosztott táblázat.

További jelentések pl. itt.

Értem mire gondolt a költő, de eme műszaki kifejezést sokkszor rossz helyen és rosszul használják, mert divatos. Az értelmes használatnál van vertikális és horizontális skálázódás, de az qrvára nem fokokra beosztott táblázatról szól. ;) Inkább arányos változtatásról.

A bináris csipekre is igaz a fizika, de nem találtam kapcsolástecnikát a három szinrű logikára. Talán van még egyéb trükkjük is. A gyakorlati félvezetőgyártásban nem vagyok járatos. Itt sohasem az U a lényeg, hanem a feltöltendő kapacitásokba -ból folyó áram+ a csatorna nyugalmi árama, mert ezekből jön össze a disszipáció.

Ha a csatornaellenállás fix, akkor a négyzetes összefüggés csak nagyvonalú közelítés - de talán nem túl rossz.

A számítátechnika (hardver) alapkérdése: Melyik az a számrendszer, ahol a legkevesebb értékkel ÉS a legkevesebb helyiértéken lehet a legnagyobb számot ábrázolni. A megoldás - ki hinné - az e (~2,71828) alapú számrendszer. Ezt lefelé kerekítve bináris, felfelé kerekítve trenáris a logika. Spanyolviasz. Aztán BCD helyett TCD lesz a divat. Majd meglátjuk...

Én sem értem... hogy mi ezen a nagy újdonság.

Digitből emlékszem, hogy ilyen "kis színes" kitérőként említették nekünk ~20 éve, hogy "van ilyen is", meg elméletileg akár optimálisabb is lehetne (közelebb van az elvileg ideális, természetes logaritmus-alapú számrendszerhez) bár 1-2 specializált területtől eltekintve nem nagyon fogunk találkozni vele. Mondjuk pl a 100-as ethernet pont valami ilyesmit használt jelátvitelre... (nyilván a ternáris "logika" része ott nem volt jelentős, inkábbcsak a jelátvitel volt ilyen +/-1 és 0 szintű).

Gondolom a hír valójában az hogy a szabadalmi hivatalok tényleg bármit befogadnak legyen az bármennyire szakállas régiség. Csak rá kell írni, hogy "AI-ra kell", és máris újra innováció.

Régóta vágyok én, az androidok mezonkincsére már!

Igazából: nem lenne jó.

Van egy (igazából sok lehetséges, de egyet szoktak kiemelni) "költségfüggvény" a hányfajta számjegyünk van vs. hány helyiérték kell egy szám reprezentáláshoz: b*log(n)/log(b) ahol n a reprezentálni kívánt egész szám, b a számrendszer alapja. Le lehet vezetni, hogy ennek a minimuma b = e nél van. b = 3 egy kicsit jobb a b = 2-nél.

Itt van pl kitárgyalva: https://math.stackexchange.com/questions/446664/what-is-the-most-effici…

Régóta vágyok én, az androidok mezonkincsére már!

Igen, ez a költségfüggvény teljesen légbőlkapott. Gépek esetén mindegy mindkét tényező önmagában. A fogyasztás és a számításhoz szükséges idő az amire érdemes optimalizálni. Esetleg a távolságból adódó késleltetés lehet még a jövőben lényeges szempont, ha baromi nagyra nőnek a csipek.

Emberi fogyasztásra pedig az ember működését kell figyelembe venni, szerintem a tízes közel lehet az optmálishoz, mert nem tudunk sok dolgot fejben tartani (sok számjegyet, azt mondják 7 körül van), viszont sokat meg tudunk különböztetni. Ha módosítanám hogy mit használunk inkább a 16-ost próbálnám ki. De tény, hogy ezek csak sejtések, ami nem gyakorlaton alapszik :-)

Nem kezdtem el hosszasan kibontani, hogy mi mindenért nem lenne jó. Az e alapú - bár a matematikusok képesek voltak az irracionális tört-alapú számrendszernek is értelmezést adni, mert miért ne - gyakorlatban totál használhatatlan. Asszem azon túl, hogy pont az egész számok lesznek végtelen helyiértékű törtek benne - itt vannak olyan anomáliák, hogy egyazon számnak több lehetséges ekvivalens reprezentációja is lehet.

A 3-alapú már gyakorlatban elvileg működhet, de rengeteg - binárisnál megszokott - készpénznek vett alaptulajdonságot elbukunk. Eleve 2 bemenetes függvény lehet binárisnál 2^(2*2) = 16 féle (ebből elég sok triviális, 10 valódi, ha a negált párokat elvesszük 5 db marad). Ráadásul vannak "mágikus" függvények (NAND illetve NOR) ami az összes egy- és kétbemenetes függvényt elő tudja állítani. Tehát lényegében akár 1db függvénnyel le lehet fedni a teljes bool logikát.

Ezzel szemben a ternárisnál elvileg 3^(3*3) = 19683 kétbemenetes függvény lehet.

A bool algebra csoportelméleti szempontból "test", a False nullelem, a True egységelem, az OR művelet a (+), ami a nullelemre identitás, az AND művelet (•), ami az egységelemre identitás. A negálás ciklikus, felsorolja az összes elemet. Kommutatív, asszociatív, disztributív... kb minden a helyén van, ami lehet. Ternárisnál kismillióféleképpen lehet definiálni alapműveleteket a lehetséges 19683 (minusz néhány triviális) igazságtáblából és mindegyik valamilyen szempontból hátrányos lesz.

Nyilván lehet néha egy-egy szűk alkalmazási területet találni, ahol a ternáris valamelyik értelmezése éppen "jól adja ki", de általánosan nem fogja leváltani a binárist (ellenben a linkelt videó clickbait "binary is over" agyrém címével).

Régóta vágyok én, az androidok mezonkincsére már!

Insert, "láttam már" mém.

A 90-es években, mikor épp a fuzzy logika volt a nagy hype, pörögtek a tenáris logikán, de aztán elmúlt.
Elméletben jó dolog, gyakorlatban elég nagy seggfáját és talán jó okkal nem csináltak szériában ilyen logikával chipeket.
Számolásban előnyös, mert jól megválasztott feszültségekkel sima ellenállásokkal és egy tranzisztorral lehet összeadó és kivonó áramkört létrehozni.
Logikai műveleteknél már kényelmetlenebb.

Szóval, érdekes...

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Pontosabban log2(3) alapu. De igen. Celfeladatra, niche teruleten (LLM inference) mukodhet. Most van talan eloszor penz arra, hogy elinduljon ebben az iranyban is a fejlesztes.

szerk: aki nem ismerne: https://www.youtube.com/watch?v=7hMoz9q4zv0

A strange game. The only winning move is not to play. How about a nice game of chess?

Hibás az ábra, a B 3. sorában 1-nek és nem -1-nek kellene lennie.
A feszültségképzés érdekes.

"Anastasi in tech" - ez a nő már akkor AI volt, amikor még nem is volt AI :)

Régóta vágyok én, az androidok mezonkincsére már!

Szerkesztve: 2025. 10. 07., k – 12:20

Annak idején Neumann bácsi azért tette le a bináris logika mellett voksát, mert az volt műszakilag egyszerűbb, meg ahogy nézem a Neumann elvek azért voltak, hogy sallangmentesen és "egyszerűen" lehessen működő digitális számítógépet építeni, ami akkor logikus volt, de sok elvet már rég meghaladtunk. Most, hogy a gyártástechnológia megrekedt, érdemes lehet leporolni az ilyesmit. És valóban az analóg működés lenne az igazi, de azért a diszkrét jelszinteket (még ha több is mint 2) csak könnyebb megtartani, mint az analógot.

Színes vászon, színes vászon, fúj!

Kérem a Fiátot..

Meg azért Neumann konyított valamit a matekhoz is. Csoportelmélet, kombinatorika azért ismert területek voltak az ő tanulmányai idején is. Csoportelméleti szempontból a bináris logika sokkal tisztább, tulajdonságaiban kitüntetettebb rendszer.

A binárisnál elég kevésféle lehetséges műveleted van, elég egyértelmű, hogy melyik mire jó, melyikeket érdemes egy logikai rendszered alapjául választani. És igazából ha másikakat választasz alapul, azokról is megmutatható, hogy ekvivalens leíró erejűek. Pl AND, OR, NOT helyett a NAND műveletet választod vagy NOR-t akkor ugyanúgy teljes értékűen le tudod írni az összes bináris függvényt. Ennek van komoly gyakorlati haszna elektronikai megvalósításnál, pl hányféle kaput kell tudnod tranzisztorokból kirakni.

Ternárisban elképszetően sok (>19000 féle) lehetőséged van alapműveleteket definiálni. Nem véletlen, hogy ennyiféle (fentebb linkelték: https://en.wikipedia.org/wiki/Three-valued_logic#Logics) nevesített változat van, ezek csak azok amik valaki matematikus egyik vagy másik szempontból kitűntetettnek gondolt. Nincs egy darab mindent vivő "A Ternáris", a többinél minden szempontból egyértelműen jobb változat. A cikk tévesen pont ezt sugallja, mintha lenne egy darab univerzálisan elfogadott igazságtáblája a ternáris Negálásnak (már egybemenetes függvényre is van 27 lehetőséged, ebből 4 triviális, marad 23 lehetőséged választani és nincs egyetlen olyan, ami bináris negálás tulajdonságait egyben hordozná) illetve ternáris És műveletnek.

Régóta vágyok én, az androidok mezonkincsére már!

Köszi a megerősítést, hogy nincs egyértelmű igazságtáblája a ternáris negálásnak. Tehát lehet bárhogy értelmezni, és akkor az az adott megoldásban a "szabvány'.

Jól értem a koncepciót, hogy abban tér el a bináristól leglényegesebben, hogy míg a bináris üzemmódnál a bitnek 2 értéke lehet: 0 vagy 1, amit úgy néznek, ha eléri a bit a szükségesen meghatározott feszültség szintet, akkor 1 az értéke, ha nem éri el, akkor 0.

Addig ebben a ternáris esetében a 3 részre bontják a bit mérését: ha eléri a maximális értéket, akkor az az 1. Ha a maximális alatt van az érték, de a minimálisnál több, akkor 0, ha pedig a minimális alatt, akkor -1? Tehát így egy "mezőben" több értéket tárolnak.

El kell különíteni 3 dolgot:

- az absztrakt matematikai csoport műveletei, tulajdonságai (ellentmondásai, anomáliái), mennyi "önkényes" döntést kell hoznod a műveletek megválasztásában stb.
- az elektronikai megvalósítása 
- az alkalmazása valamilyen konkrét problémára

A bináris fő előnye az, hogy ezek szépen leválaszthatóak egymásról. Bool logika tulajdonságai elég jók ahhoz, hogy univerzálisan használható legyen nagyon sokféle alkalmazási területre, anélkül, hogy matematikai anomáliákba belefutnál és azok megoldásával/megkerülésével kellene foglalkozni a valós probléma helyett. Ezenkívül elektronikailag is elég egyszerű megvalósítani.

A 3 értékű logikáknál a fő baj, hogy sok önkényes döntést kell hoznod. Az, hogy milyen műveleteket választasz alapműveletnek - az elképesztően sokból - azt itt már nagyon erősen befolyásolja, hogy melyiket tudod egyszerűen áramkörben implementálni. És hasonlóképpen - mivel nincsenek egyértelmű, magától adódóan minden szempontból egyszerre jó választások az alapműveletekre - az alkalmazási terület is erősen visszahat arra, hogy milyen műveleteket, milyen igazságtáblával választasz.

Amiről beszélsz az a második pont, az elektronikai megvalósítás. Ebből is többféle lehet, szimmetrikus -1V, 0V, +1V. Lehet 3 szintű aszimmetrikus: 0V, 1V, 2V. Lehet átviteltechnikában valamilyen modulált (pl fázismodulált vagy fázis- és amplitúdómodulát) jel is: 0V, sin(t), -sin(t) vagy szimmetrikusan 120°-al elforgatott 3 szinuszos jel és még sok más. Rengetegféle variáció van, alkalmazási területtől függően.
És persze többféle változat lehet abban, hogy a matematikai 3 absztrakt szimbólumot éppen melyik-melyik elektromos jelre képezted le. Ha vannak nem szimmetrikus műveleteid (pl a negálási példa a cikkben, ami a "0" szimbólumra identitás, a másik kettőt váltogatja) és az elektromos jeleidben is van valami természetes sorrendezés (a 0V mondjuk "középen van") akkor például ez a választás sem nagyon nem mindegy. Binárisnál erre csak két variáció van: active high vagy active low - általában ez is elég konfúziót tud okozni, ha vegyesen előfordul mondjuk egy IC bemenetein.

Régóta vágyok én, az androidok mezonkincsére már!