CPU-hemmabygge

Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

Tack!

Det du skriver är mycket intressant. Riktigt häftig programmering innebär ju att man programmerar i ren maskinkod dvs tjafs som mnemonics är lyx :-)

Vad är det för häftig TTL-dator du lagat?

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

blueint skrev:Det finns nog bättre verktyg än Excel för databearbetning av denna typ. Såsom perl.
Jag tror du är på fel forum :-)

Jag skojar bara med dig men i min värld existerar inte ens C och Excel tycker jag är det bästa programmet som Microsoft nånsin, men faktiskt bara indirekt, skapat.

För mina primitiva men roliga applikationer krävs inget mer. Bara den matrismässiga struktur som Excel har.

Fast hex.till.dec och dess reciproka funktion är ett tacksamt nyförvärv inför mina troligtvis nödvändiga revideringar av CPU'n.

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

Nerre skrev:Gick ju snabbt att hitta
http://office.microsoft.com/en-us/excel ... 10313.aspx
Hej!

Tack för din länk.

Problemet är bara att dels har jag svensk Excel, dels fungerar inte dessa funktioner alls utan att man aktiverar dom (av nån konstig anledning).

Och det är konsten att förstå detta samt hitta hur man gör som gjort det onödigt besvärligt för mig.

Funktionen

HEX2BIN()

heter alltså

HEX.TILL.BIN() på svenska

Åtminstone gör den det i min gamla hederliga Excel från 97 :D

MVH/Roger
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: CPU-hemmabygge

Inlägg av Nerre »

Men vad funktionerna heter, om det nu finns funktioner för det, hittar man ju snabbt i hjälpen? Nästan allt jag kan om MS Office har jag lärt mig från hjälpen.

Det är ju bara när det inte finns färdiga funktioner som man behöver googla lite.
Användarvisningsbild
anders_bzn
Inlägg: 5444
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: CPU-hemmabygge

Inlägg av anders_bzn »

rogerk8 skrev:Tack!

Det du skriver är mycket intressant. Riktigt häftig programmering innebär ju att man programmerar i ren maskinkod dvs tjafs som mnemonics är lyx :-)

Vad är det för häftig TTL-dator du lagat?

MVH/Roger
Jag har renoverat en PDP-8/L: http://elektronikforumet.com/forum/view ... hp?t=46611
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

Vilken fantastisk apparat! Lycka till med renoveringen! Jag gillade speciellt bilden på 7474:an :-)

Personligen är jag extremt dåligt insatt i datorvärlden både historiskt och nuvarande.

Jag vet faktiskt inte varför men jag har liksom aldrig varit intresserad.

Jag har mer varit intresserad av analog teknik såsom (rör)förstärkare och digital teknik på grindnivå.

Första gången jag kom i kontakt med processorer var faktiskt på högskolan (6809).

Sedan dess har jag varit fast.

Processorer är ju så fascinerande!

Vet inte riktigt när jag började lura på att designa min egen. Men när jag började på mitt nuvarande jobb så höll utvecklingen av en uppgraderad produkt på för fullt. Eftersom jag sen mest blev att sitta och reparera dessa produkter (vi sålde mängder så det är klart att vissa blev att gå sönder av olika anledningar) så blev jag att lära mig hur dessa kort i grunden fungerade. Speciellt intressant var det lilla (144 ben dock!) Xilinx-chipet, XCR3128XL. Det sades nämligen bara vara en programmerbar logisk krets (CPLD). Efter några år blev jag så att spekulera över om man kanske tom kunde bygga sig en CPU mha en sån. Research och diskussioner med kollega gav svar på tal att visst, det skulle kunna gå. Jag blev exalterad och började planera för denna CPU.

Faktum är att man istället hade kunnat vira ihop typ en kvadratmeter med diskreta kretsar för att realisera denna 16X8-bitars CPU.

Speciellt det faktum att man kunde cadda med hjälp av diskreta grindar i Xilinx utvecklingsmiljö (ECS) gjorde mig löjligt glad för då kunde jag programmera på ett språk jag förstår samtidigt som den fysiska storleken på CPU'n kan hållas nere.

Därav ser den ut som den gör idag.

Men jag poängterar att enbart RST-instruktionen än så länge tycks fungera. Jag har dock hittat ett allvarligt fel men vill inte korrigera det förrän jag fått video-filmat denna ynkliga framgång :D Det finns ju liksom en risk att den då kommer fungera alldeles för bra men med nya fel. Nu repeterar den åtminstone sig på ett deterministisk sätt. Ett steg i taget...

MVH/Roger
PS
Bifogar schemat. Caddat i ett av mina favoritprogram, MS Paint :D
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

För att Ni ska kunna korrelera det fysiska utseendet med schemat så bifogar jag även layouten.

Hade kanske inte behövts om jag hade kunnat ladda upp en tillräckligt högupplöst bild på CPU'n som jag har men som jag märkte inte accepteras av forumet (>3MB).

Hoppas ni finner lite nöje i denna bild också!

MVH/Roger
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
stekern
Inlägg: 453
Blev medlem: 2 november 2008, 08:24:18
Ort: Esbo, Finland

Re: CPU-hemmabygge

Inlägg av stekern »

Mycket imponerande och kul att du går din egna väg och pular på grindnivå istället för att skriva i hårdvaruspråk (verilog/vhdl).
Själv håller jag på och fuskar lite med en OpenRISC 1000 implementation (https://github.com/openrisc/mor1kx/), så jag förstår nöjet med att pilla runt inne i en CPU :)
Just nu är det MMUs som är på gång.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

Hej och tack för den fina kommentaren.

Jag räknar med att en video på primitiva CPU-funktioner kommer att laddas upp inom några veckor.

Jag tycker ditt projekt låter mycket spännande men fattar ärligt talat inte riktigt vad du håller på med.

Jag surfade in på länken men blev inte nå vidare klokare.

Vore kul om du orkade förklara.

MVH/Roger
PS
Min CPU kan inte bli mer RISC :D
Användarvisningsbild
stekern
Inlägg: 453
Blev medlem: 2 november 2008, 08:24:18
Ort: Esbo, Finland

Re: CPU-hemmabygge

Inlägg av stekern »

OpenRISC 1000 är en öppen RISC arkitektur, ganska lik MIPS, SPARC och PowerPC.
OpenRISC projektet startades runt år 2000, och lite generell info finns på wikipedia: http://en.wikipedia.org/wiki/OpenRISC
Arkitekturspecifikationen finns här: http://opencores.org/websvn,filedetails ... 0-rev0.pdf

Det jag länkade till, mor1kx, är en (av flera) implementation av OpenRISC 1000 (or1k) arkitekturen.
Den äldsta och mest kompletta implementationen är or1200, men denna implementation har
en del skavanker som Julius Baxter (skaparen av mor1kx) ville göra bättre med sin implementation.
Dessa skavanker hos or1200 är:
- tar mycket plats
- kan inte klockas särskilt fort
- verilogkoden använder sig av tekniker som var brukligt runt år 2000, men som nu uppfattas som förkastliga
- är inte särskilt lätt att modifiera (läs, smått råttbo)

Min involvering har varit att implementera (instruktions och data) cache, optimisera prestanda och nu senast implementera MMUer.

Men nog om OpenRISC, nu väntar vi med spänning på video :)
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

Okej gubbar, vad tycker ni om den bifogade videon?

Jag förstår att den inte säger er så mycket men för mig är det en underbar känsla.

Även om den bara genomgår de åtta stegen för den interna RST-instruktionen.

Titta bara på de gröna lysdioderna längst ner till höger.

Däremot lyckas inte processorn hämta nästa instruktion riktigt.

Det blir nåt fel där som gör IR-adressen ogiltig och därmed lyser till slut alla 48 kontrollsignaler längst ner till vänster upp (oprogrammerade celler innehåller FFh).

Därefter har den fantastiska maskinen fått för sig att börja om. Vilket iofs är trevligt för då blir den lättdokumenterad :)

Mycket nöje!

MVH/Roger
PS
Här är videon som till min stora glädje är uppladdad på Youtube (dessutom mycket större filmässigt än dom ynka 3MB man kan ladda upp här):
MiaM
Inlägg: 9915
Blev medlem: 6 maj 2009, 22:19:19

Re: CPU-hemmabygge

Inlägg av MiaM »

Cool!

Det var ju rätt vanligt att 8-bitarsprocessorer inte hade instruktioner för multiplikation/division. T.ex. så fanns det inte i 6502 (med lite olika varianter) som satt i alla de klassiska 8-bitars Commodoredatorerna.

Vad gäller eprom-filer skapade från t.ex. excel så beror det väl på vad man har för informat till eprom-programmeraren. Är det vanlig läsbar text i de filerna så går det såklart bra. Däremot brukar excel och liknande inte vara nåt vidare på att skapa rena binärdumpar.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: CPU-hemmabygge

Inlägg av blueint »

stekern skrev:- verilogkoden använder sig av tekniker som var brukligt runt år 2000, men som nu uppfattas som förkastliga
Vilka tekniker tänker du på då?

(finns det någon lista?)
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: CPU-hemmabygge

Inlägg av Spisblinkaren »

MiaM skrev:Cool!

Det var ju rätt vanligt att 8-bitarsprocessorer inte hade instruktioner för multiplikation/division. T.ex. så fanns det inte i 6502 (med lite olika varianter) som satt i alla de klassiska 8-bitars Commodoredatorerna.

Vad gäller eprom-filer skapade från t.ex. excel så beror det väl på vad man har för informat till eprom-programmeraren. Är det vanlig läsbar text i de filerna så går det såklart bra. Däremot brukar excel och liknande inte vara nåt vidare på att skapa rena binärdumpar.
Tack!

Jasså, det visste jag inte. Mycket intressant!

Har du nån bra enkel syntax för hur man kan generera multiplikation/division eller kan du hänvisa mig nånstans?

8-bitars strängt positiva tal räcker.

Det kommer förmodligen inte bli aktuellt för denna primitiva variant av CPU men kanske i eventuellt senare varianter (FPGA).

Vad är det förresten processorn behöver kunna göra?

Addition är naturligtvis en instruktion.

Skift är en annan. Frågan är om det dels krävs åt båda hållen och dels om inskiftning av både ettor och nollor krävs.

Mina skiftinstruktioner kan bara skifta in nollor i nuvarande implementation.

MVH/Roger
PS
Min CPU har följande aritmetiska instruktioner:

1) ADD
2) ADC (Add with Carry)
3) LSR (Logic Shift Right), skiftar endast in en nolla dvs delar talet med två
4) LSL (Logic Shift Left), skiftar endast in en nolla dvs multiplicerar talet med två
5) SUB, subtraherar på tvåkomplementform
gkar
Inlägg: 1453
Blev medlem: 31 oktober 2011, 15:28:29
Ort: Linköping

Re: CPU-hemmabygge

Inlägg av gkar »

Skift åt höger är ofta onödig. Addition med sig själv ger samma sak.
Skift åt vänster är bra om det finns både aritmetisk och logisk.
Addc är en bra tanke om man åker 8 bitar.

Sedan kan man ju implementa det så att det alltid skiftas in/ut X-flagga eller så om man vill.
Skriv svar