English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 11 June 2014, 20:58   #1
Wepl
Moderator
 
Wepl's Avatar
 
Join Date: Nov 2001
Location: Germany
Posts: 866
data/intruction burst 68030

what happens when data/instruction burst is enabled in the cacr and the hardware doesn't support it. is there any drawback?
Wepl is offline  
Old 14 June 2014, 09:18   #2
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
So far i've never seen any drawback like this. AFAIK if it's not supported, well, you just won't have it.

Instruction burst is always safe IMO.
But data burst has some drawbacks and i wouldn't recommend enabling it (it slows down random accesses).
meynaf is offline  
Old 14 June 2014, 13:47   #3
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by meynaf View Post
But data burst has some drawbacks and i wouldn't recommend enabling it (it slows down random accesses).
Why should it slow down random access?
Gunnar is offline  
Old 14 June 2014, 17:55   #4
SpeedGeek
Moderator
 
SpeedGeek's Avatar
 
Join Date: Dec 2010
Location: Wisconsin USA
Age: 60
Posts: 839
Quote:
Originally Posted by Wepl View Post
what happens when data/instruction burst is enabled in the cacr and the hardware doesn't support it. is there any drawback?
If the hardware doesn't support it then burst mode enabled has no drawback. It simply means the CPU will REQUEST a burst cycle but it's always up to the hardware to ACKNOWLEDGE the burst cycle.

Quote:
Originally Posted by Gunnar View Post
Why should it slow down random access?
In practice the CPU doesn't randomly access memory but may appear to do so at times. The term "Random" most often refers to a non-sequential memory access. The burst cycle obtains it's "Best Case" performance when operands are sequentially accessed and it's "Worst Case" performance when operands are non-sequentially accessed.

Since most instruction operands are sequential within memory the instruction burst "Best Cases" occur much more often then the "Worst Cases". However, since data operands are often non-sequential or fragmented with memory the data burst "Worst Cases" are often equal to or greater than the "Best Cases".
SpeedGeek is offline  
Old 14 June 2014, 19:25   #5
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
The 68030 has just 16 cache lines. Each cache line has a width of 16 bytes.

If you disallow bursting then the 68030 will need up to twice as long to fill the cache line.

IMHO bursting should always be enabled as it will speed up all common cases.


The question was whether brusting can even slow down the uncommon pointer chase case or not.
I don't recall whethe rthe 68030 does wrapping line burst and early providing of the 1st result.
If it does this then bursting random access data would have no significant drawback
as the data is available to the CPU early and rest of the line would be loaded in parallel.

Can someone qualify this? Does the 68030 line wrap?
Gunnar is offline  
Old 14 June 2014, 19:46   #6
Wepl
Moderator
 
Wepl's Avatar
 
Join Date: Nov 2001
Location: Germany
Posts: 866
thanks for the info.
I will then enable only the instruction burst.
is there a list of hardware which supports burst transfers?
AFAIK none of the older boards supports it.
aca123x yes
blizzard1230 ?
Wepl is offline  
Old 14 June 2014, 23:12   #7
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by Gunnar View Post
IMHO bursting should always be enabled as it will speed up all common cases.
I always have data burst off on my Blizzard 1230 IV, because having it on can cause problems. LZX unpacking can go wrong (errors with valid archives), and some other issues.
Thorham is offline  
Old 15 June 2014, 00:52   #8
Kalms
Registered User
 
Join Date: Nov 2006
Location: Stockholm, Sweden
Posts: 237
On 030, if dburst is off then the CPU will not fetch entire cachelines, it only does the necessary memreads. Therefore random pointer walks are faster with dburst off on 030.

When dburst is on, the 030 cache does early providing of the 1st result. I do not know for sure but I think it does linewrap.

Blizzard 1230 supports dburst.
Kalms is offline  
Old 16 June 2014, 07:36   #9
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Gunnar View Post
The 68030 has just 16 cache lines. Each cache line has a width of 16 bytes.

If you disallow bursting then the 68030 will need up to twice as long to fill the cache line.
But the 68030 will not try to fill the whole cache line with dburst off. It will just access your current data and put that in the cache.


Quote:
Originally Posted by Gunnar View Post
Can someone qualify this? Does the 68030 line wrap?
What is sure is that there is a measurable slowdown when you do random accesses that are not in the cache, when data burst is on.
meynaf is offline  
Old 16 June 2014, 09:54   #10
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by Gunnar;
If you disallow bursting then the 68030 will need up to twice as long to fill the cache line
Quote:
Originally Posted by meynaf View Post
But the 68030 will not try to fill the whole cache line with dburst off. It will just access your current data and put that in the cache.
This is clear and this was my point.
When you disable the burst you only fetch 4byte in your 16byte line and the other 12 byte of cache are unused.

But when the CPU will access another word in the cache line it will have to fetch this word. And this will be slower than with burst enabled.

This means by disabling burst you slow down all routines which work with data that has more than 1 word per cache line.
E.g jpeg decoding, gif display, HTML decoding, memcopy, typical RTG graphic operations, stack operations, .. Matrix mul...
Gunnar is offline  
Old 16 June 2014, 14:19   #11
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
read this: http://amigadev.elowar.com/read/ADCD.../node0161.html
hooverphonique is offline  
Old 16 June 2014, 15:15   #12
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by hooverphonique View Post

Yep this reminds of 2 design issues of the 68030 cache is and how problematic using it in an AMIGA is to...
Gunnar is offline  
Old 19 June 2014, 13:11   #13
meynaf
son of 68k
 
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
Quote:
Originally Posted by Gunnar View Post
This is clear and this was my point.
When you disable the burst you only fetch 4byte in your 16byte line and the other 12 byte of cache are unused.

But when the CPU will access another word in the cache line it will have to fetch this word. And this will be slower than with burst enabled.

This means by disabling burst you slow down all routines which work with data that has more than 1 word per cache line.
E.g jpeg decoding, gif display, HTML decoding, memcopy, typical RTG graphic operations, stack operations, .. Matrix mul...
The difference in access times isn't very big : accessing two separate longwords is still faster than bursting a whole line, and therefore you have to access 3 longwords, if not 4, for the burst mode to become faster.

Tests have shown that many apps run slightly faster with dburst off, and only things like copymem are faster with dburst - but the difference is minimalistic in both cases, so it's not very important.


Quote:
Originally Posted by Gunnar View Post
Yep this reminds of 2 design issues of the 68030 cache is and how problematic using it in an AMIGA is to...
Using a 68030 in an Amiga isn't very problematic for me. It really has much less problems than 68040/68060.
meynaf 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
A3640 burst hooverphonique support.Hardware 6 20 February 2014 03:56
ERROR: Capital Punishment (T-Zer0 version) - Illegal Intruction Retro-Nerd project.Killergorilla's WHD packs 35 25 April 2009 00:14
F/S: Synchro Express III Image Burst Nibbler from Datel John64 MarketPlace 4 15 December 2008 18:35
68030 pipelines meynaf Coders. General 30 15 February 2008 12:03
Replacing a 68030 unox support.Hardware 1 25 October 2007 12:43

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 09:33.

Top

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