Microblaze store

Nov 15, 2006 6 Replies

Hi all



Does Microblaze (v 5.00) stall on store (to a non-BRAM memory) till it receives an ack, or can it process other instructions while this store is on fly?



Thanks Murali


Hi Murali,

It can never proceed until the memory access is finished. MicroBlaze currently don't have an out-of-order exexcution.

Göran

A write buffer is different from OOE. You don't necessarily have to wait for the N number of writes to succeed (where N is the size of your write buffer) before executing the next instruction(s) perfectly in order.

So then, does Microblaze does have a store/write buffer? The reference guide doesn't mention about it and I saw somewhere that some older version of Microblaze in fact didnt have a store buffer.

Thanks Murali

This documents

formatting link
says it's possible to configure the processor with a write-through datacache but it's not clear if the writes stall the processor or the cache controller can complete the write on its own. If latter the data cache can be used as a write buffer with additional features.

MicroBlaze don't have a store buffer but some memory controllers has it. But from MicroBlaze point of view, it will stall until it get an acknowledge (doesn't have to be really stored in the memory). If you using the XCL interface for caches, it has a built-in store buffer. For MicroBlaze when using XCL a store will take 2 clock cycles if there is room in the store buffer independent on when the word actually get written into memory.

Göran

Thanks - This clears a lot of things.

-Murali

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required