From: Villy Madsen [Villy.Madsen@shaw.ca] Sent: Monday, October 16, 2006 10:38 PM To: Info-VAX@Mvb.Saic.Com Subject: SimH VAX emulation with throttling Greetings all.. 1) The throttled version of SimH VAX and ancillary stuff is available at http://members.shaw.ca/Villy.Madsen/simh/ or at http://68.150.97.212/simh/ (but this one isn't always up - it's an emulated VAX) 2) Here's how it works.... - The throttled version of the SimH uVax3900 emulation has a code snippet added to it that adds a 1 millisecond wait every N times 400 emulated instructions. If (N == 0) or (N>=1000) then the sleep code is bypassed. - The value of N is updated whenever the emulated register at (IOPAGEBASE + 015200) is updated. - A program running at priorty 12 and with sysprv under the emulated VAX wakes up every few seconds and tallies the total CPU utilization for all the processes. It decreases the value of N if the total CPU utilization is less than 25% (slowing the emulation down) and increases the value if the total CPU utilization is greater than 50% (speeding the emulation up). On my 1.5ghz P4 running XP, I have the minimum value (a system wide logical "THROTTLEMIN" ) set to 20 (in other words a 1ms sleep every 8000 emulated instructions) which equates to less than 1% utilization on the P4 and a vupometer value of 1.1. with "THROTTLEMIN" defined as 1000 (i.e. disable throttling) the VAX emulator uses 100% and has a vup rating of 6.2 (I know - it doesn't make any sense). - Warning - the IO addresse is defined in the DN-11 emulation software. Running throttle on the standard SIMH Vax (or the 11/780) or on a real vax will cause a machine check.... (I'll fix that one of these days) Any questions ?? Villy Villy