.NONUMBER .LM 0 ^PY^- .PAGE SIZE 58,85 .LM 10 .RM 75 .NO FILL .NO JUSTIFY # .SKIP 5 .CENTER The RSX Multi-Tasker .CENTER August, 1986 .SKIP .CENTER ^IS144^G"All the News that Fits, We Print"^IS204^G .SKIP .CENTER Fine Realtime Commentary Since 1975 .SKIP 6 .CENTER ^&Table of Contents\& .SKIP 2 .TAB STOPS 60 The Editor's Corner RSX-1 Newsletter Subscription Problems RSX-1 The High Cost of the Newsletters RSX-2 Contributions to the MT RSX-2 Submitting Articles to the Multi-Tasker RSX-3 And That's The Way Things Are RSX-4 The Bag of Tricks: MACRO-11 RSX-4 Multiprocessor PDP-11 Survey RSX-8 RSX PLAS Support RSX-10 .JUSTIFY .FILL .PAGE .COMMENT .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT The Editor's Corner .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT # .SKIP 5 .AUTOPARAGRAPH .CENTER ^&The Editor's Corner\& .SKIP .CENTER Bruce R. Mitchell .SKIP 2 .LM +10 .RM -10 ^IS144^GThere was no July Multi-Tasker because I didn't get the articles before the deadline. Cutting over editorship is always hectic. My apologies. --- The Editor^IS204^G .LM -10 .RM +10 .SKIP Big news this month! I'm pleased to be able to greet all readers of the Multi-Tasker as the new editor. Dominic DiNollo has done yeoman work getting the MT out and I hope to be able to equal his record. (Really, I've always secretly wanted this job. Now I have a forum to make outrageous statements, rattle cages, kick the dog, and in general have a real good time.) I have a few items to discuss before we jump off into this issue. .TEST PAGE 5 .SKIP 2 .CENTER ----- Newsletter Subscription Problems ----- A common complaint is that you're having subscription troubles. Regrettably, there's not much ^IS144^GI^IS204^G can do to fix it. Many of us have had problems, myself included - but I'm not your best point of contact. Here's why: Newsletter editors don't have access to the subscription processing computer. Only DECUS HQ does. If you send me an inquiry, I pass it on to DECUS HQ. This means a delay of up to two weeks in getting your answer back. Your subscription problems should be referred to this person at DECUS HQ for swiftest resolution: .SKIP .NO FILL .NO JUSTIFY Diane Simoneau DECUS Order Processing DECUS U.S. Chapter (617) 480-3659 .JUSTIFY .FILL .TEST PAGE 5 .SKIP 2 .CENTER ----- The High Cost of the Newsletters ----- Oh, we all know that the subscription is expensive. It's not as bad as it was two years ago, but it's still expensive. I, too, wish we could return to the thrilling days of yesteryear when the Multi-Tasker was printed on cheap paper, stapled shut and mailed free. Fourth class. And arrived chewed by every dog in six states. Usually, when someone gripes the newsletters as too expensive, I tend to comment "TANSTAAFL". Somebody ^IS144^Gpays^IS204^G for newsletters. Many readers don't know it, but DECUS is into DEC for a significant amount of funding each year. That amount is in the bazillions of Japanese yen, humongous piles of Deutsch marks, stupendous amounts of French francs, and shiploads of Mexican pesos. Remember now that DECUS is non-commercial, so we can't accept advertising to bring the cost down. (I have reservations, since a competing users group does it nicely. However, this is how things ^IS144^Gare^IS204^G, and unless the bylaws are changed - by YOU, the members-at-large - that's the way they will ^IS144^Gstay^IS204^G.) Folks, regardless of how you feel about DECUS spending (and I have ^IS144^Gstrong^IS204^G reservations about some of it), is it right to ask DEC to foot the bill? Even if they did, the money still eventually comes out of our pockets. Look at the sub fee as opposed to dues in other organizations such as the ACM. It's quite a bit cheaper. So pay it yourself and deduct it as an employee business expense if your company won't buy it for you. For 35 bucks you're getting a lot to read, and it's not just about RSX. .TEST PAGE 5 .SKIP 2 .CENTER ----- Contributions to the MT ----- Your editor is pleased as can be that more contributions are coming in to the MT. I do note, however, there are still some of you - yes, I must say it - some of you who haven't yet written an article for the Multi-Tasker. So permit me to dispel a few common misconceptions about writing for this publication: .LM +5 .SKIP o##Nobody laughs at articles submitted to this newsletter. .SKIP o##No article submitted to this newsletter is so elementary that "everybody knows that". .SKIP o##No article submitted to this newsletter is too short to publish. .LM -5 .SKIP If you send me something for the Multi-Tasker, it ^IS144^Gwill^IS204^G be printed in the first available issue, or I will see that it gets to the editor of the appropriate newsletter. Often, however, it takes a little incentive to get the creative juices flowing, so here's a carrot for you: For each and every submission to the Multi-Tasker, we have, absolutely free and without charge, without let or hindrance, fee simple absolute, limited to stock on hand, a blue light special - .SKIP .CENTER >>> Genuine DEC paper tape diagnostics in original boxes! <<< .SKIP I will cheerfully send one to the enemy/VMS site/IBM user of your choice with an appropriate greeting. Just ask. But if that's not enough incentive ... Permit me to share a secret with you: There are few certified RSX wizards, and I'm not one of them. I can only talk about a few things without repeating myself. After that I start telling jokes. Anyone who has heard me tell jokes will tell you they are considerably worse than Vogon poetry. So avoid it; send me articles. Each and every article you send in is much appreciated by the poor, overworked, underpaid editorial staff. Now, smite the keyboards of your terminals! Show them slimy VAX LUsers what real timers do! And be assured that our cause is righteous, our hearts are pure, and that if you send me something, the next issue won't be filled with more ranting in this column. Thank you. .TEST PAGE 5 .SKIP 2 .CENTER ----- Submitting Articles to the Multi-Tasker ----- Please submit machine readable media. RX01/RX02 floppy or 800/1600 BPI 9 channel magtape are best. Any format is acceptable except ROLLIN, PRESRV or VMS backup. Can't read RX50 flops yet, but we're working on it. Submissions which aren't machine readable take longer to get into print. The editor is lazy and types mass quantities only once a month when progress reports are due. If you preformat a submission in RUNOFF format, please set left margin 10, right margin 75, and when changing margins use incremental changes rather than absolute. The editor will bless you for the consideration. Send all submissions to: .SKIP .NO FILL .NO JUSTIFY Bruce R. Mitchell Machine Intelligence and Industrial Magic PO Box 816 Byron, MN 55920 .JUSTIFY .FILL .TEST PAGE 5 .SKIP 2 .CENTER ----- And That's The Way Things Are ----- _... this month in Pool Lowbegone, where all the typing is strong, all the code is good-looking, and all the task priorities are above average. .COMMENT .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT The Bag of Tricks .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT .TEST PAGE 15 .SKIP 6 .CENTER ^&The Bag of Tricks: MACRO-11\& .SKIP .CENTER Denny Walthers .CENTER Kendall McGaw .CENTER PO Box 11887 .CENTER Santa Ana, CA 92711 .SKIP Yes, it's the return of the dreaded Bag of Tricks. Long thought deceased or successfully lost in deepest Siberia, this column on Macro-11 coding has once more, like a Mexican dinner, made itself suddenly known. In this segment we examine a code segment useful to driver writers. In the early stages of writing and debugging device drivers, it is not uncommon to find that buffer and parameter addressing is of more than passing interest. There's a problem with this, though. While the QIO packet passes relocated and absolute addresses to drivers, it's not always practical to put XDT mousetraps in a driver so that buffer addresses can be examined. This is especially true of drivers where responses must be made quickly after I/O transfer begins. This code, used in a driver test task, dumps addressing information necessary to debug a driver ^IS144^Gbefore^IS204^G the QIO hits the driver. This is particularly useful in finding problems such as 64K boundary crossings. This code is obscure in places, especially in computing addresses. A full explanation of Unibus and Q-bus physical addressing seems out of place here, so it's assumed that if you need to use this, you'll understand immediately how it works or take the time to do so. .SKIP 3 .NO FILL .NO JUSTIFY ; Macro to load a print QIO DPB and execute the DPB .MACRO PRINT STRING MOV _#STRING, TTYOUT+Q.IOPL MOV _#STRING'L, TTYOUT+Q.IOPL+2 DIR$ _#TTYOUT .ENDM ; Get partition parameters on self GETPPR: GPRT$ , GPRBUF ; Get information on self GETSLF: GTSK$ GTKBUF ; Print QIO Directive Parameter Block TTYOUT: QIOW$ IO.WVB, LUN1, EFN1,,,, <0, 0, 40> ; Messages MS00: .ASCII _\This task's running characteristics are:_\ MS00L = . - MS00 MS01: .ASCII _\ o Running in partition <_\ MS01A: .BLKB 6 .ASCII _\>_\ MS01L = . - MS01 MS02: .ASCII _\ o Which has a base address of _\ MS02A: .BLKB 6 .ASCII _\00_\ MS02L = . - MS02 MS03: .ASCII _\ o This task's base address is _\ MS03A: .BLKB 6 .ASCII _\00_\ MS03L = . - MS03 MS04: .ASCII _\ o The buffer's virtual base address is _\ MS04A: .BLKB 6 MS04L = . - MS04 MS05: .ASCII _\ o The buffer's physical base address is _\ MS05A: .BLKB 6 .ASCII _\00_\ MS05L = . - MS05 MS06: .ASCII _\ plus a 64-byte granularity offset of _\ MS06A: .BLKB 3 MS06L = . - MS06 MS07: .ASCII _\ o The buffer's physical address top 6 bits are _\ MS07A: .BLKB 6 MS07L = . - MS07 .EVEN ; Block Variables TSTBUF: .BLKB 128. ; Test buffer GPRBUF: .BLKW 3 ; Buffer for GPRT GTKBUF: .BLKW 16. ; Buffer for GTSK ; ... preceding code ... PRINT MS00 ; "-I-TPI, This task's ..." ; Get parameters of system partition task is running in DIR$ _#GETSLF ; Get task information MOV GTKBUF+G.TSPN, GETPPR+G.PRPN ; Load part'n name MOV GTKBUF+G.TSPN+2, GETPPR+G.PRPN+2 DIR$ _#GETPPR ; Get partition information ; Convert and print the task's system partition name MOV _#MS01A, R0 ; Load name field addr in R0 MOV GTKBUF+G.TSPN, R1 ; Get 1st 3 Rad50 characters CALL $C5TA ; Convert to ASCII MOV GTKBUF+G.TSPN+2, R1 ; Get 2nd 3 Rad50 characters CALL $C5TA ; Convert to ASCII PRINT MS01 ; "o Running in partition " ; Convert and print task's system partition base address MOV _#MS02A, R0 ; Load size field addr in R0 MOV GPRBUF+G.PRPB, R1 ; Load par'n base addr in R1 MOV PC, R2 ; No leading zero suppression CALL $CBOMG ; Convert word to octal mag PRINT MS02 ; "o Which has a base ..." ; Get partition parameters on the task subpartition CLR GETPPR+G.PRPN ; Clear the partition name CLR GETPPR+G.PRPN+2 DIR$ _#GETPPR ; Attempt to get info on it ; Convert and print the task subpartition base address MOV _#MS03A, R0 ; Load size field addr in R0 MOV GPRBUF+G.PRPB, R1 ; Load par'n base addr in R1 MOV PC, R2 ; No leading zero suppression CALL $CBOMG ; Convert word to octal mag PRINT MS03 ; "o This task's base ..." ; Convert and print test buffer address as a virtual offset MOV _#MS04A, R0 ; Load buffr field addr in R0 MOV _#TSTBUF, R1 ; Load buffer base addr in R1 MOV PC, R2 ; No leading zero suppression CALL $CBOMG ; Convert word to octal mag PRINT MS04 ; "o The buffer's ..." ; Convert and print test buffer addr - physical plus offset MOV _#TSTBUF, R5 ; Load buffer base addr in R1 MOV R5, R4 ; And copy it to R4 as well BIC _#77, R5 ; Change to APR granularity SUB R5, R4 ; Find offset from granular'y ASH _#-6, R5 ; Shift base down to 64-byte ADD GPRBUF+G.PRPB, R5 ; Add part'n base addr to it MOV _#MS05A, R0 ; Load base field addr in R0 MOV R5, R1 ; Load buffer base addr in R1 MOV PC, R2 ; No leading zero suppression CALL $CBOMG ; Convert word to octal mag PRINT MS05 ; "o The buffer's ..." MOV _#MS06A, R0 ; Load gran field addr in R0 MOV R4, R1 ; Load bufr base offset in R1 MOV PC, R2 ; No leading zero suppression CALL $CBTMG ; Convert byte to octal mag PRINT MS06 ; " plus a 64-byte ..." ; Print top 6 bits in binary for 22-bit Q-bus systems ASH _#-10., R5 ; Wipe low 10 bits phys addr MOV _#MS07A, R0 ; Load out field addr in R0 MOV R5, R1 ; Load upper 6 bits in R1 MOV _#31002, R2 ; 2, 6 wide, no 0 suppress CALL $CBTA ; Convert binary to ASCII PRINT MS07 ; "o The buffer's ..." ; ... code continues ... .JUSTIFY .FILL .COMMENT .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT Multiprocessor PDP-11 Survey .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT .TEST PAGE 12 .SKIP 6 .CENTER ^&Multiprocessor PDP-11 Survey\& .SKIP .CENTER Multiprocessor Working Group .SKIP A long time ago, at a Symposium far, far away, (the Spring 85 Symposium in New Orleans), the Multiprocessor Working Group took a survey of Symposium attendees regarding the desired features in a hypothetical PDP-11 multiprocessor. Through continual threats of calling up and telling jokes, the Multi-Tasker has obtained the results of that survey and is pleased to present them here. A total of 75 responses to the survey were obtained from a variety of sites. .NO AUTOPARAGRAPH .SKIP 2 1. What kind of processor do you use now? .SKIP Unibus:##33 .BREAK Q-bus:###15 .BREAK Both:####27 .SKIP 2 2. What is your operating system? .SKIP RSX:###72 .BREAK RSTS:###3 .BREAK RT:#####5 .SKIP 2 3. What is your main application? .SKIP Realtime:##52 .BREAK Business:##15 .BREAK Other:#####12 .SKIP 2 4. Would you be interested in a multiprocessor PDP-11? .SKIP Yes:##72 .BREAK No:####3 .SKIP 2 5. If so, why? .SKIP Speed:#############################68 .BREAK Reliability:#######################23 .BREAK Retain current hardware/software:##54 .BREAK Reduce DECnet loading on a host:###15 .BREAK Avoid purchase of a VAX:###########17 .SKIP 2 6. How much would you be willing to pay for such a product? .SKIP 10 - 20 K$:##20 .BREAK 20 - 30 K$:##12 .BREAK 30 - 40 K$:##10 .BREAK 40 - 50 K$:###9 .BREAK More:########11 .SKIP 2 7. What level of performance (per CPU) would you expect? .SKIP 11/23:###2 .BREAK 11/44:##23 .BREAK 11/70:##38 .BREAK More:###24 .SKIP 2 8. What type of bus structure would you want? .SKIP Unibus:##33 .BREAK Q-bus:###23 .BREAK Both:####22 .SKIP 2 9. Would you require individual buses for each CPU, or switched sharable buses like the DT07? .SKIP Individual buses:##16 .BREAK Switched buses:####23 .BREAK One bus only:######30 .SKIP 2 10. How many CPUs would you like to see in a multiprocessor? .SKIP 2:######14 .BREAK 3-4:####48 .BREAK 5-6:#####4 .BREAK 11-16:###5 .BREAK More:####2 .SKIP 2 11. How many would you buy at your given price/performance level? .SKIP 1:########3 .BREAK 2:#######14 .BREAK 3-5:#####15 .BREAK 5-10:#####5 .BREAK 10-20:####8 .BREAK 20-50:####6 .BREAK 50-100:###4 .BREAK More:#####2 .SKIP 2 12. Is a VAX a good solution for you? If not, why not? .SKIP The general response to this question was "No". .AUTOPARAGRAPH .SKIP 2 Some comments on the responses: The main interest in multiprocessors seems to be in higher throughput and retention of investments in working hardware and software. There are a significant number of users willing to pay premium prices for a multiprocessor CPU. A number of users would like to see both Unibus and Q-bus in the same CPU; this could be a large selling point. ^IS144^GBetween 500 and 1000 CPUs could be sold just to this sample group, disregarding the two "more" responses^IS204^G. The Multiprocessor Working Group believes that there are now some solid grounds to launch an appeal to DEC to build a multiprocessor PDP-11. The software is in place - all DEC has to do is build the hardware! If you want to see a multiprocessor PDP-11, listen carefully. The money at DEC isn't going into 11-series; it's going into those 32-bit things. This is the last big frontier for the 11s. The only way that DEC will build multiprocessor 11s is if they are beaten over the head repeatedly to bring their attention to the fact that users want them and will buy them. DEC's technical people would like to build it, so what is necessary now is to wake up ^IS144^Gtheir^IS204^G upper management to ^IS144^Gour^IS204^G wants. Tell your sales rep you want one - preferably, more than one. Demand to know why they aren't available. Write a letter to your local office sales manager. Copy it to Dick Day at Spit Brook. Send a copy to the top dog at DEC. Remember that the squeaking chip gets the solder (or something like that). .COMMENT .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT RSX PLAS Directives .COMMENT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .COMMENT .TEST PAGE 14 .SKIP 6 .CENTER ^&RSX PLAS Support\& .SKIP .CENTER RSX Implementation Group .CENTER Digital Equipment Corporation .CENTER Nashua, NH .SKIP (Editor's note: The following article is a collection of transparencies used during the session on RSX PLAS support at the Spring symposium in Dallas. While no supporting text is available, these figures are of such widespread use - and self-tutorial to boot - that the Multi-Tasker is presenting them as they stand. In some areas these figures may be difficult to read; this is because they are second generation copies of the transparencies and not reproduced from the originals.)