previous | contents | next

Appendix 635

order to have an open-ended scheme for operating on many data-types and defining new operators, the operation modifier is used. The operation modifier enclosed in braces is used to distinguish operations from one another. The operation modifier is usually the name of a data-type, but it can also be a descriptive name applying to the operation (e.g., rotate). For example, the various add operations on differing data-types are specified by writing {data-type} after the operation (see Chap. 2, page 30).

3.2 Operations can be defined for the most inclusive data-types for which they will work and can then be applied to more specific data-types. The most general instance of this is the transmit operations which works on i-units, and is therefore used for all specific data-types, such as numbers (because it works on their carriers). Another example is the relational operations of equality and inequality.

3.3 New operations can be defined by means of forms (see GC 4.5). We simply give some examples.

4. Processors

4.1 The ISP definition of a processor consists of a set of instructions, which involve a set of operations, data-types, memories, and other PMS components, plus an interpreter that finds the next instruction and executes it. These sets are all values of corresponding attributes of the PMS description of a processor. All these aspects of an ISP processor have to be declared in giving the description. In practice, some of them are given by having the PMS description available (e.g., word size, T's, Ms's, etc.);. others declare themselves simply by occurring in the ISP expressions (e.g., most of the operations and data-types). We list below the common form of the machine ISP descriptions as a reader will find them in the chapter appendices of this book.

4.2 Memory (Mps, Mp and M(T.console)). The processor state memory is declared first. It holds the information necessary to restart the processor, if it is stopped between instructions. Table 1 (page 621) names the functions of the memory (e.g., program counter, accumulators, etc.). The state also includes the interrupt status, machine fault bits, etc. Any memory-mapping hardware registers are considered part of this state.

The primary memory, the largest state, is used to hold the program that the processor interprets. It also holds data.

The console state is accessible from the operator's console. Only the bits that are part of the ISP are relevant, i.e., bits that can be used to change the state of the primary memory or processor state. The switches that are used to start and stop the machine should also be given in a complete definition.

previous | contents | next