Talk:IBM 7090

Rumors
The 7090 was the first to bear the new 4-digit IBM model numbers. Rumor has it that originally, this transistor version of the vacuum-tubes 709 was to be named 709T, which was pronounced "seven-oh-nine-tee", and thus gave someone the idea to call it seven-oh-ninety, i.e. 7090.

SABER the first beta edition of AA Sabre (computer system) finished in 03/1959 working in a IBM 7090 System and in a final edition in 1962 SABRE on wikipedia spanish--Mnts 00:47, 10 Feb 2005 (UTC)

I believe that rumor to be true. One of my jobs in 1959, at IBM Service Bureau, was to upgrade the IBM 705 program that held the equipment inventory, from 3-digit fields, plus a one-letter type designator (as "T"), to 4-digit fields, and I believe a two-or-three character type designator. That meant we had to invade the card-sequence number field (cols. 73-80), making reversal to a card-based inventory risky. But we and management were brave. Gio @ stanford. —Preceding unsigned comment added by 171.64.75.20 (talk) 22:49, 14 December 2007 (UTC)

Stanford University 7090
The memory system of the 7090 had a local control which included a storage clear button. The machine at Pine Hall was placed so that the memory was towards the rear but the computer operator could be glimpsed by a double reflection. When a certain unpopular programmer had dedicated machine time, one of his enemies would sometimes wait until he heard the card to tape operation finish. The core was then placed in local mode and cleared while the CPU was stalled waiting for the input tape to rewind. If the programmer/operator became suspicious his approach could be detected by watching the reflection in the glass panel which covered the core stack.Rdmoore6 (talk) 22:05, 18 December 2008 (UTC)

Goddard Space Flight Center, NASA
IBM had the contract to operate the 7094s at Goddard during the Apollo Missions thru Apollo 12. One of the most frequent programs ran on these computers were differential correction. Each run took about 2.5 hours to run, which was great for a computer operator going to college. The console of the 7094 could be used to spread out books while doing homework during a differential correction run. —Preceding unsigned comment added by Afoster5728 (talk • contribs) 14:01, 28 February 2009 (UTC)

Wright-Patterson AFB system
The research labs at Wright-Patterson AFB had a pair of systems, one 7090/7040 lashup, and one 7074/7044 lashup, in the 60s. Played on them quite a bit as a co-op back then.

In the early 70s I worked with a guy at RCA Camden who had been involved with the initial programming the BMEWS computers. Apparently the software was stored in E-core wire ROMs rather than being loaded from media, making debugging and bug fixing a royal PITA. drh 16:17, 10 August 2007 (UTC)

"Daisy" anachronism ??
Our "Notable applications" section says "Daisy" was first perform on a 7094 in 1961, but the earlier section says the 7094 was first installed in September 1962. A YouTube video here also claims a 7094 did it, in 1961. I presume a 7090 might have done it, as they were essentially compatible, assuming speed was not a problem. But can anyone resolve the issue? We could remove the inconsistency from the article by changing 7094 in the daisy item to "7090-series", but that still leaves the possibility that the Sept 1962 date is incorrect for the 7094. Wwheaton (talk) 01:30, 8 September 2010 (UTC)
 * I see now that our IBM 704 article claims the song was done on a 704, not a 7094, in 1962 at Bell Labs, based on this 1997 www source at Bell Labs. Our 7090 article here has a www external link to Decca Records DL 9103 here, but it claims it was done at Bell Labs in 1960, on a 7090. Wwheaton (talk) 01:51, 8 September 2010 (UTC)
 * I see 1961 for James Tenny in the Decca page, but I don't see a date for Decca recording.
 * I see conflicting dates for the 704; https://web.archive.org/web/20140401034716/http://www.bell-labs.com/news/1997/march/5/2.html claims 1962 but https://www.loc.gov/item/prn-10-116/national-recording-registry-adds-25/2010-06-23/ claims 1961. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:45, 22 March 2021 (UTC)

Re: Notable applications: JPL
I worked in SFOF at JPL on Mariner 4 in both "bus" operations and computing, and I'm pretty sure the 7094's on the 2nd floor of SFOF were twin 7094-7044 DCS (Direct Coupled System), not what is stated in IBM_7090. (I personally didn't know of any other 7094's at JPL.) John Navas (talk) 22:45, 22 February 2011 (UTC)

Pronounciation
There is a request for citation regarding the name.

I have always heard it pronounced "seventy-ninety" despite the origins of the number as the 709-T (transistorized). I have no citations, though.

In most "citation requests" I see, they seem obvious enough to me, but in this case I would really like a real citation. Gah4 (talk) 18:30, 8 August 2013 (UTC)


 * My recollection is the same as yours, but here is a link to a much younger Fernando J. Corbató in 1960 explaining timesharing and he pronounces it "seven-oh-ninety," (at 8:12) as does the announcer in the beginning. I'll try to work that in.--agr (talk) 20:23, 8 August 2013 (UTC)


 * I did some Googling in hope of finding something concerning the naming and found this entire article as-is here and was wondering if it was copied from there or is it vice-versa?--Bolbololo (talk) 15:14, 12 May 2016 (UTC)


 * I was about to comment on this, when I see that I did five years ago. The article seems to indicate that it is always pronounced as seven-oh-ninth, and it is likely that some people did. The ones I know called it seventy-ninety, and likely some said all four digits.

I used a 7094 at the University of Maryland and a 7090 at a Navy research center, and they were pronounced "seventy-ninety-four" and "seventy-ninety." I've heard the "709-T" story orally, but it is not mentioned in any written IBM history that I've read, so we really do need a source for this. Rochkind (talk) 16:02, 4 July 2019 (UTC)

Alphanumeric characters are six-bit BCD, packed six to a word.
The article says Alphanumeric characters are six-bit BCD, packed six to a word.. As well as I know, for the 7090 and many others of the time, the character/word format is all software. While I suspect that once a format is selected, it is popular enough to indicate here, I wonder in general. Gah4 (talk) 00:09, 28 August 2018 (UTC)


 * Not entirely defined by software. This was the time of 7-track tape drives (really six data bits + parity), printers with 48-character sets, and keypunches and card readers that similarly knew nothing of lower case. The 7090 and similar machines were not often connected to printers or card readers, rather a machine like a 1401 would copy cards to tape and print records from tape to printer so the 7090 was not slowed down by dealing with such menial devices (multitasking "spooling" programs being in their infancy). But in any case it would have been hard to get anything but six-bit characters in IBM's "BCD" coding into or out of a 7090... hard, at least, with any device IBM could have sold you at the time.


 * Heck, even ASCII with its 94 printing characters didn't come along until 1963. So although programs running on the 7090 could certainly have dealt with four eight-bit characters in a word (and four bits left over), there really wasn't any way to use that capability, and people stuck with the six-bit BCD codes displayed in the IBM manuals - codes that they would see in data read from the card reader and which, when sent to a 1403 printer, would generate the expected text. Jeh (talk) 06:07, 28 August 2018 (UTC)


 * I was thinking about the way the 704 reads cards, row by row into two 36 bit words. I suppose I am not sure the 7090 does that.  I hadn't thought about tape.  Are there any instruction for processing specifically six bit data? Gah4 (talk) 12:46, 28 August 2018 (UTC)
 * The 7090 both reads and punches row binary. All of the unit record equipment is exrutiatingly slow, which is why you were more likely to see spooling on a 7040 or 7044 than on a 7090 or 7094.
 * The convert instructions are designed around six bit bytes. I can't think of any others. Shmuel (Seymour J.) Metz Username:Chatul (talk) 07:04, 20 July 2020 (UTC)
 * The IBM 716 printer, based on the IBM 407 accounting machine, is also also row binary. The data channel sent 24 words to the printer, two words at a time, synchronized with the printer's mechanical cycle, which corresponds to reading each row on a punch card. The 72 bits appear at "calc exit" hubs on the printer's control panel, where they can be wired to individual print wheels. The 7090 in effect simulates what a 407 sees when it is reading a card. See p.102ff of the 7090 manual in ref 2. The card reader, punch and printer were mostly used as console devices, with production I/O done with magnetic tape. The 7040 option came later, before that IBM 1401's were commonly used. While none of the basic peripherals were BCD aware, later peripheral devices were. The same manual describes BCD conversion options for magnetic tape, disk, and Teletype. Five-level TTY code was automatically converted to BCD, for example. (p.82ff). Interestingly, I could not find a BCD code chart in the manual.--agr (talk) 18:33, 21 July 2020 (UTC)
 * I was going to ask which manual, but the BCD code chart is not in eiher the 7090 or the 7094 manual. BCD translation is only available for devices that connect to the 7909 channel, e.g., 7340 Hypertape.
 * The reason for using the 7090 unit record equipment for console I/O is that it wasn't good for much else. You couldn't even print a line longer than 72 characters without running the already slow printer at half speed. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:30, 21 July 2020 (UTC)
 * There is a code listed in BCD (character encoding) which may or may not be the one. Note that until EBCDIC, card punch codes were not unique.  Specifically, codes were reused between commercial and scientific machines. Since the code listed for the 704 (for which the first Fortran compiler was written) doesn't have an = sign, that doesn't seem likely to be the one.  There is the additional complication that you can't write the character with all zero bits on even parity NRZI tape. The tape code is different. From the 704 Fortran manual, there are two minus signs. The one used in Fortran source input is different from the one used in program output. Data input can use either. Since the conversion is done in software, there isn't necessarily a fixed code for a given machine. Gah4 (talk) 22:16, 21 July 2020 (UTC)
 * Thanks. There is a table in the 704 manual. I added the Fortran character set to the BCD article.--agr (talk)
 * I was going to ask which manual, but the BCD code chart is not in eiher the 7090 or the 7094 manual. BCD translation is only available for devices that connect to the 7909 channel, e.g., 7340 Hypertape.
 * The reason for using the 7090 unit record equipment for console I/O is that it wasn't good for much else. You couldn't even print a line longer than 72 characters without running the already slow printer at half speed. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:30, 21 July 2020 (UTC)
 * There is a code listed in BCD (character encoding) which may or may not be the one. Note that until EBCDIC, card punch codes were not unique.  Specifically, codes were reused between commercial and scientific machines. Since the code listed for the 704 (for which the first Fortran compiler was written) doesn't have an = sign, that doesn't seem likely to be the one.  There is the additional complication that you can't write the character with all zero bits on even parity NRZI tape. The tape code is different. From the 704 Fortran manual, there are two minus signs. The one used in Fortran source input is different from the one used in program output. Data input can use either. Since the conversion is done in software, there isn't necessarily a fixed code for a given machine. Gah4 (talk) 22:16, 21 July 2020 (UTC)
 * Thanks. There is a table in the 704 manual. I added the Fortran character set to the BCD article.--agr (talk)
 * There is a code listed in BCD (character encoding) which may or may not be the one. Note that until EBCDIC, card punch codes were not unique.  Specifically, codes were reused between commercial and scientific machines. Since the code listed for the 704 (for which the first Fortran compiler was written) doesn't have an = sign, that doesn't seem likely to be the one.  There is the additional complication that you can't write the character with all zero bits on even parity NRZI tape. The tape code is different. From the 704 Fortran manual, there are two minus signs. The one used in Fortran source input is different from the one used in program output. Data input can use either. Since the conversion is done in software, there isn't necessarily a fixed code for a given machine. Gah4 (talk) 22:16, 21 July 2020 (UTC)
 * Thanks. There is a table in the 704 manual. I added the Fortran character set to the BCD article.--agr (talk)

singular
In an edit summary, someone wrote: The noun IBM 7090 is singular as is 709, 360, 370, 3033, 3090, 4341, z/90 et al. Specifically, the terms refer to the general architecture of the system, and not any specific implementation. That is also why the terms are used in the present tense, unless they are used in the context of an event. There could be some cases referring to multiple specific machines that would be plural. Gah4 (talk) 01:35, 3 October 2018 (UTC)

end
There are indications of the first installations of machines, but not for the last. I wonder, when did IBM stop selling and/or leasing them? Should this also be in the article? Gah4 (talk) 20:35, 30 March 2019 (UTC)
 * IBM withdrew it on July 17, 1969. I've added that date to the intro.--agr (talk) 13:12, 24 July 2020 (UTC)

Multiple tag mode
The article states "Minor changes in instruction formats, particularly the way the additional index registers are addressed, sometimes caused problems." However, the power-on mode of the 7094 was multiple tag mode, which was compatible with the 7090. To what does that sentence refer? Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:27, 28 May 2020 (UTC)
 * 7090s were rarely turned off, and would typically run multiple jobs sequentially, so programmers could not rely on the power up state. I presume the early operating systems, like IBSYS, gave control to programs in a standard state, but I could not find a mention of this in the IBSYS manual and not all installations used IBSYS.--agr (talk) 16:15, 24 July 2020 (UTC)
 * I remember stories about what some government agencies had to do between runs, I believe for OS/360 days. For way too long, OS did not clear storage between jobs. Mostly they were used by people working together, such as the same company or school, so there weren't big secrets. If by standard state you mean zeroed memory, as well as I know, they didn't.  I remember OS/360 days, running compile and link as separate steps without the appropriate COND=, such that the link step ran after the compile failed, with the SYSLIN never written. The linker got all the garbage left on the disk, and tried to process it, along with lots of messages. Even if they were turned off, magnetic core memory keeps the data.  One IBM machine before S/360, if you use an execute instruction on itself, the loop is so tight that power cycle won't break it. That is the reason for the S/360 execute exception. As for non-memory state, there were questions not many years ago about the floating point mode bits, and some OS not setting them in a standard state, and not all programs initializing them. Gah4 (talk) 18:09, 24 July 2020 (UTC)
 * I remember stories about what some government agencies had to do between runs, I believe for OS/360 days. For way too long, OS did not clear storage between jobs. Mostly they were used by people working together, such as the same company or school, so there weren't big secrets. If by standard state you mean zeroed memory, as well as I know, they didn't.  I remember OS/360 days, running compile and link as separate steps without the appropriate COND=, such that the link step ran after the compile failed, with the SYSLIN never written. The linker got all the garbage left on the disk, and tried to process it, along with lots of messages. Even if they were turned off, magnetic core memory keeps the data.  One IBM machine before S/360, if you use an execute instruction on itself, the loop is so tight that power cycle won't break it. That is the reason for the S/360 execute exception. As for non-memory state, there were questions not many years ago about the floating point mode bits, and some OS not setting them in a standard state, and not all programs initializing them. Gah4 (talk) 18:09, 24 July 2020 (UTC)
 * I remember stories about what some government agencies had to do between runs, I believe for OS/360 days. For way too long, OS did not clear storage between jobs. Mostly they were used by people working together, such as the same company or school, so there weren't big secrets. If by standard state you mean zeroed memory, as well as I know, they didn't.  I remember OS/360 days, running compile and link as separate steps without the appropriate COND=, such that the link step ran after the compile failed, with the SYSLIN never written. The linker got all the garbage left on the disk, and tried to process it, along with lots of messages. Even if they were turned off, magnetic core memory keeps the data.  One IBM machine before S/360, if you use an execute instruction on itself, the loop is so tight that power cycle won't break it. That is the reason for the S/360 execute exception. As for non-memory state, there were questions not many years ago about the floating point mode bits, and some OS not setting them in a standard state, and not all programs initializing them. Gah4 (talk) 18:09, 24 July 2020 (UTC)


 * OS/360 and successors did not clear new DASD datasets until IBM added PARMLIB options to DFSMSdfp to erase on delete and to write an EOF on allocate.


 * I assume that by standard state, agr means multiple tag mode.


 * OS/360 only cleared storage at IPL time, not between jobs. That changed in OS/VS. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:17, 24 July 2020 (UTC)


 * Yes, I was just talking about multiple tag mode. I know there were procedures back then for running classified programs, no doubt including sanitizing the machine afterwards. Power off after a classified run would not have helped much with core memory, though some security types may have required it anyway. I do remember working on a CDC-6600 at the Air Force Cambridge Research Labs at Hanscom Field. Their data center had a big glass window from the corridor and they had a cover to put over the console when classified runs were made, so nothing could be learned from watching the blinking lights or console CRTs. The question of secrets being leaked from un-erased memory is an even bigger issue today, see e.g. .--agr (talk) 20:20, 24 July 2020 (UTC)


 * Leakage of residual data in page files is an issue for the OS to deal with, page fixing everything may not be allowed and even if it is allowed will cause considerable collateral damage. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:39, 24 July 2020 (UTC)


 * I remember that you could chain Executes on a 7090, but I looked for it in the manual and couldn't find any reference to examining the Flag bits in the indirect control word. Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:17, 24 July 2020 (UTC)
 * A bit of trivia regarding Multiple Tag Mode: If a subroutine that was called wanted to use more than three index registers, or if it wanted to take advantage of the contents of two or three index registers being ORed together when in Multiple Tag Mode, the subroutine would need to know the mode the machine was in and if it changed the mode it had to restore it. There was no instruction to test whether a 7094 was in MTM or not. So a test had to be done in software through a sequence of instructions that saved registers 1, 2, and 4 into memory and then saved registers 3, 5, 6 and 7. If a 7094 was not in MTM, each register would have whatever content it had and that would be saved and could be used to restore the index registers before existing the subroutine. If the was in MTM, only registers 1, 2, and 4 mattered. They were saved first and restored last (restoring was 7, 6, 5, 3, 4, 2, 1 or some equivalent sequences that had 1, 2, and 4 at the end). Having saved the index registers, a test for MTM would load (for example) zero in index register 1 and one into index register 2 after clearing register 3 (which I think automatically cleared 1 and 2). Then register 3 could be tested to see it were 0 or 1 (for example), a 1 meaning MTM because saving 3 would be saving the OR of 1 and 2. This is a fairly large overhead. I suspect that only the operating system needed to do this when it took over the CPU because it had to assume that user programs might be running in either mode or even changing modes during run-time. ~ Ksbooth (talk) 06:27, 21 January 2024 (UTC)

Case?
The article contains the constructions are ORed, and Kflop/s; should one or more of the lower case letters be upper case, or vice versa? Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:47, 24 July 2020 (UTC)
 * ORed, being the verb form of the OR operation, looks nice that way. The FLOPS page seems to indicate kFLOPS in its table. Gah4 (talk) 16:36, 22 January 2024 (UTC)
 * ORed, being the verb form of the OR operation, looks nice that way. The FLOPS page seems to indicate kFLOPS in its table. Gah4 (talk) 16:36, 22 January 2024 (UTC)

7094 and 7094 II?
Should the lead mention the 7094 II?

The lead states An upgraded version, the 7094 was up to twice as fast. but IBM 7090 states In April 1964, the first 7094 II was installed, which had almost twice as much general speed as the 7090; which is correct? Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:53, 24 July 2020 (UTC)
 * Per the manual, the 7094 II was almost twice as fast as the 7094, i.e. almost 4X the 7090. I've updated the text.--agr (talk) 16:27, 24 July 2020 (UTC)

CTSS
Should add Herbert Teager's hardware modifications. See CTSS 50th Anniversary. Jamplevia (talk) 19:35, 29 March 2022 (UTC)

Bull Gamma 60?
How is the Bull Gamma 60, added to IBM 7090 in a recent edit, related to the 7090? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:24, 25 August 2023 (UTC)


 * Hi @Chatul. #See also mentions the UNIVAC 1100 as a competitor, which is an insightful addition to the article. In Europe, one of the main competitor to the 7090 was the G60, so I founded equally insightful to mention it in #See also (likewise, there's a link to the IBM 7090 on the G60 article).
 * However, the G60 ended up mostly used as a business computer and thus competing against the 7070, so maybe it should rather be mentioned there, and also a note should maybe be added that this was on the European market. What do you think? -- Damien.b (talk) 14:35, 25 August 2023 (UTC)
 * Maybe a competitors section or subsection? Off the top of my head, • Burroughs Large Systems

• CDC 1604

• CDC 3600

• GE-600 series

• Honeywell 800

• Philco TRANSAC S-2000

• UNIVAC 1107 There were also some competitors with smaller market share, e.g., Bendix G-20 · Ferranti Atlas · Sylvania 9300 · RCA 601, that might be TMI. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:22, 25 August 2023 (UTC)
 * All of these systems are noteworthy and indeed merit the reader's attention, I see no reason to limit the mention to just the 1100 and G60.
 * Your idea is sound, I will append a brief subsection at the end of the article to reference these competitors. This can be reverted if that subsection doesn't achieve consensus.
 * Just a note, I don't feel the G-20 played in the same league as it was more of a small to mid-range computer like the 1401 or RCA 301. The Ferranti Atlas was only produced in three units (four with the Titan) but is indeed worth mentioning as a pioneer large-scale system. Damien.b (talk) 16:55, 25 August 2023 (UTC)

Image of 7617 console for 7607 data channel
Does anybody have an image of the 7617 Data Channel Console for the 7607 Data Channel, or the equivalent for the 7909? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 11:36, 13 March 2024 (UTC)

Nomenclature in IBM 7094 registers table
The IBM 7094 registers  table in has some issues: I'm not sure what the best way is to lay out the table: IBM labels bits as
 * 1) The bit numbering does not match that in the 7090 and 7094 manuals
 * 2) The S, Q and P bits of AC are not labelled.
 * 3) The manuals use the term instruction counter (IC), not PC.
 * AC
 * S, Q, P, 1...35


 * IC
 * 3...17


 * Index register
 * 3...17


 * MQ
 * S, 1..35


 * SI
 * 0...35


 * Storage, including instructions
 * S, 1..35
 * For some instructions
 * Prefix
 * S, 1, 2
 * Decrement
 * 3...17
 * Tag
 * 18...20
 * Address
 * 21..35

The numbering of the bits in the IC and index registers matches the numbering of the bits in the decrement. The same issues exist for table IBM 704x/709x registers in. One possible arrangement is

but is an alternative preferable? -- Shmuel (Seymour J.) Metz Username:Chatul (talk) -- revised 17:57, 15 July 2024 (UTC)07:41, 14 July 2024 (UTC)