marnovandermaas / riscv-isa-sim

Other
0 stars 0 forks source link

Slow load and store #4

Closed marnovandermaas closed 5 years ago

marnovandermaas commented 5 years ago

Because this version of Spike forces loads and stores to always go through the slow path, memory-heavy programs are running very slowly. For example, xv6 clears memory before starting up and this takes way too long of a time.

I think changing the TLB to include enclave identifiers should help solve this issue, but it will complicate the management shim code.

marnovandermaas commented 5 years ago

I have made some improvements on run time. I added enclave identifier checks into TLB and also I changed the interleave interval from 1 to 5000, which allows instructions to be executed in succession instead of yielding to other processors every time. Up to kvminithart now takes 6 minutes, which I find acceptable for now. I will keep on looking for performance improvements next week.

marnovandermaas commented 5 years ago

Also, it takes about 3 minutes on my machine if I don't add the cache arguments.