🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #21593

Re: DMA on RISC-based systems

#21593
From: Marty Itzkowitz
Date: Mon, 05 Jun 1989 22:24
59 lines
3865 bytes
The 6600 and 7600 differed in a number of respects, one of which was
the PPU architecture.  On the 6600 all of the PPs were equivalent,
although the OS ( at least the version developed at LBL) treated
them differently.  Every PPU could access every channel, and could
read and write anywhere in central memory, and could exchange-jump
(context switch) the CPU.  On later, 20 PPU versions, each
set of 10 PPUs shared a set of channels, and I don't believe
one could talk to the other set's channels.  The CPU on the 6600
could NOT do its own context switches, and system calls were handled
by placing the request in a known location relative
to the process (job, task) address space (word 1, actually).
The monitor PPU, so designated by software, checked these words,
and then assigned one of the other PPUs to process a request.
Later versions of the machine did have a central processor exchange
jump instruction.  A two CRT display, with refresh done entirely
in SW, was managed by one of the PPUs.

On the 7600, there were several types of PPUs.  PPU zero,
also known as the MCU, or maintenance and control unit, could
read and write anywhere in central (small core) memory, and could
send stuff on channels to the other PPUs.  It could also do
(force) an exchange jump in the CPU.  The other PPUs came in
either high or low-speed versions.  The high-speed ones worked in pairs,
and shared a common external channel to a disk, for example,
and a single channel to central memory.  Each pair's channel went to
a specific hard-wired buffer in cnetral memory, and generated a CPU
interrupt (exchange jump) whenever the buffer was half full/empty,
or when it executed a specific instruction to do so.  The CPU
managed copying the data out of the hard-wired buffer,m typically
into large core memory, since that was the fastest path, and telling
the PPUs when it was OK to send more data.  The CPU could reset its
buffer to a pair of PPUs and generate an interrupt to them.
A high speed buffer was 400 (octal) words, and a disk sector was
1000 (octal) words.  The CPU got 4 interrupts for each disk sector.
High-speed PPUs also had channels connecting the pair, so that, with
much cleverness, one could actually stream data at close to 40 Mb/s
from disk, with one PPU reading the disk, and the other dumping a
previously read sector to CM.  On the 819 disks, one had about
8 microseconds between sectors to avoid missing revs, requiring
a hand-off between the PPUs of the pair, and the CPU.  On LBL's
system, we could do it in time.

Slow PPUs, such as needed for a hyperchannel, worked as individuals,
and had a half-size buffer, again with handshaking between PPU and
CPU at the half-way mark.  The CPU on the 7600 did have an exchange
jump instruction.  Non-privleged tasks could only exchnage to an
address given in its XJ package (some 16 60-bit words);  on error,
the exchange went to a second address.  (Normal Exch. Addr and
Error Exch. Addr, respectively).  Privileged tasks, i.e., the OS,
could exchange to anywhere.  A context switch took 28 clocks
of 27.5 nanosec. each, counting from the time the XJ instruction
was the next to issue to the time the first instruction from the
new context could issue.  For scalar arithmetic, the 7600 was
the fastest machine in the world until the Cray-2.


	Marty Itzkowitz,
		Sun Microsystems
Technical Details
Message-ID: <108123@sun.Eng.Sun.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!oliveb!sun!martyi
References: <46500067@uxe.cso.uiuc.edu> <28200325@mcdurb> <2819@scolex.sco.COM> <1443@dell.dell.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!oliveb!sun!martyi
From: martyi@sun.Eng.Sun.COM (Marty Itzkowitz)
Newsgroups: comp.arch
Subject: Re: DMA on RISC-based systems
Summary: CDC 6600 and 7600 characteristics
Message-ID: <108123@sun.Eng.Sun.COM>
Date: 5 Jun 89 22:24:03 GMT
References: <46500067@uxe.cso.uiuc.edu> <28200325@mcdurb> <2819@scolex.sco.COM> <1443@dell.dell.com>
Organization: Sun Microsystems, Inc. - Mtn View, CA
Lines: 59