Arm Community
Site
Search
User
Site
Search
User
Groups
Arm Research
DesignStart
Education Hub
Graphics and Gaming
High Performance Computing
Innovation
Multimedia
Open Source Software and Platforms
Physical
Processors
Security
System
Software Tools
TrustZone for Armv8-M
中文社区
Blog
Announcements
Artificial Intelligence
Automotive
Healthcare
HPC
Infrastructure
Innovation
Internet of Things
Machine Learning
Mobile
Smart Homes
Wearables
Forums
All developer forums
IP Product forums
Tool & Software forums
Pelion IoT Platform
Support
Open a support case
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Developer Community
IP Products
Processors
Jump...
Cancel
Processors
Classic processors forum
ARM1176JZ-S, cache confg: effective cache size calculation
Blogs
Forums
Videos & Files
Help
Jump...
Cancel
New
State
Accepted Answer
+1
person also asked this
people also asked this
Replies
11 replies
Subscribers
2 subscribers
Views
5117 views
Users
0 members are here
ARM1176JZ-S
Arm11
Related
ARM1176JZ-S, cache confg: effective cache size calculation
Offline
deven deven
over 7 years ago
Note: This was originally posted on 22nd February 2009 at
http://forums.arm.com
Hello,
1) I am using ARM1176JZ-S core with WinCE Platform. The cache memory is configured as follows
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
Now I want to know the effective data cache size, I mean the total data from the main memory
could be cached and accessed without cache trashing within a function.
2) Is the cache set size(128 sets) and cache block/segment(of other processors) size are same?
Kindly reply this mail, thanks in advance
Regards,
Deven
Top replies
Offline
Peter Harris
over 7 years ago
+1
verified
Note: This was originally posted on 9th March 2009 at http://forums.arm.com Assuming that your QUERY_START and QUERY_END macros are calling a system function to get the time stamp, I would think that...
Parents
0
Offline
Peter Harris
over 7 years ago
Note: This was originally posted on 12th March 2009 at
http://forums.arm.com
If the cache is in write-back mode and the line is dirty then the cache line has to be written to memory before the line can be reloaded with new data. If the line is not dirty (either because it is empty, the data is read-only, or is has been flushed) then you can skip this step and just load the new data.
How long the write-back stage takes depends on the microarchitecture of the processor - some designs block the cache line, whilst others have dedicated victim buffers for storing the lines to be evicted, which frees the line up to for new data much earlier.
> The "algorithm execution" you're talking about is (assuming again) a rather long loop, therefore I would not expect you to notice the effect of 'the very first memory access'...
It depends on the data structures. If you have data that is nicely packed (and accessed) in cache-line size-chunks then you probably won't see much effect. If you have data structures which access one byte per cache line, and pollute a lot of the cache, before accessing the next byte in each cache line then you are likely to see a huge performance loss.
Designing data structures to "be nice" to the cache is one of the most beneficial aspects of optimization - but worrying about individual cache line evictions is unlikely to be useful because of the pseudo-random nature of the typical cache policy).
Cancel
Up
0
Down
Reply
Accept answer
Cancel
Reply
0
Offline
Peter Harris
over 7 years ago
Note: This was originally posted on 12th March 2009 at
http://forums.arm.com
If the cache is in write-back mode and the line is dirty then the cache line has to be written to memory before the line can be reloaded with new data. If the line is not dirty (either because it is empty, the data is read-only, or is has been flushed) then you can skip this step and just load the new data.
How long the write-back stage takes depends on the microarchitecture of the processor - some designs block the cache line, whilst others have dedicated victim buffers for storing the lines to be evicted, which frees the line up to for new data much earlier.
> The "algorithm execution" you're talking about is (assuming again) a rather long loop, therefore I would not expect you to notice the effect of 'the very first memory access'...
It depends on the data structures. If you have data that is nicely packed (and accessed) in cache-line size-chunks then you probably won't see much effect. If you have data structures which access one byte per cache line, and pollute a lot of the cache, before accessing the next byte in each cache line then you are likely to see a huge performance loss.
Designing data structures to "be nice" to the cache is one of the most beneficial aspects of optimization - but worrying about individual cache line evictions is unlikely to be useful because of the pseudo-random nature of the typical cache policy).
Cancel
Up
0
Down
Reply
Accept answer
Cancel
Children
No data
More questions in this forum
By title
By date
By reply count
By view count
By most asked
By votes
By quality
Descending
Ascending
All recent questions
Unread questions
Questions you've participated in
Questions you've asked
Unanswered questions
Answered questions
Questions with suggested answers
Questions with no replies
Answered
Program Counter, Stack Pointer and Link Register Status During an Interrupt Service in ARM based Processors
+1
3463
views
2
replies
Latest
over 1 year ago
by
Aman007kc
Answered
ARM Assembly how to print numbers instead of their ascii representation of that number
+1
Armv6
Arm Assembly Language (ASM)
5897
views
2
replies
Latest
over 1 year ago
by
Kanan Jarrus
Not Answered
Why there is no translation tables concatenation for stage 1 of VA translation?
0
1490
views
0
replies
Started
over 1 year ago
by
Uzi Shvadron
Answered
Arm Cortex-A8 program flow prediction
+1
Armv7-A
Cache
Out-of-order Execution
Cortex-A
1788
views
1
reply
Latest
over 1 year ago
by
Andy Neil
Suggested Answer
Shifted binary generated by arm-none-eabi-objcopy
0
GCC
Cortex-A
Cortex-M
Baremetal
4949
views
8
replies
Latest
over 1 year ago
by
en2senpai
<
>
View all questions in Classic processors forum