Hejhopp, jag har (till slut!) ritat och räknat ihop nästan allt för att kunna bygga en CPU :-) Efter att ha grejat med Nova en hel del så insåg jag att kontroll-logiken blev rätt rörig, trots att arkitekturen i sig är ganska enkel. Så jag tänkte att jag tar och skissar på RISCV istället, som verkar vara en rätt trevlig arkitektur :-) Och efter lite funderande så verkar det bli en rätt intressant konstruktion. Det blev en RV32I klockad på 1MHz med 5 cykler per instruktion. Logiken är 0V för etta, och -20V för nolla. Här klipper man spänningar utanför det intervallet för att få upp farten. Internt har den 3 latchdrivna register (PC, IR samt OB). Varje reg har 48 rör (OB har 52) och 210 (!) kristalldioder. Eventuellt kan man förbättra lite här. Det är en förenklad "lågenergi-variant" av den som jag skrev om förra gången. Snabb kalkyl ger strömförbrukningen; +150V 420mA och -100V 270mA för anoderna, samt 130V 0.3A och 6.3V 13.5A glödspänning. Det motsvarar 214W per register (!). Tur elen är billig. ALUn (add, and, or, xor) har 8 rör per bit + 4 output-driv-rör per bit. Det är i princip addern från BESK eftersom den var rätt elegant i sin konstruktion samt har snabb ripple-carry. Här är enda orosmomentet huruvida man kan göra en full addition med worst-case ripple på under 1ns, men med den snygga varianten av 30ns-gatedelay-latchar jag fick till förut så borde det ordna sig :-) Registerstacken använder sig av kondensatorminne med refresh av ett word under varje instruktions-fetch, alltså var femte ns. Det gör att man får 155ns mellan refresherna, och det borde räcka till för att kunna hålla 500pf-kondingar laddade även med läckströmmen på kristalldioderna (teoretiskt, har inte testat än). Jag tänkte skippa använda elektronrör här. 31 register a' 32 bittar blir 188 rör för avläsning + 62 för att hålla koll på nästa word att refresha. Här tänkte jag ha två uppsättningar så att man får ut datat ur två register samtidigt. Kontroll-logiken blir mycket enkel, en 5-stegs ringräknare för att hålla koll på var man är i instruktionen, samt några and-kretsar för att sätta rätt styrbittar beroende på instruktion. Otroligt mycket enklare än Novan. Nätdelen för anodspänning (+150) använder sig av 866:or och 6080 som seriestabbar. -100 har också 866:or och har PL519 som shuntregulator. Det enda jag inte ritat än är barrel-shiftern, men jag funderar på en kul variant av triod-gaten som beskrivs för IBM604 om det inte blir för många rör. Alternativet här är att skifta i ett register (till exempel OB) men då trasslar man till kontroll-logiken :-/ Oj, jättelångt mail. Ha en bra kväll! -- Ragge