home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.atari.st.tech
- Path: sparky!uunet!spool.mu.edu!yale.edu!ira.uka.de!math.fu-berlin.de!news.th-darmstadt.de!backus.pu.informatik.th-darmstadt.de!wallmann
- From: wallmann@backus.pu.informatik.th-darmstadt.de (Natuerlich!)
- Subject: Re: Falcon BUS..
- Sender: news@news.th-darmstadt.de (The News System)
- Message-ID: <1992Dec14.235558.17175@news.th-darmstadt.de>
- Date: Mon, 14 Dec 1992 23:55:58 GMT
- Nntp-Posting-Host: backus.pu.informatik.th-darmstadt.de
- Organization: MSD software vault #9 @THD
- Lines: 96
-
- Due to the recent discussion I have rehacked my (till now private) little
- bustest program as to make it fairly portable between Amiga
- and Atari. The assembler portion is very small and oughta be
- quickly ported. So in case no one finds any major faults in
- the algorithm I think it would be interesting to run this program
- on the Amiga 1200 and the F030 (of which I own neither). To get
- some 'comparable' figures the test should be done with:
-
- 640x400x256colors 60Hz non-interlaced
- and 320x200x16colors 60Hz non-interlaced
-
- This program tests 16 and 32 bit read and write accesses.
-
- Nat!
-
- Here comes the source code, zooed and uuencoded
-
- table
- !"#$%&'()*+,-./0123456789:;<=>?
- @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- begin 644 bustest.zoo
- M6D]/(#(N,3 @07)C:&EV92X: #<I\3]*@ -;___\" $ #W*?$z
- M_0("W@$ '$ "/&; #C&=?! ;0$ (! !B=7,N<P y
- M "@ 8%NP I % 0"DC* !(V*7S;6D'/]X P+N!IHPLN*?AN-$x
- M*#PJ"//B;2!_AEMVDSKO'/Z2S374<"*F14PW0+$VI"$(96[58S80EFU3/^I"w
- M2L'YFMN_++:S3L4.:[^L.,E4AOGFTLUM+Z5QQ@^"J1H98.#N[_+Q\' CZH;$v
- M98X)-Q4S0$16DUKL$F*FFGMX$1C4S%1@(Z.DH.>$695::H'AO8N4(WPR[+-3u
- M\]=FJ_\G.Q#Y0; ^#<(S8UWX @]_>CQ0HS/4B:7'S$_+'#5+[57'03^J@!=Mt
- MW^K1]'*D_,3I7U_5?7ZTKIK4 1X;OHBU70Y&HVJS(&W0W[BJ&L]M<I,4_^FFs
- M*UF%#=Q0II[#Y#6E0=VN.^3SO4QY>%*T+8\5XS@$)3KNY63C.?$S@**#=M&>r
- M7DF:(ID7B/%D+^EGR],>3D]L'#>B9I2[W-0:W SKP-R7FVQ-O2[^>KNIV=K0q
- MBB7J!+;NT1#PROTI).$-4Q!6XS=EABH/.XH -RGQ/T" @T& E @ CQF<p
- M! +/ @ .@# " 0 8G5S=&5S="YC H &([X *0!o
- M0 $ I(R@ YEKEMFVVYQSKP!_D@HJ3R:;<U&&NFM&LEO!=7I*+)<!@( Pn
- M6D5$0RB5B2HZQAN#>-7Q)+<E&MW7O 3;,.ZMMM3-D++_WTQ0^[+D-+!!ZSDNm
- MTFKQ8/&M=ARO-N+6<K6'.G<$09+"VYER>&':YB*W(6II&581_E@/\>RHND_>l
- M=CKCI.UI.?(!^7[H1:J3]U*$4P6QT&"DD6EN7B(J9(4;%+VEMN,YZ3RL.5BTk
- M*[J9/9TM.'8[Z#Q2YI;4)26#%ZS:TPK2\YE!P?0&^8>V,@N-WG@U)/>'AB'"j
- M%+_ I,K_MHH*\RE?EK-7LQ;5AC4A5JV7F<C94Z[+89E[7&L=58=[O_^A"R9Ii
- MN1"JTXC.'XM=8A=5WI"*TM6KW_'X>SHU:IN0N#"Y;8+WX!^:=;=:%615*L1;h
- MXQ1R+SO43<EA[4*.6GJZO?UD6C/GSZ?"] $MKCX1U=CA+1[ 6NY[J$MIFNAg
- M6$H1S_MV>P0CES^;[ZL\WUK23)6E=>R>@2&?(4_>M(R(DY)6KN+)06?Y>;G]f
- M5'"@N31R0D,;$F[UHLWU ,V:ML]%,?%+_&&OHI(^4$JP'VX,<]'--->9"IZe
- M)OX?J?!AWX3>G'K;ABYLY<?/B+X'XPIZZ"T>?S\I:]Q=)G?TQ**[N(I_TZ_7d
- M1VJ[9NP,S8!XUX@>==;QOMP."+K5'%S=PA-]1=C-P"L3,52( HFP$AE<9NP>c
- M+X?>\LPQK@MK4 2%1>O%XC82*TU;J1XQ('X#=K,KRN)MV+@;"T@*M\*0H6 Sb
- M'"5/L.\K0I>U'=BR&O3$E#G0SUMJ+\Q>@1.0H$O0X7)<9D;D?5SS]N-L.&+;a
- M<-7TE@DY@74%;P&P3J=554&Y7'2 ;V"=OS8,JOR5/PT%273\=.FDL\<Y161Vz
- M321<>C[GSR" 0<M'S99;;IX,L-PAFT?Y"TOA?V\O^PL,V]E^D+'$P:0%6'=By
- MQ4\*Q_F:::, M%RTE:DW=1(2D^2VA[E6,;D61O-$,3RVZG<"JC@E8Y^(5X#Cx
- MBA( B<BO@T7H5BV"B;>WEZ.!-?L+E@KAH2?@FXO1%ID,A;)R0'6!V>8D9<O-w
- M1+C/WU-"-KP\(U!$BV>4R],%V]UDU1598^V7QJJ'#]]&J#%O<?!J?(HXWC&Lv
- M& 501\?:SX#! X!17Q>3@4[R59TV@P SOF; +WCS,_W\-(SSV+Q!.:)<:N27u
- M$ID+HT^[5V='NH+-&V?K6\*AE7$=T\.!V.R>O' XROGTQ>KP;;4AG[MGD!B(t
- M,XM>*OFNEQEP/NVY>*;'DV:Y_5(. >$8*!^[C@S8X[Q#Y<?GJ'"UW/97\H^7s
- MHCJT"4.H'\/$[GZ\_MXGNLP -RGQ/T" r
- > /R#q
- p
- end
- ---------------------------------------------------------------
- The measurement algorithm is the following:
-
- o Shuts off almost all IRQ sources (should shut off data caches)
-
- o First the time needed for a couple of thousands of loops
- of a specific piece of code is measured.
-
- o Second the same amount of loops is done on another piece
- of code, which is the same as the first piece, except
- that this code does one bus access more.
- (e.g. MOVE d0,(a0) instead of MOVE d0,d0
-
- o The difference is taken and a mbyte/s value is computed
-
-
- The method is inaccurate in these ways:
- a) timing is (on the ST) done with a IRQ-Timer which isn't all that accurate.
- (can be improved with higher loop factors)
- b) the IRQ decreases the CPU-time available for the test program, thus for
- the excess time of the second measurement, the IRQ time is in the figure.
- c) this actually tests RAM access rather than bus access.
-
- The reported figures are therefore slightly low! (shouldn't be more than
- 10% though)
-
- P.S.
- I have ported (and bugfixed) the DBMALLOC library (by Conor P. Cahill)
- to the ST (for PURE-C only). I don't have the guts to put this stuff into
- the public, since the changes to the source aren't really in a form, where
- I'd could release them. Anyway this malloc library is a must for anyone who
- runs into weird and unexplainable problems, so if you want it contact me
- by email.
- --
- ----- Email: wallmann@backus.pu.informatik.th-darmstadt.de -----
- "Bang that bit that doesn't bang"
- VfL Bochum: "Unabsteigbar"
-