Commit Graph

6 Commits

Author SHA1 Message Date
Andre Richter
3f92aab6e7
Bump extern crates
cortex-a -> 2.2.1
panic-abort -> 0.3.1
2018-10-02 23:47:09 +02:00
Andre Richter
6d135ee441
Makefile: Don't delete kernel8 2018-10-02 23:34:01 +02:00
Andre Richter
37fe055082
Alignment. Binaries from newer Rust version. 2018-10-02 23:16:04 +02:00
Andre Richter
68de789d15
0D: Instruction caching and better benchmark function.
The previous benchmark function had a few flaws. First of all, it wasn't
idiomatic Rust, because we used a loop construct that you would expect in C.
Revamped that by using an iterator. Also, the previous benchmark got heavily
optimized by the compiler, which unrolled the inner loop it into a huge sequence
of consecutive loads and stores, resulting in lots of instructions that needed
to be fetched from DRAM. Additionally, instruction caching was not turned on.

The new code compiles into two tight loops, fully leveraging the power of the I
and D caches, and providing an great showcase.
2018-10-02 22:59:27 +02:00
Andre Richter
c65e2e56cd
Add tutorial 0D_cache_performance 2018-10-01 22:04:11 +02:00
Andre Richter
bf2a1fff7e
First part of tutorial: 0C_virtual_memory 2018-09-14 00:16:10 +02:00