[Simh] VAX 8200/8250
Here is a new simulator for the VAX 8200/8250 systems. Most of the key features are there including the DWBUA BI-Unibus adapter which allows all the existing Unibus devices to be used. The console RX50 is also implemented. The console processor is not simulated so it uses the same VMB trick as the VAX-11/7xx simulators i.e. you boot directly from a device "boot rq0" rather than "boot cpu". You can get the code from: https://github.com/9track/simh/tree/vax820 And Windows executable from: http://www.9track.net/simh/vax820 Please try it out and let me know how you get on. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
I was surprised to see that! Very good news!! Good job! I will try that soon. For 8250/8350, you need two MP processors. Does vax820 emulate two MP processors like VAX-11/782? Tim -Original Message- From: Simh On Behalf Of Matt Burke Sent: Saturday, April 6, 2019 1:21 PM To: Simh Trailing-Edge Mailing List Subject: [Simh] VAX 8200/8250 Here is a new simulator for the VAX 8200/8250 systems. Most of the key features are there including the DWBUA BI-Unibus adapter which allows all the existing Unibus devices to be used. The console RX50 is also implemented. The console processor is not simulated so it uses the same VMB trick as the VAX-11/7xx simulators i.e. you boot directly from a device "boot rq0" rather than "boot cpu". You can get the code from: https://github.com/9track/simh/tree/vax820 And Windows executable from: http://www.9track.net/simh/vax820 Please try it out and let me know how you get on. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
On 06/04/2019 21:28, Timothy Stark wrote: > I was surprised to see that! Very good news!! Good job! I will try that > soon. > > For 8250/8350, you need two MP processors. Does vax820 emulate two MP > processors like VAX-11/782? > No, but I have got another branch which does. It's a fairly nasty hack just to test the theory. Basically the two processors are run in lock-step and it saves/restores the context of each CPU between instruction cycles. There's a lot of overhead in that so the performance is quite poor once you start the secondary CPU. Bob Supnik created a simulator for the SiCortex SC1 several years ago which shows a better way to do multiple processors in lock-step but that would involve significant changes to the VAX CPU and MMU modules. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
On 2019-04-06 22:28, Timothy Stark wrote: I was surprised to see that! Very good news!! Good job! I will try that soon. For 8250/8350, you need two MP processors. Does vax820 emulate two MP processors like VAX-11/782? The 8250 multiprocessor uses VAXBI for interconnection, and it's a symmetric multiprocessor system. The VAX-11/782 was a very different beast with shared memory, and asymmetric multiprocessing. But as far as I know, simh supports neither, as it don't really manage multiple processors that easily in general. Too much global data, if I remember right. Johnny Tim -Original Message- From: Simh On Behalf Of Matt Burke Sent: Saturday, April 6, 2019 1:21 PM To: Simh Trailing-Edge Mailing List Subject: [Simh] VAX 8200/8250 Here is a new simulator for the VAX 8200/8250 systems. Most of the key features are there including the DWBUA BI-Unibus adapter which allows all the existing Unibus devices to be used. The console RX50 is also implemented. The console processor is not simulated so it uses the same VMB trick as the VAX-11/7xx simulators i.e. you boot directly from a device "boot rq0" rather than "boot cpu". You can get the code from: https://github.com/9track/simh/tree/vax820 And Windows executable from: http://www.9track.net/simh/vax820 Please try it out and let me know how you get on. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: b...@softjar.se || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
Does simh use threads to handle MP processors? I have other SIMH versions (vaxmp and turbovax) that uses threads to take advantage of CPU cores. I looked through your 782 code and did not see any threads handle that vaxmp and turbovax uses. Tim -Original Message- From: Simh On Behalf Of Matt Burke Sent: Saturday, April 6, 2019 6:18 PM To: simh@trailing-edge.com Subject: Re: [Simh] VAX 8200/8250 On 06/04/2019 21:28, Timothy Stark wrote: > I was surprised to see that! Very good news!! Good job! I will try that > soon. > > For 8250/8350, you need two MP processors. Does vax820 emulate two MP > processors like VAX-11/782? > No, but I have got another branch which does. It's a fairly nasty hack just to test the theory. Basically the two processors are run in lock-step and it saves/restores the context of each CPU between instruction cycles. There's a lot of overhead in that so the performance is quite poor once you start the secondary CPU. Bob Supnik created a simulator for the SiCortex SC1 several years ago which shows a better way to do multiple processors in lock-step but that would involve significant changes to the VAX CPU and MMU modules. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
Ok, I now got it. Yes, you are right about too much global data in SIMH that is not good design for multiprocessors. Tim -Original Message- From: Simh On Behalf Of Johnny Billquist Sent: Saturday, April 6, 2019 6:43 PM To: simh@trailing-edge.com Subject: Re: [Simh] VAX 8200/8250 On 2019-04-06 22:28, Timothy Stark wrote: > I was surprised to see that! Very good news!! Good job! I will try that > soon. > > For 8250/8350, you need two MP processors. Does vax820 emulate two MP > processors like VAX-11/782? The 8250 multiprocessor uses VAXBI for interconnection, and it's a symmetric multiprocessor system. The VAX-11/782 was a very different beast with shared memory, and asymmetric multiprocessing. But as far as I know, simh supports neither, as it don't really manage multiple processors that easily in general. Too much global data, if I remember right. Johnny > > Tim > > -Original Message- > From: Simh On Behalf Of Matt Burke > Sent: Saturday, April 6, 2019 1:21 PM > To: Simh Trailing-Edge Mailing List > Subject: [Simh] VAX 8200/8250 > > Here is a new simulator for the VAX 8200/8250 systems. Most of the key > features are there including the DWBUA BI-Unibus adapter which allows all the > existing Unibus devices to be used. The console RX50 is also implemented. > > The console processor is not simulated so it uses the same VMB trick as the > VAX-11/7xx simulators i.e. you boot directly from a device "boot rq0" rather > than "boot cpu". > > You can get the code from: > > https://github.com/9track/simh/tree/vax820 > > And Windows executable from: > > http://www.9track.net/simh/vax820 > > Please try it out and let me know how you get on. > > > Matt > ___ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh > > ___ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh > -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: b...@softjar.se || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
On 06/04/2019 23:50, Timothy Stark wrote: > Does simh use threads to handle MP processors? I have other SIMH versions > (vaxmp and turbovax) that uses threads to take advantage of CPU cores. > > I looked through your 782 code and did not see any threads handle that vaxmp > and turbovax uses. > For the VAX 8300/8350 I just run both processors in the same thread and alternate between them on each instruction cycle. Things get a lot more complicated when threads are involved because you have to think about locking and synchronisation. The VAX-11/782 is quite different as you actually run two separate copies of the VAX-11/780 simulator and they communicate with each other using a shared memory interconnect (simulated by shared memory on the host operating system). One VAX-11/780 runs as the master and this is the one that you interact with. It has access to all the I/O devices such as disks/tapes. The other VAX-11/780 is non-interactive and can only process workloads which are handed over from the master. This is asymmetric multiprocessing. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
On 2019-04-07 01:14, Matt Burke wrote: On 06/04/2019 23:50, Timothy Stark wrote: Does simh use threads to handle MP processors? I have other SIMH versions (vaxmp and turbovax) that uses threads to take advantage of CPU cores. I looked through your 782 code and did not see any threads handle that vaxmp and turbovax uses. For the VAX 8300/8350 I just run both processors in the same thread and alternate between them on each instruction cycle. Things get a lot more complicated when threads are involved because you have to think about locking and synchronisation. The VAX-11/782 is quite different as you actually run two separate copies of the VAX-11/780 simulator and they communicate with each other using a shared memory interconnect (simulated by shared memory on the host operating system). One VAX-11/780 runs as the master and this is the one that you interact with. It has access to all the I/O devices such as disks/tapes. The other VAX-11/780 is non-interactive and can only process workloads which are handed over from the master. This is asymmetric multiprocessing. Unless you also have some synchronization mechanisms in there, this might not actually work right, but it can take time for issues to show up. Some VAX instructions can be rather complex, and are guaranteed to be atomic to memory. I believe that holds true also on the 11/782, which means that instructions like the interlocked queue instructions will not naturally be interlocked if you just have two threads with shared memory for a simulation. And so, you run the risk that if both CPUs would want to modify the same data interlocked, the simulation will actually end up corrupting memory. But this is probably a rare occurrence, so chances are that you have gotten away with it, even if you don't do proper interlocking. Johnny -- Johnny Billquist || "I'm on a bus || on a psychedelic trip email: b...@softjar.se || Reading murder books pdp is alive! || tryin' to stay hip" - B. Idol ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
The 8200 (V11) doesn't have a console processor; the console is implemented in microcode (as in the F11/J11) and some macrocode (as in MicroVAX II). That's one of the reasons the V11's microstore was 15KW, plus a 1 KW patch store, and MicroVAX II's was 1.6KW, with no patch store. (The other drivers of V11 microword consumption were the string, decimal, and soft floating instructions.) V11 and MicroVAX II have essentially identical microwords, although the capabilities of the main data path differ slightly, particularly around shifting. I did not work on the V11 microcode directly. Close to release, when it was clear that the patch store would be half empty, I developed a patch to optimize CALL/RET using techniques lifted from the 8800 (Nautilus) microcode; these were also included in CVAX. I don't have a listing of the V11 microcode. /Bob On 4/6/2019 6:14 PM, simh-requ...@trailing-edge.com wrote: Message: 2 Date: Sat, 6 Apr 2019 18:20:37 +0100 From: Matt Burke To: Simh Trailing-Edge Mailing List Subject: [Simh] VAX 8200/8250 Message-ID: Content-Type: text/plain; charset=utf-8 Here is a new simulator for the VAX 8200/8250 systems. Most of the key features are there including the DWBUA BI-Unibus adapter which allows all the existing Unibus devices to be used. The console RX50 is also implemented. The console processor is not simulated so it uses the same VMB trick as the VAX-11/7xx simulators i.e. you boot directly from a device "boot rq0" rather than "boot cpu". You can get the code from: https://github.com/9track/simh/tree/vax820 And Windows executable from: http://www.9track.net/simh/vax820 Please try it out and let me know how you get on. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
What is the simulator called in the Makefile? I cannot seem to find either a vax8200 or vax820. On Sat, Apr 6, 2019 at 1:21 PM Matt Burke wrote: > Here is a new simulator for the VAX 8200/8250 systems. Most of the key > features are there including the DWBUA BI-Unibus adapter which allows > all the existing Unibus devices to be used. The console RX50 is also > implemented. > > The console processor is not simulated so it uses the same VMB trick as > the VAX-11/7xx simulators i.e. you boot directly from a device "boot > rq0" rather than "boot cpu". > > You can get the code from: > > https://github.com/9track/simh/tree/vax820 > > And Windows executable from: > > http://www.9track.net/simh/vax820 > > Please try it out and let me know how you get on. > > > Matt > ___ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
On 07/04/2019 02:18, Ray Jewhurst wrote: > What is the simulator called in the Makefile? I cannot seem to find > either a vax8200 or vax820. > The target is called vax820. It's defined here: https://github.com/9track/simh/blob/vax820/makefile#L2059 There is also a project file included for Visual Studio. I realise now though that I forgot to add vax820 to the descrip.mms file for VMS. Matt ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh
Re: [Simh] VAX 8200/8250
Hi Ray, You make have made the same "minor mistake" that I just did. The VAX8200 is on a branch called vax820, so you need to do "git checkout vax820" (on Linux) first. Once I did that, it built just fine. Cheers Peter Allan On Sun, 7 Apr 2019 at 11:19, Matt Burke wrote: > On 07/04/2019 02:18, Ray Jewhurst wrote: > > What is the simulator called in the Makefile? I cannot seem to find > > either a vax8200 or vax820. > > > > The target is called vax820. It's defined here: > > https://github.com/9track/simh/blob/vax820/makefile#L2059 > > There is also a project file included for Visual Studio. I realise now > though that I forgot to add vax820 to the descrip.mms file for VMS. > > Matt > ___ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh ___ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh