Giter Site home page Giter Site logo

Comments (7)

francisrstokes avatar francisrstokes commented on May 25, 2024

What is LSU?

from 16bitjs.

hlide avatar hlide commented on May 25, 2024

in a 32-bit RISC CPU for instance, there are 4 main components:

  • ALU: Arithmetic/Logical Unit (32 ยค 32 -> 32 with no latency)
  • MDU: Multiply/Divide Unit (32 * 32 -> 64, 64 + 32 * 32 -> 64, 32 ยค 32 -> 32 with long latency)
  • LSU: Load/Store Unit
  • BCU: Branch Control Unit

from 16bitjs.

francisrstokes avatar francisrstokes commented on May 25, 2024

OK this is why I think the discussion phase of a proposal is quite important. It's nice to be on the same page about a potential implementation. I'm assuming here then that you want to add a module (lsu.js) to the cpu. In that module you'll handle all load/store based instructions directly. Is that correct?

from 16bitjs.

hlide avatar hlide commented on May 25, 2024

I was coining the term LSU from hardware viewpoint, not from software viewpoint. So there is no such lsu.js. But I found weird to make the offset adoption for LDR and STR separately as features because in hardware the computation of an effective address is done by the same hardware instance. I saw you finally integrate one of my three implementations. I was in the process to make them in one PR to keep coherency .

from 16bitjs.

francisrstokes avatar francisrstokes commented on May 25, 2024

I see where the miscommunication took place. This is a software project, and I really do believe it's important to implement every piece individually. Each instruction can be rewritten in isolation, and so it should be . You can imagine the situation where we split those 3 issues between us and I wrote one and you wrote one. That's only possible when you isolate features. It's also a lot easier to review code when it only touches a single concept. I understand your reasoning, but I believe this is how features should be implemented.

from 16bitjs.

hlide avatar hlide commented on May 25, 2024

Anyway, things in my repository went awry so I've just added the two remaining PRs as such. I need to fix the mess in my repository when all those PRs are done.

from 16bitjs.

francisrstokes avatar francisrstokes commented on May 25, 2024

Hey I resolved all the merge conflicts and merged the pull requests so all of these steps are in place. It was quite a bit of work because like you say - the repos got pretty haywire. For future enhancements let's chat about the least conflicting workflow first to avoid the same again, but overall awesome! Thanks ๐Ÿ˜„

from 16bitjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.