Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research ways to make execution more complex #4

Open
llysdal opened this issue Mar 5, 2021 · 0 comments
Open

Research ways to make execution more complex #4

llysdal opened this issue Mar 5, 2021 · 0 comments
Labels
help wanted Extra attention is needed

Comments

@llysdal
Copy link
Member

llysdal commented Mar 5, 2021

Here's my ideas:

  • Only propagate to next gate if the output has changed. (This would screw up gates that can change output on the same input, as the input would never reach them)
  • If the above is implemented, a gate that could force execution somewhere. This would however decrease understanding greatly I think.
  • Branching gates. If this, then propagate value to this gate, else propagate to this gate. Complex constructs with many gates like ALUs wouldn't have to execute every gate anymore, just the section relevant.
  • Lazily calculated gates. Maybe an "if" gate could just check if the relevant input has arrived? There's no reason to wait for the input that isn't going to be used.
  • Steal some features from E2, like "changed" and "last". "Last" has already been implemented, but in 3 different ways - none behaving exactly like the E2 one. Changed could be made using a Delta gate, but that only works for numbers. Maybe a "changed" gate that could work in conjunction with the first point? As in, it could halt execution if the value hasn't changed.

I'm rambling - there's a lot of options though, with some of them breaking current chips. There's some non-destructive approaches such as adding more gates, but that throws us into a corner, as we can't remove those gates in the future.

@llysdal llysdal added the help wanted Extra attention is needed label Mar 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant