Jag tänkte att det börjar bli dags att dela med mig av ett projekt som har legat och pyrt en längre tid.
Tanken är att skapa en fungerade dator av individuella transistorer.
Bakgrund:
Jag har alltid varit fascinerad av hur enkla logiska funktioner kan kopplas samman och bilda ett komplext system. När jag läste till elektriker (för ca 12 år sedan) satt jag ofta kvar efter skolan och pulade med skolans digitala labplattor. Det var väl egentligen då som drömmen om att bygga ett system började gro. Då tänkte jag använda mig av TTL-kretsar och jag läste så mycket jag kunde hitta (vilket inte var så mycket då) på nätet om folks olika kreationer. Jag gjorde en enkel 4-bitars krets baserad på en 74xx181 som kunde räkna lite och utföra lite olika logiska operationer. Den var helt manuell och man var tvungen att, med hjälp av brytare, läsa och skriva till register samt ange värden etc. Som med så mycket annat hamnade den till slut på hyllan bland annat bråte och drömmen föll i glömska för en stund.
Några år senare fick jag inspirationen tillbaka efter att ha sett Bill Buzbee's Magic 1, en TTL-baserad dator som man till och med kunde telnetta till! Helt fantastiskt! Jag började då spåna vidare på en TTL-maskin.
Till slut byggde jag en 8-bitars variant med i stort sett samma struktur som den tidigare 4-bitars mojängen. Denna var också manövrerad av brytare och kändes ganska klumpig om än fungerande. Det hela föll efter en stund i glömska igen.
Något år senare såg jag Harry Porters relä basedare dator. Wow!
Det var då tanken om att bygga en transistorbaserad maskin började sätta fart.
Tanken:
- Tanken är att bygga en fungerande dator av transistorer.
- 8-bits databus.
- Typen av transistorer som kommer att användas är BJT
- Till att börja med kommer den vara mycket simpel, en ALU, lite latchar för att hålla data, manuell I/O.
- Jag har inte bestämt mig för hur slut resultatet kommer se ut men som första mål har jag tänkt att den ska kunna räkna lite fibonacci serier samt utföra en del logiska operationer.
- De grindar som kommer användas är baserade på TTL kretsar tex. så kommer ALU'n vara baserad på 74xx181.
- Alla individuella grindar kommer ha LED's för att visa vilket tillstånd de befinner sig i.
- Det hela kommer byggas "på bredden". Dvs uppsmällt på en platta så man kan se hur data flyter genom de olika delarna.
- Ytmonterad konstruktion. Jag tänkte ett tag göra den "point 2 point" men insåg ganska fort att bygget skulle bli ganska enormt.
- Evighetsprojekt.
Kvar att göra just nu:
Rita klart ett blockschema för ALU.
Rita klart samt simulera ALU.
Rita och simulera alla latchar.
Göra kretskort för ALU. - Pågående.
Göra kretskort för alla latchar.
Blockschema - ALU
Schema över ALU
En ALU innehåller ca 355 transistorer. Anledningen till att det blir så många är framförallt LED indikeringen som kräver 2 transistorer per grind. En ALU innehåller 67 olika grindar. Jag har inte ritat in I/O eller kontrollen för de olika latcharna.
Exempel på några grindar i ALU:
Inverter: 4-input NOR: 3-input AND: XOR:
Simuleringarna är klara för ALU'n och den beter sig som den integrerade kretsen. Det gick ganska trögt att simulera mot slutet men alla funktioner i tabellen fungerar som det ska och jag hoppas innerligt att inget är fel i schemat så det var ganska jobbigt att felsöka bland alla subkretsar.
Jag har en del huvudbry över dimensioneringen av resistorerna i grindarna, dessa värden var de enda som inte gjorde att vissa kretsar hamnade i hysteres. Frågan är bara om det är "rätt" att ha dessa värden. Jag hoppas någon här kan ge mig svar på den frågan. Proteus tyckte förövrigt att kretsen skulle dra 70A (!) så de fel som yttrade sig kanske inte gör det i verkligheten. Det är lurigt med PSpice på det sättet. Att simulera några enstaka grindar fungerade bra med andra värden (jag hade 10k på kollektorn och 100k på baserna förut)
Något som inte syns i schemat är logiken för lysdioderna. Men det är inget konstigt egentligen. Ett par inverterare bara. Jag har även gömt alla kondensatorer (det sitter en liten konding i varje grind för att minska störningarna)
Så, nu är det ute ur garderoben. Jag reserverar mig för att den här tråden inte kommer att uppdaterad dagligen då tiden är knapp men nu när det är postat känner jag mig mer tvingad att färdigställa det

Ser fram emot alla former av synpunkter och kritik!
/Hampus
P.s Jag glömde nästan skriva att en annan som fått mig att sparka igång detta projekt igen är Nablaman här på forumet. Kul att se att din maskin börjar bli färdig och tack för all inspiration. Bra jobbat!