Ressourcen für IBM PC-kompatible Motherboards / Intel 80486-Entwicklung

Ich versuche, einige Ressourcen zum Entwerfen von Motherboards zu finden, aber es scheint nicht viel zu geben. Ich suche auch nach Informationen über die Verbindung mit einem Intel 80486. Ich verstehe größtenteils das Datenblatt des Intel 80486 und bin bereits mit x86 asm und der x86-Architektur vertraut, aber es gibt nicht viel da draußen (das ich könnte find) im Hinblick auf eine allgemeine Initialisierungs-/Ausführungsübersicht. Ich bin mir auch nicht sicher, ob ein vollwertiges BIOS erforderlich ist oder ob ich mich aus der Verwendung herausschummeln könnte (dh es durch einen AVR-Mikrocontroller oder ähnliches ersetzen könnte).

Mein Endziel ist, etwas zu bauen, das DSL laufen lässt . Was ich anstrebe, ist kein vollständig erweiterbares Board mit PCI/ISA-Steckplätzen und USB-Unterstützung, sondern eher ein komplettes Barebone-Board, auf dem das Betriebssystem ausgeführt wird. Ich würde mich für die absoluten Mindestanforderungen entscheiden - CPU, RAM, Basis-GPU, IDE-Controller, PS/2-Schnittstelle.

Ich bin mir bewusst, dass dies ein sehr ehrgeiziges Projekt ist und wahrscheinlich mehrere Jahre dauern wird, aber es ist etwas, an dem ich sehr interessiert bin.

Irgendwelche guten Ressourcen für dieses Level an Sachen? Sicherlich müssen die Leute, die moderne Motherboards entwerfen, es irgendwo lernen !

Update:
Ich versuche hier nicht widersprüchlich zu wirken, aber ich möchte mir nur eine Sekunde Zeit nehmen, um den Neinsagern zuvorzukommen. Ich verstehe vollkommen, wie komplex und verrückt dieses Projekt ist. Ich verstehe, dass ich dieses Zeug nicht einfach aufstecken kann - es kostet viel Zeit und Geld, es überhaupt zu tun, geschweige denn, es richtig zu machen. Ich weiß, dass es eine Vielzahl von Problemen gibt, die den Umgang mit dieser Art von Schaltung erschweren - hohe Frequenz, hoher Strom, Anforderungen an geringes Rauschen, strenge Toleranzanforderungen, hohe Pin-/Leiterbahndichte, fehlende Datenblätter, proprietäre Anforderungen usw. Ich ' Ich bin immer noch engagiert/verrückt genug, um es auszuprobieren. Ich bitte Sie nicht, zu erklären, wie es geht, ich bitte nur um einige Links zu Websites oder Büchern, die sich mit dieser Art von Dingen befassen. Ich wäre sehr dankbar für alle nützlichen Informationen, die ich bekommen kann.

Vielleicht solltest du zuerst diesen Thread lesen ...
@stevenvh Ich habe diesen Thread bereits gelesen und es ist ziemlich klar, dass der Typ, der danach fragte, sehr naiv war und niemals Fortschritte machen würde. Andererseits bin ich mir bewusst, dass es eine ungeheuer schwierige Aufgabe ist, aber ich würde gerne die Arbeit/Stunden investieren, um es zu versuchen. Ich brauche nur einen Anfang - daher diese Frage.
Welche Leistung streben Sie an? Zum Beispiel Multi-GHz-Pentium oder 400-MHz-ARM? Das Betriebssystem sagt nichts aus.
@FedericoRusso Wie ich in der Frage sagte, möchte ich einen alten Intel 80486 verwenden. Der CPU-Takt beträgt 16-100 MHz, der FSB 16-50 MHz, also wäre alles in diesem Bereich in Ordnung. Ich versuche es so "einfach" wie möglich zu halten.
@stevenvh - Dieser andere Typ wollte ein modernes Motherboard bauen . Dieser Typ will etwas mit einem 486 machen . Ein 486 ist viel zugänglicher. Sie gehen auf die Tage zurück, in denen Motherboards größtenteils DIP waren. Wenn er den Takt niedrig hält (20 Mhz?), sollte dies definitiv möglich sein, wenn auch eine ziemliche Herausforderung.
Danke für die Unterstützung, Fake. Und zufällig hat die letzte positive Bewertung zu dieser Frage meine Punktzahl auf 386.
@Fake - Ich wollte nicht andeuten, dass es ein unmögliches Projekt ist, versteh mich nicht falsch. Nur dass es nicht einfach ist. Geschwindigkeit ist entscheidend. Poly sagt in einer Antwort an Federico, dass er auf 16-100 MHz, FSB 16-50 MHz abzielt, und das sollte definitiv machbar sein (insbesondere die untere Grenze :-)). PCI bei 100MHz erfordert schon etwas Sorgfalt.
@stevenvh Ich würde wahrscheinlich bei 16 MHz beginnen und den Takt später erhöhen, wenn ich ein "funktionierendes" Modell habe .
Klingt vernünftig. :-) Erfolg!
WARUM ein 486? Warum nicht eine ARM-CPU wie ein Low-End-Freescale i.mx? Diese sind immer noch in QFP verfügbar, und ich stelle mir vor, dass die Dokumentation erheblich besser ist. Ganz zu schweigen von der Tatsache, dass einige funktionierende Designs im Netz verfügbar sind (zumindest Schaltpläne, wahrscheinlich auch Layouts). Diese können zum Beispiel Linux problemlos ausführen.
@Thorn Ich kenne die x86-Architektur ziemlich gut, und es wäre ziemlich großartig zu versuchen, das Projekt anzupassen, um Windows 95 zu einem späteren Zeitpunkt auszuführen. Ich erkenne jedoch die weitaus bessere Qualität der Dokumentation und Verfügbarkeit modernerer ARM-Prozessoren an, daher forsche ich derzeit an beiden Ansätzen.

Antworten (1)

Hier haben Sie grundsätzlich zwei Möglichkeiten:

  • Eine 486-basierte CPU der aktuellen Generation
    • Oberseite:
      • Alles wird wahrscheinlich in die Haupt-CPU integriert - Keine Southbridge, IO-Controller usw. ...
      • Sie können die ICs tatsächlich von der Stange kaufen.
    • Nachteil:
      • Geräte können BGA sein
      • wenige exponierte Busse
      • Vielleicht möchten Sie mit ein paar hundert MHz laufen.
    • Mit "derzeit produziert" meine ich so etwas wie einen AMD Geode oder ein ähnliches Gerät von VIA usw. Es gibt einen ziemlich großen Markt für kleine x86-CPUs mit geringem Stromverbrauch und niedriger Geschwindigkeit in eingebetteten Anwendungen.
  • Eine 386/486-CPU aus altem Lagerbestand oder altem Design
    • Oberseite:
      • Wahrscheinlich lehrreicher
    • Nachteile:
      • Erfordert eine Menge Geräte (z. B. Southbridge, einen UART usw.), die alle zusätzliche ICs sind.
      • Hinweis: Die externen Geräte variieren je nachdem, für welchen 386/486 Sie sich entscheiden. Die frühen hatten nur wenige integrierte Peripheriegeräte. Später wurden viele der Peripheriegeräte in die CPU selbst integriert.

Es gibt einige Midpoint-Geräte, wie den 386EX , der ein 386er ist, der für eingebettete Anwendungen gedacht ist. Es ist alt genug, dass es in TQFP-144 (veröffentlicht 1994) verfügbar ist, enthält jedoch die meisten erforderlichen Peripheriegeräte auf dem Die.
Datenblatt


Einige Ressourcen aus dem Kopf:

CoreBoot:

Eine FOSS-BIOS-Alternative.

Interessanter Forenthread über den Bau eines IBM XT-kompatiblen Computers.


Andere Sachen:

Dieter's Homepage
Irgendein Spinner, der eine diskrete Transistor- CPU baut!
Er hat auch eine Reihe anderer hausgemachter CPU-Projekte


Wirklich, wenn ich Sie wäre, würde ich mit einem ARM-Gerät gehen. Sie können große ARM-CPUs mit MMUs erhalten, auf denen Linux problemlos ausgeführt werden kann.

Alternativ kann ein 8088 oder 8086 deutlich zugänglicher sein. Es gibt viele Informationen über Leute, die 8088 -Computer selbst bauen .

Ha. Ich habe 6.666 Wiederholungen! Ich denke, das macht dies zum schlimmsten Post von allen!
Digikey listet ein paar 100-MHz-486DX4 im SQFP-Paket auf.
@stevenvh - Kein Scherz? Hm. Muss für eingebettete Anwendungen sein.
"wird mit ziemlicher Sicherheit BGA sein". Dixit Fälschung...
@stevenvh - Ich sagte fast .
Ich wollte nur Poly beruhigen! :-)
@stevenvh - Außerdem habe ich mehr zwischen [34]86-CPUs im alten Design und modernen [34]86-Nachfolge-CPUs wie der AMD-Geode oder anderen Geräten mit einem [34]86-Kern und den meisten Peripheriegeräten unterschieden in einem einzigen Paket.
Aaaand, nun, ich habe noch etwas recherchiert, und mein Punkt scheint weitgehend ungültig zu sein. Bah!
Sehr interessante und nützliche Informationen hier. Ich hatte zuerst 808x-Mikroprozessoren in Betracht gezogen, aber entschieden, dass sie zu langsam und für meine Anforderungen zu wenig unterstützend waren - Sie können ein Standard-Linux-Betriebssystem nicht wirklich auf etwas weniger als einem 80386 ausführen. Der Vorschlag, einen ARM-Prozessor zu verwenden, ist interessant. Ich würde wirklich gerne bei x86 bleiben, da es eine Architektur ist, die ich kenne, aber ich kann mir vorstellen, dass es eine viel größere Fülle von Informationen rund um die ARM-Prozessoren gibt. Ich muss mich umsehen und eine Entscheidung treffen, welche ich verwenden soll.