Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!CSV.RPI.EDU!yerazuws From: yerazuws@CSV.RPI.EDU (Crah) Newsgroups: mod.computers.vax Subject: Re: VAX Instruction Timing Message-ID: <8701091457.AA27493@csv.rpi.edu> Date: Fri, 9-Jan-87 09:57:27 EST Article-I.D.: csv.8701091457.AA27493 Posted: Fri Jan 9 09:57:27 1987 Date-Received: Sat, 10-Jan-87 02:27:55 EST References: <8701090448.AA22342@ucbvax.Berkeley.EDU> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 40 Approved: info-vax@sri-kl.arpa Summary: You ask for the impossible ..... or at least the Really Hard To Do! In article <8701090448.AA22342@ucbvax.Berkeley.EDU>, ins_ajbh@jhunix.BITNET (James B Houser) writes: > > How do you go about getting instruction time numbers for VAXEN. Things > like how long a register to register move takes etc. The problem is that such timing numbers depend on what instructions have recently gone through the machine. As far as I know, ALL vaxes (excepting /730 and /725) have a pipeline of some sort. On the big fast ones (like 8800's) this pipeline is three instructions deep. So, if you are on an 8800, and run a loop consisting of something like TOP: Load R1 with R2 Increment R3 Branch if R3 .ne. 0 to TOP the pipeline will flush at the end of each loop, artificially making the machine appear slower than it is. Even the trick of adding another load of R1 with R2 and measuring the difference in times between the two loops may not help, because some big VAXes have "bypasses" built into the microcode. The ucode "sees" that R2 is already on an internal bus, and grabs it without refetching it from R2- artificially DEcreasing the time needed. Then we have to worry about cache contention, flushing, etc. And what the cache algorithms are on the particular CPU you are on. And what kind of memory the CPU has (different memories may have different behavior under different fetching parameters - and whether those fetches were aligned - or at least fell into the same memory block (some VAXes fetch 128 bits at a time)) Conclusion: you simply have to TRY your application and tweak where you think it's slow. Consider: A Sun 3 with the standard CPU (not the $30,000 option one) should be twice as fast as my uVAXstation II - but I find that for what I use them for, the uVAX II is faster. Why? I dunno. Hope this eases your brain. -Bill Yerazunis