Deutsch English Français Italiano |
<v10brl$26v3$1@gal.iecc.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail From: John Levine <johnl@taugh.com> Newsgroups: comp.arch Subject: Re: index architecture, The Design of Design Date: Thu, 2 May 2024 15:35:17 -0000 (UTC) Organization: Taughannock Networks Message-ID: <v10brl$26v3$1@gal.iecc.com> References: <v03uh5$gbd5$1@dont-email.me> <86r0emt69e.fsf@linuxsc.com> <v0tuqt$613$2@gal.iecc.com> <dUNYN.2256$Wnq3.1461@fx37.iad> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Thu, 2 May 2024 15:35:17 -0000 (UTC) Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="72675"; mail-complaints-to="abuse@iecc.com" In-Reply-To: <v03uh5$gbd5$1@dont-email.me> <86r0emt69e.fsf@linuxsc.com> <v0tuqt$613$2@gal.iecc.com> <dUNYN.2256$Wnq3.1461@fx37.iad> Cleverness: some X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: johnl@iecc.com (John Levine) Bytes: 2926 Lines: 40 According to EricP <ThatWouldBeTelling@thevillage.com>: >John Levine wrote: >>> Some earlier IBM >>> model (don't remember which one) had the property that instructions >>> were somewhat like microcode, and some undocumented combinations of >>> bits would do useful things. >> >> I wonder if that was the way that the 704 OR'ed the index registers. >Having three 1-bit register select fields saves a decoder for >index register specifier. > >This feature looks like it was was just a consequence of using >a wired-OR bus and skipping the decoder on the index field. >For completeness they documented what happens if one enables multiple >index registers at once - that it OR's (as opposed to burn out). That's what I was thinking, but as I said, I have never found anything to say whether it was deliberate ("it's free, maybe someone will find a way to use it") or not ("hey, boss, I found this when writing the diagnostics.") For that matter, the 704 was mostly sign-magnitude, but indexing did a two's complement subtract of the index register(s) from the address in the instruction. I've never found an explanation of why they subtracted or why it was a two's comp subtraction. Again, there are plenty of guesses like they thought it would let you use the index register both as an index and a counter down to zero, but that's just a guess, nothing documented. In fact, Fortran stored its arrays backward to avoid having to negate values before using them as an index, which suggests that whatever they expected didn't happen. Since it was 70 years ago, everyone involved has since died so we're stuck with the sparse material they left. -- 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