Autor |
|
|
|
BID = 93567
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
|
Und woher bekomme ich eine Liste mit den Befehlen, oder mit was wird der "286" gesteuert???
Ist der EEPRom dann soetwas wie der BIOS Chip??
Ist ein 286 schneller als ein AVR?
Als was könnte man diesen einsetzen?
Hab grad mal bei Ebay geschaut und da findet man keine 286 mehr, geht das auch mit einem 486 oder 386?
Würde mich sehr über Hilfe freuen.
Gruß Tobi
[ Diese Nachricht wurde geändert von: MicroTobi am 21 Aug 2004 14:36 ] |
|
BID = 93622
Benedikt Inventar
Beiträge: 6241
|
|
Zitat :
MicroTobi hat am 21 Aug 2004 14:33 geschrieben :
|
Und woher bekomme ich eine Liste mit den Befehlen, oder mit was wird der "286" gesteuert???
|
Der 286er ist ein normaler CPU aus der 8086er Reihe, wie jeder Pentium, Athlon usw.
Du kannst da z.B. DOS drauf laufen lassen. Die Programme kannst du entweder in Assembler, C, Basic oder wie auch immer schreiben.
Zitat :
|
Ist der EEPRom dann soetwas wie der BIOS Chip??
|
Ja, am einfachsten wäre es, wenn du den BIOS CHip durch einen eigenen ersetzt. 286er und einige 386er hatten 2 EPROMs, da der CPU ja 16bit hat. Bei 486ern und manchen 386ern liest der Chipsatz 2 Bytes und erzeugt daraus ein 16bit Word für den CPU. Theoretisch könntest du sogar einen 64bit 2,2GHz CPU verwenden, und ein eigenes Programm im BIOS Chip drauf laufen zu lassen. Speichererweiterung ist über die HDD oder eine ISA Karte problemlos möglich. Und Arbeitsspeicher ist auch genug vorhanden.
Zitat :
|
Ist ein 286 schneller als ein AVR?
|
Der 286er ist immerhin ein 16bit CPU. Ein 286er mit 5MHz müsste in etwa so schnell sein wie AVR. Ein 386er ist um ein vielfaches schneller als der schnellste AVR...
|
|
BID = 93753
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Danke für die Antworten!
Sorry, aber das mit dem Programmieren hab ich jetzt nicht ganz verstanden
Wenn der 386 um ein vielfaches schneller ist als der AVR, könnte man doch gut einen 386 oder 486 als Grafikchip nehmen, der dann auch die 2 Speicher immer abwechslungsweise liest, damit man keine schnellen SRAM´s braucht. Wäre das möglich?
Und noch eine Frage:
Du hast geschrieben, dass man sogar einen 64bit 2,2Ghz CPU nehmen. Oben hast du jedoch geschrieben, dass es fast unmöglich sei einen Pentium 1 Prozessor mit 100Mhz zu benutzen, was ist da der Unterschied
Würde mich sehr über Hilfe freuen
Gruß Tobi
|
BID = 93775
Benedikt Inventar
Beiträge: 6241
|
Der CPU ist zwar schnell mit Rechenoperationen, die IOs sind vom Timing her aber nicht so einfach in den Griff zu bekommen, da es noch DMA, Memory Refresh usw. gibt.
Vor allem ist das ein uP und kein uC, d.h. er hat keine IO Ports, sondern nur den Adress und Datenbus.
Ein eigenes "Mainboard" für einen CPU bauen: Ab 486er aufwärts ziemlich unmöglich, ein komplettes Mainboard verwenden: Kein Problem.
Ich habe bei einem 386er Mainboard den BIOS Chip entfernt, ein EPROM Simulator angeschlossen und erstmal eine Kopie der BIOS geladen. Ergebnis: PC bootet.
Nun kann man nach belieben alles umschreiben, oder auch eigene Software schreiben.
16MB RAM, 64k IO, Timer, DMA, Tastaturcontroller usw. ist ja alles schon vorhanden.
Der Adress/Datenbus ist über den ISA Bus zugänglich.
Hier mal das umgebaute Mainboard beim booten:
|
BID = 93779
Benedikt Inventar
Beiträge: 6241
|
|
BID = 93782
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Ich brauch eh nur einen Datenbus und wenn der 32 bit Datenbreite hat, wie beim 486 wäre dies perfekt. Eigentlich ist mein jetziger Datenbus 24bit breit, dies benötigt beim AVR 3 Befehle, deswegen wäre ein 486 deutlich besser, denk ich mal .
Aber ich habe jetzt immer och nicht verstanden, woher du die Befehle für den CPU kennst. Kann man den auch mit Assembler usw. Programmiern und sind das dann die gleichen Befehle wie für einen AVR???
Würde mich sehr über HIlfe freuen.
GRuß Tobi
|
BID = 94054
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Hallo,
Ich habe mit jetzt einen 486 DX2 gekauft (66Mhz), jetzt würde ich mich freuen, wenn mir jemand erklären könnte, wie man den CPU programmiert
Würde mich wirklich sehr über Hilfe freuen.
Gruß Tobi
|
BID = 94070
Benedikt Inventar
Beiträge: 6241
|
Der 486er hat zwar 32bit Datenbus, aber verwenden kannst du davon nur 16bit am ISA Bus (reicht auch !)
Du brauchst einen 8086 Assembler (z.B. Emu8086, TASM, MASM usw.) Da ist auch eine Liste der Befehle dabei.
Der x86er ist ein CPU und kein Mikrocontroller, d.h. er hat keinen Programmspeicher eingebaut, daher auch BIOS, RAM, Festplatte usw.
Anderst als bei Mikrocontroller beginnt der CPU nach einem Reset nicht an Adresse 0 sondern an der höchstmöglichen minus 16Bytes. Beim 386er ist das z.B. 0xFFFFF0
Da der BIOS Chip entsprechend verdrahtet ist, liegt dieser immer so, dass er die obersten 32-512kB des adressierbaren Bereiches abdeckt. Bei 386er und 486ern waren 64kB üblich.
Daher beginnt der CPU nach dem Reset an Adresse 0xFFF0 zu arbeiten. Hier steht dann meist ein Sprungbefehl (wie beim AVR) auf eine andere Stelle im Speicher (bei mir 0x0000 im EPROM). Hier kommt dann die IDE und HDD Initialisierung, ein Bootloader der externe Programme in den Arbeitsspeicher läd o.ä.
|
BID = 94076
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Danke, werd dann mal nach den 8086 Assembler suchen!
Gruß Tobi
|
BID = 94101
Benedikt Inventar
Beiträge: 6241
|
Im Anhang mal mein bisheriger Code.
Das Programm kopiert sich selbst in den Speicher und startet sich dann selbst. Dann wird ein LCD initialisiert und die ID einer Festplatte eingelesen.
Zum Glück muss man sich wenig um die Hardware kümmern, denn IDE Controller gibt es ja fertig...
|
BID = 94107
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Des sieht ja ziemlich änlich aus wie Assembler für AVR.
Ist es arg schwierig einen Prozessor zu programmieren???
Ist es schwieriger einen CPU zu benutzen, wenn man ein eigenes "Motherboard" dazu baut?
Es wäre für mich geschikter, da ich meine Bussysteme schon fertig habe und keine Lust habe des alles über den ISA Bus zu steuern
Würde mich sehr über Hilfe freuen
Gruß Tobi
|
BID = 94114
Benedikt Inventar
Beiträge: 6241
|
Der 8086 lässt sich relativ leicht programmieren (es gibt wenige Befehle, die man sich merken muss.
Die 32bit Register lassen sich auch leicht als 16bit oder 8 bit Register verwenden, oder leicht in High und Low Byte zerlegen. Kein Wunder, dass der CPU heute soweit verbreitet ist...
Ohne Mainboard wirst du es kaum schaffen den CPU zum Laufen zu bekommen. Aber du kannst ja den ISA-Bus anzapfen.
|
BID = 94120
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Schafft man es einen 386 oder 286 ohne Motherboard zum lebn zu erwecken?
Weil ich hab gerade kein Motherboard für einen 486.
Und außerdem kann man dann ja nicht mehr sagen, dass man den PC selber gebaut hat, da das Motherboard je schon die meiste Arbeit erledigt
Würde mich sehr über Hilfe freuen
Gruß Tobi
|
BID = 94127
Benedikt Inventar
Beiträge: 6241
|
Zitat :
MicroTobi hat am 23 Aug 2004 16:43 geschrieben :
|
Schafft man es einen 386 oder 286 ohne Motherboard zum lebn zu erwecken?
|
Es geht schon, aber ist nicht einfach. Ein 286er Mainboard besteht aus rund 50-100 TTL ICs, wenn es keine Spezial Chipsatz ICs enthält. Beim 486er sind es wohl noch mehr...
Zitat :
|
Weil ich hab gerade kein Motherboard für einen 486.
Und außerdem kann man dann ja nicht mehr sagen, dass man den PC selber gebaut hat, da das Motherboard je schon die meiste Arbeit erledigt
Würde mich sehr über Hilfe freuen
Gruß Tobi
|
Ist ein gutes Argument, daher will ich mir demnächst auch was aus dem 6502 CPU basteln. Habe ein paar von denen rumliegen. Nichts sinnvoll, nur etwas optisch interessantes. Mir geht es nur um den CPU, der immerhin schon 30 Jahre alt ist. War auch im Apple I verbaut und läuft mit 1MHz.
|
BID = 94130
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Hallo,
ich hab jetzt MASM runtergeladen, is das richtig??
Hab gleich noch nach nem Tutorial geschaut und die Beispielcodes sehen da ziemlich anders aus, wei deine :-?
Was benutzt du für ein Programm???
Würde mich sehr über Hilfe freuen
Gruß Tobi
|