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

CPU: cache cart instructions #12

Open
fengb opened this issue May 1, 2019 · 0 comments
Open

CPU: cache cart instructions #12

fengb opened this issue May 1, 2019 · 0 comments

Comments

@fengb
Copy link
Owner

fengb commented May 1, 2019

Depends on #27

Current CPU implementation is basically:

  • address => fetch => decode => op(args)

An alternate approach would be:

  • address => [cache miss] => fetch => decode => [fill cache] => indirect(op)(args)
  • address => [cache hit] => indirect(op)(args)

This should eliminate a memory fetch thus hopefully speeding up execution.

Notes:

  • we need to translate the request address to a physical cart address.
  • need separate space for volatile data — first pass should simply reserve 0x8000 and null out whenever that memory location changes
@fengb fengb changed the title CPU: test out "standard" function pointers CPU: function pointer dispatch May 1, 2019
@fengb fengb mentioned this issue May 21, 2019
@fengb fengb changed the title CPU: function pointer dispatch CPU: cache decoded instructions Jul 6, 2019
@fengb fengb added the enhancement New feature or request label Jul 24, 2019
@fengb fengb changed the title CPU: cache decoded instructions CPU: decoded instructions Jul 24, 2019
@fengb fengb changed the title CPU: decoded instructions CPU: cached instructions Jul 24, 2019
@fengb fengb added enhancement New feature or request and removed enhancement New feature or request labels Jul 24, 2019
@fengb fengb changed the title CPU: cached instructions CPU: decode instructions Jul 24, 2019
@fengb fengb removed the enhancement New feature or request label Jul 24, 2019
@fengb fengb changed the title CPU: decode instructions CPU: cache cart instructions Jul 24, 2019
@fengb fengb added this to the 1.0 — DMG milestone Dec 12, 2019
@fengb fengb added the cpu label Feb 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant