Page 129 - A Practical Guide from Design Planning to Manufacturing
P. 129

102   Chapter Four

        TABLE 4-6  Architectural Types
             Type         Most complex operands          Examples
        Pure register   Register                SPARC, PA-RISC, PowerPC, EPIC
        Register/memory  Mix of register and memory  x86
        Pure memory     All memory              VAX


          The VAX architecture is the most complex, supporting all these pos-
        sible combinations of source and destination types. The RISC architec-
        tures are the simplest, allowing only register destinations for computations
        and only immediate or register sources. The x86 architecture allows one
        of the sources to be of any type but does not allow both sources to be
        memory locations. Like most modern architectures, the examples in
        Table 4-5 fall into three basic types shown in Table 4-6.
          RISC architectures are pure register architectures, which allow reg-
        ister and immediate arguments only for computations. They are also
        called load/store architectures because all the movement of data to and
        from memory must be accomplished with separate load and store
        instructions. Register/memory architectures allow some memory
        operands but do not allow all the operands to be memory locations. Pure
        memory architectures support all operands being memory locations as
        well as registers or immediates.
          The time it takes to execute any program is the number of instruc-
        tions executed times the average time per instruction. Pure register
        architectures try to reduce execution time by reducing the time per
        instruction. Their very simple instructions are executed quickly and
        efficiently, but more of them are necessary to execute a program. Pure
        memory architectures try to use the minimum number of instructions,
        at the cost of increased time per instruction.
          Comparing the dynamic instruction count of different architectures to an
        imaginary ideal high-level language execution, Jerome Huck found pure
        register architectures executing almost twice as many instructions as a pure
        memory architecture implementation of the same program (Table 4-7). 3
        Register/memory architectures fell between these two extremes. The high-
        est performance of architectures will ultimately depend upon the imple-
        mentation, but pure register architectures must execute their instructions
        on average twice as fast to reach the same performance.
          In addition to the operand types supported, the maximum number of
        operands is chosen to be two or three. Two-operand architectures use one
        source operand and a second operand which acts as both a source and
        the destination. Three-operand architectures allow the destination to
        be distinct from both sources. The x86 architecture is a two-operand

          3
          Huck and Flynn, Analyzing Computer Architectures.
   124   125   126   127   128   129   130   131   132   133   134