IBM 704 - Instruction and Data Formats

Instruction and Data Formats

There were two instruction formats, referred to as "Type A" and "Type B". Most instructions were of type B.

Type A instructions had, in sequence, a three bit prefix (instruction code), a 15 bit decrement field, a 3 bit tag field, and a 15 bit address field. They were conditional jump operations based on the values in the decrement registers specified in the tag field. Some also subtracted the decrement field from the contents of the decrement registers. The implementation required that the second two bits of the instruction code be non-zero, giving a total of six possible type A instructions. One (STR, instruction code binary 101) was not implemented until the IBM 709.

Type B instructions had, in sequence, a 12 bit instruction code (with the second and third bits set to 0 to distinguish them from type A instructions), a two bit flag field, four unused bits, a 3 bit tag field, and a 15 bit address field.

  • Fixed point numbers were stored in binary sign/magnitude format.
  • Single precision floating point numbers had a magnitude sign, an 8-bit excess-128 exponent and a 27 bit magnitude
  • Alphanumeric characters were 6-bit BCD, packed six to a word.

The instruction set implicitly subdivided the data format into the same fields as type A instructions: prefix, decrement, tag and address. Instructions existed to modify each of these fields in a data word without changing the remainder of the word though the Store Tag instruction was not implemented on the IBM 704. The original Lisp used the address and decrement fields to store, respectively, the head and tail of a linked list. The primitive functions car ("Contents of Address part of Register number") and cdr ("Contents of Decrement part of Register number") were named after these fields. The meaning of the term "Register number" is unclear; possibly it refers to an old use of the word "Register" to mean "memory location". The frequently seen claim that they stand for "contents of address register" and "contents of decrement register" does not match the implementation, and the IBM 704 did not have a programmer-accessible address register.

Read more about this topic:  IBM 704

Famous quotes containing the words instruction and, instruction and/or data:

    The care of a house, the conduct of a home, the management of children, the instruction and government of servants, are as deserving of scientific treatment and scientific professors and lectureships as are the care of farms, the management of manure and crops, and the raising and care of stock.
    Catherine E. Beecher (1800–1878)

    Teaching is the perpetual end and office of all things. Teaching, instruction is the main design that shines through the sky and earth.
    Ralph Waldo Emerson (1803–1882)

    Mental health data from the 1950’s on middle-aged women showed them to be a particularly distressed group, vulnerable to depression and feelings of uselessness. This isn’t surprising. If society tells you that your main role is to be attractive to men and you are getting crow’s feet, and to be a mother to children and yours are leaving home, no wonder you are distressed.
    Grace Baruch (20th century)