[HW] Why do we need to separate data cache and instruction cache?

There are actually several reasons.
First and probably foremost, the data that's stored in the instruction cache is generally somewhat different than what's stored in the data cache -- along with the instructions themselves, there are annotations for things like where the next instruction starts, to help out the decoders. Some processors (E.g., Netburst, some SPARCs) use a "trace cache", which stores the result of decoding an instruction rather than storing the original instruction in its encoded form.

[Arduino] Burning the Bootloader on ATMega328 using Arduino UNO

Burning the Bootloader on ATMega328 using Arduino UNO

(Tải bootloader lên Arduino)

Burning a bootloader to an atmega328P or atmega328 using Arduino Uno version 1.6.5 or later is now easier than ever.

Step1: open and upload the sketch ArduinoISP to atmega328P on your Arduino board( without connection with another atmega328P )

Embedded System interview Question - Câu hỏi cơ bản thường gặp trong lập trình nhúng

Câu hỏi cơ bản thường gặp trong lập trình nhúng

1. What are static variables?


Static variable in a function only remain one copy of itself.
Static variable in a module can be used by any function in the module
Static function can only be called in its class


2. What are volatile variables?
Volatile variables may change its value unexpectedly in the program.
The program will check its value every time, it tries to use it.
If a variable is not volatile, the program may keep a copy of the var in its cache.


3. What do you mean by const keyword ?
A constant variable is a read only variable. You cant change its value else where except initialization.


4. What is interrupt latency?
Interrupt latency is the time between the generation of interrupt and the time for interrupt handler to process it.


5. How you can optimize it?
We may use polling and message passing for interrupt to handle interrupt immediately.
Related Posts Plugin for WordPress, Blogger...