-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Architecture upgrade interrogation #1
Comments
Nice :)
It's definitely a good first step. We need to separate the fetch-decode-execute cycle of a typical CPU into separate entities at least. As we can imagine supporting several versions of the do-core architecture, we could define a
As we started to discuss during our last session, memory can be seen as a byte addressable array. And Then, let's assume that Does that make more sense? |
|
Hi so that to read two bytes and fill up register LD R0 R1
LSH R0 8 ;; left shift r0 by 8 = 0b1000
INC R1 1 ;; increment R1 by 1
LD R2 R1 ;; load next byte into a register that shouldn't be holding anything usefull
OR R1 R2 ;; 0b[data1]00000000 OR 0b00000000[data2] = 0b[data1][data2] Would |
@Hasenn @alexandrebrg Does issue #5 answer those questions here? If so, please close this issue. |
It does for me, |
Ok for me! I close |
Hello!
I'm currently working the implementation of the memory into do-core1. But I have some interrogation about how to do things as for now I have a fork where I'm trying to implement the memory.
Firstly, I moved the whole process of instructions in a module
Cpu
, so we move away memory and cpu frommain.rs
. It might not be the best way to do that, can I have your mind on it ?Then, the
Cpu
module has now load and store OpCode, but as we discussed my understanding of these OpCode was wrong, as the register should store the address (which match with the index of Vector in my memory module) of the memory and not the value from memory. It is not fixed as I don't know how to handle this problem, must the register store literally the index of the address or a reference ?Thanks
The text was updated successfully, but these errors were encountered: