previous | contents | next

Chapter 6 ½ Structure 69

data-types. An example is encoding the Mp addresses into the same integer data-type as is used for regular arithmetic. Then there need be no separate data-type for addresses.1 The upshot of both these aspects can be seen in the following table, where we present an outline structure of data-types that shows how one data-type can he embedded in another for various purposes.
 
 

Data-Types Embedded in Other Data-Types for Common Operations



word integer fraction

mixed
unsigned integer
address integer

boolean vector boolean (single bit)
integer sign (divide or multiply by two operations)
field
single-precision floating single-precision unnormalized floating
double word double-precision integer fraction
mixed
double-precision floating-point double-precision unnormalized floating-point
character string digit string

The notational aspect is the use in PMS of a mnemonic abbreviation scheme for data-types. Table 1 shows how an abbreviation is made up of a letter giving the precision, a letter giving the name, and a letter giving the length.

The simple naming convention does not take into account all that is known about a data-type. The information carrier for the data is only partially included in the length characteristic. Thus the carrier should also include the data base and the sign convention for representing negative numbers. The common sign conventions are sign magnitude (sin), true complement (i.e., tc, 2's complement for base 2), and radix-1 complement (i.e., oc, l's complement for base 2).

For each of the data-types the processor must have the implied operators. In fact, being able to represent a particular entity is useful only if particular transformations can be carried out on the entity. The most primitive operation is data movement (i.e., transmission.) Data movement can he thought of as a complex operation consisting of accessing (locating), reading, and writing. Data-types which represent numbers require the ability to perform the arithmetic operations +, -, ´ , /, ABS ( ), SQRT, MAX, MIN, etc. The address integer is a special case of an arithmetic quantity, and often only addictive arithmetic operations (+ and -) are available for it. Boolean scalars (or vectors) require some subset of the 16 logic operations (sufficient subsets are NOT, AND/NOT, OR). When character strings are represented, the concatenation, deletion, and transmission operations are

1However logical a course may seem, it is not always done this way. For example, the IBM 7090 (and other members of that family) have a 15-hit address data-type and a 36-hit integer data-type, with separate operations for each.
 
 

previous | contents | next