In article , Gerrit Heitsch writes: |> Olaf Kaluza wrote: |> Ja, man braucht fuer die Ansteuerung keinen DMA-Controller. |> Vor langer Zeit gab es mal die 1581, eine 3.5"-Floppy fuer den |> C64/C128. Als Controller wurde dort ein WD1772 benutzt, als |> CPU ein 6502A. DMA-controller gab es keinen. Die CPU durfte |> es selbst erledigen und hat das auch hinbekommen.
Dito in diversen 198x Synthesizern als Kombination 6809/WD1772.
Bei der 1581 war das tatsächlich reines Polling, IRQ mußte aber dennoch "auf" sein wegen der seriellen Kommunikation, d.h. der 8520 hustete ab und zu dazwischen.
Im Falle besagter Synthesizer (konkret Ensoniq SQ80 -- Georg, hör auf mit den Augen zu rollen :), hing DRQ (1772) über einen Inverter an IRQ# (6809) und IRQ (1772) ebenfalls invertiert an NMI# (6809).
Effektiv war der 6809 auch nur mit 2MHz unterwegs.
|> Man wird feste pollen duerfen und besser nebenher die |> IRQs sperren damit wirklich nichts schiefgehen kann.
s.o.
|> > Aber man darf natuerlich fragen wieso das beim PC mit 4.77Mhz so |> > gemacht wurde. Und die Antwort ist wohl das er sonst nicht schnell |> > genug war. |> |> Aber ein 6502A (2 MHz) ist schnell genug? Interessant...
Jup, das kann schon sein. Beim 8086/88 war bereits ein Buszyklus satte 4 Taktzyklen und ein gesamter Befehl (wenn wir mal MUL/DIV außer acht lassen) bis zu ~25 Zyklen.
Beim 6502 hingegen war ein Befehl zwischen 2 und 5 Zyklen abgehakt.
Als weitere Beispiele aus der Historie:
In der 1541 (5.25", DD) macht ein 1MHz-6502 *alles*, d.h. sogar die Rohdatendekodierung. Bei der SFD1001 (5.25", QD) teilen sich zwei 6502 den Bus (geht bei dem Prozessor ja wunderbar einfach), der eine spielt Datensammler, der andere (De)koder.
Rainer