English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 06 April 2011, 19:09   #1
Lord Riton
Registered User
 
Lord Riton's Avatar
 
Join Date: Jan 2011
Location: France
Age: 52
Posts: 507
Instruction cache question

Hello,

How much time does the 68030 lose on a instruction cache miss ?

I suppose because he has 16 byte cache entrys he will always fill 16 bytes at least, so does this mean i only get a cache miss , then 7 instructions on cache, then a cash miss then 7 on cash and so on (in case of the instructions beeing sequential and taking 2 bytes each) ?
Lord Riton is offline  
Old 07 April 2011, 01:32   #2
Kalms
Registered User
 
Join Date: Nov 2006
Location: Stockholm, Sweden
Posts: 237
More or less correct, if burst mode is enabled for the instruction cache. And normally it should be.

You can expect each stall to last for about 10-15 cycles on your 030@28 board.

The general strategy for 68020/68030 is, "make sure that your innermost loop is <240 bytes in size", because then you don't need to worry about alignment and stuff. If your innermost loop spills out of the cache then those icache reads will most likely eat up any time you saved by unrolling loops.

Last edited by Kalms; 07 April 2011 at 01:54.
Kalms is offline  
Old 07 April 2011, 12:25   #3
Lord Riton
Registered User
 
Lord Riton's Avatar
 
Join Date: Jan 2011
Location: France
Age: 52
Posts: 507
Quote:
Originally Posted by Kalms View Post
More or less correct, if burst mode is enabled for the instruction cache. And normally it should be.

You can expect each stall to last for about 10-15 cycles on your 030@28 board.

The general strategy for 68020/68030 is, "make sure that your innermost loop is <240 bytes in size", because then you don't need to worry about alignment and stuff. If your innermost loop spills out of the cache then those icache reads will most likely eat up any time you saved by unrolling loops.
I see thanks for the info

It's how i guessed it. I made a new c2p code, but it's long, and way longer than 240 bytes. If i add my new c2p code to QON it would only improve rendering on a 040 or 060, because it's main loop is taking arround 1kb.
Guess i'll just abandon the newer routine, i don't want to make improvements only for these processor based Amigas.
Lord Riton is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
"Interesting" way to detect 68020+ with enabled instruction cache Toni Wilen Coders. Asm / Hardware 3 28 January 2013 10:36
Optimizing question: instruction order TheDarkCoder Coders. Asm / Hardware 9 29 October 2011 17:07
Question about the TAS instruction. Thorham Coders. General 7 03 April 2011 13:12
Disk cache, pre-cache NoULTalk Coders. General 7 30 January 2010 19:07

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 15:08.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.06557 seconds with 13 queries