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