The low level uops (microops) of a CPU seem to be relevant.
Openttd is another example of a game where you can implement train signalling.