HOME

TheInfoList



OR:

The Electrologica X1 was a digital
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
designed and manufactured in the Netherlands from 1958 to 1965.The Electrologica X1 and X8 computers
/ref> About thirty were produced and sold in the Netherlands and abroad. The X1 was designed by the
Mathematical Centre The (abbr. CWI; English: "National Research Institute for Mathematics and Computer Science") is a research centre in the field of mathematics and theoretical computer science. It is part of the institutes organization of the Dutch Research Cou ...
in
Amsterdam Amsterdam ( , , , lit. ''The Dam on the River Amstel'') is the Capital of the Netherlands, capital and Municipalities of the Netherlands, most populous city of the Netherlands, with The Hague being the seat of government. It has a population ...
, an academic organization that had been involved in computer design since 1947, and manufactured by
Electrologica N.V. Electrologica was a pioneering Dutch computer manufacturer from 1956 to 1968, when it was taken over by Philips. It was started by A. van Wijngaarden, B.J. Loopstra and C.S. Scholten from the Mathematisch Centrum (Mathematical centre) in ...
NV, * a company formed expressly for the purpose of producing the machine. The X1 was a solid-state binary computer ("completely transistorized") with
magnetic core memory Magnetic-core memory was the predominant form of random-access computer memory for 20 years between about 1955 and 1975. Such memory is often just called core memory, or, informally, core. Core memory uses toroids (rings) of a hard magnetic ...
. Word-length was 27 bits and peripherals included punched and magnetic tape. It was one of the first European computers to have an
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
facility. The X1 was the subject of Edsger Dijkstra's Ph.D. dissertation, and the target of the first complete working
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
compiler, completed by Dijkstra and Jaap Zonneveld. In 1965, the X1 was superseded by the X8. Electrologica was taken over by
Philips Koninklijke Philips N.V. (), commonly shortened to Philips, is a Dutch multinational conglomerate corporation that was founded in Eindhoven in 1891. Since 1997, it has been mostly headquartered in Amsterdam, though the Benelux headquarters i ...
a few years later.


Instruction set

The X1 allowed conditional execution of every instruction, not just branches as is the case in most computers. A similar capability existed in the
Zuse Z22 The Z22 was the seventh computer model Konrad Zuse developed (the first six being the Z1, Z2, Z3, Z4, Z5 and Z11, respectively). One of the early commercial computers, the Z22's design was finished about 1955. The major version jump from ...
and the
ZEBRA Zebras (, ) (subgenus ''Hippotigris'') are African equines with distinctive black-and-white striped coats. There are three living species: the Grévy's zebra (''Equus grevyi''), plains zebra (''E. quagga''), and the mountain zebra (''E. zeb ...
, and much later in the
ARM architecture ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of reduced instruction set computer (RISC) instruction set architectures for computer processors, configured ...
. The approach used in the X1 is more flexible than these others: it makes execution conditional on the current state of the ''condition flag'' that is set by a previous instruction if it includes a modifier for that purpose, but untouched otherwise."Communication with an Automatic Computer", Dijkstra's Ph.D. thesis
/ref> As a result, conditional execution can be based on tests made some number of lines earlier, rather than being conditional only based on the result of the most recent arithmetic operation. This allowed for compact expression of programs. The following example demonstrates the loading of the value of memory at ''n'' into the accumulator A, calling a subroutine (which presumably uses that value in A), and finally setting A to be the absolute value of the number read: 2A n P // copy 'n''to A, set condition flag to "yes" if positive 6T fn 0 // call the function at ''fn'', which will return with the condition flag preserved N 5P AA // if condition flag is "no", copy -A to A The X1 arithmetic operators used binary
ones' complement The ones' complement of a binary number is the value obtained by inverting all the bits in the binary representation of the number (swapping 0s and 1s). The name "ones' complement" (''note this is possessive of the plural "ones", not of a sing ...
arithmetic.


Assembler

The X1 included a simple assembler in its read-only memory. It has rather basic features: symbolic addresses may be defined, but symbols are only two letters long. Instructions are named by a combination of a digit representing the operation, and a letter designating the register to be operated on, or one or two letters indicating an operation class. For example, "0A" means "add memory content to accumulator A", and "5P" means "set an accumulator to the negative of another accumulator". The normal use of symbolic addresses is to name "paragraphs", i.e., related blocks of code or data. The symbolic addresses would be modified by a "line number" (a numeric offset) and a "page number" (a number in the range 0 to 31). For example, "3 FE 6" is line number 3, page number 6, representing an offset of 195 (6 * 32 + 3) from the start of paragraph FE. This address notation is a peculiarity of the assembler; the hardware addressing simply uses 15 bit addresses.


References

* *{{cite journal, title=Reference Information: Survey of European Computers, Part 3 (Concluding Part) - N.V. Electrologica: X 1, journal=Computers and Automation, date=Apr 1960, volume=9, issue=4, page=25, url=http://www.bitsavers.org/magazines/Computers_And_Automation/196004.pdf, access-date=2020-09-05 Transistorized computers Dutch inventions Science and technology in the Netherlands Computer science in the Netherlands Computers designed in Europe