• No se han encontrado resultados

CAPÍTULO III. DESARROLLO Y EXPOSICIÓN DE RESULTADOS

I. EL DAÑO AL PROYECTO DE VIDA EN LA TEORÍA DE SU

1.2. Críticas al Existencialismo

1.2.7. Mario Bunge

The instruction decoder required some thought as to the type of control methodology to be used. There are two distinct approaches that can be

taken in developing the control section^], the choice of which can be

critical in certain instances. These two approaches are as below:

•Moore Approach

This approach to the control relies upon generating a set of commands as determined by the flow of the algorithm. To implement conditional instructions requires complex branching mechanisms, and condition code evaluation.

•Mealy Approach

This approach generates a set of commands as determined by the flow of the algorithm, and a set of input conditions. This approach eliminates the need for conditional branching, and can reduce the number of cycles require to implement an algorithm. However these benefits come at the cost of increased complexity in the instruction decoder, as it not only has to decode the opcode, but also it must consider all the relevant conditions for each instruction.

Richard Palmer Phd. Thesis

The choice was made to use the Mealy approach, since this eliminates the need for complex sequencing, and conditional branching. This is crucial since the use of conditional branches is impossible for processors running under SIMD control.

Once this choice was made, the development of the instruction decoder could commence. This development made use of MPLA, which is the PLA

generator that come5with the University of at Berkeley VLSI

Tools.

The use of MPLA requires two distinct steps, first a template file has to be created, and then a personality matrix for the PLA has to be generated. The purpose and execution of these two steps are considered below.

6.4.1 PLA Template

The PLA layout style is defined by a template, this is designed in MAGIC. This template is used to define the tiles that make up the complete PLA. Each tile represents a different section of the PLA layout, for example the tile labelled <bot_and> is used to define the layout for the bottom of each AND plane. This tile represents the input to the AND plane in the template style used.

Special customising of the PLA template was carried out to allow the use of clocked static registers on the PLA inputs, and the conditioning of

the PLA outputs. By incorporating these features into the PLA template

the layout size, and routing requirements for these functions were reduced.

The template used for the instruction decoder is shown in Plate I la. The important features to note on this template are the input and output

control. These tiles are shown on the bottom of the template and are

labelled <bot-and>, <botl-or> and <botr-or>. The functions carried out by these tiles are:

<bot-and>

Richard Palmer Phd. Thesis

to include a latched input, and a static storage element. This allows the instruction register, and condition statuses, to be latched into static registers during $2.

<botl-or> and <botr-or>

These two tiles are functionally similar, and are used to select the output from the PLA. There are two signals used to select this output, providing either the OR plane output, or setting all the outputs to low.

The other tiles to note are the control for these sections. These tiles are labelled <ll-and> and <lr-or>.

<11 -and>

This tile is used to input and buffer the clock signal. The use of a large buffer stage in this tile removes the need for additional buffer stages to be inserted along the inputs to the PLA.

<lr-or>

This tile provides the output control for the PLA. The signals used to control this tile are derived from a finite state machine, and are used to select between executing the next instruction, or inserting a NOP.

Care has been taken in the development of these tiles to ensure that all the relevant control signals abut. This allows the PLA to be generated to an arbitrary size, with the control signals being stretched to the required length. Plate lib shows a PLA constructed using this technique. (The PLA shown in this plate is not the Instruction Decoder.)

6.4.2 PLA Personality Matrix

The second requirement for the PLA generation is the personality matrix, this expresses the function that the PLA is required to implement. Various methods can be used to generate this personality matrix, in this case a special program was developed that could convert a textual description of the PLA into the required format. This program is

Richard Palmer Phd. Thesis

considered in more detail in Section 6.10

The description that was used to generate the personality matrix for the instruction decoder is given in Appendix A.3. This description.includes every instruction in the instruction set, and considers all the related conditions for each instruction. The penalty for using the Mealy approach can be seen in the large number of terms needed to define some of these instructions. For example the MULTI instruction requires 8 different terms to define the operations for all the relevant conditions.

6.5 Development of Control Switching

The method that is used to control the switching between SIMD and MIMD

control was presented in Chapter 5. This scheme uses special

instructions in the MIMD program to determine control switching. These instructions are:

The main point to consider in this discussion is how each of these instructions are decoded, and the effects of these methods. The reason for the different decoding techniques is due to the different control modes in which each will be executed. The two techniques used are considered below:

•LO CALOF F and STOP

The LOCAL_OFF and STOP instructions are decoded conventionally by the instruction decoder. This is made possible since the processor will already be executing the MIMD instruction stream, so these instructions will automatically be loaded into the instruction decoder.

•ESCAPE

To detect the ESCAPE instruction is more complex since this instruction is read as a weight's value, while the processor is

ESCAPE