mboost-dp1

Pennsylvania State University
- Forside
- ⟨
- Forum
- ⟨
- Nyheder
1 skrev:Nu stopper det! Skal programmører så også til at lære 3-talssystemet nu?
Det handler om at følge med udviklingen... Og det gør dem der vil opnå noget.
Rart at se nano-teknologien blive eksperimenteret med, og (muligvis) udnyttet. Nano er vejen frem <3
Det er et af de få steder hvor man kan sige jo mindre jo bedre. Forestiller mig opfinderen komme hjem til konen og stolt sige: "Se hvor lille den er Skat" ;)
#1
Programmørerer kommer jo ikke til at skulle røre det her. Det er internt i hardwaren det her skal bruges, og det eneste det betyder er at du vil kunne retræsentere to bits i en bit... Ehm, eller hvad man nu kalder det...
Programmørerer kommer jo ikke til at skulle røre det her. Det er internt i hardwaren det her skal bruges, og det eneste det betyder er at du vil kunne retræsentere to bits i en bit... Ehm, eller hvad man nu kalder det...
og det eneste det betyder er at du vil kunne retræsentere to bits i en bit... Ehm, eller hvad man nu kalder det...Nej, det er vist nærmere 3 bits i 2 celler.
Det kan godt være at det bliver en del sværere at aflæse og adressere, så det er ikke sikkert at det kan betale sig. Når man skal have x mia. et eller andet til at virke sammen er det som regel en fordel at det er simpelt...
En frygtelig simpel måde at udnytte det på, er at lagre 3 bits i to trits:
00 = 000
01 = 001
02 = 010
10 = 011
11 = 100
12 = 101
20 = 110
21 = 111
22 - ubrugt
Men hvis man tænker i mere end få sekunder kan man nok finde en bedre både at "pakke" data på. Både mere effektivt og med bedre performance.
00 = 000
01 = 001
02 = 010
10 = 011
11 = 100
12 = 101
20 = 110
21 = 111
22 - ubrugt
Men hvis man tænker i mere end få sekunder kan man nok finde en bedre både at "pakke" data på. Både mere effektivt og med bedre performance.
#4 Nej du kan ikke gemme to bit i en celle med denne teknologi. Det kræver fire tilstande.
Man vil kunne gemme et 16bit binært tal i et 11bit trinært tal. 32bit binært i 21bit trinært.
64bit binært i 41bit trinært.
128bit binært i 81bit trinært.
osv... Altså 50% mere.
Men tag dog lige at gå skridtet videre og lav 4 tilstande nu når I er igang.
Man vil kunne gemme et 16bit binært tal i et 11bit trinært tal. 32bit binært i 21bit trinært.
64bit binært i 41bit trinært.
128bit binært i 81bit trinært.
osv... Altså 50% mere.
Men tag dog lige at gå skridtet videre og lav 4 tilstande nu når I er igang.
Talsystemer der består af 3 værdier, 0, 1, 2 eller nærmere, "trinær" talsystemer, er ikke noget nyt. Problemet er nok bare at det ville kræve enorme mængder penge at skifte standarten inden for computere. Alt hardware såvel som software skal jo tilrettes til et evt nyt talsystem.
Det ville dog give en eksponentiel forøgelse af den mængde data man kan have på en vis mængde plads da antallet af bit kombinationer ville gå fra 2^n til 3^n og det er så vidt jeg ved også muligt faktisk at lave et trinært computersystem.
8 bit i binær er 256 forskelige værdier.
8 bit i trinær er 6561 forskellige muligheder.
Det ville dog give en eksponentiel forøgelse af den mængde data man kan have på en vis mængde plads da antallet af bit kombinationer ville gå fra 2^n til 3^n og det er så vidt jeg ved også muligt faktisk at lave et trinært computersystem.
8 bit i binær er 256 forskelige værdier.
8 bit i trinær er 6561 forskellige muligheder.
Hvor ofte hører vi ikke forskerne finde nye måder at gemme data på, om nye revolutionerende opdagelser.
Og alligevel sidder vi stadigvæk med vores gamle harddiske der farer rundt som en anden bosch boremaskine.
Hvornår kommer det ud til forbrugeren? Det er jo fint nok at man på forskerniveau kan sige at man har nået en masse - men lad det dog komme ud til forbrugeren.
Men nææ nej - vi skal jo lige have solgt alle de dimser vi har på lageret, inden det nye kommer.
suk - kapitalismen styrer... Nu skal vi alle til at købe blue-ray, men lur mig om de ikke allerede nu har afløseren til Blue-ray, men de venter lige nogle år, da de skal have solgt alle deres blue-ray dimser.
suk.. men ellers er jeg i ret godt humør :-)
Og alligevel sidder vi stadigvæk med vores gamle harddiske der farer rundt som en anden bosch boremaskine.
Hvornår kommer det ud til forbrugeren? Det er jo fint nok at man på forskerniveau kan sige at man har nået en masse - men lad det dog komme ud til forbrugeren.
Men nææ nej - vi skal jo lige have solgt alle de dimser vi har på lageret, inden det nye kommer.
suk - kapitalismen styrer... Nu skal vi alle til at købe blue-ray, men lur mig om de ikke allerede nu har afløseren til Blue-ray, men de venter lige nogle år, da de skal have solgt alle deres blue-ray dimser.
suk.. men ellers er jeg i ret godt humør :-)
#12 Vi snakker vel om hukommelse her, og ikke om at skifte talsystemet for hele computeren.
Det er en smal sag, at lave en bit2trit- og trit2bit-konverter indbygget i RAMmoduler o.lign, således at man skriver og læser i binært format, men internt i RAMmodulet gemmes/hentes tal trinært.
I indlæg #7 beskrives en metode, der kun spilder 11% og har en dybde på måske 3 transistorer i konverteren. Der kan udtænkes dybere konvertere med mindre spild.
Eksempelvis kan 11 bits (range 0 to 2047) gemmes vha 7 trits (range 0 to 2186) med et spild på (2187-2048)/2187 - 1 = 6,4%
Det er en smal sag, at lave en bit2trit- og trit2bit-konverter indbygget i RAMmoduler o.lign, således at man skriver og læser i binært format, men internt i RAMmodulet gemmes/hentes tal trinært.
I indlæg #7 beskrives en metode, der kun spilder 11% og har en dybde på måske 3 transistorer i konverteren. Der kan udtænkes dybere konvertere med mindre spild.
Eksempelvis kan 11 bits (range 0 to 2047) gemmes vha 7 trits (range 0 to 2186) med et spild på (2187-2048)/2187 - 1 = 6,4%
#17
Det virker ærlig talt også som noget pjat. Hvordan skal man arbejde med helt almindelige boolske operationer som AND og OR? Hvad giver 0 AND 2 f.eks.? Det giver ingen mening. Det virker nærmere som spild, med mindre man kan finde en bijektiv transformation mellems bits og trits.
Det virker ærlig talt også som noget pjat. Hvordan skal man arbejde med helt almindelige boolske operationer som AND og OR? Hvad giver 0 AND 2 f.eks.? Det giver ingen mening. Det virker nærmere som spild, med mindre man kan finde en bijektiv transformation mellems bits og trits.
#17 og #18 Topic er hukommelse og ikke boolske operatorer.
Trinær logik er kun smart til at lagre værdier (og evt adresser). Logiske operationer på dem er meningsløse.
Nogle regnefunktioner såsom ADD, MUL, MAC osv kan dog med fordel laves med trinær logik, hvor man gemmer mellemresultater sådan så fortolkningen af de tre tilstande er "-1, 0 og 1". Herved kan der spares nogle bit toggles og derved elektrisk energi.
Trinær logik er kun smart til at lagre værdier (og evt adresser). Logiske operationer på dem er meningsløse.
Nogle regnefunktioner såsom ADD, MUL, MAC osv kan dog med fordel laves med trinær logik, hvor man gemmer mellemresultater sådan så fortolkningen af de tre tilstande er "-1, 0 og 1". Herved kan der spares nogle bit toggles og derved elektrisk energi.
#17
Man har før prøvet at have computere som som regner med flere intervaller af strømstyrker i stedet for de to vi kender fra nutidens computere (ikke dermed sagt at det er umuligt). Problemet er dog at det har vist sig ustabilt i praksis. Naturkraften vi har kaldt 'strøm' opfører sig tilsyneladende kun relativt forudsigeligt i praksis, hvorfor der bliver nødt til at være en vis buffer, altså et område hvor man kan definere et '1' og et '0'. Hvis man skal op i fra f.eks. '0' til '7', skal man også op i en meget højere spænding for at være sikker på at kunne definere hvornår man har '5' og hvornår man har '4' som bare er "kammet lidt over", eller et '6' som ligger lidt i underkanten. Der er så igen andre problemer ved højere spænding, ja selvfølgelig miliø-mæssigt, men CPU'erne skal nok også konstrueres på en anden måde, da der bliver omsat mere energi til varme osv. osv. Med andre ord tanken med computere som regner i en højere bitværdi er bestemt ikke ny..By the way
#19:
0 AND 2 giver 0, da:
00 & 10 = 00
Man har før prøvet at have computere som som regner med flere intervaller af strømstyrker i stedet for de to vi kender fra nutidens computere (ikke dermed sagt at det er umuligt). Problemet er dog at det har vist sig ustabilt i praksis. Naturkraften vi har kaldt 'strøm' opfører sig tilsyneladende kun relativt forudsigeligt i praksis, hvorfor der bliver nødt til at være en vis buffer, altså et område hvor man kan definere et '1' og et '0'. Hvis man skal op i fra f.eks. '0' til '7', skal man også op i en meget højere spænding for at være sikker på at kunne definere hvornår man har '5' og hvornår man har '4' som bare er "kammet lidt over", eller et '6' som ligger lidt i underkanten. Der er så igen andre problemer ved højere spænding, ja selvfølgelig miliø-mæssigt, men CPU'erne skal nok også konstrueres på en anden måde, da der bliver omsat mere energi til varme osv. osv. Med andre ord tanken med computere som regner i en højere bitværdi er bestemt ikke ny..By the way
#19:
0 AND 2 giver 0, da:
00 & 10 = 00
Jeg kommer da lige i tanker om at std_logic (hvis nogen kender noget til VHDL) er tri-state'ed. Men som sagt der er tale om lagring i indslaget her og ikke hvordan computeren regner..
Er der nogen der kan fortælle mig hvad den direkte fordel ved trinærsystemet fremfor binærsystemet er?
Det kan være så simpelt som at lave en driver der sørger for at udnytte at der er tre tilstande, mere besværligt behøver det ikke være. ;)
Jeg morer mig lidt over folk der herinde lyder som 80 årige, og ikke kan leve med forandring. IT er jo ikke andet end forandring og det er livet heller ikke. Hold nu op med at pive over at tingene bliver forbedret og forandret, for så kan i ikke pive over andet. ;)
Jeg morer mig lidt over folk der herinde lyder som 80 årige, og ikke kan leve med forandring. IT er jo ikke andet end forandring og det er livet heller ikke. Hold nu op med at pive over at tingene bliver forbedret og forandret, for så kan i ikke pive over andet. ;)
#26
De 80 årige herinde er jo dem, som har set "fremskridt" smadre ting, der virkede i forvejen. Selvfølgelig skal der være plads til fremskridt, men det her kommer i praksis til at betyde at memory fylder lidt mindre, hvis det overhovedet bliver sat i produktion. Svært at hidse sig op over ;-)
De 80 årige herinde er jo dem, som har set "fremskridt" smadre ting, der virkede i forvejen. Selvfølgelig skal der være plads til fremskridt, men det her kommer i praksis til at betyde at memory fylder lidt mindre, hvis det overhovedet bliver sat i produktion. Svært at hidse sig op over ;-)
kan det så passe at en trinær HDD med samme transitertæthed som en regulær Terabyte hdd med binære transistre, vil have:
sqrt(8*1024^4)^3 ) 26attobits eller ~3mio Terabytes :S
eller hvor går jeg galt i byen?
sqrt(8*1024^4)^3 ) 26attobits eller ~3mio Terabytes :S
eller hvor går jeg galt i byen?
#29
En trit indeholder 50% mere data end en bit. Da der er lidt spild ved "konvertering" betyder det at i stedet for én GB vil du få knap 1,5 GB hukommelse, på samme plads med samme bit/trit-tæthed.
Men hvad større datatæthed vil opnå kan jeg ikke overskue. Hvor meget det fylder rent fysisk har jeg nu aldrig set som noget problem.
En trit indeholder 50% mere data end en bit. Da der er lidt spild ved "konvertering" betyder det at i stedet for én GB vil du få knap 1,5 GB hukommelse, på samme plads med samme bit/trit-tæthed.
Men hvad større datatæthed vil opnå kan jeg ikke overskue. Hvor meget det fylder rent fysisk har jeg nu aldrig set som noget problem.
#20
"0 AND 2 giver 0, da:
00 & 10 = 00"
Jaja, det er nemt nok, når man ANDer noget med 0, men hvad med fortolkningen af 1 AND 1 så? Giver det 1, da de har ens værdi eller giver det 0?
Hvordan fortolker du bittene?
0 = falsk
1 = sand
2 = sand
eller
0 = falsk
1 = falsk (eller 'måske' / 'næsten' ?)
2 = sand
Hvis man skal regne med trinær logik, så skal resultatet jo også nogle gange være "2" ellers bliver det hele jo binært efter 1 beregning. Hvilke beregninger skal give 2? Hvornår giver en AND 2?
Det er det, jeg mener med, at boolske operationer (sandt og falsk) ikke giver mening i trinær logik.
"0 AND 2 giver 0, da:
00 & 10 = 00"
Jaja, det er nemt nok, når man ANDer noget med 0, men hvad med fortolkningen af 1 AND 1 så? Giver det 1, da de har ens værdi eller giver det 0?
Hvordan fortolker du bittene?
0 = falsk
1 = sand
2 = sand
eller
0 = falsk
1 = falsk (eller 'måske' / 'næsten' ?)
2 = sand
Hvis man skal regne med trinær logik, så skal resultatet jo også nogle gange være "2" ellers bliver det hele jo binært efter 1 beregning. Hvilke beregninger skal give 2? Hvornår giver en AND 2?
Det er det, jeg mener med, at boolske operationer (sandt og falsk) ikke giver mening i trinær logik.
#21 Den tredje tilstand er "no connect", så den gemmer vel ikke ret meget ;).
#24 Læs evt. #19
Jeg kan komme med et eksempel lidt til hjælp her. Hvis man tillader, at man kan gemme data som 0,1 eller 2, hvor "værdien" fortolkes 0,1 eller -1, så kan man lave nogle sindrige beregninger.
Eksempelvis:
A = 32 - 1
B = A + 3
I 2komplement ser det således ud:
0100000 + 1111111 => 0011111 (32 + -1 = 31)
0011111 + 0000011 => 0100010 (31 + 3 = 34)
Bemærk hvor mange bitskift (og ripples) der forekommer.
Hvis i stedet man tillader:
0100000 + 0000002 => 0100002 (32 + -1 = "32-1)
0100002 + 0000011 => 0100010 ("32-1" + 3 = 34)
da "2" og "1" går ud med hinanden (-1 + 1=0)
Laver man flere beregninger efter hinanden på samme data, så stiger fordelen.
#24 Læs evt. #19
Jeg kan komme med et eksempel lidt til hjælp her. Hvis man tillader, at man kan gemme data som 0,1 eller 2, hvor "værdien" fortolkes 0,1 eller -1, så kan man lave nogle sindrige beregninger.
Eksempelvis:
A = 32 - 1
B = A + 3
I 2komplement ser det således ud:
0100000 + 1111111 => 0011111 (32 + -1 = 31)
0011111 + 0000011 => 0100010 (31 + 3 = 34)
Bemærk hvor mange bitskift (og ripples) der forekommer.
Hvis i stedet man tillader:
0100000 + 0000002 => 0100002 (32 + -1 = "32-1)
0100002 + 0000011 => 0100010 ("32-1" + 3 = 34)
da "2" og "1" går ud med hinanden (-1 + 1=0)
Laver man flere beregninger efter hinanden på samme data, så stiger fordelen.
Off-topic om trinær logik:
Boolsk logik arbejder med boolske værdier, dvs. bits og ikke trits. Det nytter ikke blot at udvidde en tris til en cumb (2 bits), så er det ikke længere en trit. (Eller kan det mon gøres på en måde, som giver samme resultat som nedenfor?)
Hvis det endelig skal være, vi betragte den tredje værdi som "null".
Alle kombinationerne af true og false kender vi, og hvis vi betragter den tredje som "null"/"ukendt" har vi noget at arbejde med:
true OR null = true (én af dem er sand)
true AND null = null (vi ved ikke om de begge er sande)
false OR null = null (vi ved ikke om der er en der er sand)
false AND null = false (begge kan umuligt være sande)
NOT null = null (vi ved ikke hvad det modsatte er)
Dette benyttes fx. i SQL, så vidt jeg husker præcist efter ovenstående regler.
Læs mere:
http://en.wikipedia.org/wiki/Trinary_logic
http://en.wikipedia.org/wiki/Null_(SQL)#Three-valu...
Boolsk logik arbejder med boolske værdier, dvs. bits og ikke trits. Det nytter ikke blot at udvidde en tris til en cumb (2 bits), så er det ikke længere en trit. (Eller kan det mon gøres på en måde, som giver samme resultat som nedenfor?)
Hvis det endelig skal være, vi betragte den tredje værdi som "null".
Alle kombinationerne af true og false kender vi, og hvis vi betragter den tredje som "null"/"ukendt" har vi noget at arbejde med:
true OR null = true (én af dem er sand)
true AND null = null (vi ved ikke om de begge er sande)
false OR null = null (vi ved ikke om der er en der er sand)
false AND null = false (begge kan umuligt være sande)
NOT null = null (vi ved ikke hvad det modsatte er)
Dette benyttes fx. i SQL, så vidt jeg husker præcist efter ovenstående regler.
Læs mere:
http://en.wikipedia.org/wiki/Trinary_logic
http://en.wikipedia.org/wiki/Null_(SQL)#Three-valu...
Umiddelbart ser det ud til at der ikke er nogen hindring (ud over menneskets fatteevne) til at have n-nær logik. Hvis elektronikken var stabil (!) kunne man jo sagtens lave en hukommelses celle hvor de forskellige logiske niveauer var lig med en given spænding (eller ladning), nøjagtig som i dag hvor 0 (low) er 0 volt og 1 (high) er 2.5/3/5 volt.
Tænk på en celle med f.eks. 5 logiske niveauer, -5v, -2.5v, 0v, 2.5v eller 5v. Eller 7, 9, 13, 255, et-eller-andet-primtal, n, ...
Et interessant tal vil være 10 niveauer (10-nær?) da vi jo på vores planet har valgt 10-tals systemet som standard.
Dog er det ikke muligt i dag at lave elektronik der er stabilt nok, noget andet er, hvordan man skal regne på det.
Tænk på en celle med f.eks. 5 logiske niveauer, -5v, -2.5v, 0v, 2.5v eller 5v. Eller 7, 9, 13, 255, et-eller-andet-primtal, n, ...
Et interessant tal vil være 10 niveauer (10-nær?) da vi jo på vores planet har valgt 10-tals systemet som standard.
Dog er det ikke muligt i dag at lave elektronik der er stabilt nok, noget andet er, hvordan man skal regne på det.
#35 Den logik, der skal til at måle, hvilken spænding, en given node i en hukommelsesstrutur har, vil overstige det tilsvarende antal transistorer, der skal til for at lagre de samme antal bit, som niveauerne kan repræsentere. Dertil kommer, at hukommelsen vil være yderst følsom overfor støj og ikke mindst radioaktive partikler o.lign.
Ideen kunne måske være interessant i forbindelse med at lagre analoge værdier.
Ideen kunne måske være interessant i forbindelse med at lagre analoge værdier.
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.