Fråga:
Brödbräddator
C.T.
2015-08-23 17:31:42 UTC
view on stackexchange narkive permalink

Är det möjligt att skapa en enkel dator helt med paneler och grundläggande elektroniska komponenter? Är det möjligt att till exempel konstruera en vetenskaplig räknare på detta sätt?

Det är inte bara möjligt, men människor gör det, t.ex.http://www.megaprocessor.com/ och många fler, bara google för "diskret transistor-cpu" eller liknande.Det blir bara väldigt komplext och tar år att bygga och felsöka
Beror på vad du menar med en brödbräda.Om det inkluderar Veroboard, tagremsor eller död buggkonstruktion förankrad av naglar som hamras i mammas (ja) brödbräda - alla lödda då ja, definitivt.Om du menar de plast saker som slumpmässigt släpper ledningar, glöm det ...
@BrianDrummond Re plastbrödbrädor - det är tydligen möjligt (se mitt svar).Jag har sett ett par datorer byggda på detta sätt.Om man av misstag drog ut några kablar, vilken mardröm.Jag är verkligen förvånad över att de faktiskt springer.
Jag tror att om du hade oändliga brödbrädor, skulle du turing komplett?
Du måste verkligen upptäcka Homebrew CPU "webbring" (det var en sak tillbaka på 90-talet innan sökmotorn dominerade webben): http://members.iinet.net.au/~daveb/simplex/ringhome.html
[Altair 8800] (https://en.wikipedia.org/wiki/Altair_8800) använde en [Intel 8080] (https://en.wikipedia.org/wiki/Intel_8080) CPU.8080 hade [cirka 6 000 transistorer] (https://en.wikipedia.org/wiki/Intel_8080#Physical_implementation) men hade också stor nytta av [externa supportchips] (https://en.wikipedia.org/wiki/Intel_8080#Support_chips), och naturligtvis behöver du fortfarande RAM och vänner.Medan Altair 8800 var [ganska primitiv] (https://en.wikipedia.org/wiki/Altair_8800#Description) i både programmering och användning var den tillräckligt sofistikerad för att vara programmerbar för att göra några triviala saker.
Du kanske också vill jämföra med MITS tidigare [MITS 816] (https://en.wikipedia.org/wiki/Micro_Instrumentation_and_Telemetry_Systems#Calculators) miniräknare.
Vetenskaplig kalkylator ?Kanske inte .Men enkel addition och subtraktion och integration kan göras med opamps
(1) Relaterat: [Frågan stängd eftersom ja / nej-svar] (http://meta.stackexchange.com/a/183183/254079) "När man ställer en ja / nej-fråga finns en av två möjligheter ..." (2) Otillräcklig förundersökning.En sökning efter "breadboard-dator" visar ingen brist på resultat.Definitivt nog för att svara på en ja / nej fråga.
Ja ... men du måste vara en uber-nörd.[Hemgjord Z80 Retro-dator - Datorfil.] (Https://www.youtube.com/watch?v=OtpaY8VD52g)
Fem svar:
tcrosley
2015-08-23 20:19:38 UTC
view on stackexchange narkive permalink

Jag kommer inte hålla med om att placera en mikrokontroller på en bräda ombord kan kvalificera mig som att bygga en dator på en bräda. Med undantag för I / O (som tangentbord och skärm), är en mikrokontroller i sig ganska mycket en komplett dator. Att bara placera det på en brädbräda och ansluta några ledningar är trivialt och kan göras på tio minuter.

När OP frågade: "Är det möjligt att göra en enkel dator helt med paneler och grundläggande elektroniska komponenter ? ", med grundläggande elektroniska komponenter tror jag att det betyder något mer så här:

enter image description here

Nu är det en dator på en brädbräda (ja, flera brädbrädor), byggda från grundläggande komponenter . Beskrivningen av det finns här. Den består av ett dussin typer av 74LS00-seriens IC: er. (Jag tror inte att vi vill gå hela vägen tillbaka till transistorer; den ursprungliga PDP-8 var storleken på ett litet kylskåp).

När det gäller en vetenskaplig miniräknare, om du byggde en dator för allmänt bruk som den som visas ovan, kan den programmeras som en vetenskaplig miniräknare. Att konstruera en vetenskaplig miniräknare som endast använder logiska IC: er (ingen dator) skulle vara extremt svårt; alla tillverkare av sådana miniräknare (Ti, HP etc.) använde speciella storskaliga IC: er. Här är en hembyggd kalkylator som använder en tidig 4-bitars miniräknare IC.

Jag håller med om att om man vill få en dator igång så snabbt som möjligt, då att använda en mikrokontroller är vägen att gå. Om man verkligen vill förstå hur en dator fungerar internt är det rätt väg att bygga en ur grundläggande IC.

[Någon byggde en breadboard-dator med en 68k som kunde köra Linux] (http://www.bigmessowires.com/2014/11/17/68-katy-68000-linux-on-a-solderless-breadboard/)
@ColeJohnson Hans anteckningar säger att han inte har några scheman för det!
AilicjwqizCMT thx, fast.
Viktor Toth
2015-08-24 01:48:20 UTC
view on stackexchange narkive permalink

Det är inte bara möjligt, jag har faktiskt gjort det: se https://www.vttoth.com/CMS/projects/47

Här är ledningarna på baksidan av en av brödbrädorna såg ut:

enter image description here

Naturligtvis beror allt på vilka komponenter som kvalificerar som "grundläggande". I mitt fall var de grundläggande komponenterna 74 ... serie TTL-chips, ungefär hundra av dem. Att bygga en dator helt från, säg, transistorer ... det skulle vara alltför överväldigande.

Dessutom är min 4-bitars dator verkligen inte tillräckligt kraftfull för att kunna användas som en vetenskaplig räknare, främst på grund av begränsningar i minnet (256 4-bitars nybbles). Det är dock inte särskilt svårt att förlänga adressutrymmet, kanske med hjälp av en personsökningsmekanism, och 4096 nybbles (12-bitars adresser) kanske redan tillräckligt, 65536 nybbles (16-bitars adresser) säkert.

Grattis.Det är en ganska prestation.Jag gillar instruktionsuppsättningen - påminner mig om en 6800.
Det finns en kille som arbetar med att bygga en processor som bara använder transistorer.RAM, processor, allt.[MegaProcessor.com] (http://www.megaprocessor.com/)
Vissa människor är mer tålmodiga än jag.
PkP
2015-08-24 00:26:42 UTC
view on stackexchange narkive permalink

Ja det är möjligt, men du behöver lite mer än bara några brödbrädor för att komma med en vetenskaplig räknare, beroende på vad du anser vara en baskomponent: om du kallar en transistor för en baskomponent eller en flip-flop, en EEPROM eller bara något du kan löda ut från ett gammalt kylskåp.

Det finns några bra svar här, men jag vill bara påpeka en sak som folk ofta inte anser . När man tittar på datorenheternas historia är svårigheten att bygga en dator från trädbark och naglar varken CPU eller ALU. Huvudproblemet är minne . Eftersom du behöver en enorm mängd av det för att hela lagrat programkoncept ska fungera. Du kan skapa en CPU från några flip-flops och NAND-grindar; till exempel för en kraftelektronikapplikation med specifika begränsningar designade jag en gång en mikroprocessor som endast använder 69 flip-flops (4 16-bitarsregister, 4 flaggor och 1 tillståndsregistreringsbit som betecknar FETCH / EXECUTE). Det implementeras i kisel och folk skriver programvara som körs på det. Det är enkelt och det passar in i storleken på en avloppskontakt för en effekttransistor. Men minnet som behövs för att lagra ett användbart program är mycket, mycket större.

Tidigt var minnet startpunkten för designen. Du kan använda bi-stabila reläer som de gjorde vid tidiga telefonväxlar. Du kan använda vakuumrör eller transistorer för att göra flip-flops; och CPU: s register implementerades vanligtvis på detta sätt. Men för programmet och datalagring användes pappersband, magnetband, snurrskivor eller snurrtrummor. Även akustiska vågor på ståltråd som hela tiden tas emot och sänds igen av elektroniken. Allt du kan tänka dig som kan innehålla vissa bitar under en rimlig tid med rimlig kostnad. Apollo-orbiter- och månlandningsdatorer använde spolkärnminnen som lindades upp som rep. Alla dessa behöver olika gränssnittsutrustning och har en enorm inverkan på hur processorn behöver vara för att få tillgång till sådana minnen. Halvledarminnet uppträdde först på 1970-talet och slutligen avfärdade den typen av komplexitet. Men då är moderna dynamiska RAMS inte heller så enkla.

Sedan finns det den extra underbarheten att behöva designa input-output-utrustning för datorn. Några glödlampor är bra för vissa applikationer, men om du behöver textinmatning / utmatning eller något ännu mer komplicerat, står du återigen inför fler svårigheter. Punch-card-läsare, skrivare och pappersterminaler var en stor affär i sina dagar. En VT100-textläget videoterminal från 1978 har mycket mer minne och processorkraft än vad din vetenskapliga kalkylator-dator skulle ha.

Även om det verkligen är möjligt att implementera minne med hjälp av flip-flops, tror jag att det krävs en koncession för att tillåta minnes-IC: er (det är vanligtvis fallet i dessa hembryggda datorer att använda en 74181 för ALU).Du kan få en 8Kx8 [SRAM] (http://www.alliancememory.com/pdf/ZMD_U6264B.pdf) i ett DIP-paket för cirka $ 2.Det borde vara mycket för en miniräknare.Samma för EEPROM.
@tcrosley Jag håller med.Jag pekar bara på en kommentar från historien.Om du ska bygga en homebrew-dator idag gör du inte det för att följa några godtyckliga regler, du kommer att göra det för skojs skull och för att lära dig.Och att desigera en mikroprocessor är roligare och en bättre inlärningsupplevelse än att slingra 16 tusen bitar kärnminne;)
@PkP Det finns något att säga för någon som kommer ihåg * hur * man väver kärnminnet och får det dokumenterat.Inte så mycket på hur lite eller två fungerar, men den praktiska sidan av hur man gör 16 kbits utan att bli galen.Jag har arbetat med fröbiprojekt.Jag kan visualisera galenskapen ... Jag antar att det en gång fanns fabriksautomation för att göra det, men jag har sett väldigt lite skrivet om produktionssidan.
@RBerteig tack, jag håller med.Tja, jag minns att jag läste att Apollo-rymdfarkostens repminnen vävdes av mycket skickliga vävarkvinnor, som hade det häpnadsväckande tålamodet att noggrant kontrollera var och en eller noll i koddiagrammet, vilket anger om bitspolen är vävd genom kärnan ellerkringgått det eller något i den meningen.Jag minns att jag läste från samma källa att det tog sex månader för dem att väva en ny ROM efter varje programvaruändring från MIT-ingenjörerna som skrev Apollo-programvaran.
Wouter van Ooijen
2015-08-23 17:52:32 UTC
view on stackexchange narkive permalink

Det är möjligt, men komplexiteten och storleken beror på vad du kallar grundläggande elektroniska komponenter. En ALU- och sequencerlogik är lite komplex, men genomförbar. Minne är enkelt, men grundmönstret måste upprepas ett mycket stort antal gånger (tänk 1000 gånger).

Förutom hårdvaran behöver du också programvara som körs på den. Som en grov uppskattning, för en måttligt komplex CPU (klassiska 16-bitars instruktioner 8-bitars datanivå) kommer din mjukvaruinsats att vara jämförbar med din hårdvaruinsats. (För en mer förenklad CPU behöver du mer SW-ansträngning.) Och hur ska du ladda den SW i din maskin?

Bugjakt (och lösning) kommer att vara ett intressant åtagande. Jag skulle rekommendera dig att börja skriva i VHDL och köra det på en simulator, det blir mycket lättare att felsöka än en massa chips och ledningar.

Två studenter av mig skapade en 16-bitars CPU med lite grundläggande programvara (inklusive en GCC-backport) om ~ 1 år, med början med VHDL- och C-kod för simulering. ALU använde 74181-chips, minnet var statiskt RAM-minne, och de använde en atMega för att gränssnittet mellan datorn och deras dator. Datorn var delvis på lödfria brödband och delvis på PCB (de 8 16-bitarsregisterna). (Dessa två var inte genomsnittliga studenter!)

Oka
2015-08-23 17:41:50 UTC
view on stackexchange narkive permalink

Ja, det är möjligt. Men du behöver en mikrokontroller för att göra matematiken. Detta är ett exempelprojekt. Den använder AVR-mikrokontroller och 16 × 2 LCD-skärm.

+1 Jag har en miniräknare som använder en ARM-processor.Dessa dagar bör en mikrokontroller betraktas som en grundläggande komponent.
Du behöver inte ett mikro, det gör det bara enklare.
@PlasmaHH antingen en mikrokontroller eller flera breadboards.Har du bara grundläggande grindar med 2 ingångar?Ha så kul.OTOH en ROM eller två + ett MUX + -register = en enkel mikrokontroller redan.
Hur tror du att mikrokontroller matematik?Med ALU: er - gjorda av kisel / transistorer / elementära grindar beroende på vilken skala du ser saken.
Mikrokontroller och mikroprocessorer är också gjorda av elektronikelement, så du kan göra dem på en bräda, inget behov av en riktig mikrokontroller


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...