Laurent said:
You are playing a guessing game here. Do you know what the interface width between the CPU and the data module is? If I were to believe you it would have to be 128 bit wide, which I doubt
Come again? The interface width between the CPU and the RAM is 32bits, is it not? I don't see why what I'm saying is implying 128bits wide memory. Storing block moves like this on the write buffer allows it to hold more before it needs to be drained (and therefore will block additional requests to add to it). Because the ARM AMBA bus used differentiates sequential and non-sequential accesses a 128 bit block transfer will still be potentially more efficient than 4 32bit ones. Otherwise why would it benefit the write buffer to merge in the first place?
Oh I see where the misunderstanding comes from: I am not talking about 128 bit interface to memory, but from CPU to its internal memory subsystem, where the write buffer is. My point is that if you have 16 words for 4 addresses then some merging *has* to occur because I doubt the arm9tdmi uses 128 bit busses to talk to its memory subsystem. So perhaps the merging only occurs for stm, but it's merging nonetheless.
(skip the 940T behaviour which seems to demonstrate what I call (probably exaggerating) merging)
QUOTE
This demonstrates what I mean about stm's using more than one word per address slot. Another important application I failed to mention is for cache lines writebacks, which also use four words per address line because of their sequential nature.
Right. I call it merging, but it's indeed limited merging
QUOTE
We know that the 940T is non-merging so it's very likely that the 920T isn't as well, although I do wonder why it wasn't mentioned in the manual. The code was hand written ASM, what I can tell you is that it used no more instructions nor should it have used any more computational cycles than the original: instead of having two strh instructions it had an orr and an str. Every 8 pixels there was a gap for reading the tile information though, so this would give the write buffer additional time to drain. Still, it should have only been capable of storing 4 pixels on the write buffer with the first variant, and 8 with the second, and a single 32bit non-sequential write is supposed to be faster than two 16bit non-sequential writes (which they'd have to be due to lack of merging, unless 920T really is doing so). Something might have been off in my tests somehow, it's probably worth looking deeper into.
Well according to what you say we can perhaps safely conclude that "merging" is limited to stm.
QUOTE
http://www.arm.com/employment/19746.html
Please don't get the wrong idea, I have an MS in Computer Science and some professional experience. I just don't have much engineering education/experience (so a software position would be more suitable as you mentioned). Unfortunately I can't access the listing (403 permission error), maybe I have to register/log in somewhere.
Sorry if I seemed to under estimate you. You should know that for us French people "engineer" is not limited to "electronic engineer", it's a more generic term that describes a technical level of education. So when you wrote "I'm not an engineer" I got it wrong
That's strange the link works for me from home. Basically it's a graduate position, you are perhaps over qualified already
Here is an extract:
QUOTE
* Porting of Linux kernel to the latest ARM processors and the development of device drivers for new peripherals.
* Specification of new applications in collaboration with senior engineers.
* Development of these applications using the ARM RealView Tools.
* Debugging and verification of designs in simulation and on boards using the latest ARM RealView debug and trace tools.
* Creation of applications notes and working with Technical Publications to create User Guides.
The job is in Cambridge.
Anyway my point was to show that ARM has positions in computer science.