← Back to team overview

gnusim8085-devel team mailing list archive

[Bug 579364] Re: Port I/O & virtual bus - interconnected program instances

 

if you want to do this over UDP, you'll need to ACK each packet to ensure that data is transmitted and received properly.
thus, using a conventional TCP connection might be easier.
On the other hand, UDP has obvious advantages such as supporting multicast/broadcast, which would be more in line with how a real "bus" works.

-- 
Port I/O & virtual bus - interconnected program instances
https://bugs.launchpad.net/bugs/579364
You received this bug notification because you are a member of
GNUSim8085 developers, which is subscribed to gnusim8085.

Status in gnusim8085: New

Bug description:
It would be interesting to allow users to optionally map individual I/O ports to an UDP socket, so that multiple running instances of GNUSim8085 could be used to "connect" them together via a "virtual bus" that is implemented on top of UDP.

This would enable usage scenarios where for example two instances of GNUSim8085 could be used to "communicate" via their standard ports - these two instances could then even be running on different machines in the network, or possibly even be used on the internet.

This would allow users to write and simulate programs that communicate with other 8085 processors, also emulated via GNUSim8085.

Furthermore, given that parallelized (multi-core) and distributed system designs are increasingly also important in computer science courses, this would possibly help give GNUSim8085 users a headstart working with such systems, because the simulator would no longer be restricted to one single instance of the program, but could optionally also be made to talk to other instances of the same program.

So, just by allowing users to optionally expose their I/O ports via networks, would allow other instances of the simulators to access this network-based "virtual I/O bus".

Given that this would be mostly about reading/writing byte/word data to this "virtual bus", this should be fairly easy and efficient to implement.

In fact, by providing an option to also expose the memory bus, this would enable students to start emulating very simple, 8085-based, SMP architectures.

This would have the power to be used in computer science courses to illustrate the challenges of SMP designs (i.e. read/write synchronization), while everything would still be entirely based on the 8085 chip.

Given that this would all also be possible by connecting real processors, this isn't too unrealistic either.