Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v642g5$29pie$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v642g5$29pie$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "Stephen Fuld" <SFuld@alumni.cmu.edu.invalid>
Newsgroups: comp.arch
Subject: Re: Architectural implications of locate mode I/O
Date: Wed, 3 Jul 2024 17:41:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <v642g5$29pie$1@dont-email.me>
References: <v61jeh$k6d$1@gal.iecc.com> <v61oc8$1pf3p$1@dont-email.me> <HYZgO.719$xA%e.597@fx17.iad> <8bfe4d34bae396114050ad1000f4f31c@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 03 Jul 2024 19:41:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b5497bf9fd0a6643e02995398e6baa21";
	logging-data="2418254"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18vUkY6bUg6QjfRaV9zE8YiiJpYnXudPSc="
User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell)
Cancel-Lock: sha1:G11RLdLYB+g82sani++L1PP4Upo=
Bytes: 3473

MitchAlsup1 wrote:

> Scott Lurndal wrote:
> 
> >Thomas Koenig <tkoenig@netcologne.de> writes:
> >>John Levine <johnl@taugh.com> schrieb:
> > > 
> > > > The 709 introduced data channels in 1958 which allowed the CPU
> > > > to do other stuff while the channel did the I/O. Wikipedia says
> > > > the first I/O interrupt was on the NBS DYSEAC in 1954 but it's
> > > > hard to see how an I/O interrupt would be of much use before
> > > > channels. Once you had a channel, I/O buffering made sense,
> > > > have the channel read or write one area while you're working on
> > > > the other.
> > > 
> > > Not sure what you mean by "channel" in this context - hardware
> > > channels like the /360 had, or any asynchronous I/O in general,
> > > even without hardware support?
> > > 
> > > Sending the next character to a teletype after the user program
> > > fills a buffer and waiting for the next interrupt to tell you it's
> > > ready makes sense, without a busy loop, makes sense anyway.
> > 
> > Although in the mainframe era, most terminals were block-mode
> > rather than character-by-character, which reduced the interrupt
> > frequency on the host (often via a front-end data communications
> > processor) at the expense of more logic in the terminal device.
> 
> 
> Once you recognize that I/O is eating up your precious CPU, and you
> get to the point you are willing to expend another fixed programmed
> device to make the I/O burden manageable, then you basically have
> CDC 6600 Peripheral Processors, programmed in code or microcode.


There is a lot of design space between having the CPU do the I/O itself
and having a separate programmable processor.  Since the minimum
requirements are a DMA, a way to request memory access, and a little
logic to differentiate peripheral commands and status from normal data,
and a way to indicate I/O completion (e.g. generate an interrupt), you
could do all this in a fairly small amount of dedicated hardware.

While the PPs were an elegant solution, they were more than what was
required. Similarly, the IBM S/360 channels were way overkill for
pretty much all I/O except for using CKD disks.  In the day, different
mainframes used various implementations of this idea to do I/O.



-- 
 - Stephen Fuld 
(e-mail address disguised to prevent spam)