Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

TENET 210

From Wikipedia, the free encyclopedia

TheTENET 210 was amainframe computer designed fortimesharing services. The machine was designed for highthroughput and expandability, including 20direct memory access (DMA) channels and eight slots forcore memory, allowing up to 128k32-bit words of RAM. The sales materials boasted that it guaranteed user responses within one second.

The 210 was the only product of TENET Inc, formed by several former members ofFairchild Semiconductor during its heyday in the late 1960s. The company sold only a single 210 before going out of business.

History

[edit]

The TENET 210 ultimately traces its history to a project withinFairchild Semiconductor'sresearch and development center inPalo Alto, California run byGordon Moore. A new group organized by Rex Rice was developing a machine specifically for thetimesharing market. Known as the Symbol IIR, the design concept was a machine that ran aPL/1-like language as its nativeassembler language, and would be implemented entirely in hardware - nomicrocode orfirmware was allowed.[1]

In 1966, Chuck Runge was working for theAtomic Energy Commission, writing programs on a machine atIowa State University. Rice visited the campus on a recruiting drive and Runge interviewed with Moore that March. Runge joined the company in June, but quickly became disillusioned with the no-software decree, and was convinced the project would never ship. He found a like-minded engineer in Dave Masters, who knew Fairchild presidentBob Noyce.[1]

The two approached Noyce with the idea of developing a new computer design. The system was initially pitched as a controller for Fairchild Instrumentation's new Sentry product, a software-controlled semiconductor testing system. This produced the24-bit Fairchild FST-1, as well as the FACTOR programming language used to program the test suites. Although it was by most measures a general-purposeminicomputer, Fairchild was uninterested in marketing it as such.[2]

At the time, thetimesharing market was developing rapidly, and had split into two solution classes; the minicomputer end was aimed at smaller users who would buy a complete system for in-house use, like theHP 2100, while at the other end were large mainframes that sold services on a per-minute basis to users on remotecomputer terminals, like theGE 635. In 1968, Runge and Masters left Fairchild to form TENET with the intent of building a mid-range system with the price of the mini offerings but the power of the mainframes.[1]

To fund his founders share, Runge took a contract with Fairchild to complete the specification for FACTOR and design its compiler. When this and the business plan were complete, they managed to arrange a 1969 meeting with Fred Adler, a NY trial attorney who had helped fundData General. Adler put together a $2 million package to fund the development of two prototypes. Development of the first machine was completed within two years. To introduce the design, in January 1971 they held an open house in which a concert pianist used the prototype as amusic synthesizer. However, the company had the bad fortune of launching sales directly into the leading edge of the1973–1975 recession, and further funding was not available.[2]

Tymshare examined the machine as a replacement for theSDS 940s, andHewlett-Packard as a replacement for their initial failed effort for what became theHP 3000, but neither effort was successful. The company's one and only sale was a bid in response to aState of Californiarequest for proposal for a machine to support theircivil engineering teams designing roads and bridges. They won the bid although by this time the company was already inChapter 11 protection, maintaining the machine through a separate contract that later included the purchase of the original prototype to use as aparts machine. This machine was only retired in the 1980s.[2]

Design

[edit]

The basic concept arranged the machine around a high-performance memory bus they referred to as the "data exchange". In the 200-series design, the only one to be built, there were two independent 32-bit busses. Each could perform a read and a write at the same time, as long as they were to different locations in memory. In total, the bus could provide 20 MB/sec bandwidth. Core memory was connected on one side of the bus, with up to eight modules of 8 to 16k words each. Fully expanded, a system could have 8 x 16 = 128 kWords, or 512 kB.[3]

The 210 was a single-processor design, but in theory up to four 3210 CPUs could be connected to the bus. In the 210, the CPU had two connections to the bus, allowing it to perform a total of four memory operations per cycle.[4] There were twenty ports in total to the bus, so in the 210 there were eighteen free ports on the data bus. Expansion systems included a disk controller which could run one to four 25 MBhard drives, a communications card for up to 16 terminals each, card readers, printer outputs and tape drives.[5]

A significant aspect of the design was itsmemory paging system, which used conventional hard drives rather than the custommemory drums or specialized hard disks with multipleread/write heads (a random-access disk, or RAD). Making this work with reasonable performance required significant efforts to tune theinput/output routines to avoid unnecessary reads and writes, which was handled in the system's hardwarememory management unit. Time-to-market and overall cost was also reduced through the use of off-the-shelfTTLsmall scale integration circuits.[2]

The CPU was designed to minimize the length of code as a further effort to reduce memory swapping. It included eight general-purpose registers and a separate set of eight control registers.[4] Itsinstruction set included a variety of "rich" instructions for packing and unpacking bytes into words, gathering and scattering data in memory, test-and-set, pre- and post-indexing and pattern matching against memory. The Programmed Instructions, or PINS, were designed to improve the density ofsubroutine calls; a single 32-bit word called a routine and passed a single parameter. There were sixteen global PINS, hard-wired to keyoperating system routines. A further 48 PINS were available for user programs.[6]

The system was primarily intended to be used by end-user programmers. It was supplied with twoprogramming languages,FORTRAN IV and TENET BASIC, the later of which they claimed was the most powerful version of theBASIC programming language available.[7] Machines also included atext editor,macro assembler, twodebuggers and a single- and double-precisionfloating point library.[8]

Prices listed in September 1970 put a basic unit, with a single CPU and 32 kWords of memory, at $220,000 (equivalent to $1,781,302 in 2024) while a fully-expanded version with 128 kWords was $475,000 (equivalent to $3,845,994 in 2024). Hard drive controllers were $21,000, the drives themselves $19,500, and the communications card and "quad adaptor" were $4,000 and $2,000 respectively Up to four quad adaptors could be used with each communications card, for a total of 16 terminals per card.[9]

TENET BASIC

[edit]

When the 210 was being designed, theBASIC programming language was widely perceived as the future of timesharing programming. In the mainframe world, almost all dialects of BASIC closely followed the originalDartmouth BASIC, first introduced in 1964.[10] Version 4 of 1968 added string variables denoted by$[a] along with rudimentary string manipulation, as well as a series ofMAT commands that performed matrix math using single operations instead of usingFOR...NEXT loops over a series of instructions.

TENET BASIC mostly followed the Dartmouth model, with the exception of string variables. Instead of the postfix$ indicating a string, variables were assumed to be single-precision floating-point unless explicitly declared otherwise. These declarations includeSTRING,INTEGER,REAL (single precision),DOUBLE,COMPLEX andDOUBLE COMPLEX.[b] Setting the values of the complex types required special functions,CMPLX(r,i) andDCMPLX(r,i), where r is the real part, and i the imaginary.[12] String constants could be delimited by double or single quotes.[13]

The language included a full set of math and string functions. It addedRAD andDEG functions to convert between radians and degrees,FIX to return the integer part of a number (similar toINT, but always towards zero),FP to get the fractional part, andROUND. It also included a full set of hyperbolic trig functions. String functions were similar toBASIC-PLUS, usingLEFT,RIGHT andSUBSTR as opposed toMID. It also includedINDEX to find one string in another.[14]

Another change was in theRND function. If the parameter was zero, it would return random numbers but always in the same sequence. Any positive number would return a random number between 0 or 1, but always the same one on subsequent calls.[c] A negative number used the system clock to seed the value so that it was a different sequence every time the program ran.[15] This contrasts with the more common solution of a separateRANDOMIZE statement that set the seed and ignored the value inside theRND.

Arrays could have two dimensions.[16] One could not use the same variable name for both a scalar variable and an array,[17] in contrast to Dartmouth (and most other dialects) whereA andA() refer to different variables. The variousMAT commands were used to apply functions to the arrays as a whole. For instance, one couldMAT A = B + C where B and C are arrays, producing a new array A with the sums.[18]

IF statements had an optionalELSE clause.[19]FOR statements could be defined in the traditional way withFOR I=1 TO 100 or in the tested form,FOR I=1 WHILE I<=A which runs the test every time through the loop. Normally the end condition is set only once when theFOR is first encountered, so if A held 100 the loop will run 100 times even if the value of A is changed during the loop. UsingWHILE will reevaluate the test and thus see any changes to A. This is similar to placing anIF in the body of the loop.[20]PAUSE was a synonym forSTOP.[21]

One rather non-standard addition is theDO statement, which was similar in concept to the same command in theJOSS language but with a different syntax.DO statements function like reverseGOSUBs; instead of calling a subroutine and then continuing when theRETURN is encountered,DO allows the routine to be defined as a series of one or more line numbers that will return when they are complete. For instance,DO 20 will call line 20 and then return to the next statement after theDO when line 20 completes, whereasDO 10:50, 100, 200:220 will run lines 10 through 50, then line 100, and then lines 200 to 220.[22]

File handling was based onOPENing a file and giving it an integerfile handle, and then performingINPUT FROM orPRINT TO instructions. Reading to the end of a file was handled by setting anON ENDFILE handler, orENDREC for record-based files. One could alsoERASE FILE to delete data,APPEND FILE to add to the end of an existing file, orRESTORE FILE to rewind it.[23]

The system also included a set of editor commands;ENTER turned on automatic line numbering,DELETE removed a range of lines,ALTER made one of the lines active so it could be edited, andRENUMBER renumbered the lines in the program, or alternatively, a given range. Once could also set theTABs.[23]

Notes

[edit]
  1. ^This format was widely used after this point, including inMicrosoft BASIC.
  2. ^"Extended" versions of MS BASIC had similar statements DEFSTR, DEFINT and DEFDBL.[11]
  3. ^The utility of this is not clear in the manual.

References

[edit]

Citations

[edit]
  1. ^abcRunge 2008, p. 78.
  2. ^abcdRunge 2008.
  3. ^Brochure 1970, p. 2.
  4. ^abBrochure 1970, p. 3.
  5. ^Brochure 1970, pp. 1, 5.
  6. ^Brochure 1970, p. 4.
  7. ^Brochure 1970, p. 6.
  8. ^Brochure 1970, pp. 7, 9.
  9. ^Brochure 1970, p. 9.
  10. ^Kemeny & Kurtz 1985, p. 5.
  11. ^BASIC-80 Reference Manual(PDF). Microsoft. p. 1.7.
  12. ^Manual 1970, pp. 3.1–3.2.
  13. ^Manual 1970, p. 3.3.
  14. ^Manual 1970, pp. D.1–D.5.
  15. ^Manual 1970, p. D.6.
  16. ^Manual 1970, p. 3.4.
  17. ^Manual 1970, p. 3.5.
  18. ^Manual 1970, p. 7.3.
  19. ^Manual 1970, p. 4.14.
  20. ^Manual 1970, pp. 4.15–4.16.
  21. ^Manual 1970, p. 4.23.
  22. ^Manual 1970, p. 4.10.
  23. ^abManual 1970, p. 1.1.

Bibliography

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=TENET_210&oldid=1324181511"
Category:

[8]ページ先頭

©2009-2026 Movatter.jp