Zwei CPUs -umschaltbar- im Amiga500/1000

Es gibt 53 Antworten in diesem Thema, welches 11.116 mal aufgerufen wurde. Der letzte Beitrag (20. März 2015 um 16:11) ist von Unseen.

  • Abgesehen von Platzproblemen und anderem (wie Adapter-basteln-müssens):

    Ist es theoretisch möglich huckepack mäßig zwei CPUs in einem Amiga(500) umschaltbar zu betreiben ?
    Welche CPU Leitungen müssten dafür -natürlich vor dem Einschalten des Amiga- umgeschaltet werden, um entweder die eine oder die aderer CPU werken zu lassen ?

    Ach ja, fragt nicht nach einem allzu großen Sinn dahinter.. :).

  • Theoretisch ja (aber nur eine 68010) praktisch nein, weil alle größeren CPUs 32-bitter sind, die eigenen Speicher und andere Taktraten brauchen.

    Gruß Manfred (C64doc)
    Ein goldner Schraubendreher erspart unnötige Kosten

  • Es gab einige abschaltbare Turbokarten, evtl. ist sowas etwas, was Du suchst.

    LG
    McT

  • Ich frag'mich, ob das wirklich geht ohne alle Leitungen umschalten zu müssen - eine 2. CPU, die keinen Strom kriegt, wird am Bus kaum neutral sein, wenn sie nicht sogar davon kaputtgeht...

  • Würde es nicht reichen einfach nur Pin 17 umzuschalten?

  • Hajo, genau so macht man das. Bei den meistten CPUs wird man aber noch 'ein klein wenig' zusätzliche Elektronik brauchen, um das Bus-Interface anzupassen. Das Sidecar oder PC-Karten für den A2000 mögen als Illustration dienen, ebenso wie die schon genannten Turbokarten.

    (PS: Sag bescheid, wenn Du 'nen CDP 1802 oder einen SC/MP zum Laufen gebracht hast...)

    KI-Verwendung in diesem Posting: Rechtschreibkontrolle des Browsers.
    Abweichungen aufgrund des technischen Fortschritts oder individueller Vorlieben vorbehalten.

  • Theoretisch ja (aber nur eine 68010) praktisch nein, weil alle größeren CPUs 32-bitter sind, die eigenen Speicher und andere Taktraten brauchen.

    Ja genau, ich wollte evtl. nur sowas basteln, um zw. einer 68000 und 68010 umzuschalten. Am Bus oder so müsste da also nichts gedreht werden.

    Ich wundere mich nur auch immer, dass sich diese übereinander gesteckten CPUs nicht gegenseitig stören. Denn die untere fest verlötete, läuft ja immer mit, könnte man meinen. Da werden ja keine Pins umgeschaltet, weil sie fest am Board verlötet bleibt. Aber wie Turbokarten für z.B. A600 beweisen, scheint es ja zu gehen.

  • Genau das macht das "HLT" Signal der 680x0-CPUs, und auch bei anderen CPUs gibt es sowas. HLT steht für Halt, das heißt, sobald dieses Signal (auf Low) gesetzt wurde, stoppt die CPU ihre laufenden Aktivitäten (spätestens nach Ausführung des gerade noch laufenden Befehls) und koppelt sich intern vom CPU-Bus ab.

    Im Prinzip das selbe passiert ja auch bei DMA-Zugriffen von Peripherie-Chips, welche bei eigenen Aktivitäten (Soundausgabe, Floppy/Festplattenzugriffe, Videoausgabe (!) (Stichwort "Slow-Ram" beim Amiga) die CPU kurzzeitig anhalten, um ihre eigenen Speicherzugriffe zu machen. Das kann man über das HLT-Signal realisieren, aber auch über andere Methoden.

    Man sollte nur nicht auf die Idee kommen, die CPU im laufenden Betrieb umschalten zu wollen, denn in der aktuellen Situation hat die noch aktive CPU ja einen internen Zustand (Register, Programmzähler, Flags, usw.) gespeichert, welche die andere CPU ja garnicht kennt! Ein System-Absturz wäre die Folge.

    Aber davon mal abgesehen, zwischen einem 68000 und einem 68010 mit gleichem Takt umzuschalten ist ja wohl kaum der Bringer!

    Mal hier, mal da, mal dort. Aber auf jeden Fall auf der Bitte melde dich an, um diesen Link zu sehen.! Und hier Bitte melde dich an, um diesen Link zu sehen.!

  • Aber davon mal abgesehen, zwischen einem 68000 und einem 68010 mit gleichem Takt umzuschalten ist ja wohl kaum der Bringer!

    Genau das hab ich im CDTV auch vor...
    010 für WHDLoad, damit der Exit-Key funktioniert...
    000 für Spiele, die am 010 nicht funktionieren...
    (Angeblich ein paar CDTV-Titel und ein paar, die einen bestimmten move Befehl nutzen, den es im 010 nicht mehr gibt oder so)

    Klar wäre eine Turbokarte sinnvoller als der 010, aber mir persönlich sind die zu teuer und der 010 kostet grad mal 5-10€...

    schubl

  • _BR auf GND legen müsste eigentlich der CPU sagen das jemand anderes den Bus übernimmt. So funktioniert jedenfalls "mein" 68010 Adapter im A600... Über einen Umschalter lässt sich zwischen 68000 und 68010 hin und her schalten, natürlich muss der Rechner dabei aus sein!

    Ne kleine Anleitung zu dem Ding gibt es auf Amiga-Resistance im Projekt Bereich, oder irgendwo in den tiefen von A1K...

  • Ich mach' das nur, falls der (ebenfalls relativ unnützte) 14 MHZ Hack im stock Amiga nicht laufen will (siehe Thread). Ohne einen Mod -auch an CPU- kommt mir der A500 im Moment nicht davon, da ich eh diverses andere Mod-Zeug da einbaue. ;)

    Evtl. überlege ich mir dann 'mal 'was, indem ich Br und Halt auf GND setze.

  • d.h. _BR bei beiden CPUs wegbiegen und mit einem 2poligen ON-ON Schalter
    einmal auf GND und den anderen auf den _BR-Pin vom Sockel legen und
    die 2te CPU gegengleich?

    schubl

  • _BR auf GND legen müsste eigentlich der CPU sagen das jemand anderes den Bus übernimmt. So funktioniert jedenfalls "mein" 68010 Adapter im A600... Über einen Umschalter lässt sich zwischen 68000 und 68010 hin und her schalten, natürlich muss der Rechner dabei aus sein!

    Ne kleine Anleitung zu dem Ding gibt es auf Amiga-Resistance im Projekt Bereich, oder irgendwo in den tiefen von A1K...

    Funktioniert auch nur so. Der Halt-Pin ist nicht geeignet für so was, welche Signale da nicht mitspielen weis ich allerdings nicht mehr auswendig.

    d.h. _BR bei beiden CPUs wegbiegen und mit einem 2poligen ON-ON Schalter
    einmal auf GND und den anderen auf den _BR-Pin vom Sockel legen und
    die 2te CPU gegengleich?

    Ja.

  • d.h. _BR bei beiden CPUs wegbiegen und mit einem 2poligen ON-ON Schalter
    einmal auf GND und den anderen auf den _BR-Pin vom Sockel legen und
    die 2te CPU gegengleich?

    schubl


    Lieber nachmessen, im A600 sind _BR und VPA an der gleichen Leiterbahn. Sollte das im A500 auch so sein muss an der zusätzlichen CPU VPA auch noch hochgebogen und mit _BR verbunden werden. Ich habe einen 3poligen Umschalter verwendet der GND an einen der beiden _BR Pins legt. Die zusätzliche CPU braucht aber noch VCC über einen 1,8KΩ Widerstand an _BR.

  • Wenn ich _BR vom Sockel über den Schalter der jeweiligen CPU zuführe, erspar ich mir die Wiederstände, da ja nur das echte Signal, oder eben GND zugeführt wird, oder?
    VPA werd ich noch messen...
    Wenn das mit _BR verbunden ist, dann halt 2 Pins hochbiegen...

    schubl

  • So wie in der Schaltung wäre auch mein Stil (die org. BR Sockelpins weiterzuverwenden). Mit einem Doppelschalter (6-polig) kann man das dann auch dann noch in nur einem Schalter unterbringen.

  • Wenn ich _BR vom Sockel über den Schalter der jeweiligen CPU zuführe, erspar ich mir die Wiederstände, da ja nur das echte Signal, oder eben GND zugeführt wird, oder?
    VPA werd ich noch messen...
    Wenn das mit _BR verbunden ist, dann halt 2 Pins hochbiegen...

    schubl

    Ja so etwa, BR bzw. HLT darf nur nicht offen sein. Ich würde es aber nicht über einen Schalter am langen Kabel legen, das könnte Laufzeitprobleme geben. Eher würde ich das BR-Signal über ein entsprechendendes Gatter schalten.

    Mal hier, mal da, mal dort. Aber auf jeden Fall auf der Bitte melde dich an, um diesen Link zu sehen.! Und hier Bitte melde dich an, um diesen Link zu sehen.!

  • Wenn ich _BR vom Sockel über den Schalter der jeweiligen CPU zuführe, erspar ich mir die Wiederstände, da ja nur das echte Signal, oder eben GND zugeführt wird, oder?
    VPA werd ich noch messen...
    Wenn das mit _BR verbunden ist, dann halt 2 Pins hochbiegen...


    Müsste laufen, ich hab den Sockel außer Acht gelassen, beim A600 ist die CPU ja verlötet ;)

  • Versteh ich das richtig?
    _BR vom Sockel auf A0 und GND auf A1
    _BR vom Sockel auf B1 und GND auf B0
    Y0 auf _BR von CPU1
    Y1 auf _BR von CPU2
    OE auf GND
    Mit nem Umschalter 5V oder GND auf Select legen

    schubl