God måndagkväll, tänkte det var dags att diskutera lite praktikaliteter igen och höra om nån har några bra tips :-) Först och främst de grundläggande byggstenarna jag bygger med: http://www.ludd.ltu.se/~ragge/vtc/drawings/basic-blocks.html Borde vara hyfsat korrekta värden för att snurra i 200kHz på de flesta komponenter. Sen så har jag hållit på och ritat blockscheman över Nova-CPUn och nu tror jag att det börjar vara nåt som kan fungera. Inte helt olikt DGs från den tiden: http://www.ludd.ltu.se/~ragge/vtc/drawings/Blockschema-150314.jpg Jag har också ritat alla ingående delar förutom carry-logiken och statemaskinen för exekveringen, det väntar bara på att bli renskrivet i elektronisk form. Vad som görs för varje instruktion är dock klart. En add kommer till exempel att ta upp 6 klockpulser. Den har 8 register: 4 vanliga + PC + AR (arithmetic) + IR (instruktion) + MB (memory buffer). Alla utom PC är 16 bitar breda. Det finns 3 MUXar: SX (6 input), D (5 input) och MA (2 input + CF driver). ALUn kan i stort sett bara utföra en ADD, men man kan invertera SX-ingången och får därigenom också SUB med vänner. AND får man på köpet. Men: nu kommer det jag stör mej mest på: Det går en oherrans massa rör. De saker jag beskrev ovan är 742 stycken, fördelade på: - 231 ECC91 - 463 EH90 (!) - 32 ECC88 - 16 EAA91 Värst är åtgången av heptoder. Det är främst MUXarna som slukar såna (jag har open-anode i MUXen), så har man 6 ingångar * 16 bit blir det 96 stycken. Här skulle jag behöva tips på hur man kan göra för att få till MUXar som inte behöver såna mängder för att fungera... :-) -- Ragge