Forum: Offtopic eigenen PC entwickeln


von ... .. (Gast)


Lesenswert?

Ich weiss, ich überschätze mich im Augenblick noch etwas:

Ich habe hier noch diverse alte CPU's rumfliegen, darunter auch vom Typ 
80386. Wie schwer mag es sein ein eigenes PC-System zu entwickeln? Also 
all' die Komponenten einzubauen die es so gibt, ISA, PCI, AGP, USB und 
Co. So dass es hinterher möglich ist *n*x oder dos systeme zu fahren.

Was Prozessor- und IC-Elektronik angeht bin ich nicht dumm, nur noch 
etwas unerfahren. Verdrahten ist nicht das Problem. Im Augenblick klemmt 
es noch beim vertstehen. Obwohl ich auf dem besten wege zu sein scheine. 
Meine unwissenheit hält mich nicht davion ab Geld auszugeben um diverse 
IC's auf ihre Funktionsweise zu testen und direkt am PC anzuschliessen. 
Bisher sind alle "Experimente" ohne stinken, blitzen und knallen 
abgeschlossen worden. Ich bin weiterhin mutig und wissbegierig.

Wonach müsste ich was solche CPU-Schaltungen angeht gucken? Zur 
Abwechslung werde ich das Suchmaschinenmonopol mal nicht bemühen sondern 
mich nur an dieses Forum halten.

von Andreas K. (a-k)


Lesenswert?

Der letzte PC, bei dem das noch einigermassen aussichtsreich war, das 
war die Generation IBM AT mit 80286. Nur wird das mit Unix dann etwas 
schwierig.

von Andreas K. (a-k)


Lesenswert?

Markus Olderdissen wrote:

> nur noch etwas unerfahren.

Offensichtlich. Sonst hättest du nicht gefragt.

Wie siehts bei dir mit dem Design von 4/6-Layer-Platinen aus? Mit 
Hochfrequenz-Layouts für ein paarhundert MHz?

von GLT (Gast)


Lesenswert?

Der Aufwand dürfte wohl in keinem Verhältnis zum Nutzen liegen - worin 
liegt nun die Intention?

von thyristor (Gast)


Lesenswert?

> Ich will auch mein Spass haben.

PCs entwickeln ist arbeit. Kann auch spass machen - ja - aber ohne 
g'scheite Doku und Werkzeuge hat mans schwer und es wird frustrierend.

--> Für'n Blinker reicht ein PIC10 im SOT23 Gehäuse (so ein 3mm kleines 
Teil mit 5 oder 6 Pins).


PS:
Ich hab hier sogar noch zwei Orginal Intel 386er Boards rumliegen die 
fast  nur normale TTL ICs im DIL Gehäuse drauf ham. Sind riesen 
Oschis. Größte TTL Massengräber die ich je gesehen hab - bestimmt je 150 
Stück drauf - dicht an dicht.
kp wie schnell die noch gleich waren - zwischen 16 und 33MHz.   Mehr 
nicht. Also nix mit 100MHz ...  ;)

2 Layer Board reicht vielleicht schon. Selbst heutige Mobos im GHz 
Bereich sind oft aus kostengründen nur 4 Layer.


PPS:
Schau Dir das hier mal an - um den Aufwand besser abschätzen zu können:
http://www.mycpu.eu/

von Chris (Gast)


Lesenswert?

Im Interesse deiner Gesundheit wuerde ich mich auf die CPU und das 
Drumherum beschraenken und einfach ein fertiges Netzteil benutzen. Um 
Netzteile zu bauen muss man schon recht sicher mit Schaltungsplanung und 
aehnlichem umgehen koennen, um nicht Gefahr zu laufen sich einen 
Stromschlag zu holen. Ist auf keinen Fall geeignet als eines der ersten 
Projekte.

von Chris (Gast)


Lesenswert?

Huch, sind hier gerade einige Postings verschwunden oder habe ich ein 
paar Threads verwechselt?

von Chris (Gast)


Lesenswert?

Hm, wie auch immer. Mein Posting bezieht sich jedenfalls auf:

Markus Olderdissen (nomatrix) schrieb am 13.01.2008 um 03:02:
> Wie ist das mit netzteilen. Ich habe hier eine Sammlung von Fujitsu
> Siemens ProNet S 233 Mhz Rechnern. Eine Art Eokstation ohne Cd-Laufwerk,
> mit je 2 GB Festplatte und 50 poligem anschluss für extrene Laufwerke.
> Die werden mit einem 19 V Steckernetzteil  betrieben und haben im PC
> selber noch einen belüfteten wandler.
>
> Gibt es Pläne um eigene Netzteile zu basteln. Ein vorhandener Celeron
> 500 benütigt ohne drehende Laufweke sondern mit CF-an IDE 17 Watt. was
> nehme ich da am besten um da board zu betreiben ohne ein gewähnliches
> Netzteil benutzen zu müssen. Ich habe von diversen PullUp schaltungen
> gelesen um die Negativen Spannungen zu erzeugen. Gt es dazu interessante
> Lektüre.
>
> Betrachten wir meine Wünsche als "Elektronik-Informatik-Studium".

von Spess53 (Gast)


Lesenswert?

Hi

Die Zeitschrift 'Funkamateur' hatte etwa 1990 mal eine Bauanleitung für 
einen XT-Rechner. Vielleicht hilft dir das.

MfG Spess

von Sascha (Gast)


Lesenswert?

Nimm doch ein fertiges FPGA-Board und entwickele deinen eigenen 
Prozessor, Peripherie usw.

Dabei lernt man sehr viel über Mikroprozessor-Architektur und Hardware.

Ich habe so eine eigene 32Bit-RISC-CPU, Speichercontroller fuer SDRAM, 
VGA-Controller usw. gebaut.

von yalu (Gast)


Lesenswert?

> Ich habe hier noch diverse alte CPU's rumfliegen, darunter auch vom
> Typ 80386. Wie schwer mag es sein ein eigenes PC-System zu
> entwickeln?

386er könnte hobbymäßig noch ganz gut gehen. Der schnellste 386er
lief m.W. mit 33 MHz. Allerdings wirst du am Layout eines
32-Bit-Boards schon eine Weile dran sitzen. Deswegen wäre ein 386SX
für den Anfang vielleicht geschickter.

> Also all' die Komponenten einzubauen die es so gibt,
> ISA, PCI, AGP, USB und Co.

ISA ist einfach und für einen 386er ausreichend. PCI gab es damals
noch gar nicht und wird schwer an einen 386er dranzukriegen sein.
Seine hohe Geschwindigkeit kann vom 386er eh nicht genutzt werden. Für
den AGP gilt dies erst recht. Ob es USB-Controller mit Nicht-PCI-
Interface gibt, weiß ich nicht. Evtl. wird man da etwas improvisieren
müssen.

> So dass es hinterher möglich ist *n*x oder dos systeme zu fahren.

Ein Linux sollte kein größeres Problem darstellen. Das lief schon
damals auf diesen Rechnern. BSD geht wahrscheinlich ebenso.

> Was Prozessor- und IC-Elektronik angeht bin ich nicht dumm, nur noch
> etwas unerfahren.

Intelligenz ist gut, aber Erfahrung würde auch nicht schaden ;-)
Das Ganze ist halt doch etwas mehr als mit einem Mega8 eine LED
blinken zu lassen.

> Wonach müsste ich was solche CPU-Schaltungen angeht gucken?

Mit dem Prozessor allein ist es natürlich noch nicht getan. Du
brauchst zusätzlich

- DRAM und einen Controller dafür (oder war der im 386er schon drin?
  Glaube aber eher nicht)
- Die ganzen Peripheriebausteine namens 80xx (Timer, PIO, UART usw.)
- BIOS-EPROM oder -Flash mit Inhalt
- Uhr, BIOS-Parameter-RAM
- Floppy und Harddisk-Controller
- VGA-Chip mit Zubehör
- uvm.

Das (und vielleicht noch ein paar mehr) sind die Dinge, die du
mindestens brauchst, um ein Betriebssystem booten zu können. Da das
System in dieser Komplexität nicht auf Anhieb funktionieren wird,
brauchst du eine Möglichkeit, um den Prozessor schon in frühen
Entwicklungsstadien mit Testprogrammen füttern zu können. Eine
Minimalversion der Hardware könnte aus Prozessor, BIOS-EPROM, etwas
SRAM und UART bestehen. In das BIOS-EPROM kommt ein Bootloader, der
Programme von der seriellen Schnittstelle einliest und ins SRAM
schreibt. Mit einem externen Terminal kannst du sehen, was abgeht.
Dass dafür detailierte Kenntnisse des Prozessors und dessen
Assemblersprache erforderlich sind, dürfte klar sein.

Wenn das tut, kannst du schrittweise weitere Komponenten hinzufügen
und testen. Gerade der VGA-Adapter dürfte etwas knifflig sein, da auch
die früheren Bausteine (wenn es die überhaupt noch zu kaufen gibt)
schon ziemlich komplex aufgebaut waren. Ohne Speicheroszi und/oder
Logic-Analyzer geht da nichts. Die brauchst du aber auch schon in den
vorangegangenen Entwicklungsschritten.

Sind alle o.g. Komponenten beisammen und getestet, brauchst du eine
BIOS-Software. Da gibt es wohl Open-Source-Projekte, auf die man
aufbauen kann, aber reindenken muss man sich natürlich trotzdem.

Wenn der Rechner anschließend in der Lage ist, von Floppy oder
Harddisk zu booten, würde ich erst einmal ein einfacheres OS (z.B.
FreeDOS) probieren.

Wenn das geht, ist der nächste Schritt die Linux-Installation. Geh
aber mal davon aus, dass eine fertige Mainstream-Distribution auf
diesem Rechner nicht laufen wird. Vielleicht wirst du bei
irgendwelchen Embedded-Distros fündig (embedded 386SX-Rechner gab es
bis vor Kurzem noch). Aber auch hier braucht es sicher einiges an
Kernel-Knowhow, um überhaupt den Kernel mit all seinen Treibern ohne
Panics hochlaufen zu lassen.

Aber wenn du all diese Hürden überwunden hast, kannst du dir als
stolzer Besitzer eines, zwar veralteten, dafür aber selbstgebauten PCs
auf die Schulter klopfen :)

> So, wo finde ich denn hier Infomaterial zu solchen CPU's?

Datenblätter sollte es theoretisch bei Intel geben, allerdings
scheinen im Moment die entsprechenden Links tot zu sein. Aber irgendwo
im Netz sind die sicher noch zu finden.


Noch ein Bisschen mehr Senf:

Andreas Kaiser schrieb:
> Der letzte PC, bei dem das noch einigermassen aussichtsreich war,
> das war die Generation IBM AT mit 80286.

Wie gesagt, ein 386SX dürfte auch nicht sooo viel schwieriger sein.

thyristor schrieb:
> 2 Layer Board reicht vielleicht schon.

So sehe ich das auch. Die Bus-Signale dürften eher langsamer sein als
bei einem ARM7. Und mit diesem lassen sich durchaus auch mit einfachen
Mitteln Boards aufbauen.

Markus Olderdissen schrieb:
> Ich will das nicht herunterspielen aber es sieht "simpel" aus. Links
> und unten erkenne ich die 32 Bit Leitungen (A), Clock und Co habe
> ich auch erkannt. die Oberen A pins werde ich auch noch verstehen.
> ich vermute da bereits weitere 32 Bit Register.

Die Ds sind die Datenleitungen, die As die Adressleitungen. Die sind
ja noch bei allen Prozessoren gleich. Um das Teil benutzen zu können,
musst du aber auch die anderen Pins (NA, BE1, ADS, BEO usw.) kennen.
Dazu musst du viel lesen.

> Moment mal, seit wann gibt es denn *n*x Betriebssysteme. So "neu"
> ist das doch nicht.

Unix ist tatsächlich schon uralt (Anfang 70er). Aber zu dem Zeitpunkt,
als der erste IBM-PC auf den Markt kam (1981), wurde Unix schon auf
32-Bit-Maschinen (VAX u.ä.) eingesetzt, die wesentlich
leistungsfähiger als die ersten PCs waren. Erst mit den 386-PCs (der
erste kam 1986) kamen auch PC-User allmählich in den Genuss dieses
Betriebssystems.

von Andreas K. (a-k)


Lesenswert?

yalu wrote:

> oder war der im 386er schon drin?

Nein. Schön klassisch Adressen und Daten in voller Breite, m.W. noch 
ohne das spätere Busse kennzeichnende A/D Pipelining.

> Wie gesagt, ein 386SX dürfte auch nicht sooo viel schwieriger sein.

Akzeptiert. Und ist dann immerhin Linux-tauglich. Für 286 gabs zwar auch 
schon Unixe (z.B. Microport), aber das war nicht so der Hit.

Den AT erwähnte ich deshalb, weil das die letzte PC-Generation war, die 
ohne System- und I/O-Controller nur mit klassischer Logik und bekannten 
Peripheriechips auskam. Und auch das nur am Anfang, schon die zweite 
Generation 286er gab es nurmehr mit hochintegrierten North/Southbridges 
(die hiessen aber m.W. erst später so) und solchem übersichtlichen Kram.

> So sehe ich das auch.

Für ISA ja. Aber er hatte auch Zeug wie AGP erwähnt. Bringt zwar bei 
386SX performancemässig wenig ein, aber AGP*8 mit 2 Layern... von 
PCI-Express ganz zu schweigen.

von yalu (Gast)


Lesenswert?

> Und auch das nur am Anfang, schon die zweite Generation 286er gab es
> nurmehr mit hochintegrierten North/Southbridges

Ach, gab es so etwas damals auch schon? War mir nicht so gewahr.
Solche Geschichten erschweren einen Selbstbau natürlich, da man diese
Chips heute wohl kaum noch kaufen kann.

Wahrscheinlich wäre es ohnehin sinnvoller, sich einen Rechner aus
modernen Komponenten zusammenzubauen, wenn er nicht um jeden Preis
PC-kompatibel sein muss. Auch mit einem langsamen bis mittelschnellen
ARM-Prozessor bekommt man die Leistung eines 386ers hin, kann ebenso
Linux drauftun und dabei viele Komponenten und Hürden einsparen, die
bei den 386er-PCs nur durch den Kompatibilitätszwang zum Ur-IBM-PC
bedingt waren.

von Andreas K. (a-k)


Lesenswert?

Wobei es schon für Technik anno AT interessant sein dürfte, eine Lösung 
für den 8041 basierten Tastaturcontroller zu finden. Anno XT war das 
Tastaturinterface noch ein einfaches Schieberegister.

von Hellboy (Gast)


Lesenswert?

nen 386 board liegt glaub ich noch in meiner bastel kiste .... kannste 
alles runter löten und wieder drauf löten .... hattest deinen spaß bist 
verzweifelt und gut ist ;)

von Outi O. (outlaw)


Lesenswert?

@TE

Entwickle Dir doch Dein eigenes Auto, ist viel einfacher und wennde 
willst, kannste da ja sowas dann einbauen (fertig gekauft natürlich).

von Besserwisser (Gast)


Lesenswert?

Wer Computer baut,
verliert Frau und Braut!

von Christian R. (supachris)


Lesenswert?

Dazu passend, leider bissl Off-Topic:

Willst ´nen Cisco du verwalten, trenn dich besser von der alten.

von Besenschwenker (Gast)


Lesenswert?

<Moment mal, seit wann gibt es denn *n*x Betriebssysteme. So "neu" ist
<das doch nicht. Die ganzen RFC's bzw die Protokolle die mit ihnen
<definiert werden, die wurden doch an solchen und kleineren Maschinen
<entwickelt. und das waren damals sicher noch keine 286. Irgendwas hab
<ich da im Kopf. Ich komme nicht drauf. Das waren ganz billige 
Terminals.

Du verwechselst da was, Client und server:

Das standard-Unix als Multi-process betriebssystem mit speicherschutz 
benötigt eine Memory-Managment-Unit. Die steckt ab 386 in der CPU drin, 
beim Vorgänger nicht. Ohne MMU ist es nur schwer möglich, den Programmen 
einen geschützten Speicherbereich zur Verfügung zu stellen. Es gibt 
abgespeckte Linux-like varianten für MMU-lose systeme, aber das ist kein 
vollwertiges Linux.

Auf den erwähnten terminals lief kein *i*x sondern nur ein 
Terminalprogramm, das tastureingaben und Bildschirmausgaben hat den 
Hauptserver weiterleitet. Auf dem läuft dann ein *n*x mit mehreren 
Processen (Tasks) z.B. für jeses Terminal eins. Entickelt per Terminal 
auf dem Server, nicht auf dem terminal allein.

von Andreas K. (a-k)


Lesenswert?

Besenschwenker wrote:

> benötigt eine Memory-Managment-Unit. Die steckt ab 386 in der CPU drin,
> beim Vorgänger nicht.

Ab 286, um genau zu sein. Ohne Paging halt, aber Unix für 286 gab es.

von Besenschwenker (Gast)


Lesenswert?

<Ab 286, um genau zu sein. Ohne Paging halt, aber Unix für 286 gab es.

Gab es (Xenix?), ist die Frage ob der threaderöffner, das auch noch 
auftreiben kann.
Ich nehme an, er meint Linux, da ist man mit 386 (mit PMU) auf der 
"breiten" Seite. Es gibt zwar auch kernel für 286, meiner meinung nach 
sind das aber eher "Exoten", (schwer auf eigenes system anpassbar) und 
wegen der fehlenden hardware-ünterstützung langsam oder eingeschränkt im 
multitask.

von ... (Gast)


Lesenswert?

@Markus

Du hast mit deinen Fingern in der Steckdose gespielt? Das erklärt dein 
Geschriebenes.

von TheMason (Gast)


Lesenswert?

@markus

kann dich nur in deinem wissensdurst bestätigen. hab zwar nicht in die 
steckdose gepackt aber bin trotzdem an der elektronik "kleben" 
geblieben.
die idee einen computer selbst zu bauen dürften einige hier haben.
ist allerdings (wie du selbst sicherlich schon gemerkt hast) viel arbeit 
und zeit dafür zu investieren.

mit einem selbstgebauten 386 board bewegst du dich aber wirklich hart an 
der grenze (vor allem wenn du noch nicht so viel erfahrung hast).
sonst würde ich vielleicht vorschlagen als zwischenprojekt einen 
kleineren computer zu bauen.

so richtung 8051 mit externem ram und eprom. dann hast du schonmal ein 
system zum rumprobieren mit einer kleineren hardware (die dem 386 aber 
im prinzip gleicht, nur halt etwas kleiner und etwas weniger 
möglichkeiten).
damit kannst du die erfahrung sammeln die du für ein 386 board brauchst.

weiter so !

von Andreas K. (a-k)


Lesenswert?

Besenschwenker wrote:

> Gab es (Xenix?)

Ob es Xenix schon für 286 gab weiss ich nicht. Konkret ausprobiert hatte 
ich jedoch Microport Unix.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Also das 8086-Board von meinem Amstrad koennt ich wahrscheinlich sogar 
selber aetzen hehe ;) Aber trotzdem... auf Ideen kommen manche Leute. 
Ich bau mir mal schnell nen PC. Und die CPU entwickel ich natuerlich 
auch selber, die hau ich dann aus nem Siliziumstueck mit nem Meissel 
raus... boink
Nur der Thread mit "ich entwickel mir nen Mobilfunktelefon" war besser. 
Das lustige ist die Rege Teilnahme an diesen Themen... woran liegt das 
wohl?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Faszination des Unmöglichen oder so.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Michael G. wrote:
> Nur der Thread mit "ich entwickel mir nen Mobilfunktelefon" war besser.

Und inzwischen wurde der Spinner von der Realität überholt. Siehe 
OpenMoko und Android.

von thyristor (Gast)


Lesenswert?

ah hier hat ja oben noch wer gefragt ob ich 386er TTL Massengrab Boards 
einscannen könnte... ja - ne - eher nicht. Sind bestimmt doppelt so groß 
wie der DinA4 Scanner soweit ich das in Erinnerung hab (liegen verpackt 
in irgendeiner Kiste).

Ach und das würd eh nix bringen - ich glaub zwischen den ganzen TTLs 
waren noch so nen paar GALs und PALs dazwischen... die schöne RTC (mit 
richtigem Uhren Symbol drauf ;)  ) und den spezial BIOS Chip nicht zu 
vergessen ;)

(aber alles im DIL Gehäuse - die einzigsten SMDs waren so drei SRAMs 
(oder so) die auf ner extra Platine im DIL Format draufgelötet sind ;) )

Ob die noch funktionieren weiss ich auch nicht - sind von nem Bekannten 
der mal aufgeräumt hat und die Teile sonst weggeschmissen hätte...
Hab se nie getestet - sahen halt einfach lustig aus mit den 200 DIL ICs 
drauf ;)

Ahja das ganze in SMD hab ich auch und diversen ASICs dazwischen von IBM 
hab ich auch ;)
Also auch 386, aber total nicht-standard konform.
Die Boards hatten sogar Slots die aussahen wie PCI Slots! Sind aber 
keine ;)
Und der Netzteilanschluss ist fast ne art Starkstromanschluss ;)

Mussich mal Fotos von machen bei Gelegenheit.

von Wolfram (Gast)


Lesenswert?

Also ich muss mich doch sehr wundern, da kommt ein total entusastischer 
Jugendlicher (?) der eine Idee hat und ihr mäkelt nur dran rum.
Mag sein das er etwas wenig Erfahrung hat, dann laßt ihn die doch 
sammeln!
Also:
Datenblatt des Intel 386DX
http://www.ortodoxism.ro/datasheets/Intel/mXtuvqv.pdf


Literatur zum Einstieg:
Tischer PC-Intern 3.0

Ralph Browns Interruptlist
http://www.ctyme.com/rbrown.htm

www.intel.com

www.x86.org (leider sind einige Links tot)


Wenn du möchtest, daß dein Selbstbau-PC ein DOS hochfährt, musst du die 
Komponenten (SIO,PIO,PIC,Timer,HDD,FDD) auf die Standard Ports legen.

Falls du das BIOS selbst schreiben willst:
Vergiss nicht das BIOS-Segment 0040:0, das braucht DOS.
Nach dem einschalten geht es bei f000:fff0 los.

Wenn du die ganzen Initialisierungen gemacht hast und DOS laden willst,
es erwartet, daß der erste Sektor an 7c0:0 geladen wird.

von Zacc (Gast)


Lesenswert?

Ich hab mir 82 n'8086 zusammengebaut bevor es zahlbare PCs gab. War sehr 
lehrreich. N'Bios gab's noch nicht. Hab ich selbst was geschrieben. Ich 
konnte von der Tastatur auf den LCS schreiben, hab da Editor Konzepte 
rausgetueftelt. Den Code hab ich in ASM geschrieben und nachher 
haendisch nach Hex uebersetzt und in den EPROM Programmer eingehaemmert. 
Tja, nach einem Auslandaufenthalt konnte ich dann einen 4.77MHz PC fuer 
ein paar Tausender kaufen. Mit MSDOS. Seither wurde der PC nur noch 
komplexer. Ich empfehl was Einfacheres. Dringend. Einen AVR zum 
Beispiel.

von Peter D. (peda)


Lesenswert?

PC entwickeln ist wie Röhren selber blasen.

Es kommt nichts praktisch nutzbares dabei raus.

Sieht eben nur schön aus und man hat viel Zeit vergeudet.

PC bzw. Röhre erreichen nur max die Daten, wie zu Anfangszeiten der 
Entwicklung.


Peter

von Kai G. (runtimeterror)


Lesenswert?

Ich finde das gesamte Projekt ziemlich spannend. Die Idee geistert auch 
schon seit Jahren in meinem Kopf rum und natürlich habe ich den Aufwand 
bisher immer unterschätzt. Mittlerweile denke ich aber, dass es mit 
einigem Recherchieren und etwas Erfahrung aus diesem Forum durchaus zu 
einem lauffähigen System reichen müsste. (Von Zeit und Geld mal wieder 
abgesehen)

Bis Pentium I bin ich noch halbwegs gut in der Assembler-Programmierung 
drin. Bootloader, BIOS sollten noch ganz gut machbar sein.

Ich würde nicht versuchen das Ganze auf Biegen und Brechen PC-kompatibel 
zu machen - auch wenn's ziemlich cool wäre!

Was würde man minimal für ein halbwegs sinnvolles Projekt brauchen?
- CPU (80386SX @ 16 MHz/ 20 MHz / 33 Mhz fänd ich voll in Ordnung)
- RAM (sollte nicht so schwierig sein anzubinden)
- Interrupt Controller (kann ja auch gerne was Aktuelleres sein)
- Timer (PIT)
- Bus-System für die Peripherie (das wird U.u. am schwierigsten zu 
konzeptionieren)
- Massenspeicher (z.B. SD-Card)
- Spannungsversorgung ganz klar über ein billiges ATX-Netzteil
- Grafik-/Textausgabe - da würde ich versuchen was Bestehendes (VGA) 
anzubinden - sicherlich auch nicht einfach.
- beim Cache bin ich mir gerade nicht sicher, wie die CPU den handhabt.

Interessant fänd ich auch die Idee ein paar aktuelle Mikrocontroller mit 
einzubinden (PIC und AVR), z.B. als BIOS, USART, Debugger, 
Tastaturcontroller, was weiß ich ... bei 20 MHz Systemtakt sollte man 
die recht einfach anbinden können.

Was habe ich übersehen/wo habe ich mich übernommen?

Gruß

Kai

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ja wie gesagt Groessenrodnung ala C64 oder die ersten PCs das duerfte 
mit viel Aufwand sogar machbar sein, sprich wenn die Takte nicht zu 
gross werden im Bereich von unter 20MHz oder so. Aber mal ehrlich: Was 
bringt's? ;) OK fuer's Ego isses sicherlich was...

von Kai G. (runtimeterror)


Lesenswert?

>PC entwickeln ist wie Röhren selber blasen.

... und wie LEDs mit AVRs blinken lassen, Netzteile selber bauen, "Hallo 
Welt"-Programme, Bubble-Sort programmieren, Routinen zur 
Tastenentprellung, ...

und trotzdem wird es immer und immer wieder gemacht und gelehrt.

Es geht dem Opener ja auch um den Lerneffekt und das Herausfinden der 
eigenen Grenzen. Ich habe damals Raytracer in QBASIC und 3D-Rasterizer 
in Assembler realisiert - braucht kein Mensch, aber was ich dabei alles 
gelernt habe ersetzt dir kein Buch und keine Vorlesung.

Ich habe das Gefühl, dass viele Leute nicht verstehen, dass 
experimentelles Lernen extrem viel Spaß machen und motivieren kann. Ich 
finde es schade, dass einem hier immer alle Ideen ausgeredet werden, nur 
weil man keinen Nutzen sieht, oder weil es schonmal jemand anderes 
besser gemacht hat.

Wenn man sich an einem Projekt die Zähne ausbeißt, lernt man deutlich 
mehr, als wenn man Code aus irgendeinem Buch abtippt.

Gruß

Kai

von *.* (Gast)


Lesenswert?

Statt einzelnen timer/dma/irq/cmos würde ich dann doch eher einen 82c206 
nehmen...
Statt DRAM evtl. SRAM das mit dem Prozessortakt mithalten kann, sollte 
ja kein Problem sein heutzutage.

Mach das Ganze doch komplett in Software - www.dosbox.com ;)

von Kai G. (runtimeterror)


Lesenswert?

Das hier scheint noch recht nützlich zu sein, wenn man die richtige CPU 
auswählen will:
http://www.cpu-collection.de/?l0=co&l1=AMD&l2=386%20SX

von Outi O. (outlaw)


Lesenswert?

Das "Projekt" oder die "Idee", die hier einige so fasziniert auch schon 
für sich mal überdacht haben wollen, hört sich für mich an wie die Idee 
von vielen ala

"Ich hab nen RAM Riegel eingebaut, ich mach jetzt ne Computerfirma auf"

an. Leider haben einige "Spinner" ernst gemacht und was dabei 
rausgekommen ist, wissen wir ja ....

von Zacc (Gast)


Lesenswert?

>Leider haben einige "Spinner" ernst gemacht und was dabei
>rausgekommen ist, wissen wir ja ....

Ja, sie sind mit Schrott steinreich geworden. Das waere mal ein 
ermunterndes Wort. Danke. Es ist nie zu spaet.

von Morin (Gast)


Lesenswert?

> PC entwickeln ist wie Röhren selber blasen.
>
> Es kommt nichts praktisch nutzbares dabei raus.

Dann frage ich mich doch wo die PCs herkommen die im Laden stehen. Hat 
die keiner entwickelt? Wachsen die auf Bäumen?

Außerdem frage ich mich, was du dir von diesem Forum anderes erhoffst 
als Leute die vor Eigenentwicklungen nicht zurückschrecken.

---

An den OP: Wenn du dir wirklich die Hardware selber entwickeln willst, 
solltest du mal einen Blick auf FPGAs und deren Entwicklungsboards 
werfen. Damit kann man eine Menge sehr viel besser bauen als mit 
TTL-Massengräbern - kürzere Entwicklungszeit, schnellere und besser 
Schaltungen usw. Selbst wenn du als Herausforderung eine reine 
TTL-Schaltung bauen willst, kansnt du sie mit einem FPGA sehr schön 
Prototypen.

Bei dieser Firma kriegst du ein Entwicklungsboard für 400 $ mit dem du 
was PC-Ähnliches recht gut bauen kannst: www.xess.com

Bei Digilent gibts noch ein dickeres Board (Slot für RAM-Riegel und ein 
Virtex 2-Pro FPGA), aber um das günstig (300 $) zu bekommen, musst du es 
über ne Uni besorgen.

Das ist nicht dasselbe wie gleich eine reine TTL-Schaltung zu bauen, 
aber man tastet sich eben voran.

von Morin (Gast)


Lesenswert?

Achja, um mal ein paar mehr Tips zu geben wie es mehr Spaß macht:

- Entscheide dich frühzeitig (jetzt!), mit was es kompatibel sein soll 
(DOS, 386-Befehlssatz, Pinkompatibel mit Prozessor X, usw). Im Zweifel 
verwende existierende Chips.

- Überleg dir, welche Software drauf laufen soll (DOS, Linux, BSD, 
portiertes anderes Unix, portiertes komplett anderes OS, eigenes OS, 
Anwendungssoftware ohne OS).

- Falls mit nix kompatibel, entwirf eine möglichst einfache eigene CPU. 
(RISC, load/store Architektur, 32 Register, 3R-Befehle) bietet sich an, 
weil es in der Literatur bis zum Erbrechen erklärt wird, das musst du 
fast nur noch nachbauen. Such mal nach Hennessy & Patterson sowie 
dasselbe andersrum, das sind zwei bekannte Bücher darüber.

- Überleg dir, ob du es mit anderen zusammen machen willst. Hier im 
Forum gibts zwar guten Rat, aber Leute die richtig mit dran arbeiten 
sind was anderes.

- Dokumentier deinen Kram und stell ihn (unter freier Lizenz) ins Netz, 
dann findest du am ehesten Freiwillige und kannst dich mit ähnlichen 
Projekten austauschen. Wenn es gut dokumentiert ist, dann rauf damit auf 
diese Seite (wenn es zu klein ist um als eigenes Projekt durchzugehen 
dann immernoch ins Forum).

- Verlier nicht den Mut! Die anderen kochen auch nur mit Wasser. Wenn du 
bei einem anderen Projekt eine geniale Idee entdeckst, sei nicht zu 
stolz sie zu verwenden.

von aminox86 (Gast)


Lesenswert?

Habe vor Kurzem gerade die 4. oder 5.Version eines DOS-kompatibelen 
Rechners mit `X186/188-CPU fertiggestellt.

Ursprünglich als "embedded PC" geplant, hat sich das ganze zu einem 
einfachen PC-System mit Videoausgabe(im Forum `Code-Sammlung´ unter dem 
Titel ´VGA-Karte, fast diskret´ veröffentlicht), seriellem- und 
parallelem Port usw. entwickelt.
Als Betriebssystem verwende ich RxDOS, das vor einigen Jahren unter 
freier Lizenz veröffentlicht wurde. Die Hardwareansprüche dieses DOS 
sind moderat und es liegt im Quelltext vor, so dass die notwendigen 
Anpassungen an die Rechnerhardware möglich waren.

Das "gefühlte" DOS-Verhalten des Rechners liegt irgendwo zwischen XT und 
PC. Neben eigenen Programmen, bei deren Erstellung ich die Hardware des 
Rechners berücksichtigen kann, funktioniert wenigstens ein originales 
DOS-Programm, der DESMET-C-Compiler. Mehr habe noch nicht ausprobiert.

Also Markus, bei Interesse, kurzes Posting in diesem Forum.

PS:
Der 386 war mir seinerzeit einige Nummern zu groß.

von TheMason (Gast)


Lesenswert?

@markus

ich kann dich ebenfalls nur ermuntern an deinem vorhaben festzuhalten.
es ist sicherlich eine menge zeit nötig. aber wenn man spaß an 
elektronik, software hat ist es das für einen selbst (hoffentlich) 
nützlich. man lernt dabei ne menge und kann das gelernte u.u. im beruf 
einsetzen.

außerdem schließe ich mich dem tipp von morin an.
ein fpga-board bietet sehr viel mehr möglichkeiten als eine feste 
hardware die einem u.u. irgendwann nicht mehr gefällt und man sie (bei 
falscher konzeption) übern haufen werfen kann.
einen fpga konfiguiert man um (und steckt evtl. nur noch ne andere 
zusatzhardware dran).

auf lange sicht möchte ich mir auch einen eigenen rechner bauen. ob und 
was der kann weiß ich nicht, aber das er nicht mit kommerziellen 
produkten konkurrieren kann ist klar und auch nicht beabsichtigt. eben 
just for fun ...

von Zacc (Gast)


Lesenswert?

@ Markus Olderdissen (nomatrix)

Die Hardware ist eine Sache. Die Firmware eine andere. Ja. Ich kenne 
Leute, die schaffen es an einem Wochenende eine 486 Mainboard 
Leiterplatte zu entwerfen. Als die aus der Fertigung kam lief sie sogar. 
Ok. Chipsatz drauf. Dann kommt das BIOS. Das ist die unterste Schicht 
von Treibern, die machen das Keyboard zu einem Keyboard, die VGA zu 
einer VGA, den Lautsprecher zum Lautsprecher, usw. Damit wird die 
Hardware angesprochen. Die Disk wird auch dort angesprochen. Zuerst 
musst du mal diese Unterlagen haben. Wie schreibe ich ein BIOS, resp wie 
passe ich das BIOS an die Hardware an. Gewisse Chipsatz Hersteller 
ruecken diese Information raus, moeglicherweise gegen ein NDA. Du 
solltest dich bei der Auswahl der CPU, um diese Informationen kuemmern. 
Nachher koennte es zu spaet sein. Wenn der Hersteller sich erst ab 10000 
Stueck bemueht die Informationen rauszuruecken zum Beispiel.

von Tobias P. (hubertus)


Lesenswert?

@Nomatrix:
Wenn es dir nicht darum geht, einen PC-Kompatiblen Rechner zu bauen, 
sondern lediglich einen, der von der Leistung her vergleichbar ist, 
könntest du dir evtl noch überlegen, zu einem 68k oder Derivat zu 
greifen (hoffentlich werde ich für diese Aussage ejtzt nicht gelyncht, 
da hier so viele x86-Fans sind ;)).
Urvater der 68k wäre natürlich der 68000. Gibts m.W. leider nur bis 16 
MHz. (Oder 8?).
68020 ist der nächste grössere Vertreter, geht dann bereits bis 33.33 
MHz. 32 Bit Architektur (Speicher max. 4G x 32). Wenn ichs recht im Kopf 
habe, gibts dort dann sogar On-Chip instruction Cache. 68060 oder so hat 
dann noch ne MMU drin, und verträgt wahrscheinlich noch höhere 
Taktraten. Hat dann auch mehrere kB Cache für Code & Daten (seperat) 
On-Chip.
Unix gibts für 68k, DOS natürlich nicht.

68k's werden sogar immernoch hergestellt und man kann bei Freescale 
Samples bekommen. Gibts als DIL (nur 68000) oder PGA ('020 und weitere); 
wenn du was mit SMT machen willst Zwecks Platzersparnis gibt es 
natürlich noch das PLCC.

Software für die 68k's (Assembler, Compiler ... ... ) gibts Massig im 
Internet.

Du wirst übrigens Freude an der Assemblersprache haben: Das Ding ist 
echt geil. Programmiert sich fast wie Hochsprache, und jeder Befehl 
funktioniert wirklich mit jedem Register und fast allen 
Adressierungsarten, die dir Einfallen. Und es gibt auch viel die 
besseren Arithmetikregister als im x86. Dort hast du ja nur (E)AX, 
(E)BX, (E)CX ... im 68k gibt's D0..D7, dort kann man jede nur 
erdenkliche Rechenoperation ausführen.

Du merkst also: ich bin totaler 68k-Fan und kann dir so einen nur 
empfehlen. Übrigens gibts auch Mikrocontroller mit 68k-Kern, die 
immerhin leistungsfähig genug sind, dass man Linux drauf laufen kann 
(68300-Familie). Takt geht, wenn ichs recht im Kopf habe, bis circa 30 
MHz.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.