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 <v62fmt$nao$1@gal.iecc.com>
Deutsch   English   Français   Italiano  
<v62fmt$nao$1@gal.iecc.com>

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

Path: ...!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: John Levine <johnl@taugh.com>
Newsgroups: comp.arch
Subject: Re: Architectural implications of locate mode I/O and channels
Date: Wed, 3 Jul 2024 03:14:37 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <v62fmt$nao$1@gal.iecc.com>
References: <v61jeh$k6d$1@gal.iecc.com> <v61oc8$1pf3p$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 3 Jul 2024 03:14:37 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970";
	logging-data="23896"; mail-complaints-to="abuse@iecc.com"
In-Reply-To: <v61jeh$k6d$1@gal.iecc.com> <v61oc8$1pf3p$1@dont-email.me>
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: johnl@iecc.com (John Levine)
Bytes: 3198
Lines: 44

According to Thomas Koenig  <tkoenig@netcologne.de>:
>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?

Something that does the I/O sufficiently independently that the CPU
can do something else at the same time. The first channel is generally
agreed to be the 766 Data Synchronizer on the IBM 709. 

Before there were channels, I/O worked a word at a time and a CPU had
to issue I/O instructions to read or write those words under tight
time constraints so it was in a busy loop and couldn't do anything
else. The channel had a direct path to memory separate from the CPU's
and enough logic to do an entire operation like read a tape block or
print a line on the printer without the CPU's help. This may seem
obvious now but it was a big advance.

There's been lots of variations on the channel theme. I would agree
that the CDC peripheral processors served as channels. On the smallest
360s, the channel was implemented in CPU microcode. When running fast
devices like disks the channel used so much of the CPU that the
program stalled, but it was worth it to be compatible with faster
machines. Even then, disk seeks or tape rewinds or reading cards or
printing on printers let the CPU do useful work while the channel and
device did its thing.

IBM patented the 709's channel: US Patent 3,812,475 filed in 1957 but
not granted until 1974. The patent is 488 pages long including 409
pages of figures, 130 columns of narrative text, and 91 claims.

https://patents.google.com/patent/US3812475A/en

-- 
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly