[cctalk] Re: CDC and IBM Schoonschip

2024-04-26 Thread Paul Koning via cctalk



> On Apr 25, 2024, at 4:27 PM, Paul Koning via cctalk  
> wrote:
> 
> Looking at the webpage for the CDC version, I noticed the comment about SB0 
> B0 vs. NO and the "lore" about the divide unit.  That issue is reported in 
> Thornton's book.  It wouldn't surprise me if it were a real issue on the 
> "preproduction serial number 3" system where that code was first created.  
> 
> It clearly was fixed soon after, though.  In the 6600 block diagrams manual 
> where the flow of the execution machinery is documented in detail, it's quite 
> clear that NO does not do any functional unit reservations (but SB0 does).  
> So at least starting with serial number 8, and possibly on earlier machines 
> after suitable FCOs were applied, NO is indeed the preferred pass 
> instruction.  On the other hand, 30 bit pass has by convention been done with 
> SB0 B0+0, suggesting it's faster to do that than to do two NO instructions.  
> I guess that's right in the absence of increment unit conflicts: 3 minor 
> cycles for the SB0 vs. 4 for the pair of NO instructions.
> 
>   paul
> 

Thinking about the NO instruction: it sure seems odd that it takes 3 cycles 
given that it doesn't reserve anything.  You'd think it would just take up an 
issue cycle but nothing else, i.e., 1 minor cycle total.  If that were the case 
then two NO instructions would be the correct way to do 30 bit padding.

Curious.  Something to look at some day.

paul



[cctalk] Re: CDC and IBM Schoonschip

2024-04-25 Thread Paul Koning via cctalk
Looking at the webpage for the CDC version, I noticed the comment about SB0 B0 
vs. NO and the "lore" about the divide unit.  That issue is reported in 
Thornton's book.  It wouldn't surprise me if it were a real issue on the 
"preproduction serial number 3" system where that code was first created.  

It clearly was fixed soon after, though.  In the 6600 block diagrams manual 
where the flow of the execution machinery is documented in detail, it's quite 
clear that NO does not do any functional unit reservations (but SB0 does).  So 
at least starting with serial number 8, and possibly on earlier machines after 
suitable FCOs were applied, NO is indeed the preferred pass instruction.  On 
the other hand, 30 bit pass has by convention been done with SB0 B0+0, 
suggesting it's faster to do that than to do two NO instructions.  I guess 
that's right in the absence of increment unit conflicts: 3 minor cycles for the 
SB0 vs. 4 for the pair of NO instructions.

paul



[cctalk] Re: CDC and IBM Schoonschip

2024-04-25 Thread James Liu via cctalk
On Thu, Apr 25, 2024 at 9:54 AM Paul Koning via cctalk
 wrote:
>
> Neat.  I vaguely remember that program name from long ago, though I haven't 
> used it.  (Part of why it's familiar is that it's a nice Dutch word hard to 
> pronounce for most others... :-) )

Done on purpose of course :-)

> I wonder how difficult it would be to port to a present-day compiler like 
> gfortran.

I think the code is mostly interesting for historical reasons.  It was
originally written mostly in COMPASS assembly with the Fortran
handling input/output sort of stuff and then translated (in a somewhat
unusual manner) into IBM BAL by Hugo Strubbe.  Later, when Tini
realized that the CDC mainframes were on their way out, he ported
Schoonschip to m68k assembly.  In fact, he wrote his own m68k
toolchain (ie assembler and linker) in order to do so!

Tini Veltman is probably best known for his work on dimensional
regularization and the Standard Model which led to his Nobel Prize.
However, he also had a computing side to him.  Of course, he had his
own way of doing things .. like not trusting any high level languages.
He was apparently quite proud of optimizing his code for the CDC 6600.
But tying Schoonschip to the bare metal is probably one of the main
reasons it hasn't survived beyond an important historical milestone.

- jim

-- 
James T. Liu, Professor of Physics
3409 Randall Laboratory, 450 Church Street, Ann Arbor, MI 48109-1040
Tel: 734 763-4314Fax: 734 763-2213Email: jim...@umich.edu


[cctalk] Re: CDC and IBM Schoonschip

2024-04-25 Thread Paul Koning via cctalk


> On Apr 25, 2024, at 9:43 AM, James Liu via cctalk  
> wrote:
> 
> Hi,
> 
> As some of you may recall, a few years ago I asked for assistance
> reading a 9 track tape containing IBM S/360 source for Martinus
> Veltman's computer algebra program, Schoonschip
> (https://en.wikipedia.org/wiki/Schoonschip).  With Chuck's assistance,
> we recovered all the code from the tape.  After working with the
> principals involved, I am pleased to announce that the source code is
> now publicly available at:
>https://vsys.physics.lsa.umich.edu/

Neat.  I vaguely remember that program name from long ago, though I haven't 
used it.  (Part of why it's familiar is that it's a nice Dutch word hard to 
pronounce for most others... :-) )

I wonder how difficult it would be to port to a present-day compiler like 
gfortran.

paul