Finns det någon byggsats där man bygger en enkel dator?

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av Icecap »

Jag gillar Z80 tungt men i rättvisas namn är 68000 är bra processor på många punkter!
Användarvisningsbild
4kTRB
Inlägg: 20666
Blev medlem: 16 augusti 2009, 19:04:48

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av 4kTRB »

68000 är populärare skulle jag tro så nåt måste det vara som är fördelaktigare.
Den är väldigt enkel att lära sig att programmera i assembler.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 34918
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av HUGGBÄVERN »

Hur svåra är olika Intel-processorer? T ex 80186 och 80286?
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av Icecap »

Vad jag vet är deras bus-hantering krånglig.
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av Johanb »

4kTRB:

Jag har något minne om ett shift-register (kapsel) som såg till att hålla EPROM till adress 0 under några cykler för att ladda PC från EPROM och sedan kasta upp EPROM lite högre och till samma adress som PC fick. Detta för att få RAM på adress 0 av nån anledning, stackpekare kanske? Känns det igen?
Det var ett tag sen jag höll på men det var jäkla roligt :)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46930
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av TomasL »

Det går ju alltid att bygga en CRAY1a eller en ALPHA16 :D
HW-manualer finns hos mig.
Oavsett vilket så ger dessa dokument en djupgående analys av hur dessa maskiner fungerar, ned till LSb i microkoden, oerhört fascinerande och intressant läsning, om, man vill veta hur man konstruerade det som en gång var världens kraftfullaste datorer, samt en av de vanligaste 16b minidatorerna.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av bos »

Rudnert skrev:...det har funnits en byggsats där man bygger en enkel dator...
Vad är din preferens/definition av "enkel dator"?
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av baron3d »

En enklare "dator" kan du bygga kring 4500 "1-BIT PROCESSING UNIT".

68HC11 kan rekomenderas! Mycket trevlig. Mycket lätt att få tag på.
Användarvisningsbild
4kTRB
Inlägg: 20666
Blev medlem: 16 augusti 2009, 19:04:48

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av 4kTRB »

Johanb skrev:4kTRB:

Jag har något minne om ett shift-register (kapsel) som såg till att hålla EPROM till adress 0 under några cykler för att ladda PC från EPROM och sedan kasta upp EPROM lite högre och till samma adress som PC fick. Detta för att få RAM på adress 0 av nån anledning, stackpekare kanske? Känns det igen?
Det var ett tag sen jag höll på men det var jäkla roligt :)
Ja stämmer. Fysiskt så ligger RAM från adress 0 och EPROM startar på tex $8000.
Vid reset så läses adress 0 in i stackpekaren och adress 4 in i programräknaren och
de databitarna finns i EPROM. Så det behövs en speciell bootkrets som gör om adress
$8000 till 0 under de 4 första busscyklerna.

Att RAM läggs från adress 0 beror på att de 1024 första byten i minneskartan är reseverade för
undantagsvektorerna. De går att ha i ROM (resetvektorerna måste alltid ligga i ROM) men det är
nog en fördel att kunna programmera resetvektorerna dynamiskt så då avkodar man RAM
från adress 0.
Användarvisningsbild
MiaM
Inlägg: 12831
Blev medlem: 6 maj 2009, 22:19:19

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av MiaM »

Johanb skrev:4kTRB:

Jag har något minne om ett shift-register (kapsel) som såg till att hålla EPROM till adress 0 under några cykler för att ladda PC från EPROM och sedan kasta upp EPROM lite högre och till samma adress som PC fick. Detta för att få RAM på adress 0 av nån anledning, stackpekare kanske? Känns det igen?
Det var ett tag sen jag höll på men det var jäkla roligt :)
Själva idén att vid reset lägga in ROM på adress 0 och senare ersätta det med RAM används även på Amigadatorerna. Från adress 0 börjar en tabell med resetvektor och diverse interruptvektorer. För att kunna byta interruptvektorerna (utan att mellanlanda via nån jmp-instruktion i rom som tar extra cykler) så vill man ha ram från adress 0 och framåt.

På Amigan så är det dock inte ett visst antal cykler som styr rom/ram-växlingen utan växlingen styrs av en i/o-port...
Användarvisningsbild
4kTRB
Inlägg: 20666
Blev medlem: 16 augusti 2009, 19:04:48

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av 4kTRB »

Jag har byggt bootkretsen på min enkortsdator med en 74LS164, ett skiftregister.
Den kopplar bort RAM under de 4 första busscyklerna och väljer EPROM i stället.
Användarvisningsbild
4kTRB
Inlägg: 20666
Blev medlem: 16 augusti 2009, 19:04:48

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av 4kTRB »

Hur löser man det med en i/o-port?
Är det någon i/o-pinne som växlar nivå vid reset?
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av Johanb »

Tja, man skulle ju kunna låta instruktionen efter ladda PC vara en IO-out som styr om adressavkodningen. Dvs EPROM ligger på 0 vid reset och ställs om av IO-porten, kanske med en självhållning, RAM skulle kunna ligga med en adresspinne inverterad så det ligger där eprom sedan hamnar och så byter de plats. A16 (tänker jag rätt $8000) går via en io-styrd hållkrets till ce på eprom och inverterad till ce på ram.

Jag kommer inte ihåg hur adressavkodningen görs men har något minne om vanliga grindar och logiktabeller, inget fancy :)

Och sen plockar mitt undermedvetna upp något om extern timer för memory wait-states, kan det stämma?

Förlåt om vi snodde tråden men jag blev nästan lite till mig :)
Användarvisningsbild
4kTRB
Inlägg: 20666
Blev medlem: 16 augusti 2009, 19:04:48

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av 4kTRB »

När de bytt plats och en reset utförs så kommer processorn leta efter
data på adress 0 och 4 men där ligger RAM så det kommer ju inte fungera.
Då måste det finnas någon i/o-pinne som mappar om adressen innan
processorn ska hämta data på adress 0 och 4.
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Finns det någon byggsats där man bygger en enkel dator?

Inlägg av Johanb »

Hmm, man måste ju sätta PC och IO-porten samtidigt, så att porten är satt innan cpun exekverar det som PC pekar mot men sätter man PC innan out-instruktionen så hoppar man till RAM och sätter man out innan PC så får man aldrig instruktionen för att sätta PC då man helt plötsligt exekverar i RAM där man befinner sig.

Det kanske skulle gå att först kopiera instruktionerna för att sätta PC till RAM på den position man kommer att befinna sig när man sätter io-porten och sen nät man byter plats via io-porten så ligger instruktionen för att ladda PC i RAM och exekveras.

Omständigt värre och kanske inte ens möjligt att tyda mitt mitt-i-nattensvammel :)
Skriv svar