Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Sonstiges » 2x CPU » Themenansicht

Autor Thread - Seiten: -1-
000
13.12.2019, 09:05 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo,

gibt es ein System wo sich zwei U880 / Z80 / Z180 zusammen den Bus Teilen?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
13.12.2019, 09:29 Uhr
felge1966

Avatar von felge1966

Der A5120/5130 ist da so ein Beispiel. Dort wird auf der K2526 CPU Karte ein U880 als DMA Controller missbraucht.

Gruß Jörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
13.12.2019, 10:39 Uhr
TTL-Grab



Hier hat einer einen Rechner aus 16 Z80 gebaut, allerdings "nur" auf FPGA:
http://www.chrisfenton.com/the-zedripper-part-1/

Dieser Beitrag wurde am 13.12.2019 um 10:40 Uhr von TTL-Grab editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
13.12.2019, 18:10 Uhr
PIC18F2550

Avatar von PIC18F2550

FPGA: Wenn ich das richtig lese hängen mehrere mit eigenen Ram an einen Ascii hub.

Beim K2526 binn ich mir nicht ganz sicher, ich Denke das sich die Prozessoren über BUSRQ gegenseitig verrigeln.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
13.12.2019, 18:33 Uhr
MS05



"Besserer DMA" beim K2526 trifft es wohl ganz gut. Wenn ich mich recht erinnere, dann lief darüber der Hintergrunddruck des TP am A5130, und mann konnte davon unbehindert im Vordergrund ein anderes Dokument bearbeiten.
Urmultitasking gewissermaßen.
Natürlich kann immer nur einer den Bus haben. Aber die Hintergrund-CPU kann eben mal schnell ein paar Bytes verarbeiten. Dabei ist der Overhard gering, weil ja ein kompletter geladener Registersatz vorhanden ist. Die ganze PUSH/POPerei für jeden einzelnen Druckerinterrupt entfällt also.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
13.12.2019, 21:38 Uhr
holm

Avatar von holm

Die Verwendung für den Druckerspooler wäre mir neu, möglicherweise geht das aber irgendwie.
In erster Linie wurde da aber für den Floppy Zugriff eingesetzt bei dem ja ziemlich zeitkritisch die Daten
zum und vom FDC geschaufelt werden mußten, die 2. CPU wurde vorgeladen und gestoppt, führte
dann bei BUSRQ vom FDC INI oder OUTI aus und stoppte wieder. beim nächsten Request das selbe Spiel.

Die Anforderung BUSRQ kam immer von der AMF K5120/22, nicht von einer DMA die Ihrerseits
über einen DMArequest getriggert worden wäre...

Es gibt in Zusammenarbeit mit der Z80DMA in einem System wohl Kuddelmuddel (der umschiffbar ist), dazu war mal was in der RFE.

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
14.12.2019, 00:01 Uhr
MS05



Das kann auch sein, Holm. Ist nur mündliche Überlieferung.
Ich hatte damals (etwa '84) eine Menge zu drucken. Unter Anderem meinen ersten
Kernighan & Ritchie. Was man da nicht alles gemacht hat.... auf 1152.
Jedenfalls wurde ich da immer auf die neuen 5130 geschickt, und musste auch immer ganz bestimmt den richtigen TP verwenden, damit der mit seiner zweiten CPU im Hintergrund druckt.
Es kann natürlich sein, dass der das nur deshalb konnte weil er nicht mit der Haupt-CPU ständig Druckdaten nachladen musste, und so Vordergrundarbeit unmöglich machte. Die AFS hatten ja keine eigene CPU oder gar Floppycontroller.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
14.12.2019, 10:08 Uhr
PIC18F2550

Avatar von PIC18F2550

Bei den Buszugriffen finde ich immer die Möglichkeit das ein Wait die Zugriffszeit verlängern kann.

Nur zu dem M1 der nur 2 Takte lang ist konnte ich nichts finden.
Oder hab ich da was übersehen?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
14.12.2019, 10:41 Uhr
schlaub_01



Laut Z80 Datenblatt (z.B. hier http://datasheets.chipdb.org/Mostek/3880.pdf) gilt das WAIT auch für den M1 Zyklus. Aber selber habe ich mich damit auch noch nicht beschäftig.

Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
14.12.2019, 11:24 Uhr
holm

Avatar von holm

..ja natürlich, es gibt auch irgendwelche OEM K1520 DRAM Karten die nur bei M1 einen Waitstate eingefügt haben und es gibt die K3528 die zusammen mit einer K2526 CPU nicht zuverlässig funktioniert, eben wegen des Timimgs das bei M1 kritisch wird. Ic hhatte zu DDR Zeiten eine solche Platine unbestückt bekommen und dann geflucht wie ein Rohspatz weil mich das Teil ärgerte, ich hatte schon an mir gezweifelt und dann den fürs Timing verantwortlichen C so lange optimiert bis die Platine funktionierte.
Viel später, schon in meiner "robotrontechnik Zeit" fiel mit eine original bestückte Platine in die Hände, ich war nun neugierig und hab getestet, Ergebnis: funktioniert nicht.

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
14.12.2019, 18:28 Uhr
PIC18F2550

Avatar von PIC18F2550

In meinem Hirn spuckt ein Modell wo mehrere Z180 auf einen gemeinsamen 64k Speicher zugreifen können.
Es gibt dann pro CPU localspeicher >64k mit eigenenn IOs.(wegen den Interupts)
Über den NMI muss ich noch nachdenken.
Die Zugriffe auf die 64k sollen sich auf 1 Takt beschränken.
Eine Zugriffbeschränkung setzt CPUs die auch gleichzeitig auf die 64k zugreifen wollen mit WAIT in den Wartemodus.
Ein Register dsa von allen gelesen werden kann und beim ausgeben immer nur ein Bit setzen oder löschen kann dient als Software "GO" um die Abarbeitung des Codes zu optimieren.

Welcher Befehl benötigt die meisten Takte? Ich dachte da an 22.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"

Dieser Beitrag wurde am 14.12.2019 um 18:31 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
14.12.2019, 19:46 Uhr
ambrosius



Die Befehle mit den meisten Taktzyklen sind die indirekten Indexregisterbefehle mit Offset, jeweils 23 Taktzyklen, also:
INC(IX+d) , RLC(IX+d) , SET b,(IX+d) - selbstverständlich auch für IY.
--
Viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
14.12.2019, 20:50 Uhr
kaiOr

Avatar von kaiOr

Bei WAIT gibt die CPU den Bus nicht frei.
Es sei denn man baut noch eine Torsteuerung mit Bustreibern davor, die sich hochohmig schalten lässt. Dann wiederum braucht es aber auch noch weitere Wait-States damit der Bus wieder Zeit zum Einschwingen bekommt und dann sind wir schon langsam bei fertig käuflichen Dual-Port-RAM der mit simultanen Zugriffen kaum Probleme hat und/oder zumindest entsprechende Flags setzt (Semaphore-Funktion).
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
15.12.2019, 08:28 Uhr
PIC18F2550

Avatar von PIC18F2550

Moin,
Dualportram ist bei 2 CPUs noch machbar.
Nur binn ich bei meinem Berechnungen bei 4 CPUs angekommen.
Erst wollte ich die Multiplexer in den CPLD einbauen, aber selbst bei 2 CPUs werden die IOs etwas knapp.

Jede CPU Z8018010VSC bekommt:
Multiplexer
- 2x 74HC541 für A0...A15
- 1x 74HC541 für D0... D7 write
- 1x 74HC373 für D0... D7 read
Decoder
- 1/2x 74HC4002 für A12... A15 Bootrom Secect. (8k)
- 1/2x 74HC4002 für A16... A19 localspeicher Selekt (>64k)
- 1x 74HC030 für A1... A7 CPU kontrollregister Start/Stopp (Wait wenn CPU nich gebraucht wird)

CPLD inputs
Bootrom Select
local Select
contr Select
iorq
mreq
wr
rd
m1
rfsh
A0

CPLD outputs
lram
a-latch
r-data
w-data
wait

CPLD global
Takt
reset
vram1
vram2
wr
rd

Als 64k speicher kommt zwei TC55328P-20 zum Einsatz.
Der Speicher zugriff muss wegen m1 in 1/2 CPU Takt erfolgen.
Damit können in 2 Takten 4CPUs bedient werden.
Damit wird die Wait Phase etwas entschärft.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"

Dieser Beitrag wurde am 15.12.2019 um 19:19 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
15.12.2019, 11:18 Uhr
Enrico
Default Group and Edit


Das gibt auch 4port RAMs
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
15.12.2019, 13:38 Uhr
PIC18F2550

Avatar von PIC18F2550

Was kostet ein 64k Typ mit 20ns wo ich 4x Z180 mit 10Mhz dran hängen kann?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"

Dieser Beitrag wurde am 15.12.2019 um 19:20 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
20.12.2019, 11:31 Uhr
Enrico
Default Group and Edit


Keine Ahnung, woher auch.....

Oder Du nimmst Z280, die ist Multiprozessorfähig.
Bus ist Z80 oder Z-Bus.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
20.12.2019, 15:47 Uhr
PIC18F2550

Avatar von PIC18F2550

Hammer nicht in der Bastelbox.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
20.12.2019, 16:07 Uhr
Enrico
Default Group and Edit


Die RAMs hast Du da aber auch nicht drin...
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
20.12.2019, 18:15 Uhr
PIC18F2550

Avatar von PIC18F2550

Die 2 oder 4 Wegerams nicht, den schnellen schon.

Dabei stellt sich die frage wie beim Z280 die Busarbeit mit 4 von denen aussieht.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
20.12.2019, 18:20 Uhr
Enrico
Default Group and Edit


Dafür gibts die Doku..

Irgendwie kann kann der horchend am BUS sein.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
20.12.2019, 18:33 Uhr
ralle



Ich kenne es nur vom C128. Z80+6502 Die MMU hat da viel zu tun...

Zusätzlich 2 Grafikchips, einmal der VIC und dann der VID.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Sonstiges ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek