[ih] NCP and TCP implementations

Louis Mamakos louie at transsys.com
Mon Mar 16 19:07:04 PDT 2020


For what it's worth, while I was at the University of Maryland, we got 
one
of the later batches of C/30 IMPs with X.25 host interfaces as part of 
the
NSFNET interconnection project.  It sure looked "new" when it arrived, 
vs.
having been shipped from some other site, so I presume it a relatively
recent version.

Now, I know that there were other IMP networks besides MILNET and 
ARPANET
so maybe other flavors existed in those.  However, I believe that the
NSFNET interconnection project with the ARPANET was probably near the 
end
of any ARPANET expansion.

Then there were the Butterfly gateways, an entirely different beast and 
not
based on C/70 from what I remember.  I think they might have been 68K
multiprocessor systems?

Louis Mamakos


On 16 Mar 2020, at 13:43, Alex McKenzie via Internet-history wrote:

>  Bernie et al,
> I am quite sure that the C/70 never ran the IMP code.
> The MBB was probably funded by ARPA and its development was (I think) 
> recorded in BBN QTRs to ARPA and definitely in other BBN Technical 
> Reports.  But I think the C/70 was a BBN internal (self funded) 
> project and (I think) was not in QTRs.  I do think there was at least 
> one technical paper about the C/70 given at a conference but I can't 
> find any reference, so perhaps not.
> Alex
>
>     On Monday, March 16, 2020, 1:28:21 PM EDT, Bernie Cosell via 
> Internet-history <internet-history at elists.isoc.org> wrote:
>
>  On 16 Mar 2020 at 12:31, Noel Chiappa via Internet-history wrote:
>
>> Anyway, on to what I wanted to comment on:
>>
>>
>>     > From: Geoff Goodfellow
>>
>>     > for some reason when the C/70's came along, TIP's were 
>> renamed to
>> TAC's
>>
>> IIRC, the C/70's were timesharing machines (running Unix, IITC); the
>> C/
>> machines which were packet switches (IMPs), terminal concentators 
>> (TACs)
>> etc
>> were C/30's. I note from the host tables that the TIP's all seem to 
>> have
>> been
>> H316's, and all TAC's were C/30's.
>
> You're correct.  The TIP was a 316 IMP with the terminal handling 
> code in the
> upper 16K of memory.  The C/30 was an implementation of the 316 on 
> the MBB
> [Microprogrammable Building Block] that BBN had developed.  I have no 
> idea
> about why it was "/30".  The MBB was "microprogrammable" and so we 
> built the
> C/70 -- it was called the "C machine" and the idea what that "C" was 
> its assembly
> language.  I have no idea how that project got started but three of 
> us were
> working on it: Al Nemeth was hacking the Unix kernel,  Carl Howe did 
> the
> microcode and I did a crosscompiler from TENEX to the MBB.
>
> I think it was tagged the "C/70" because it was intended to run Unix 
> as well as an
> 11/70 [in practice it worked out to be MUCH faster].  the MBB had 20 
> bit words
> and Al and Carl were designing a hand-tuned, irregular "instruction 
> set".  Such
> things as a built-in indirect index: he figured out the optimal size 
> of the offset
> field so that referencing part of a 'struct' through a pointer could 
> be done in a
> single instruction not using a register.
>
> There was *NO* regularity to the "instruction set" -- each instruction 
> carved up
> the 20 available bits as seemed most efficient.  We added new/strange
> instructions as we saw fit [e.g.,: Al noticed that almost all 
> subroutine calls in the
> kernel were either zero or one argument calls, and so we had two call
> instructions: the normal one [push push push <call>] and one that 
> *always*
> pushed ONE arg and called in a single instruction.  I had the fun 
> task of putting
> together a C cross compiler running on a 36 bit machine for a 
> 20-bit-word
> machine to handle all that irregularity.
>
> We eventually got the kernel working [with the underlying "instruction 
> set"
> constantly evolving as Al looked at the code the compiler was 
> producing and
> figuring ways to tweak things to make it faster.  Carl and I mostly 
> kept up.  The
> big day [for me, at least] was when I ported the C compiler I"d been 
> working on
> to run natively on the MBB [which involved taking out the 36-bit-ness 
> and
> replacing it with 20-bit-ness].  The Unix kernel compiled on the 
> MBB  and was
> bit-for-bit the same as the image produced on TENEX and we cut the 
> strings to
> TENEX and it was now running solo.  That was pretty much when i left 
> the
> project:  I have no idea [at least no memory] what happened after 
> that [some of
> you might have guessed that I was a bit of a vagabond 
> jack-of-all-trades at BBN: I
> worked on one project or another, got it working and "released" and 
> then I went
> onto the next thing].  I don't remember what *we* called it, but 
> shortly after we
> got it all working it went over to BBNCC and was marketed as the 
> "C/70"
>
> I don't remember its ever running the IMP code.  Alex/Dave: was any 
> of the
> development of the C70 written up?  I wasn't much on writing reports 
> :o)
>
>   /Bernie\
>
>
>
>             Bernie Cosell
>       bernie at fantasyfarm.com
> -- Too many people; too few sheep --
>  
>
>
>
> -- 
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history
>
> -- 
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history



More information about the Internet-history mailing list