Jag satt och funderade lite på register och sånt. Det går ju en hiskelig massa rör till registren, minst ett per bit bara för att hålla infon om bitten. Så jag funderade om man kunde göra en kondensator/diodmatris istället på nåt smart sätt. Då borde det räcka med en 3-4 rör per bit-rad och ett adresseringsrör per register. Man göra 16*16 bitars register med bara 64 rör istället för över 500, vilket borde vara enklare. Vid adresseringen så höjer man nån drivspänning till kondensator-raden och ser vad avläsningsrören får ut, och så har man samma teknik i nån refreshlogik med jämna mellanrum. Några ideer/tips/annat? -- Ragge
On 09/14/2013 10:12 AM, Anders Magnusson wrote:
Jag satt och funderade lite på register och sånt.
Det går ju en hiskelig massa rör till registren, minst ett per bit bara för att hålla infon om bitten. Så jag funderade om man kunde göra en kondensator/diodmatris istället på nåt smart sätt. Då borde det räcka med en 3-4 rör per bit-rad och ett adresseringsrör per register. Man göra 16*16 bitars register med bara 64 rör istället för över 500, vilket borde vara enklare. Vid adresseringen så höjer man nån drivspänning till kondensator-raden och ser vad avläsningsrören får ut, och så har man samma teknik i nån refreshlogik med jämna mellanrum.
Några ideer/tips/annat?
Det är helt klart görbart, förmodligen klokt, och definitivt mer intressant än 256 flip-floppar. Se sida 54 och framåt i följande PDF för lite ideer: http://bitsavers.trailing-edge.com/pdf/ibm/generalInfo/TD_01.01.002.005_Prin... Var det nånting liknande du hade tänkt dig? Bjarni
On 09/15/2013 03:20 AM, Bjarni Juliusson wrote:
On 09/14/2013 10:12 AM, Anders Magnusson wrote:
Jag satt och funderade lite på register och sånt.
Det går ju en hiskelig massa rör till registren, minst ett per bit bara för att hålla infon om bitten. Så jag funderade om man kunde göra en kondensator/diodmatris istället på nåt smart sätt. Då borde det räcka med en 3-4 rör per bit-rad och ett adresseringsrör per register. Man göra 16*16 bitars register med bara 64 rör istället för över 500, vilket borde vara enklare. Vid adresseringen så höjer man nån drivspänning till kondensator-raden och ser vad avläsningsrören får ut, och så har man samma teknik i nån refreshlogik med jämna mellanrum.
Några ideer/tips/annat?
Det är helt klart görbart, förmodligen klokt, och definitivt mer intressant än 256 flip-floppar. Se sida 54 och framåt i följande PDF för lite ideer:
http://bitsavers.trailing-edge.com/pdf/ibm/generalInfo/TD_01.01.002.005_Prin...
Var det nånting liknande du hade tänkt dig? Yep! Dom har använt kondingarna lite annorlunda än vad jag tänkte och har lite för många rör för min smak, men det är ju iallafall en fungerande variant :-) Tackar!
...det är hiskeligt vad mycket information det finns från forntiden, det är bara knöligt att hitta igen allt. -- R
On 09/15/2013 09:32 AM, Anders Magnusson wrote:
Yep! Dom har använt kondingarna lite annorlunda än vad jag tänkte och har lite för många rör för min smak, men det är ju iallafall en fungerande variant :-)
Hur såg din variant ut?
...det är hiskeligt vad mycket information det finns från forntiden, det är bara knöligt att hitta igen allt.
Ja, det är ofta mer eller mindre tur när man snubblar över nåt. Den där PDF:en hittade jag för att just den biten av den finns med i ett kompendium om rörlogik som jag hittade när jag googlade en massa för ett par år sen: http://www.neazoi.com/technology/logic/5484436-Basic-Principles-of-Vacuum-Tu... Det står ju inte där vad källan till de sidorna är, men med lite letande på Bitsavers hittades den snart. :) De hade en intressant ide till skiftregister där också som jag kanske får användning för. Behöver kunna skifta registren i min dator eftersom den är tänkt att bli seriell, och jag vill helst göra det på nåt smartare sätt än en massa master-slave-flipfloppar... Bjarni
On 09/15/2013 10:38 AM, Bjarni Juliusson wrote:
On 09/15/2013 09:32 AM, Anders Magnusson wrote:
Yep! Dom har använt kondingarna lite annorlunda än vad jag tänkte och har lite för många rör för min smak, men det är ju iallafall en fungerande variant :-)
Hur såg din variant ut? En ren matris med kondingar och dioder vid varje rad/kolumn. Men jag skall läsa på lite i det där dokumentet och fundera lite mer.
...det är hiskeligt vad mycket information det finns från forntiden, det är bara knöligt att hitta igen allt.
Ja, det är ofta mer eller mindre tur när man snubblar över nåt. Den där PDF:en hittade jag för att just den biten av den finns med i ett kompendium om rörlogik som jag hittade när jag googlade en massa för ett par år sen:
http://www.neazoi.com/technology/logic/5484436-Basic-Principles-of-Vacuum-Tu...
Jo, jag har också hittat den där och gjort lite utgrävningar :-)
Det står ju inte där vad källan till de sidorna är, men med lite letande på Bitsavers hittades den snart. :)
De hade en intressant ide till skiftregister där också som jag kanske får användning för. Behöver kunna skifta registren i min dator eftersom den är tänkt att bli seriell, och jag vill helst göra det på nåt smartare sätt än en massa master-slave-flipfloppar...
Tänkte du på varianten med ferritkärnor och dioder? Den såg kul ut :-) -- R
On 09/15/2013 12:54 PM, Anders Magnusson wrote:
On 09/15/2013 10:38 AM, Bjarni Juliusson wrote:
On 09/15/2013 09:32 AM, Anders Magnusson wrote:
Yep! Dom har använt kondingarna lite annorlunda än vad jag tänkte och har lite för många rör för min smak, men det är ju iallafall en fungerande variant :-)
Hur såg din variant ut? En ren matris med kondingar och dioder vid varje rad/kolumn. Men jag skall läsa på lite i det där dokumentet och fundera lite mer.
Jag ser fram emot att få se en ide i form av ett kopplingsschema när du har funderat. Den här sortens problem tycker jag är skoj. :)
De hade en intressant ide till skiftregister där också som jag kanske får användning för. Behöver kunna skifta registren i min dator eftersom den är tänkt att bli seriell, och jag vill helst göra det på nåt smartare sätt än en massa master-slave-flipfloppar... Tänkte du på varianten med ferritkärnor och dioder? Den såg kul ut :-)
Just den, det är nog ungefär så få och små komponenter man kan bygga ett skiftregister med, dessutom roliga, dessutom såg det väldigt enkelt ut. Får ta och göra lite experiment nån dag. Har en handfull ferriter som ligger och skräpar. Börjar få en bild över hur min dator ska se ut arkitekturmässigt också. Borde kanske skriva ett brev om det... Bjarni
On 09/15/2013 05:05 PM, Bjarni Juliusson wrote:
On 09/15/2013 12:54 PM, Anders Magnusson wrote:
On 09/15/2013 10:38 AM, Bjarni Juliusson wrote:
On 09/15/2013 09:32 AM, Anders Magnusson wrote:
Yep! Dom har använt kondingarna lite annorlunda än vad jag tänkte och har lite för många rör för min smak, men det är ju iallafall en fungerande variant :-)
Hur såg din variant ut? En ren matris med kondingar och dioder vid varje rad/kolumn. Men jag skall läsa på lite i det där dokumentet och fundera lite mer.
Jag ser fram emot att få se en ide i form av ett kopplingsschema när du har funderat. Den här sortens problem tycker jag är skoj. :) Hehe :-) Jo, jag har läst igenom det där papperet nu och jag tror det kan bli rätt bra för register. Man behöver ungefär ett drivrör per register och en förstärkare och en latch per bit-rad. Så med typ 32 stycken 32-bitarsregister blir det bara 96 rör + dekodlogik, betydligt mindre än 1024 stycken som det annars skulle ha varit.
Det man behöver extra är då: - Refreshlogik - Latchrad för att spara värdet från ena accumulatorn till ALUn.
De hade en intressant ide till skiftregister där också som jag kanske får användning för. Behöver kunna skifta registren i min dator eftersom den är tänkt att bli seriell, och jag vill helst göra det på nåt smartare sätt än en massa master-slave-flipfloppar... Tänkte du på varianten med ferritkärnor och dioder? Den såg kul ut :-)
Just den, det är nog ungefär så få och små komponenter man kan bygga ett skiftregister med, dessutom roliga, dessutom såg det väldigt enkelt ut. Får ta och göra lite experiment nån dag. Har en handfull ferriter som ligger och skräpar.
Börjar få en bild över hur min dator ska se ut arkitekturmässigt också. Borde kanske skriva ett brev om det...
Blir intressant att se! Jag har diskuterat med en kines om att få tag på lite billiga ECC91:or, det verkar finnas ett gammalt lager sen 60-talet där med många++ ECC91. Så det kanske kan vara av intresse med lite såna? Gallerkapacitansen är runt 2pF på dom, så det bör gå bra att få till nåt man kan klocka upp en hel del. -- Ragge
On 09/16/2013 02:11 PM, Anders Magnusson wrote:
jag har läst igenom det där papperet nu och jag tror det kan bli rätt bra för register. Man behöver ungefär ett drivrör per register och en förstärkare och en latch per bit-rad.
Läser du genom att prova att ladda ur kondingen och ladda upp den igen om det fanns laddning i den och skriver genom att ladda ur och sen ladda i om det ska vara en etta?
Börjar få en bild över hur min dator ska se ut arkitekturmässigt också. Borde kanske skriva ett brev om det... Blir intressant att se!
Det är en betydligt mer konservativ arkitektur, så jag har lite att fundera på med att bäst utnyttja bittarna i instruktionerna och så.
Jag har diskuterat med en kines om att få tag på lite billiga ECC91:or, det verkar finnas ett gammalt lager sen 60-talet där med många++ ECC91. Så det kanske kan vara av intresse med lite såna?
Ehm eventuellt ja, men tyvärr är min ekonomi i ett kollapstillstånd just nu. Jag har dock för tillfället tillräckligt med rör för att kunna börja bygga. Om det här fortfarande är aktuellt om ett par månader kanske jag har möjlighet att sambeställa. Vet du vad för prisnivå det rör sig om? Bjarni
On 09/16/2013 04:19 PM, Bjarni Juliusson wrote:
On 09/16/2013 02:11 PM, Anders Magnusson wrote:
jag har läst igenom det där papperet nu och jag tror det kan bli rätt bra för register. Man behöver ungefär ett drivrör per register och en förstärkare och en latch per bit-rad.
Läser du genom att prova att ladda ur kondingen och ladda upp den igen om det fanns laddning i den och skriver genom att ladda ur och sen ladda i om det ska vara en etta? Jo, det verkar bäst att göra så om man läser infon. Jag har just hämtat fältservicemanualen för IBM650, får se om det står nåt bra i den :-)
Börjar få en bild över hur min dator ska se ut arkitekturmässigt också. Borde kanske skriva ett brev om det... Blir intressant att se!
Det är en betydligt mer konservativ arkitektur, så jag har lite att fundera på med att bäst utnyttja bittarna i instruktionerna och så. Jo, det verkar ju gamla arkitekturer vara rätt bra på. Nova är jättebra på det, och även PDP8 antar jag.
Jag har diskuterat med en kines om att få tag på lite billiga ECC91:or, det verkar finnas ett gammalt lager sen 60-talet där med många++ ECC91. Så det kanske kan vara av intresse med lite såna?
Ehm eventuellt ja, men tyvärr är min ekonomi i ett kollapstillstånd just nu. Jag har dock för tillfället tillräckligt med rör för att kunna börja bygga. Om det här fortfarande är aktuellt om ett par månader kanske jag har möjlighet att sambeställa. Vet du vad för prisnivå det rör sig om? Nope, jag väntar fortfarande på prisförslag. Jag har hittat ett lager till och då ligger priset runt 2 kronor styck, så det verkar rätt överkomligt även för volymer.
...och idag kom boken om hur man bygger nätagg för rörförstärkare också, så nu har man lite litteratur :-) -- Ragge
On 09/16/2013 05:46 PM, Anders Magnusson wrote:
Det är en betydligt mer konservativ arkitektur, så jag har lite att fundera på med att bäst utnyttja bittarna i instruktionerna och så.
Jo, det verkar ju gamla arkitekturer vara rätt bra på. Nova är jättebra på det, och även PDP8 antar jag.
Hmm, är de? De har få instruktioner, fast instruktionslängd, få adresseringssätt... Kompaktast är väl CISCiga instruktionsuppsättningar där vanligare instruktioner är kortare, och där varje instruktion gör mer, typ slår ihop ett par additioner, ett skift och en minnesreferens eller två för att hämta en av operanderna. Stackmaskiner har väl rätt kompakt kod också, eftersom de inte innehåller några operandspecifikationer alls. En stor fet CISC känns inte så lockande att bygga med rör. Stackmaskiner har jag skissat på förut, men den här gången blir det inte en sådan. Skulle vara intressant att läsa nån detaljerad studie av koddensitet som jämför olika arkitekturer. Undrar om det finns nånstans...
[knips billiga rör] Nope, jag väntar fortfarande på prisförslag. Jag har hittat ett lager till och då ligger priset runt 2 kronor styck, så det verkar rätt överkomligt även för volymer.
Om de kostar 2kr styck så kan det väl tänkas att jag har råd med ett mindre antal... beroende på vad frakten kostar. Bah. :( Skulle behöva rör med separata katoder också, för katodföljare. Har några, vet inte hur många jag kommer att behöva.
...och idag kom boken om hur man bygger nätagg för rörförstärkare också, så nu har man lite litteratur :-)
Aha, trevligt! :) Hmnej, jag tror jag ska ta och se om jag inte kan fatta lite designbeslut och kanske skriva ihop en beskrivning av min tänkta arkitektur. Bjarni
On 09/16/2013 07:41 PM, Bjarni Juliusson wrote:
On 09/16/2013 05:46 PM, Anders Magnusson wrote:
Det är en betydligt mer konservativ arkitektur, så jag har lite att fundera på med att bäst utnyttja bittarna i instruktionerna och så.
Jo, det verkar ju gamla arkitekturer vara rätt bra på. Nova är jättebra på det, och även PDP8 antar jag.
Hmm, är de? De har få instruktioner, fast instruktionslängd, få adresseringssätt... Kompaktast är väl CISCiga instruktionsuppsättningar där vanligare instruktioner är kortare, och där varje instruktion gör mer, typ slår ihop ett par additioner, ett skift och en minnesreferens eller två för att hämta en av operanderna. Stackmaskiner har väl rätt kompakt kod också, eftersom de inte innehåller några operandspecifikationer alls. En stor fet CISC känns inte så lockande att bygga med rör. Stackmaskiner har jag skissat på förut, men den här gången blir det inte en sådan. Åhå, du menar så. Jag tänkte på att minimera kontrollogiken maximalt. Jag har funderat en del på att man skulle göra nåt enkelt med mikrokod men insåg att det blir nästa generation av CPU isåfall :-) Till att börja med handlar det om att få till nåt alls :-)
Skulle vara intressant att läsa nån detaljerad studie av koddensitet som jämför olika arkitekturer. Undrar om det finns nånstans...
Jag har sett nåt sånt för länge sen där man jämförde lite olika med VAX som referens, och sen kollade hur mycket större alla andra arkitekturer blev. Google kan nog vara din vän här :-)
[knips billiga rör] Nope, jag väntar fortfarande på prisförslag. Jag har hittat ett lager till och då ligger priset runt 2 kronor styck, så det verkar rätt överkomligt även för volymer.
Om de kostar 2kr styck så kan det väl tänkas att jag har råd med ett mindre antal... beroende på vad frakten kostar. Bah. :(
Skulle behöva rör med separata katoder också, för katodföljare. Har några, vet inte hur många jag kommer att behöva.
Det blir rör i noval- eller oktalsockel i sådana fall. Jag kan hålla ögonen öppna, det lär behövas några såna för mig också :-)
...och idag kom boken om hur man bygger nätagg för rörförstärkare också, så nu har man lite litteratur :-)
Aha, trevligt! :)
Hmnej, jag tror jag ska ta och se om jag inte kan fatta lite designbeslut och kanske skriva ihop en beskrivning av min tänkta arkitektur.
Lycka till! Jag har börjat rita lite på ALU:n också, och den käkar logik kan man säga. Men, det verkar som man kan göra en smart lösning med dioder för att emulera en mux, där man driver alla utgångar högt med en effektpentod utom den man vill ha resultatet för. Har inte riktigt sanitycheckat det här än, men det "borde" gå :-) Sen blir det intressant att se vad man får för omslagstid för rippel-carryn också. Eftersom ALUn enbart är kombinatorik och nivåtriggad så får man hålla tungan rätt i munnen med seriekondingarna för att driva gallren. Alla latchar i övrigt skall man nog ha flanktriggade, det verkar betydligt smidigare än att försöka jobba nivåtriggat och så kan man få bättre prestanda på det tror jag. -- Ragge
On 09/16/2013 10:09 PM, Anders Magnusson wrote:
En stor fet CISC känns inte så lockande att bygga med rör. Stackmaskiner har jag skissat på förut, men den här gången blir det inte en sådan.
Åhå, du menar så. Jag tänkte på att minimera kontrollogiken maximalt.
Oj, hah. Jag tänkte nog på båda två! :D
Jag har funderat en del på att man skulle göra nåt enkelt med mikrokod men insåg att det blir nästa generation av CPU isåfall :-) Till att börja med handlar det om att få till nåt alls :-)
Jag kommer att köra med mikrokod är jag rätt säker på. Delvis för att få upp koddensiteten, och delvis för att få en dräglig dator att programmera assembler på. Inte särskilt komplexa instruktioner dock.
Skulle vara intressant att läsa nån detaljerad studie av koddensitet som jämför olika arkitekturer. Undrar om det finns nånstans...
Jag har sett nåt sånt för länge sen där man jämförde lite olika med VAX som referens, och sen kollade hur mycket större alla andra arkitekturer blev. Google kan nog vara din vän här :-)
Jag hittade och läste den här: http://www.researchgate.net/publication/224114307_Code_density_concerns_for_... De jämför handoptimerad assemblerkod på 21 olika arkitekturer och visar lite grann vilka egenskaper hos arkitekturerna som förbättrar och försämrar koddensiteten. Tyvärr finns varken PDP-8 eller Nova med, och de har klumpat ihop PDP-11 tillsammans med 6502 och Z80 som "8/16-bit", bah. De hade gott kunnat klumpa ihop PDP-11 med 68k tycker jag. Nåja, det var rätt kul läsning i alla fall. VAX är med, och de vanliga RISCarna, och x86 och Itanium och ARM och AVR med flera. Variabel instruktionslängd med väldigt korta instruktionskodningar för vanliga operationer var mest effektivt. Sen fanns autoinkrementerande adressering, kortare instruktioner för små immediate-konstanter, divisionsinstruktioner (bra för inläsning/utskrifter av tal), samt få explicita operander per instruktion med i listan. Min arkitektur har 6-bitars instruktioner, däribland laddning av 5-bitars konstanter, två separata instruktionsklasser för instruktioner med flexibla operander respektive implicita operander, valfri specifikation av operander med hjälp av separata opkoder innan en instruktion, implicit ackumulator, och autoinkrementerande adressering. Nu sitter jag och funderar på hur jag kan implementera division i mikrokod. :) :)
Skulle behöva rör med separata katoder också, för katodföljare. Har några, vet inte hur många jag kommer att behöva. Det blir rör i noval- eller oktalsockel i sådana fall. Jag kan hålla ögonen öppna, det lär behövas några såna för mig också :-)
Japp. Jag har lite ECC83 och ECC803 med mera. Inte så många dock, och det skulle vara trevligt med en massa likadana rör.
Jag har börjat rita lite på ALU:n också, och den käkar logik kan man säga. Men, det verkar som man kan göra en smart lösning med dioder för att emulera en mux, där man driver alla utgångar högt med en effektpentod utom den man vill ha resultatet för. Har inte riktigt sanitycheckat det här än, men det "borde" gå :-)
Har du grejer så du kan labba lite med kretslösningar? Bjarni
On 09/17/2013 12:24 AM, Bjarni Juliusson wrote:
Jag har funderat en del på att man skulle göra nåt enkelt med mikrokod men insåg att det blir nästa generation av CPU isåfall :-) Till att börja med handlar det om att få till nåt alls :-)
Jag kommer att köra med mikrokod är jag rätt säker på. Delvis för att få upp koddensiteten, och delvis för att få en dräglig dator att programmera assembler på. Inte särskilt komplexa instruktioner dock.
Det borde inte vara alltför svårt att hitta ett bra sätt att skriva mikrokod på. Det jag mest har funderat på är hur man hanterar typ subrutiner, villkorliga hopp och sånt på nåt bra sätt i mikrokoden. Men jag har inte gett mej in djupare på ämnet ännu :-)
Skulle vara intressant att läsa nån detaljerad studie av koddensitet som jämför olika arkitekturer. Undrar om det finns nånstans...
Jag har sett nåt sånt för länge sen där man jämförde lite olika med VAX som referens, och sen kollade hur mycket större alla andra arkitekturer blev. Google kan nog vara din vän här :-)
Jag hittade och läste den här:
http://www.researchgate.net/publication/224114307_Code_density_concerns_for_...
De jämför handoptimerad assemblerkod på 21 olika arkitekturer och visar lite grann vilka egenskaper hos arkitekturerna som förbättrar och försämrar koddensiteten. Tyvärr finns varken PDP-8 eller Nova med, och de har klumpat ihop PDP-11 tillsammans med 6502 och Z80 som "8/16-bit", bah. De hade gott kunnat klumpa ihop PDP-11 med 68k tycker jag.
Den jag kollade på var från 80-talet och betydligt mer djupgående. Den här tog inte hänsyn till sånt som kompilatorerna inte genererade ens.
Nåja, det var rätt kul läsning i alla fall. VAX är med, och de vanliga RISCarna, och x86 och Itanium och ARM och AVR med flera. Variabel instruktionslängd med väldigt korta instruktionskodningar för vanliga operationer var mest effektivt. Sen fanns autoinkrementerande adressering, kortare instruktioner för små immediate-konstanter, divisionsinstruktioner (bra för inläsning/utskrifter av tal), samt få explicita operander per instruktion med i listan.
Min arkitektur har 6-bitars instruktioner, däribland laddning av 5-bitars konstanter, två separata instruktionsklasser för instruktioner med flexibla operander respektive implicita operander, valfri specifikation av operander med hjälp av separata opkoder innan en instruktion, implicit ackumulator, och autoinkrementerande adressering. Nu sitter jag och funderar på hur jag kan implementera division i mikrokod. :) :)
I Patterson/Hennessy, http://www.amazon.com/Computer-Organization-Design-Fourth-Edition/dp/0123747... är det nog nuför tiden, så finns det en massa bra saker för såna som vill bygga CPUer. Den behandlar hur MIPS är uppbyggd mestadels men ger en hel del bra tips om grundlogiken. Jag har första upplagan som vi hade som lärobok i nån kurs, synnerligen bra!
Skulle behöva rör med separata katoder också, för katodföljare. Har några, vet inte hur många jag kommer att behöva. Det blir rör i noval- eller oktalsockel i sådana fall. Jag kan hålla ögonen öppna, det lär behövas några såna för mig också :-)
Japp. Jag har lite ECC83 och ECC803 med mera. Inte så många dock, och det skulle vara trevligt med en massa likadana rör. ECC83 kan du sälja för bra med pengar om det är NOS, jag sålde ett gäng Telefunken och Philips för 200 pix styck och köpte nya JJ för $10 :-)
Jag har börjat rita lite på ALU:n också, och den käkar logik kan man säga. Men, det verkar som man kan göra en smart lösning med dioder för att emulera en mux, där man driver alla utgångar högt med en effektpentod utom den man vill ha resultatet för. Har inte riktigt sanitycheckat det här än, men det "borde" gå :-)
Har du grejer så du kan labba lite med kretslösningar?
Jodå. Jag har dammat av några gammelradioapparater för att få anodspänning samt köpt lite ECC91 och EH90 för att labba. Skall bara sortera en del passiva komponenter som ligger i en enda röra så att man hittar vad man skall ha för nåt :-) -- Ragge
participants (2)
-
Anders Magnusson
-
Bjarni Juliusson